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_PROVIDER_H_ | 7 #ifndef _FX_CODEC_PROVIDER_H_ |
8 #define _FX_CODEC_PROVIDER_H_ | 8 #define _FX_CODEC_PROVIDER_H_ |
9 class IFX_JpegProvider | 9 class IFX_JpegProvider { |
10 { | 10 public: |
11 public: | 11 virtual void Release() = 0; |
12 | 12 |
13 virtual void» » Release() = 0; | 13 virtual void* CreateDecoder(FX_LPCBYTE src_buf, |
| 14 FX_DWORD src_size, |
| 15 int width, |
| 16 int height, |
| 17 int nComps, |
| 18 FX_BOOL ColorTransform) = 0; |
14 | 19 |
15 virtual void*» » CreateDecoder(FX_LPCBYTE src_buf, FX_DWORD src_s
ize, int width, int height, int nComps, FX_BOOL ColorTransform) = 0; | 20 virtual void DestroyDecoder(void* pDecoder) = 0; |
16 | 21 |
| 22 virtual void DownScale(void* pDecoder, int dest_width, int dest_height) = 0; |
17 | 23 |
18 virtual void» » DestroyDecoder(void* pDecoder) = 0; | 24 virtual FX_BOOL Rewind(void* pDecoder) = 0; |
19 | 25 |
20 virtual void» » DownScale(void* pDecoder, int dest_width, int de
st_height) = 0; | 26 virtual FX_LPBYTE GetNextLine(void* pDecoder) = 0; |
21 | 27 |
22 virtual FX_BOOL» » Rewind(void* pDecoder) = 0; | 28 virtual FX_DWORD GetSrcOffset(void* pDecoder) = 0; |
23 | 29 |
24 virtual FX_LPBYTE» GetNextLine(void* pDecoder) = 0; | 30 virtual FX_BOOL LoadInfo(FX_LPCBYTE src_buf, |
| 31 FX_DWORD src_size, |
| 32 int& width, |
| 33 int& height, |
| 34 int& num_components, |
| 35 int& bits_per_components, |
| 36 FX_BOOL& color_transform, |
| 37 FX_LPBYTE* icc_buf_ptr = NULL, |
| 38 FX_DWORD* icc_length = NULL) = 0; |
25 | 39 |
26 virtual FX_DWORD» GetSrcOffset(void* pDecoder) = 0; | 40 virtual FX_BOOL Encode(const class CFX_DIBSource* pSource, |
| 41 FX_LPBYTE& dest_buf, |
| 42 FX_STRSIZE& dest_size, |
| 43 int quality = 75, |
| 44 FX_LPCBYTE icc_buf = NULL, |
| 45 FX_DWORD icc_length = 0) = 0; |
27 | 46 |
| 47 virtual void* Start() = 0; |
28 | 48 |
29 virtual FX_BOOL» » LoadInfo(FX_LPCBYTE src_buf, FX_DWORD src_size,
int& width, int& height, | 49 virtual void Finish(void* pContext) = 0; |
30 int& num_components, int& bits_per_components,
FX_BOOL& color_transform, | |
31 FX_LPBYTE* icc_buf_ptr = NULL, FX_DWORD* icc_le
ngth = NULL) = 0; | |
32 | 50 |
33 virtual FX_BOOL» » Encode(const class CFX_DIBSource* pSource, FX_LP
BYTE& dest_buf, FX_STRSIZE& dest_size, int quality = 75, | 51 virtual void Input(void* pContext, FX_LPCBYTE src_buf, FX_DWORD src_size) = 0; |
34 FX_LPCBYTE icc_buf = NULL, FX_DWORD icc_length =
0) = 0; | |
35 | 52 |
36 virtual void*» » Start() = 0; | 53 virtual int ReadHeader(void* pContext, |
| 54 int* width, |
| 55 int* height, |
| 56 int* nComps) = 0; |
37 | 57 |
38 virtual void» » Finish(void* pContext) = 0; | 58 virtual int StartScanline(void* pContext, int down_scale) = 0; |
39 | 59 |
40 virtual void» » Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size) = 0; | 60 virtual FX_BOOL ReadScanline(void* pContext, FX_LPBYTE dest_buf) = 0; |
41 | 61 |
42 virtual int»» » ReadHeader(void* pContext, int* width, int* heig
ht, int* nComps) = 0; | 62 virtual FX_DWORD GetAvailInput(void* pContext, |
43 | 63 FX_LPBYTE* avail_buf_ptr = NULL) = 0; |
44 | |
45 virtual int»» » StartScanline(void* pContext, int down_scale) =
0; | |
46 | |
47 | |
48 virtual FX_BOOL» » ReadScanline(void* pContext, FX_LPBYTE dest_buf)
= 0; | |
49 | |
50 | |
51 virtual FX_DWORD» GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | |
52 }; | 64 }; |
53 #endif | 65 #endif |
OLD | NEW |