]>
git.saurik.com Git - wxWidgets.git/blob - src/tiff/contrib/addtiffo/tif_ovrcache.h
1 /******************************************************************************
2 * tif_ovrcache.h,v 1.3 2005/05/25 09:03:16 dron Exp
4 * Project: TIFF Overview Builder
5 * Purpose: Library functions to maintain two rows of tiles or two strips
6 * of data for output overviews as an output cache.
7 * Author: Frank Warmerdam, warmerdam@pobox.com
9 * This code could potentially be used by other applications wanting to
10 * manage a once-through write cache.
12 ******************************************************************************
13 * Copyright (c) 2000, Frank Warmerdam
15 * Permission is hereby granted, free of charge, to any person obtaining a
16 * copy of this software and associated documentation files (the "Software"),
17 * to deal in the Software without restriction, including without limitation
18 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
19 * and/or sell copies of the Software, and to permit persons to whom the
20 * Software is furnished to do so, subject to the following conditions:
22 * The above copyright notice and this permission notice shall be included
23 * in all copies or substantial portions of the Software.
25 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
26 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
28 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
30 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
31 * DEALINGS IN THE SOFTWARE.
32 ******************************************************************************
35 #ifndef TIF_OVRCACHE_H_INCLUDED
36 #define TIF_OVRCACHE_H_INCLUDED
40 #if defined(__cplusplus)
54 uint32 nBytesPerBlock
;
60 int nBlockOffset
; /* what block is the first in papabyBlocks? */
61 unsigned char *pabyRow1Blocks
;
62 unsigned char *pabyRow2Blocks
;
70 TIFFOvrCache
*TIFFCreateOvrCache( TIFF
*hTIFF
, int nDirOffset
);
71 unsigned char *TIFFGetOvrBlock( TIFFOvrCache
*psCache
, int iTileX
, int iTileY
,
73 unsigned char *TIFFGetOvrBlock_Subsampled( TIFFOvrCache
*psCache
, int iTileX
, int iTileY
);
74 void TIFFDestroyOvrCache( TIFFOvrCache
* );
76 void TIFFBuildOverviews( TIFF
*, int, int *, int, const char *,
77 int (*)(double,void*), void * );
79 void TIFF_ProcessFullResBlock( TIFF
*hTIFF
, int nPlanarConfig
,
80 int bSubsampled
, int nHorSamples
, int nVerSamples
,
81 int nOverviews
, int * panOvList
,
83 int nSamples
, TIFFOvrCache
** papoRawBIs
,
84 int nSXOff
, int nSYOff
,
85 unsigned char *pabySrcTile
,
86 int nBlockXSize
, int nBlockYSize
,
87 int nSampleFormat
, const char * pszResampling
);
89 uint32
TIFF_WriteOverview( TIFF
*, int, int, int, int, int, int, int,
90 int, int, int, int, unsigned short *,
91 unsigned short *, unsigned short *, int,
96 #if defined(__cplusplus)
100 #endif /* ndef TIF_OVRCACHE_H_INCLUDED */