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 _JBIG2_IMAGE_H_ | 7 #ifndef _JBIG2_IMAGE_H_ |
8 #define _JBIG2_IMAGE_H_ | 8 #define _JBIG2_IMAGE_H_ |
9 #include "JBig2_Define.h" | 9 #include "JBig2_Define.h" |
10 #include "JBig2_Module.h" | 10 #include "JBig2_Module.h" |
11 typedef enum { | 11 typedef enum { |
12 JBIG2_COMPOSE_OR = 0, | 12 JBIG2_COMPOSE_OR = 0, |
13 JBIG2_COMPOSE_AND = 1, | 13 JBIG2_COMPOSE_AND = 1, |
14 JBIG2_COMPOSE_XOR = 2, | 14 JBIG2_COMPOSE_XOR = 2, |
15 JBIG2_COMPOSE_XNOR = 3, | 15 JBIG2_COMPOSE_XNOR = 3, |
16 JBIG2_COMPOSE_REPLACE = 4 | 16 JBIG2_COMPOSE_REPLACE = 4 |
17 } JBig2ComposeOp; | 17 } JBig2ComposeOp; |
18 struct FX_RECT; | 18 struct FX_RECT; |
19 class CJBig2_Image : public CJBig2_Object | 19 class CJBig2_Image : public CJBig2_Object |
20 { | 20 { |
21 public: | 21 public: |
22 | 22 |
23 CJBig2_Image(FX_INT32 w, FX_INT32 h); | 23 CJBig2_Image(int32_t w, int32_t h); |
24 | 24 |
25 CJBig2_Image(FX_INT32 w, FX_INT32 h, FX_INT32 stride, FX_BYTE*pBuf); | 25 CJBig2_Image(int32_t w, int32_t h, int32_t stride, uint8_t*pBuf); |
26 | 26 |
27 CJBig2_Image(CJBig2_Image &im); | 27 CJBig2_Image(CJBig2_Image &im); |
28 | 28 |
29 ~CJBig2_Image(); | 29 ~CJBig2_Image(); |
30 | 30 |
31 FX_BOOL getPixel(FX_INT32 x, FX_INT32 y); | 31 FX_BOOL getPixel(int32_t x, int32_t y); |
32 | 32 |
33 FX_INT32 setPixel(FX_INT32 x, FX_INT32 y, FX_BOOL v); | 33 int32_t setPixel(int32_t x, int32_t y, FX_BOOL v); |
34 | 34 |
35 void copyLine(FX_INT32 hTo, FX_INT32 hFrom); | 35 void copyLine(int32_t hTo, int32_t hFrom); |
36 | 36 |
37 void fill(FX_BOOL v); | 37 void fill(FX_BOOL v); |
38 | 38 |
39 FX_BOOL composeTo(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2ComposeOp
op); | 39 FX_BOOL composeTo(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2ComposeOp o
p); |
40 FX_BOOL composeTo(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2ComposeOp
op, const FX_RECT* pSrcRect); | 40 FX_BOOL composeTo(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2ComposeOp o
p, const FX_RECT* pSrcRect); |
41 | 41 |
42 FX_BOOL composeTo_unopt(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2Com
poseOp op); | 42 FX_BOOL composeTo_unopt(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2Compo
seOp op); |
43 | 43 |
44 FX_BOOL composeTo_opt(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2Compo
seOp op); | 44 FX_BOOL composeTo_opt(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2Compose
Op op); |
45 | 45 |
46 FX_BOOL composeTo_opt2(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2Comp
oseOp op); | 46 FX_BOOL composeTo_opt2(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2Compos
eOp op); |
47 FX_BOOL composeTo_opt2(CJBig2_Image *pDst, FX_INT32 x, FX_INT32 y, JBig2Comp
oseOp op, const FX_RECT* pSrcRect); | 47 FX_BOOL composeTo_opt2(CJBig2_Image *pDst, int32_t x, int32_t y, JBig2Compos
eOp op, const FX_RECT* pSrcRect); |
48 | 48 |
49 FX_BOOL composeFrom(FX_INT32 x, FX_INT32 y, CJBig2_Image *pSrc, JBig2Compose
Op op); | 49 FX_BOOL composeFrom(int32_t x, int32_t y, CJBig2_Image *pSrc, JBig2ComposeOp
op); |
50 FX_BOOL composeFrom(FX_INT32 x, FX_INT32 y, CJBig2_Image *pSrc, JBig2Compose
Op op, const FX_RECT* pSrcRect); | 50 FX_BOOL composeFrom(int32_t x, int32_t y, CJBig2_Image *pSrc, JBig2ComposeOp
op, const FX_RECT* pSrcRect); |
51 CJBig2_Image *subImage_unopt(FX_INT32 x, FX_INT32 y, FX_INT32 w, FX_INT32 h)
; | 51 CJBig2_Image *subImage_unopt(int32_t x, int32_t y, int32_t w, int32_t h); |
52 | 52 |
53 CJBig2_Image *subImage(FX_INT32 x, FX_INT32 y, FX_INT32 w, FX_INT32 h); | 53 CJBig2_Image *subImage(int32_t x, int32_t y, int32_t w, int32_t h); |
54 | 54 |
55 void expand(FX_INT32 h, FX_BOOL v); | 55 void expand(int32_t h, FX_BOOL v); |
56 public: | 56 public: |
57 | 57 |
58 FX_INT32 m_nWidth; | 58 int32_t m_nWidth; |
59 | 59 |
60 FX_INT32 m_nHeight; | 60 int32_t m_nHeight; |
61 | 61 |
62 FX_INT32 m_nStride; | 62 int32_t m_nStride; |
63 | 63 |
64 FX_BYTE *m_pData; | 64 uint8_t *m_pData; |
65 | 65 |
66 FX_BOOL m_bNeedFree; | 66 FX_BOOL m_bNeedFree; |
67 }; | 67 }; |
68 #endif | 68 #endif |
OLD | NEW |