diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-08-24 21:55:46 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-24 21:55:46 +0000 |
commit | e6ff2ebfaa19421c8d932f4d275548156ae2e13c (patch) | |
tree | a549775ce9d4e999f8a23542524adba8c5ca42ea /core/fxge/dib/cfx_dibsource.h | |
parent | 16d18d935d055b74e05f615c0325318a329a7fe1 (diff) | |
download | pdfium-e6ff2ebfaa19421c8d932f4d275548156ae2e13c.tar.xz |
Rename CFX_DIBSource to CFX_DIBBase.
It is not a source from which you can get CFX_DIBs, but rather a
base class from which all DIBs inherit.
Do the same thing for the CPDF_DIBSource wrapper class.
Mechanical change apart from adding a one-line comment in cfx_dibbase.h
Change-Id: Id2bde87813ca301d9fafc55ce08d703dfc6a7184
Reviewed-on: https://pdfium-review.googlesource.com/41352
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxge/dib/cfx_dibsource.h')
-rw-r--r-- | core/fxge/dib/cfx_dibsource.h | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/core/fxge/dib/cfx_dibsource.h b/core/fxge/dib/cfx_dibsource.h deleted file mode 100644 index 064dbe2055..0000000000 --- a/core/fxge/dib/cfx_dibsource.h +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2017 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 CORE_FXGE_DIB_CFX_DIBSOURCE_H_ -#define CORE_FXGE_DIB_CFX_DIBSOURCE_H_ - -#include <memory> - -#include "core/fxcrt/fx_coordinates.h" -#include "core/fxcrt/fx_memory.h" -#include "core/fxcrt/retain_ptr.h" -#include "core/fxge/fx_dib.h" - -enum FXDIB_Channel { - FXDIB_Red = 1, - FXDIB_Green, - FXDIB_Blue, - FXDIB_Cyan, - FXDIB_Magenta, - FXDIB_Yellow, - FXDIB_Black, - FXDIB_Alpha -}; - -class CFX_ClipRgn; -class CFX_DIBitmap; -class PauseIndicatorIface; - -class CFX_DIBSource : public Retainable { - public: - ~CFX_DIBSource() override; - - virtual uint8_t* GetBuffer() const; - virtual const uint8_t* GetScanline(int line) const = 0; - virtual bool SkipToScanline(int line, PauseIndicatorIface* pPause) const; - virtual void DownSampleScanline(int line, - uint8_t* dest_scan, - int dest_bpp, - int dest_width, - bool bFlipX, - int clip_left, - int clip_width) const = 0; - - uint8_t* GetWritableScanline(int line) { - return const_cast<uint8_t*>(GetScanline(line)); - } - int GetWidth() const { return m_Width; } - int GetHeight() const { return m_Height; } - - FXDIB_Format GetFormat() const { - return static_cast<FXDIB_Format>(m_AlphaFlag * 0x100 + m_bpp); - } - uint32_t GetPitch() const { return m_Pitch; } - uint32_t* GetPalette() const { return m_pPalette.get(); } - int GetBPP() const { return m_bpp; } - - // TODO(thestig): Investigate this. Given the possible values of FXDIB_Format, - // it feels as though this should be implemented as !!(m_AlphaFlag & 1) and - // IsOpaqueImage() below should never be able to return true. - bool IsAlphaMask() const { return m_AlphaFlag == 1; } - bool HasAlpha() const { return !!(m_AlphaFlag & 2); } - bool IsOpaqueImage() const { return !(m_AlphaFlag & 3); } - bool IsCmykImage() const { return !!(m_AlphaFlag & 4); } - - int GetPaletteSize() const { - return IsAlphaMask() ? 0 : (m_bpp == 1 ? 2 : (m_bpp == 8 ? 256 : 0)); - } - - uint32_t GetPaletteArgb(int index) const; - void SetPaletteArgb(int index, uint32_t color); - - // Copies into internally-owned palette. - void SetPalette(const uint32_t* pSrcPal); - - RetainPtr<CFX_DIBitmap> Clone(const FX_RECT* pClip) const; - RetainPtr<CFX_DIBitmap> CloneConvert(FXDIB_Format format); - RetainPtr<CFX_DIBitmap> StretchTo(int dest_width, - int dest_height, - uint32_t flags, - const FX_RECT* pClip); - RetainPtr<CFX_DIBitmap> TransformTo(const CFX_Matrix* pMatrix, - int* left, - int* top); - RetainPtr<CFX_DIBitmap> SwapXY(bool bXFlip, bool bYFlip) const; - RetainPtr<CFX_DIBitmap> FlipImage(bool bXFlip, bool bYFlip) const; - - RetainPtr<CFX_DIBitmap> CloneAlphaMask() const; - - // Copies into internally-owned mask. - bool SetAlphaMask(const RetainPtr<CFX_DIBSource>& pAlphaMask, - const FX_RECT* pClip); - - void GetOverlapRect(int& dest_left, - int& dest_top, - int& width, - int& height, - int src_width, - int src_height, - int& src_left, - int& src_top, - const CFX_ClipRgn* pClipRgn); - -#if defined _SKIA_SUPPORT_ || defined _SKIA_SUPPORT_PATHS_ - void DebugVerifyBitmapIsPreMultiplied(void* buffer) const; -#endif - - RetainPtr<CFX_DIBitmap> m_pAlphaMask; - - protected: - CFX_DIBSource(); - - static bool ConvertBuffer(FXDIB_Format dest_format, - uint8_t* dest_buf, - int dest_pitch, - int width, - int height, - const RetainPtr<CFX_DIBSource>& pSrcBitmap, - int src_left, - int src_top, - std::unique_ptr<uint32_t, FxFreeDeleter>* pal); - - void BuildPalette(); - bool BuildAlphaMask(); - int FindPalette(uint32_t color) const; - void GetPalette(uint32_t* pal, int alpha) const; - - int m_Width; - int m_Height; - int m_bpp; - uint32_t m_AlphaFlag; - uint32_t m_Pitch; - // TODO(weili): Use std::vector for this. - std::unique_ptr<uint32_t, FxFreeDeleter> m_pPalette; -}; - -#endif // CORE_FXGE_DIB_CFX_DIBSOURCE_H_ |