| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef _FX_CODEC_H_ | 7 #ifndef _FX_CODEC_H_ |
| 8 #define _FX_CODEC_H_ | 8 #define _FX_CODEC_H_ |
| 9 #ifndef _FXCRT_EXTENSION_ | 9 #ifndef _FXCRT_EXTENSION_ |
| 10 #include "../fxcrt/fx_ext.h" | 10 #include "../fxcrt/fx_ext.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 class ICodec_Jbig2Module; | 21 class ICodec_Jbig2Module; |
| 22 class ICodec_IccModule; | 22 class ICodec_IccModule; |
| 23 class ICodec_FlateModule; | 23 class ICodec_FlateModule; |
| 24 class ICodec_Jbig2Encoder; | 24 class ICodec_Jbig2Encoder; |
| 25 class ICodec_PngModule; | 25 class ICodec_PngModule; |
| 26 class ICodec_GifModule; | 26 class ICodec_GifModule; |
| 27 class ICodec_BmpModule; | 27 class ICodec_BmpModule; |
| 28 class ICodec_TiffModule; | 28 class ICodec_TiffModule; |
| 29 class CFX_DIBAttribute; | 29 class CFX_DIBAttribute; |
| 30 class ICodec_ScanlineDecoder; | 30 class ICodec_ScanlineDecoder; |
| 31 class CCodec_ModuleMgr : public CFX_Object | 31 class CCodec_ModuleMgr |
| 32 { | 32 { |
| 33 public: | 33 public: |
| 34 | 34 |
| 35 static CCodec_ModuleMgr* Create(); | 35 static CCodec_ModuleMgr* Create(); |
| 36 | 36 |
| 37 void Destroy(); | 37 void Destroy(); |
| 38 | 38 |
| 39 void InitJbig2Decoder(); | 39 void InitJbig2Decoder(); |
| 40 | 40 |
| 41 void InitJpxDecoder(); | 41 void InitJpxDecoder(); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 ICodec_JpxModule* m_pJpxModule; | 102 ICodec_JpxModule* m_pJpxModule; |
| 103 ICodec_Jbig2Module* m_pJbig2Module; | 103 ICodec_Jbig2Module* m_pJbig2Module; |
| 104 ICodec_IccModule* m_pIccModule; | 104 ICodec_IccModule* m_pIccModule; |
| 105 ICodec_FlateModule* m_pFlateModule; | 105 ICodec_FlateModule* m_pFlateModule; |
| 106 ICodec_PngModule* m_pPngModule; | 106 ICodec_PngModule* m_pPngModule; |
| 107 ICodec_GifModule* m_pGifModule; | 107 ICodec_GifModule* m_pGifModule; |
| 108 ICodec_BmpModule* m_pBmpModule; | 108 ICodec_BmpModule* m_pBmpModule; |
| 109 ICodec_TiffModule* m_pTiffModule; | 109 ICodec_TiffModule* m_pTiffModule; |
| 110 | 110 |
| 111 }; | 111 }; |
| 112 class ICodec_BasicModule : public CFX_Object | 112 class ICodec_BasicModule |
| 113 { | 113 { |
| 114 public: | 114 public: |
| 115 | 115 |
| 116 virtual ~ICodec_BasicModule() {} | 116 virtual ~ICodec_BasicModule() {} |
| 117 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, | 117 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, |
| 118 FX_DWORD& dest_size) = 0; | 118 FX_DWORD& dest_size) = 0; |
| 119 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, | 119 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, |
| 120 FX_DWORD& dest_size) = 0; | 120 FX_DWORD& dest_size) = 0; |
| 121 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, | 121 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, |
| 122 int nComps, int bpc) = 0; | 122 int nComps, int bpc) = 0; |
| 123 }; | 123 }; |
| 124 class ICodec_ScanlineDecoder : public CFX_Object | 124 class ICodec_ScanlineDecoder |
| 125 { | 125 { |
| 126 public: | 126 public: |
| 127 | 127 |
| 128 virtual ~ICodec_ScanlineDecoder() {} | 128 virtual ~ICodec_ScanlineDecoder() {} |
| 129 | 129 |
| 130 virtual FX_DWORD GetSrcOffset() = 0; | 130 virtual FX_DWORD GetSrcOffset() = 0; |
| 131 | 131 |
| 132 virtual void DownScale(int dest_width, int dest_height) = 0; | 132 virtual void DownScale(int dest_width, int dest_height) = 0; |
| 133 | 133 |
| 134 virtual FX_LPBYTE GetScanline(int line) = 0; | 134 virtual FX_LPBYTE GetScanline(int line) = 0; |
| 135 | 135 |
| 136 virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) = 0; | 136 virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) = 0; |
| 137 | 137 |
| 138 virtual int GetWidth() = 0; | 138 virtual int GetWidth() = 0; |
| 139 | 139 |
| 140 virtual int GetHeight() = 0; | 140 virtual int GetHeight() = 0; |
| 141 | 141 |
| 142 virtual int CountComps() = 0; | 142 virtual int CountComps() = 0; |
| 143 | 143 |
| 144 virtual int GetBPC() = 0; | 144 virtual int GetBPC() = 0; |
| 145 | 145 |
| 146 virtual FX_BOOL IsColorTransformed() = 0; | 146 virtual FX_BOOL IsColorTransformed() = 0; |
| 147 | 147 |
| 148 virtual void ClearImageData() = 0; | 148 virtual void ClearImageData() = 0; |
| 149 }; | 149 }; |
| 150 class ICodec_FlateModule : public CFX_Object | 150 class ICodec_FlateModule |
| 151 { | 151 { |
| 152 public: | 152 public: |
| 153 | 153 |
| 154 virtual ~ICodec_FlateModule() {} | 154 virtual ~ICodec_FlateModule() {} |
| 155 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, | 155 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, |
| 156 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent
, int Columns) = 0; | 156 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent
, int Columns) = 0; |
| 157 virtual FX_DWORD FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_buf, F
X_DWORD src_size, FX_BOOL bEarlyChange, | 157 virtual FX_DWORD FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_buf, F
X_DWORD src_size, FX_BOOL bEarlyChange, |
| 158 int predictor, int Colors, int BitsPerC
omponent, int Columns, | 158 int predictor, int Colors, int BitsPerC
omponent, int Columns, |
| 159 FX_DWORD estimated_size, FX_LPBYTE& des
t_buf, FX_DWORD& dest_size) = 0; | 159 FX_DWORD estimated_size, FX_LPBYTE& des
t_buf, FX_DWORD& dest_size) = 0; |
| 160 virtual FX_BOOL Encode(const FX_BYTE* src_buf, FX_DWORD src_size
, | 160 virtual FX_BOOL Encode(const FX_BYTE* src_buf, FX_DWORD src_size
, |
| 161 int predictor, int Colors, int BitsPerComponent,
int Columns, | 161 int predictor, int Colors, int BitsPerComponent,
int Columns, |
| 162 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 162 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
| 163 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, FX_DWORD src_size, FX
_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 163 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, FX_DWORD src_size, FX
_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
| 164 }; | 164 }; |
| 165 class ICodec_FaxModule : public CFX_Object | 165 class ICodec_FaxModule |
| 166 { | 166 { |
| 167 public: | 167 public: |
| 168 | 168 |
| 169 virtual ~ICodec_FaxModule() {} | 169 virtual ~ICodec_FaxModule() {} |
| 170 | 170 |
| 171 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, | 171 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, |
| 172 int K, FX_BOOL EndOfLine, FX_BOOL EncodedByteAlign, FX_BOOL BlackIs1
, int Columns, int Rows) = 0; | 172 int K, FX_BOOL EndOfLine, FX_BOOL EncodedByteAlign, FX_BOOL BlackIs1
, int Columns, int Rows) = 0; |
| 173 | 173 |
| 174 | 174 |
| 175 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, int width, int height
, int pitch, | 175 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, int width, int height
, int pitch, |
| 176 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 176 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
| 177 }; | 177 }; |
| 178 class ICodec_JpegModule : public CFX_Object | 178 class ICodec_JpegModule |
| 179 { | 179 { |
| 180 public: | 180 public: |
| 181 | 181 |
| 182 virtual ~ICodec_JpegModule() {} | 182 virtual ~ICodec_JpegModule() {} |
| 183 | 183 |
| 184 virtual void SetPovider(IFX_JpegProvider* pJP) = 0; | 184 virtual void SetPovider(IFX_JpegProvider* pJP) = 0; |
| 185 | 185 |
| 186 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, | 186 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, |
| 187 int width, int height, int nComps, FX_BOOL ColorTransform) = 0; | 187 int width, int height, int nComps, FX_BOOL ColorTransform) = 0; |
| 188 | 188 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 203 | 203 |
| 204 | 204 |
| 205 virtual int StartScanline(void* pContext, int down_scale) =
0; | 205 virtual int StartScanline(void* pContext, int down_scale) =
0; |
| 206 | 206 |
| 207 | 207 |
| 208 virtual FX_BOOL ReadScanline(void* pContext, FX_LPBYTE dest_buf)
= 0; | 208 virtual FX_BOOL ReadScanline(void* pContext, FX_LPBYTE dest_buf)
= 0; |
| 209 | 209 |
| 210 | 210 |
| 211 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 211 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
| 212 }; | 212 }; |
| 213 class ICodec_JpxModule : public CFX_Object | 213 class ICodec_JpxModule |
| 214 { | 214 { |
| 215 public: | 215 public: |
| 216 | 216 |
| 217 virtual ~ICodec_JpxModule() {} | 217 virtual ~ICodec_JpxModule() {} |
| 218 | 218 |
| 219 virtual FX_LPVOID CreateDecoder(FX_LPCBYTE src_buf, FX_DWORD src_size, FX_
BOOL useColorSpace = FALSE) = 0; | 219 virtual FX_LPVOID CreateDecoder(FX_LPCBYTE src_buf, FX_DWORD src_size, FX_
BOOL useColorSpace = FALSE) = 0; |
| 220 | 220 |
| 221 virtual void GetImageInfo(FX_LPVOID ctx, FX_DWORD& width, FX_
DWORD& height, | 221 virtual void GetImageInfo(FX_LPVOID ctx, FX_DWORD& width, FX_
DWORD& height, |
| 222 FX_DWORD& codestream_nComps, FX_DWORD& outp
ut_nComps) = 0; | 222 FX_DWORD& codestream_nComps, FX_DWORD& outp
ut_nComps) = 0; |
| 223 | 223 |
| 224 virtual FX_BOOL Decode(FX_LPVOID ctx, FX_LPBYTE dest_data, int p
itch, | 224 virtual FX_BOOL Decode(FX_LPVOID ctx, FX_LPBYTE dest_data, int p
itch, |
| 225 FX_BOOL bTranslateColor, FX_LPBYTE offsets) = 0; | 225 FX_BOOL bTranslateColor, FX_LPBYTE offsets) = 0; |
| 226 | 226 |
| 227 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; | 227 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; |
| 228 }; | 228 }; |
| 229 class ICodec_PngModule : public CFX_Object | 229 class ICodec_PngModule |
| 230 { | 230 { |
| 231 public: | 231 public: |
| 232 | 232 |
| 233 virtual ~ICodec_PngModule() {} | 233 virtual ~ICodec_PngModule() {} |
| 234 | 234 |
| 235 virtual void* Start(void* pModule) = 0; | 235 virtual void* Start(void* pModule) = 0; |
| 236 | 236 |
| 237 virtual void Finish(void* pContext) = 0; | 237 virtual void Finish(void* pContext) = 0; |
| 238 | 238 |
| 239 virtual FX_BOOL Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size, CFX_DIBAttribute* pAttribute = NULL) = 0; | 239 virtual FX_BOOL Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size, CFX_DIBAttribute* pAttribute = NULL) = 0; |
| 240 | 240 |
| 241 FX_BOOL (*ReadHeaderCallback)(void* pModule, int
width, int height, int bpc, int pass, int* color_type, double* gamma); | 241 FX_BOOL (*ReadHeaderCallback)(void* pModule, int
width, int height, int bpc, int pass, int* color_type, double* gamma); |
| 242 | 242 |
| 243 FX_BOOL (*AskScanlineBufCallback)(void* pModule,
int line, FX_LPBYTE& src_buf); | 243 FX_BOOL (*AskScanlineBufCallback)(void* pModule,
int line, FX_LPBYTE& src_buf); |
| 244 | 244 |
| 245 void (*FillScanlineBufCompletedCallback)(void
* pModule, int pass, int line); | 245 void (*FillScanlineBufCompletedCallback)(void
* pModule, int pass, int line); |
| 246 }; | 246 }; |
| 247 class ICodec_GifModule : public CFX_Object | 247 class ICodec_GifModule |
| 248 { | 248 { |
| 249 public: | 249 public: |
| 250 | 250 |
| 251 virtual ~ICodec_GifModule() {} | 251 virtual ~ICodec_GifModule() {} |
| 252 | 252 |
| 253 virtual void* Start(void* pModule) = 0; | 253 virtual void* Start(void* pModule) = 0; |
| 254 | 254 |
| 255 virtual void Finish(void* pContext) = 0; | 255 virtual void Finish(void* pContext) = 0; |
| 256 | 256 |
| 257 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 257 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 269 | 269 |
| 270 virtual FX_INT32 LoadFrame(void* pContext, int frame_num, CFX_DIBAttribut
e* pAttribute = NULL) = 0; | 270 virtual FX_INT32 LoadFrame(void* pContext, int frame_num, CFX_DIBAttribut
e* pAttribute = NULL) = 0; |
| 271 | 271 |
| 272 FX_BOOL (*InputRecordPositionBufCallback)(void*
pModule, FX_DWORD rcd_pos, const FX_RECT& img_rc, | 272 FX_BOOL (*InputRecordPositionBufCallback)(void*
pModule, FX_DWORD rcd_pos, const FX_RECT& img_rc, |
| 273 FX_INT32 pal_num, void* pal_ptr, | 273 FX_INT32 pal_num, void* pal_ptr, |
| 274 FX_INT32 delay_time, FX_BOOL user_input, | 274 FX_INT32 delay_time, FX_BOOL user_input, |
| 275 FX_INT32 trans_index, FX_INT32 disposal_method, FX_BOOL interlace); | 275 FX_INT32 trans_index, FX_INT32 disposal_method, FX_BOOL interlace); |
| 276 | 276 |
| 277 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); | 277 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); |
| 278 }; | 278 }; |
| 279 class ICodec_BmpModule : public CFX_Object | 279 class ICodec_BmpModule |
| 280 { | 280 { |
| 281 public: | 281 public: |
| 282 | 282 |
| 283 virtual ~ICodec_BmpModule() {} | 283 virtual ~ICodec_BmpModule() {} |
| 284 | 284 |
| 285 virtual void* Start(void* pModule) = 0; | 285 virtual void* Start(void* pModule) = 0; |
| 286 | 286 |
| 287 virtual void Finish(void* pContext) = 0; | 287 virtual void Finish(void* pContext) = 0; |
| 288 | 288 |
| 289 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 289 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
| 290 | 290 |
| 291 virtual void Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size) = 0; | 291 virtual void Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size) = 0; |
| 292 | 292 |
| 293 virtual FX_INT32 ReadHeader(void* pContext, FX_INT32* width, FX_INT32* he
ight, FX_BOOL* tb_flag, FX_INT32* components, | 293 virtual FX_INT32 ReadHeader(void* pContext, FX_INT32* width, FX_INT32* he
ight, FX_BOOL* tb_flag, FX_INT32* components, |
| 294 int* pal_num, FX_DWORD** pal_pp, CFX_DIBAttri
bute* pAttribute = NULL) = 0; | 294 int* pal_num, FX_DWORD** pal_pp, CFX_DIBAttri
bute* pAttribute = NULL) = 0; |
| 295 | 295 |
| 296 virtual FX_INT32 LoadImage(void* pContext) = 0; | 296 virtual FX_INT32 LoadImage(void* pContext) = 0; |
| 297 | 297 |
| 298 FX_BOOL (*InputImagePositionBufCallback)(void* p
Module, FX_DWORD rcd_pos); | 298 FX_BOOL (*InputImagePositionBufCallback)(void* p
Module, FX_DWORD rcd_pos); |
| 299 | 299 |
| 300 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); | 300 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); |
| 301 }; | 301 }; |
| 302 class ICodec_TiffModule : public CFX_Object | 302 class ICodec_TiffModule |
| 303 { | 303 { |
| 304 public: | 304 public: |
| 305 | 305 |
| 306 virtual ~ICodec_TiffModule() {} | 306 virtual ~ICodec_TiffModule() {} |
| 307 | 307 |
| 308 virtual FX_LPVOID CreateDecoder(IFX_FileRead* file_ptr) = 0; | 308 virtual FX_LPVOID CreateDecoder(IFX_FileRead* file_ptr) = 0; |
| 309 | 309 |
| 310 | 310 |
| 311 virtual void GetFrames(FX_LPVOID ctx, FX_INT32& frames) = 0; | 311 virtual void GetFrames(FX_LPVOID ctx, FX_INT32& frames) = 0; |
| 312 | 312 |
| 313 virtual FX_BOOL LoadFrameInfo(FX_LPVOID ctx, FX_INT32 frame, FX_
DWORD& width, FX_DWORD& height, FX_DWORD& comps, FX_DWORD& bpc, CFX_DIBAttribute
* pAttribute = NULL) = 0; | 313 virtual FX_BOOL LoadFrameInfo(FX_LPVOID ctx, FX_INT32 frame, FX_
DWORD& width, FX_DWORD& height, FX_DWORD& comps, FX_DWORD& bpc, CFX_DIBAttribute
* pAttribute = NULL) = 0; |
| 314 | 314 |
| 315 | 315 |
| 316 virtual FX_BOOL Decode(FX_LPVOID ctx, class CFX_DIBitmap* pDIBit
map) = 0; | 316 virtual FX_BOOL Decode(FX_LPVOID ctx, class CFX_DIBitmap* pDIBit
map) = 0; |
| 317 | 317 |
| 318 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; | 318 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; |
| 319 }; | 319 }; |
| 320 class ICodec_Jbig2Module : public CFX_Object | 320 class ICodec_Jbig2Module |
| 321 { | 321 { |
| 322 public: | 322 public: |
| 323 | 323 |
| 324 virtual ~ICodec_Jbig2Module() {} | 324 virtual ~ICodec_Jbig2Module() {} |
| 325 | 325 |
| 326 virtual FX_BOOL Decode(FX_DWORD width, FX_DWORD height, FX_LPCBY
TE src_buf, FX_DWORD src_size, | 326 virtual FX_BOOL Decode(FX_DWORD width, FX_DWORD height, FX_LPCBY
TE src_buf, FX_DWORD src_size, |
| 327 FX_LPCBYTE global_data, FX_DWORD global_size, FX_
LPBYTE dest_buf, FX_DWORD dest_pitch) = 0; | 327 FX_LPCBYTE global_data, FX_DWORD global_size, FX_
LPBYTE dest_buf, FX_DWORD dest_pitch) = 0; |
| 328 | 328 |
| 329 virtual FX_BOOL Decode(IFX_FileRead* file_ptr, FX_DWORD& width,
FX_DWORD& height, | 329 virtual FX_BOOL Decode(IFX_FileRead* file_ptr, FX_DWORD& width,
FX_DWORD& height, |
| 330 FX_DWORD& pitch, FX_LPBYTE& dest_buf) = 0; | 330 FX_DWORD& pitch, FX_LPBYTE& dest_buf) = 0; |
| 331 virtual void* CreateJbig2Context() = 0; | 331 virtual void* CreateJbig2Context() = 0; |
| 332 | 332 |
| 333 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, FX_DWOR
D width, FX_DWORD height, FX_LPCBYTE src_buf, FX_DWORD src_size, | 333 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, FX_DWOR
D width, FX_DWORD height, FX_LPCBYTE src_buf, FX_DWORD src_size, |
| 334 FX_LPCBYTE global_data, FX_DWORD glo
bal_size, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause) = 0; | 334 FX_LPCBYTE global_data, FX_DWORD glo
bal_size, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause) = 0; |
| 335 | 335 |
| 336 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_Fil
eRead* file_ptr, | 336 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_Fil
eRead* file_ptr, |
| 337 FX_DWORD& width, FX_DWORD& height, F
X_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause) = 0; | 337 FX_DWORD& width, FX_DWORD& height, F
X_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause) = 0; |
| 338 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, IFX_
Pause* pPause) = 0; | 338 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, IFX_
Pause* pPause) = 0; |
| 339 virtual void DestroyJbig2Context(void* pJbig2
Content) = 0; | 339 virtual void DestroyJbig2Context(void* pJbig2
Content) = 0; |
| 340 }; | 340 }; |
| 341 class ICodec_ProgressiveDecoder : public CFX_Object | 341 class ICodec_ProgressiveDecoder |
| 342 { | 342 { |
| 343 public: | 343 public: |
| 344 | 344 |
| 345 virtual ~ICodec_ProgressiveDecoder() {} | 345 virtual ~ICodec_ProgressiveDecoder() {} |
| 346 | 346 |
| 347 virtual FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile, FXCOD
EC_IMAGE_TYPE imageType = FXCODEC_IMAGE_UNKNOWN, CFX_DIBAttribute* pAttribute =
NULL) = 0; | 347 virtual FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile, FXCOD
EC_IMAGE_TYPE imageType = FXCODEC_IMAGE_UNKNOWN, CFX_DIBAttribute* pAttribute =
NULL) = 0; |
| 348 | 348 |
| 349 virtual FXCODEC_IMAGE_TYPE GetType() = 0; | 349 virtual FXCODEC_IMAGE_TYPE GetType() = 0; |
| 350 | 350 |
| 351 virtual FX_INT32 GetWidth() = 0; | 351 virtual FX_INT32 GetWidth() = 0; |
| 352 | 352 |
| 353 virtual FX_INT32 GetHeight() = 0; | 353 virtual FX_INT32 GetHeight() = 0; |
| 354 | 354 |
| 355 virtual FX_INT32 GetNumComponents() = 0; | 355 virtual FX_INT32 GetNumComponents() = 0; |
| 356 | 356 |
| 357 virtual FX_INT32 GetBPC() = 0; | 357 virtual FX_INT32 GetBPC() = 0; |
| 358 | 358 |
| 359 virtual void SetClipBox(FX_RECT* clip) = 0; | 359 virtual void SetClipBox(FX_RECT* clip) = 0; |
| 360 | 360 |
| 361 virtual FXCODEC_STATUS GetFrames(FX_INT32& frames, IFX_Pause* p
Pause = NULL) = 0; | 361 virtual FXCODEC_STATUS GetFrames(FX_INT32& frames, IFX_Pause* p
Pause = NULL) = 0; |
| 362 | 362 |
| 363 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitma
p, | 363 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitma
p, |
| 364 FX_INT32 start_x, FX_INT32 start_y,
FX_INT32 size_x, FX_INT32 size_y, | 364 FX_INT32 start_x, FX_INT32 start_y,
FX_INT32 size_x, FX_INT32 size_y, |
| 365 FX_INT32 frames = 0, FX_BOOL bInterp
ol = TRUE) = 0; | 365 FX_INT32 frames = 0, FX_BOOL bInterp
ol = TRUE) = 0; |
| 366 | 366 |
| 367 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL)
= 0; | 367 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL)
= 0; |
| 368 }; | 368 }; |
| 369 class ICodec_Jbig2Encoder : public CFX_Object | 369 class ICodec_Jbig2Encoder |
| 370 { | 370 { |
| 371 public: | 371 public: |
| 372 | 372 |
| 373 virtual ~ICodec_Jbig2Encoder() {} | 373 virtual ~ICodec_Jbig2Encoder() {} |
| 374 }; | 374 }; |
| 375 class ICodec_IccModule : public CFX_Object | 375 class ICodec_IccModule |
| 376 { | 376 { |
| 377 public: | 377 public: |
| 378 typedef enum { | 378 typedef enum { |
| 379 IccCS_Unknown = 0, | 379 IccCS_Unknown = 0, |
| 380 IccCS_XYZ, | 380 IccCS_XYZ, |
| 381 IccCS_Lab, | 381 IccCS_Lab, |
| 382 IccCS_Luv, | 382 IccCS_Luv, |
| 383 IccCS_YCbCr, | 383 IccCS_YCbCr, |
| 384 IccCS_Yxy, | 384 IccCS_Yxy, |
| 385 IccCS_Hsv, | 385 IccCS_Hsv, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 virtual void DestroyTransform(FX_LPVOID pTransform) =
0; | 427 virtual void DestroyTransform(FX_LPVOID pTransform) =
0; |
| 428 | 428 |
| 429 virtual void Translate(FX_LPVOID pTransform, FX_FLOAT
* pSrcValues, FX_FLOAT* pDestValues) = 0; | 429 virtual void Translate(FX_LPVOID pTransform, FX_FLOAT
* pSrcValues, FX_FLOAT* pDestValues) = 0; |
| 430 | 430 |
| 431 virtual void TranslateScanline(FX_LPVOID pTransform,
FX_LPBYTE pDest, FX_LPCBYTE pSrc, int pixels) = 0; | 431 virtual void TranslateScanline(FX_LPVOID pTransform,
FX_LPBYTE pDest, FX_LPCBYTE pSrc, int pixels) = 0; |
| 432 virtual void SetComponents(FX_DWORD nComponents) = 0; | 432 virtual void SetComponents(FX_DWORD nComponents) = 0; |
| 433 }; | 433 }; |
| 434 void AdobeCMYK_to_sRGB(FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k, FX_FLOAT&
R, FX_FLOAT& G, FX_FLOAT& B); | 434 void AdobeCMYK_to_sRGB(FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k, FX_FLOAT&
R, FX_FLOAT& G, FX_FLOAT& B); |
| 435 void AdobeCMYK_to_sRGB1(FX_BYTE c, FX_BYTE m, FX_BYTE y, FX_BYTE k, FX_BYTE& R,
FX_BYTE& G, FX_BYTE& B); | 435 void AdobeCMYK_to_sRGB1(FX_BYTE c, FX_BYTE m, FX_BYTE y, FX_BYTE k, FX_BYTE& R,
FX_BYTE& G, FX_BYTE& B); |
| 436 FX_BOOL MD5ComputeID(FX_LPCVOID buf, FX_DWORD dwSize, FX_BYTE ID[16]); | 436 FX_BOOL MD5ComputeID(FX_LPCVOID buf, FX_DWORD dwSize, FX_BYTE ID[16]); |
| 437 class CFX_DIBAttribute : public CFX_Object | 437 class CFX_DIBAttribute |
| 438 { | 438 { |
| 439 public: | 439 public: |
| 440 CFX_DIBAttribute(); | 440 CFX_DIBAttribute(); |
| 441 ~CFX_DIBAttribute(); | 441 ~CFX_DIBAttribute(); |
| 442 | 442 |
| 443 FX_INT32 m_nXDPI; | 443 FX_INT32 m_nXDPI; |
| 444 | 444 |
| 445 FX_INT32 m_nYDPI; | 445 FX_INT32 m_nYDPI; |
| 446 | 446 |
| 447 FX_FLOAT m_fAspectRatio; | 447 FX_FLOAT m_fAspectRatio; |
| 448 | 448 |
| 449 FX_WORD m_wDPIUnit; | 449 FX_WORD m_wDPIUnit; |
| 450 | 450 |
| 451 CFX_ByteString m_strAuthor; | 451 CFX_ByteString m_strAuthor; |
| 452 | 452 |
| 453 FX_BYTE m_strTime[20]; | 453 FX_BYTE m_strTime[20]; |
| 454 | 454 |
| 455 FX_INT32 m_nGifLeft; | 455 FX_INT32 m_nGifLeft; |
| 456 FX_INT32 m_nGifTop; | 456 FX_INT32 m_nGifTop; |
| 457 | 457 |
| 458 FX_DWORD* m_pGifLocalPalette; | 458 FX_DWORD* m_pGifLocalPalette; |
| 459 | 459 |
| 460 FX_DWORD m_nGifLocalPalNum; | 460 FX_DWORD m_nGifLocalPalNum; |
| 461 | 461 |
| 462 FX_INT32 m_nBmpCompressType; | 462 FX_INT32 m_nBmpCompressType; |
| 463 class IFX_DIBAttributeExif* m_pExif; | 463 class IFX_DIBAttributeExif* m_pExif; |
| 464 }; | 464 }; |
| 465 class IFX_DIBAttributeExif : public CFX_Object | 465 class IFX_DIBAttributeExif |
| 466 { | 466 { |
| 467 public: | 467 public: |
| 468 virtual ~IFX_DIBAttributeExif() {}; | 468 virtual ~IFX_DIBAttributeExif() {}; |
| 469 virtual FX_BOOL GetInfo(FX_WORD tag, FX_LPVOID val) = 0; | 469 virtual FX_BOOL GetInfo(FX_WORD tag, FX_LPVOID val) = 0; |
| 470 }; | 470 }; |
| 471 #endif | 471 #endif |
| OLD | NEW |