diff options
Diffstat (limited to 'core/fxge/cfx_fxgedevice.h')
-rw-r--r-- | core/fxge/cfx_fxgedevice.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/core/fxge/cfx_fxgedevice.h b/core/fxge/cfx_fxgedevice.h new file mode 100644 index 0000000000..8358e43666 --- /dev/null +++ b/core/fxge/cfx_fxgedevice.h @@ -0,0 +1,46 @@ +// Copyright 2016 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_CFX_FXGEDEVICE_H_ +#define CORE_FXGE_CFX_FXGEDEVICE_H_ + +#include "core/fxge/cfx_renderdevice.h" +#include "core/fxge/fx_dib.h" + +class SkPictureRecorder; + +class CFX_FxgeDevice : public CFX_RenderDevice { + public: + CFX_FxgeDevice(); + ~CFX_FxgeDevice() override; + + bool Attach(CFX_DIBitmap* pBitmap, + bool bRgbByteOrder, + CFX_DIBitmap* pOriDevice, + bool bGroupKnockout); + bool Create(int width, + int height, + FXDIB_Format format, + CFX_DIBitmap* pOriDevice); + +#ifdef _SKIA_SUPPORT_ + bool AttachRecorder(SkPictureRecorder* recorder); + void Clear(uint32_t color); + SkPictureRecorder* CreateRecorder(int size_x, int size_y); + void DebugVerifyBitmapIsPreMultiplied() const override; + bool SetBitsWithMask(const CFX_DIBSource* pBitmap, + const CFX_DIBSource* pMask, + int left, + int top, + int bitmap_alpha, + int blend_type) override; +#endif + + private: + bool m_bOwnedBitmap; +}; + +#endif // CORE_FXGE_CFX_FXGEDEVICE_H_ |