18e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
28e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Copyright 2006 Adobe Systems Incorporated
38e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// All Rights Reserved.
48e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener//
58e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// NOTICE:  Adobe permits you to use, modify, and distribute this file in
68e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// accordance with the terms of the Adobe license agreement accompanying it.
78e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
88e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
98e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_tile_iterator.h#1 $ */
108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $DateTime: 2012/05/30 13:28:51 $ */
118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Change: 832332 $ */
128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Author: tknoll $ */
138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
168e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#ifndef __dng_tile_iterator__
178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#define __dng_tile_iterator__
188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
198e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
218e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#include "dng_classes.h"
228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#include "dng_point.h"
238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#include "dng_rect.h"
248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#include "dng_types.h"
258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
278e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
288e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerclass dng_tile_iterator
298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener	{
308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener	private:
328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
338e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		dng_rect fArea;
348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fTileWidth;
368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fTileHeight;
378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fTileTop;
398e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fTileLeft;
408e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fRowLeft;
428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fLeftPage;
448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fRightPage;
458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
468e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fTopPage;
478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fBottomPage;
488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fHorizontalPage;
508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		int32 fVerticalPage;
518e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener	public:
538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
548e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		dng_tile_iterator (const dng_image &image,
558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener						   const dng_rect &area);
568e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		dng_tile_iterator (const dng_point &tileSize,
588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener						   const dng_rect &area);
598e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		dng_tile_iterator (const dng_rect &tile,
618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener						   const dng_rect &area);
628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		bool GetOneTile (dng_rect &tile);
648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener	private:
668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener		void Initialize (const dng_rect &tile,
688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener						 const dng_rect &area);
698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener	};
718e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
728e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#endif
758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener
768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/
77