| 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_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ | 7 #ifndef CORE_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ |
| 8 #define CORE_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ | 8 #define CORE_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ |
| 9 | 9 |
| 10 #define FXCODEC_BLOCK_SIZE 4096 | 10 #define FXCODEC_BLOCK_SIZE 4096 |
| 11 #define FXCODEC_PNG_GAMMA 2.2 | 11 #define FXCODEC_PNG_GAMMA 2.2 |
| 12 #if _FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_ | 12 #if _FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_ |
| 13 #undef FXCODEC_PNG_GAMMA | 13 #undef FXCODEC_PNG_GAMMA |
| 14 #define FXCODEC_PNG_GAMMA 1.7 | 14 #define FXCODEC_PNG_GAMMA 1.7 |
| 15 #endif | 15 #endif |
| 16 struct PixelWeight { | 16 struct PixelWeight { |
| 17 int m_SrcStart; | 17 int m_SrcStart; |
| 18 int m_SrcEnd; | 18 int m_SrcEnd; |
| 19 int m_Weights[1]; | 19 int m_Weights[1]; |
| 20 }; | 20 }; |
| 21 class CFXCODEC_WeightTable { | 21 class CFXCODEC_WeightTable { |
| 22 public: | 22 public: |
| 23 CFXCODEC_WeightTable() { m_pWeightTables = NULL; } | 23 CFXCODEC_WeightTable() { m_pWeightTables = NULL; } |
| 24 ~CFXCODEC_WeightTable() { | 24 ~CFXCODEC_WeightTable() { FX_Free(m_pWeightTables); } |
| 25 if (m_pWeightTables != NULL) { | |
| 26 FX_Free(m_pWeightTables); | |
| 27 } | |
| 28 } | |
| 29 | 25 |
| 30 void Calc(int dest_len, | 26 void Calc(int dest_len, |
| 31 int dest_min, | 27 int dest_min, |
| 32 int dest_max, | 28 int dest_max, |
| 33 int src_len, | 29 int src_len, |
| 34 int src_min, | 30 int src_min, |
| 35 int src_max, | 31 int src_max, |
| 36 FX_BOOL bInterpol); | 32 FX_BOOL bInterpol); |
| 37 PixelWeight* GetPixelWeight(int pixel) { | 33 PixelWeight* GetPixelWeight(int pixel) { |
| 38 return (PixelWeight*)(m_pWeightTables + (pixel - m_DestMin) * m_ItemSize); | 34 return (PixelWeight*)(m_pWeightTables + (pixel - m_DestMin) * m_ItemSize); |
| 39 } | 35 } |
| 40 | 36 |
| 41 int m_DestMin, m_ItemSize; | 37 int m_DestMin, m_ItemSize; |
| 42 uint8_t* m_pWeightTables; | 38 uint8_t* m_pWeightTables; |
| 43 }; | 39 }; |
| 44 class CFXCODEC_HorzTable { | 40 class CFXCODEC_HorzTable { |
| 45 public: | 41 public: |
| 46 CFXCODEC_HorzTable() { m_pWeightTables = NULL; } | 42 CFXCODEC_HorzTable() { m_pWeightTables = NULL; } |
| 47 ~CFXCODEC_HorzTable() { | 43 ~CFXCODEC_HorzTable() { FX_Free(m_pWeightTables); } |
| 48 if (m_pWeightTables != NULL) { | |
| 49 FX_Free(m_pWeightTables); | |
| 50 } | |
| 51 } | |
| 52 | 44 |
| 53 void Calc(int dest_len, int src_len, FX_BOOL bInterpol); | 45 void Calc(int dest_len, int src_len, FX_BOOL bInterpol); |
| 54 PixelWeight* GetPixelWeight(int pixel) { | 46 PixelWeight* GetPixelWeight(int pixel) { |
| 55 return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize); | 47 return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize); |
| 56 } | 48 } |
| 57 | 49 |
| 58 int m_ItemSize; | 50 int m_ItemSize; |
| 59 uint8_t* m_pWeightTables; | 51 uint8_t* m_pWeightTables; |
| 60 }; | 52 }; |
| 61 class CFXCODEC_VertTable { | 53 class CFXCODEC_VertTable { |
| 62 public: | 54 public: |
| 63 CFXCODEC_VertTable() { m_pWeightTables = NULL; } | 55 CFXCODEC_VertTable() { m_pWeightTables = NULL; } |
| 64 ~CFXCODEC_VertTable() { | 56 ~CFXCODEC_VertTable() { FX_Free(m_pWeightTables); } |
| 65 if (m_pWeightTables != NULL) { | |
| 66 FX_Free(m_pWeightTables); | |
| 67 } | |
| 68 } | |
| 69 void Calc(int dest_len, int src_len); | 57 void Calc(int dest_len, int src_len); |
| 70 PixelWeight* GetPixelWeight(int pixel) { | 58 PixelWeight* GetPixelWeight(int pixel) { |
| 71 return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize); | 59 return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize); |
| 72 } | 60 } |
| 73 int m_ItemSize; | 61 int m_ItemSize; |
| 74 uint8_t* m_pWeightTables; | 62 uint8_t* m_pWeightTables; |
| 75 }; | 63 }; |
| 76 enum FXCodec_Format { | 64 enum FXCodec_Format { |
| 77 FXCodec_Invalid = 0, | 65 FXCodec_Invalid = 0, |
| 78 FXCodec_1bppGray = 0x101, | 66 FXCodec_1bppGray = 0x101, |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 int m_GifBgIndex; | 204 int m_GifBgIndex; |
| 217 uint8_t* m_pGifPalette; | 205 uint8_t* m_pGifPalette; |
| 218 int32_t m_GifPltNumber; | 206 int32_t m_GifPltNumber; |
| 219 int m_GifTransIndex; | 207 int m_GifTransIndex; |
| 220 FX_RECT m_GifFrameRect; | 208 FX_RECT m_GifFrameRect; |
| 221 FX_BOOL m_BmpIsTopBottom; | 209 FX_BOOL m_BmpIsTopBottom; |
| 222 FXCODEC_STATUS m_status; | 210 FXCODEC_STATUS m_status; |
| 223 }; | 211 }; |
| 224 | 212 |
| 225 #endif // CORE_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ | 213 #endif // CORE_SRC_FXCODEC_CODEC_FX_CODEC_PROGRESS_H_ |
| OLD | NEW |