Index: core/src/fxcodec/codec/codec_int.h |
diff --git a/core/src/fxcodec/codec/codec_int.h b/core/src/fxcodec/codec/codec_int.h |
index aed24d8791639b03112a781d9a1250fbe3774aef..be59655b4e8e09f3a5dc209ca946dd25a339a35e 100644 |
--- a/core/src/fxcodec/codec/codec_int.h |
+++ b/core/src/fxcodec/codec/codec_int.h |
@@ -31,36 +31,29 @@ class CCodec_BasicModule : public ICodec_BasicModule { |
int nComps, |
int bpc); |
}; |
+ |
struct CCodec_ImageDataCache { |
int m_Width, m_Height; |
int m_nCachedLines; |
uint8_t m_Data; |
}; |
+ |
class CCodec_ScanlineDecoder : public ICodec_ScanlineDecoder { |
public: |
CCodec_ScanlineDecoder(); |
- |
- virtual ~CCodec_ScanlineDecoder(); |
- |
- virtual FX_DWORD GetSrcOffset() { return -1; } |
- |
- virtual void DownScale(int dest_width, int dest_height); |
- |
- uint8_t* GetScanline(int line); |
- |
- FX_BOOL SkipToScanline(int line, IFX_Pause* pPause); |
- |
- int GetWidth() { return m_OutputWidth; } |
- |
- int GetHeight() { return m_OutputHeight; } |
- |
- int CountComps() { return m_nComps; } |
- |
- int GetBPC() { return m_bpc; } |
- |
- FX_BOOL IsColorTransformed() { return m_bColorTransformed; } |
- |
- void ClearImageData() { |
+ ~CCodec_ScanlineDecoder() override; |
+ |
+ // ICodec_ScanlineDecoder |
+ FX_DWORD GetSrcOffset() override { return -1; } |
+ void DownScale(int dest_width, int dest_height) override; |
+ uint8_t* GetScanline(int line) override; |
+ FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) override; |
+ int GetWidth() override { return m_OutputWidth; } |
+ int GetHeight() override { return m_OutputHeight; } |
+ int CountComps() override { return m_nComps; } |
+ int GetBPC() override { return m_bpc; } |
+ FX_BOOL IsColorTransformed() override { return m_bColorTransformed; } |
+ void ClearImageData() override { |
if (m_pDataCache) { |
FX_Free(m_pDataCache); |
} |
@@ -100,6 +93,7 @@ class CCodec_ScanlineDecoder : public ICodec_ScanlineDecoder { |
CCodec_ImageDataCache* m_pDataCache; |
}; |
+ |
class CCodec_FaxModule : public ICodec_FaxModule { |
public: |
virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, |
@@ -119,6 +113,7 @@ class CCodec_FaxModule : public ICodec_FaxModule { |
uint8_t*& dest_buf, |
FX_DWORD& dest_size); |
}; |
+ |
class CCodec_FlateModule : public ICodec_FlateModule { |
public: |
virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, |
@@ -155,6 +150,7 @@ class CCodec_FlateModule : public ICodec_FlateModule { |
uint8_t*& dest_buf, |
FX_DWORD& dest_size); |
}; |
+ |
class CCodec_JpegModule : public ICodec_JpegModule { |
public: |
CCodec_JpegModule() : m_pExtProvider(NULL) {} |
@@ -308,6 +304,7 @@ class CCodec_IccModule : public ICodec_IccModule { |
Icc_CLASS ic, |
CFX_BinaryBuf* pTransformKey); |
}; |
+ |
class CCodec_JpxModule : public ICodec_JpxModule { |
public: |
CCodec_JpxModule(); |
@@ -326,20 +323,26 @@ class CCodec_JpxModule : public ICodec_JpxModule { |
uint8_t* offsets); |
void DestroyDecoder(void* ctx); |
}; |
+ |
class CCodec_TiffModule : public ICodec_TiffModule { |
Lei Zhang
2015/08/15 04:49:07
This is new in XFA.
|
public: |
- virtual void* CreateDecoder(IFX_FileRead* file_ptr); |
- virtual void GetFrames(void* ctx, int32_t& frames); |
- virtual FX_BOOL LoadFrameInfo(void* ctx, |
- int32_t frame, |
- FX_DWORD& width, |
- FX_DWORD& height, |
- FX_DWORD& comps, |
- FX_DWORD& bpc, |
- CFX_DIBAttribute* pAttribute = NULL); |
- virtual FX_BOOL Decode(void* ctx, class CFX_DIBitmap* pDIBitmap); |
- virtual void DestroyDecoder(void* ctx); |
+ // ICodec_TiffModule |
+ void* CreateDecoder(IFX_FileRead* file_ptr) override; |
+ void GetFrames(void* ctx, int32_t& frames) override; |
+ FX_BOOL LoadFrameInfo(void* ctx, |
+ int32_t frame, |
+ FX_DWORD& width, |
+ FX_DWORD& height, |
+ FX_DWORD& comps, |
+ FX_DWORD& bpc, |
+ CFX_DIBAttribute* pAttribute = NULL) override; |
+ FX_BOOL Decode(void* ctx, class CFX_DIBitmap* pDIBitmap) override; |
+ void DestroyDecoder(void* ctx) override; |
+ |
+ protected: |
+ ~CCodec_TiffModule() override {} |
}; |
+ |
class CPDF_Jbig2Interface : public CJBig2_Module { |
public: |
virtual void* JBig2_Malloc(FX_DWORD dwSize) { |
@@ -366,6 +369,7 @@ class CPDF_Jbig2Interface : public CJBig2_Module { |
} |
virtual void JBig2_Free(void* pMem) { FX_Free(pMem); } |
}; |
+ |
class CCodec_Jbig2Context { |
public: |
CCodec_Jbig2Context(); |
@@ -387,7 +391,9 @@ class CCodec_Jbig2Context { |
class CCodec_Jbig2Module : public ICodec_Jbig2Module { |
public: |
CCodec_Jbig2Module(){}; |
- ~CCodec_Jbig2Module(); |
+ ~CCodec_Jbig2Module() override; |
+ |
+ // ICodec_Jbig2Module |
FX_BOOL Decode(FX_DWORD width, |
FX_DWORD height, |
const uint8_t* src_buf, |
@@ -395,13 +401,13 @@ class CCodec_Jbig2Module : public ICodec_Jbig2Module { |
const uint8_t* global_data, |
FX_DWORD global_size, |
uint8_t* dest_buf, |
- FX_DWORD dest_pitch); |
+ FX_DWORD dest_pitch) override; |
FX_BOOL Decode(IFX_FileRead* file_ptr, |
FX_DWORD& width, |
FX_DWORD& height, |
FX_DWORD& pitch, |
- uint8_t*& dest_buf); |
- void* CreateJbig2Context(); |
+ uint8_t*& dest_buf) override; |
+ void* CreateJbig2Context() override; |
FXCODEC_STATUS StartDecode(void* pJbig2Context, |
FX_DWORD width, |
FX_DWORD height, |
@@ -411,21 +417,21 @@ class CCodec_Jbig2Module : public ICodec_Jbig2Module { |
FX_DWORD global_size, |
uint8_t* dest_buf, |
FX_DWORD dest_pitch, |
- IFX_Pause* pPause); |
- |
+ IFX_Pause* pPause) override; |
FXCODEC_STATUS StartDecode(void* pJbig2Context, |
IFX_FileRead* file_ptr, |
FX_DWORD& width, |
FX_DWORD& height, |
FX_DWORD& pitch, |
uint8_t*& dest_buf, |
- IFX_Pause* pPause); |
- FXCODEC_STATUS ContinueDecode(void* pJbig2Context, IFX_Pause* pPause); |
- void DestroyJbig2Context(void* pJbig2Context); |
- CPDF_Jbig2Interface m_Module; |
- std::list<CJBig2_CachePair> m_SymbolDictCache; |
+ IFX_Pause* pPause) override; |
+ FXCODEC_STATUS ContinueDecode(void* pJbig2Context, |
+ IFX_Pause* pPause) override; |
+ void DestroyJbig2Context(void* pJbig2Context) override; |
private: |
+ CPDF_Jbig2Interface m_Module; |
+ std::list<CJBig2_CachePair> m_SymbolDictCache; |
}; |
class CFX_DIBAttributeExif : public IFX_DIBAttributeExif { |
public: |