• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef CORE_FXGE_CFX_FXGEDEVICE_H_
8 #define CORE_FXGE_CFX_FXGEDEVICE_H_
9 
10 #include "core/fxge/cfx_renderdevice.h"
11 #include "core/fxge/fx_dib.h"
12 
13 class SkPictureRecorder;
14 
15 class CFX_FxgeDevice : public CFX_RenderDevice {
16  public:
17   CFX_FxgeDevice();
18   ~CFX_FxgeDevice() override;
19 
20   bool Attach(CFX_DIBitmap* pBitmap,
21               bool bRgbByteOrder,
22               CFX_DIBitmap* pOriDevice,
23               bool bGroupKnockout);
24   bool Create(int width,
25               int height,
26               FXDIB_Format format,
27               CFX_DIBitmap* pOriDevice);
28 
29 #ifdef _SKIA_SUPPORT_
30   bool AttachRecorder(SkPictureRecorder* recorder);
31   void Clear(uint32_t color);
32   SkPictureRecorder* CreateRecorder(int size_x, int size_y);
33   void DebugVerifyBitmapIsPreMultiplied() const override;
34   bool SetBitsWithMask(const CFX_DIBSource* pBitmap,
35                        const CFX_DIBSource* pMask,
36                        int left,
37                        int top,
38                        int bitmap_alpha,
39                        int blend_type) override;
40 #endif
41 
42  private:
43   bool m_bOwnedBitmap;
44 };
45 
46 #endif  // CORE_FXGE_CFX_FXGEDEVICE_H_
47