diff options
Diffstat (limited to 'xfa/src/fdp/include/fde_img.h')
-rw-r--r-- | xfa/src/fdp/include/fde_img.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/xfa/src/fdp/include/fde_img.h b/xfa/src/fdp/include/fde_img.h new file mode 100644 index 0000000000..d7a5fc618f --- /dev/null +++ b/xfa/src/fdp/include/fde_img.h @@ -0,0 +1,85 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _FDE_IMAGE +#define _FDE_IMAGE +class IFDE_Image; +#define FDE_IMAGEFORMAT_Unknown -1 +#define FDE_IMAGEFORMAT_BMP 0 +#define FDE_IMAGEFORMAT_GIF 1 +#define FDE_IMAGEFORMAT_JPEG 2 +#define FDE_IMAGEFORMAT_PNG 3 +#define FDE_IMAGEFORMAT_TIFF 4 +#define FDE_IMAGEFORMAT_JPEG2000 5 +#define FDE_IMAGEFORMAT_JBig2 6 +class IFDE_Image { + public: + static IFDE_Image* Create(IFX_Stream* pStream, + int32_t iFormat = FDE_IMAGEFORMAT_Unknown); + virtual ~IFDE_Image() {} + virtual void Release() = 0; + virtual FX_BOOL LoadImage() = 0; + virtual void FreeImage() = 0; + virtual int32_t CountFrames() const = 0; + virtual FX_BOOL LoadFrame(int32_t index) = 0; + virtual CFX_DIBitmap* GetFrameImage() = 0; + virtual int32_t GetImageFormat() const = 0; + virtual int32_t GetImageWidth() const = 0; + virtual int32_t GetImageHeight() const = 0; + virtual int32_t GetDelayTime(int32_t iFrameIndex) const = 0; + virtual int32_t GetLoopCount() const = 0; + virtual FX_BOOL StartLoadImage(CFX_DIBitmap* pDIBitmap, + int32_t dibX, + int32_t dibY, + int32_t dibCX, + int32_t dibCY, + int32_t imgX, + int32_t imgY, + int32_t imgCX, + int32_t imgCY, + int32_t iFrameIndex = 0) = 0; + virtual int32_t DoLoadImage(IFX_Pause* pPause = NULL) = 0; + virtual void StopLoadImage() = 0; +}; +#define FDE_IMAGEFILTER_Unknown -1 +#define FDE_IMAGEFILTER_Opacity 0 +#define FDE_IMAGEFILTER_GrayScale 1 +#define FDE_IMAGEFILTER_BlackWhite 2 +#define FDE_IMAGEFILTER_InvertColor 3 +#define FDE_IMAGEFILTER_TransparentColor 4 +#define FDE_IMAGEFILTER_MaskColor 5 +#define FDE_IMAGEFILTER_Brightness 6 +#define FDE_IMAGEFILTER_Contrast 7 +typedef struct _FDE_IMAGEFILTERPARAMS : public CFX_Target { + int32_t iFilterType; +} FDE_IMAGEFILTERPARAMS, *FDE_LPIMAGEFILTERPARAMS; +typedef FDE_IMAGEFILTERPARAMS const* FDE_LPCIMAGEFILTERPARAMS; +typedef struct _FDE_OPACITYPARAMS : public FDE_IMAGEFILTERPARAMS { + int32_t iOpacity; +} FDE_OPACITYPARAMS, *FDE_LPOPACITYPARAMS; +typedef FDE_OPACITYPARAMS const* FDE_LPCOPACITYPARAMS; +typedef struct _FDE_BLACKWHITEPARAMS : public FDE_IMAGEFILTERPARAMS { + FX_ARGB dwBlackColor; + FX_ARGB dwWhiteColor; +} FDE_BLACKWHITEPARAMS, *FDE_LPBLACKWHITEPARAMS; +typedef FDE_BLACKWHITEPARAMS const* FDE_LPCBLACKWHITEPARAMS; +typedef struct _FDE_TRANSPARENTPARAMS : public FDE_IMAGEFILTERPARAMS { + FX_ARGB color; +} FDE_TRANSPARENTPARAMS, *FDE_LPTRANSPARENTPARAMS; +typedef FDE_TRANSPARENTPARAMS const* FDE_LPCTRANSPARENTPARAMS; +typedef struct _FDE_MASKCOLORPARAMS : public FDE_IMAGEFILTERPARAMS { + FX_ARGB color; +} FDE_MASKCOLORPARAMS, *FDE_LPMASKCOLORPARAMS; +typedef FDE_MASKCOLORPARAMS const* FDE_LPCMASKCOLORPARAMS; +typedef struct _FDE_BRIGHTNESSPARAMS : public FDE_IMAGEFILTERPARAMS { + int32_t iBrightness; +} FDE_BRIGHTNESSPARAMS, *FDE_LPBRIGHTNESSPARAMS; +typedef FDE_BRIGHTNESSPARAMS const* FDE_LPCBRIGHTNESSPARAMS; +typedef struct _FDE_CONTRASTPARAMS : public FDE_IMAGEFILTERPARAMS { + int32_t iContrast; +} FDE_CONTRASTPARAMS, *FDE_LPCONTRASTPARAMS; +typedef FDE_CONTRASTPARAMS const* FDE_LPCCONTRASTPARAMS; +#endif |