summaryrefslogtreecommitdiff
path: root/core/fxcodec/codec/ccodec_jpegmodule.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcodec/codec/ccodec_jpegmodule.h')
-rw-r--r--core/fxcodec/codec/ccodec_jpegmodule.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/core/fxcodec/codec/ccodec_jpegmodule.h b/core/fxcodec/codec/ccodec_jpegmodule.h
index 2c72db3316..45b1d1b6d1 100644
--- a/core/fxcodec/codec/ccodec_jpegmodule.h
+++ b/core/fxcodec/codec/ccodec_jpegmodule.h
@@ -10,25 +10,17 @@
#include <csetjmp>
#include <memory>
+#include "core/fxcodec/codec/codec_module_iface.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/retain_ptr.h"
#include "third_party/base/span.h"
class CCodec_ScanlineDecoder;
-class CFX_DIBBase;
-
-#ifdef PDF_ENABLE_XFA
class CFX_DIBAttribute;
-#endif // PDF_ENABLE_XFA
+class CFX_DIBBase;
-class CCodec_JpegModule {
+class CCodec_JpegModule final : public CodecModuleIface {
public:
- class Context {
- public:
- virtual ~Context() {}
- virtual jmp_buf* GetJumpMark() = 0;
- };
-
std::unique_ptr<CCodec_ScanlineDecoder> CreateDecoder(
pdfium::span<const uint8_t> src_buf,
int width,
@@ -36,6 +28,13 @@ class CCodec_JpegModule {
int nComps,
bool ColorTransform);
+ // CodecModuleIface:
+ FX_FILESIZE GetAvailInput(Context* pContext) const override;
+ bool Input(Context* pContext,
+ pdfium::span<uint8_t> src_buf,
+ CFX_DIBAttribute* pAttribute) override;
+
+ jmp_buf* GetJumpMark(Context* pContext);
bool LoadInfo(pdfium::span<const uint8_t> src_span,
int* width,
int* height,
@@ -44,7 +43,6 @@ class CCodec_JpegModule {
bool* color_transform);
std::unique_ptr<Context> Start();
- void Input(Context* pContext, const uint8_t* src_buf, uint32_t src_size);
#ifdef PDF_ENABLE_XFA
int ReadHeader(Context* pContext,
@@ -56,7 +54,6 @@ class CCodec_JpegModule {
bool StartScanline(Context* pContext, int down_scale);
bool ReadScanline(Context* pContext, uint8_t* dest_buf);
- uint32_t GetAvailInput(Context* pContext) const;
#if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
static bool JpegEncode(const RetainPtr<CFX_DIBBase>& pSource,