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 CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ | 7 #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ |
8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ | 8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ |
9 | 9 |
10 #include "../fxcrt/fx_system.h" | 10 #include "../fxcrt/fx_system.h" |
11 | 11 |
12 class IFX_JpegProvider | 12 class IFX_JpegProvider |
13 { | 13 { |
14 public: | 14 public: |
15 virtual void Release() = 0; | 15 virtual void Release() = 0; |
16 | 16 |
17 virtual void*» » CreateDecoder(const uint8_t* src_buf, FX_DWORD s
rc_size, int width, int height, int nComps, FX_BOOL ColorTransform) = 0; | 17 virtual void*» » CreateDecoder(const uint8_t* src_buf, FX_DWORD s
rc_size, int width, int height, int nComps, bool ColorTransform) = 0; |
18 | 18 |
19 | 19 |
20 virtual void DestroyDecoder(void* pDecoder) = 0; | 20 virtual void DestroyDecoder(void* pDecoder) = 0; |
21 | 21 |
22 virtual void DownScale(void* pDecoder, int dest_width, int de
st_height) = 0; | 22 virtual void DownScale(void* pDecoder, int dest_width, int de
st_height) = 0; |
23 | 23 |
24 virtual FX_BOOL» » Rewind(void* pDecoder) = 0; | 24 virtual bool» » Rewind(void* pDecoder) = 0; |
25 | 25 |
26 virtual uint8_t* GetNextLine(void* pDecoder) = 0; | 26 virtual uint8_t* GetNextLine(void* pDecoder) = 0; |
27 | 27 |
28 virtual FX_DWORD GetSrcOffset(void* pDecoder) = 0; | 28 virtual FX_DWORD GetSrcOffset(void* pDecoder) = 0; |
29 | 29 |
30 | 30 |
31 virtual FX_BOOL» » LoadInfo(const uint8_t* src_buf, FX_DWORD src_si
ze, int& width, int& height, | 31 virtual bool» » LoadInfo(const uint8_t* src_buf, FX_DWORD src_si
ze, int& width, int& height, |
32 int& num_components, int& bits_per_components,
FX_BOOL& color_transform, | 32 int& num_components, int& bits_per_components,
bool& color_transform, |
33 uint8_t** icc_buf_ptr = NULL, FX_DWORD* icc_len
gth = NULL) = 0; | 33 uint8_t** icc_buf_ptr = NULL, FX_DWORD* icc_len
gth = NULL) = 0; |
34 | 34 |
35 virtual FX_BOOL» » Encode(const class CFX_DIBSource* pSource, uint8
_t*& dest_buf, FX_STRSIZE& dest_size, int quality = 75, | 35 virtual bool» » Encode(const class CFX_DIBSource* pSource, uint8
_t*& dest_buf, FX_STRSIZE& dest_size, int quality = 75, |
36 const uint8_t* icc_buf = NULL, FX_DWORD icc_lengt
h = 0) = 0; | 36 const uint8_t* icc_buf = NULL, FX_DWORD icc_lengt
h = 0) = 0; |
37 | 37 |
38 virtual void* Start() = 0; | 38 virtual void* Start() = 0; |
39 | 39 |
40 virtual void Finish(void* pContext) = 0; | 40 virtual void Finish(void* pContext) = 0; |
41 | 41 |
42 virtual void Input(void* pContext, const uint8_t* src_buf, FX
_DWORD src_size) = 0; | 42 virtual void Input(void* pContext, const uint8_t* src_buf, FX
_DWORD src_size) = 0; |
43 | 43 |
44 virtual int ReadHeader(void* pContext, int* width, int* heig
ht, int* nComps) = 0; | 44 virtual int ReadHeader(void* pContext, int* width, int* heig
ht, int* nComps) = 0; |
45 | 45 |
46 | 46 |
47 virtual int StartScanline(void* pContext, int down_scale) =
0; | 47 virtual int StartScanline(void* pContext, int down_scale) =
0; |
48 | 48 |
49 | 49 |
50 virtual FX_BOOL» » ReadScanline(void* pContext, uint8_t* dest_buf)
= 0; | 50 virtual bool» » ReadScanline(void* pContext, uint8_t* dest_buf)
= 0; |
51 | 51 |
52 | 52 |
53 virtual FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr =
NULL) = 0; | 53 virtual FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr =
NULL) = 0; |
54 | 54 |
55 protected: | 55 protected: |
56 ~IFX_JpegProvider() { } | 56 ~IFX_JpegProvider() { } |
57 }; | 57 }; |
58 | 58 |
59 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ | 59 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_PROVIDER_H_ |
OLD | NEW |