blob: 4c9e41fea3c6c7eec3eb66b5d4119f3eb9a6c0df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// 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
#include "xfa/fxgraphics/cagg_graphics.h"
CAGG_Graphics::CAGG_Graphics() : m_owner(nullptr) {}
FX_ERR CAGG_Graphics::Create(CFX_Graphics* owner,
int32_t width,
int32_t height,
FXDIB_Format format) {
if (owner->m_renderDevice)
return FX_ERR_Parameter_Invalid;
if (m_owner)
return FX_ERR_Property_Invalid;
CFX_FxgeDevice* device = new CFX_FxgeDevice;
device->Create(width, height, format);
m_owner = owner;
m_owner->m_renderDevice = device;
m_owner->m_renderDevice->GetBitmap()->Clear(0xFFFFFFFF);
return FX_ERR_Succeeded;
}
CAGG_Graphics::~CAGG_Graphics() {
if (m_owner->m_renderDevice)
delete (CFX_FxgeDevice*)m_owner->m_renderDevice;
m_owner = nullptr;
}
|