Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1267)

Unified Diff: core/src/fxcodec/codec/codec_int.h

Issue 1398383002: core/ difference with XFA (for information only). (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: After bidi Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 9f408dd9a2d68e3d1ee8c025d141f79876e37050..69fcd054a4113f11d1f4d615786bf08fa90418e5 100644
--- a/core/src/fxcodec/codec/codec_int.h
+++ b/core/src/fxcodec/codec/codec_int.h
@@ -184,7 +184,15 @@ class CCodec_JpegModule : public ICodec_JpegModule {
virtual void* Start();
virtual void Finish(void* pContext);
virtual void Input(void* pContext, const uint8_t* src_buf, FX_DWORD src_size);
+#ifndef PDF_ENABLE_XFA
virtual int ReadHeader(void* pContext, int* width, int* height, int* nComps);
+#else
+ virtual int ReadHeader(void* pContext,
+ int* width,
+ int* height,
+ int* nComps,
+ CFX_DIBAttribute* pAttribute = NULL);
+#endif
virtual int StartScanline(void* pContext, int down_scale);
virtual FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf);
virtual FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr);
@@ -192,6 +200,68 @@ class CCodec_JpegModule : public ICodec_JpegModule {
protected:
IFX_JpegProvider* m_pExtProvider;
};
+#ifdef PDF_ENABLE_XFA
+#define PNG_ERROR_SIZE 256
+class CCodec_PngModule : public ICodec_PngModule {
+ public:
+ CCodec_PngModule() { FXSYS_memset(m_szLastError, '\0', PNG_ERROR_SIZE); }
+
+ virtual void* Start(void* pModule);
+ virtual void Finish(void* pContext);
+ virtual FX_BOOL Input(void* pContext,
+ const uint8_t* src_buf,
+ FX_DWORD src_size,
+ CFX_DIBAttribute* pAttribute);
+
+ protected:
+ FX_CHAR m_szLastError[PNG_ERROR_SIZE];
+};
+class CCodec_GifModule : public ICodec_GifModule {
+ public:
+ CCodec_GifModule() { FXSYS_memset(m_szLastError, '\0', 256); }
+ virtual void* Start(void* pModule);
+ virtual void Finish(void* pContext);
+ virtual FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr);
+ virtual void Input(void* pContext, const uint8_t* src_buf, FX_DWORD src_size);
+
+ virtual int32_t ReadHeader(void* pContext,
+ int* width,
+ int* height,
+ int* pal_num,
+ void** pal_pp,
+ int* bg_index,
+ CFX_DIBAttribute* pAttribute);
+
+ virtual int32_t LoadFrameInfo(void* pContext, int* frame_num);
+
+ virtual int32_t LoadFrame(void* pContext,
+ int frame_num,
+ CFX_DIBAttribute* pAttribute);
+
+ protected:
+ FX_CHAR m_szLastError[256];
+};
+class CCodec_BmpModule : public ICodec_BmpModule {
+ public:
+ CCodec_BmpModule() { FXSYS_memset(m_szLastError, '\0', 256); }
+ virtual void* Start(void* pModule);
+ virtual void Finish(void* pContext);
+ virtual FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr);
+ virtual void Input(void* pContext, const uint8_t* src_buf, FX_DWORD src_size);
+ virtual int32_t ReadHeader(void* pContext,
+ int32_t* width,
+ int32_t* height,
+ FX_BOOL* tb_flag,
+ int32_t* components,
+ int32_t* pal_num,
+ FX_DWORD** pal_pp,
+ CFX_DIBAttribute* pAttribute);
+ virtual int32_t LoadImage(void* pContext);
+
+ protected:
+ FX_CHAR m_szLastError[256];
+};
+#endif
class CCodec_IccModule : public ICodec_IccModule {
public:
virtual IccCS GetProfileCS(const uint8_t* pProfileData,
@@ -267,6 +337,27 @@ class CCodec_JpxModule : public ICodec_JpxModule {
void DestroyDecoder(CJPX_Decoder* pDecoder) override;
};
+#ifdef PDF_ENABLE_XFA
+class CCodec_TiffModule : public ICodec_TiffModule {
+ public:
+ // 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 {}
+};
+
+#endif
class CCodec_Jbig2Context {
public:
CCodec_Jbig2Context();
@@ -302,7 +393,9 @@ class CCodec_Jbig2Module : public ICodec_Jbig2Module {
IFX_Pause* pPause) override;
void DestroyJbig2Context(void* pJbig2Context) override;
};
+#ifndef PDF_ENABLE_XFA
+#endif
struct DecodeData {
public:
DecodeData(unsigned char* src_data, OPJ_SIZE_T src_size)

Powered by Google App Engine
This is Rietveld 408576698