| Index: core/fxge/ge/fx_ge_device.cpp
|
| diff --git a/core/fxge/ge/fx_ge_device.cpp b/core/fxge/ge/fx_ge_device.cpp
|
| index f1f7dc021dd110ee810b5f85c8901c7d33d152d2..adf68a87498255badc84f02186d6ce8b43f14bbc 100644
|
| --- a/core/fxge/ge/fx_ge_device.cpp
|
| +++ b/core/fxge/ge/fx_ge_device.cpp
|
| @@ -6,18 +6,25 @@
|
|
|
| #include "core/fxge/include/fx_ge.h"
|
|
|
| -CFX_RenderDevice::CFX_RenderDevice() {
|
| - m_pDeviceDriver = nullptr;
|
| - m_pBitmap = nullptr;
|
| -}
|
| +CFX_RenderDevice::CFX_RenderDevice()
|
| + : m_pBitmap(nullptr),
|
| + m_Width(0),
|
| + m_Height(0),
|
| + m_bpp(0),
|
| + m_RenderCaps(0),
|
| + m_DeviceClass(0),
|
| + m_pDeviceDriver(nullptr) {}
|
| +
|
| CFX_RenderDevice::~CFX_RenderDevice() {
|
| delete m_pDeviceDriver;
|
| }
|
| +
|
| void CFX_RenderDevice::SetDeviceDriver(IFX_RenderDeviceDriver* pDriver) {
|
| delete m_pDeviceDriver;
|
| m_pDeviceDriver = pDriver;
|
| InitDeviceInfo();
|
| }
|
| +
|
| void CFX_RenderDevice::InitDeviceInfo() {
|
| m_Width = m_pDeviceDriver->GetDeviceCaps(FXDC_PIXEL_WIDTH);
|
| m_Height = m_pDeviceDriver->GetDeviceCaps(FXDC_PIXEL_HEIGHT);
|
| @@ -31,12 +38,15 @@ void CFX_RenderDevice::InitDeviceInfo() {
|
| m_ClipBox.bottom = m_Height;
|
| }
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::StartRendering() {
|
| return m_pDeviceDriver->StartRendering();
|
| }
|
| +
|
| void CFX_RenderDevice::EndRendering() {
|
| m_pDeviceDriver->EndRendering();
|
| }
|
| +
|
| void CFX_RenderDevice::SaveState() {
|
| m_pDeviceDriver->SaveState();
|
| }
|
| @@ -52,6 +62,7 @@ int CFX_RenderDevice::GetDeviceCaps(int caps_id) const {
|
| CFX_Matrix CFX_RenderDevice::GetCTM() const {
|
| return m_pDeviceDriver->GetCTM();
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::CreateCompatibleBitmap(CFX_DIBitmap* pDIB,
|
| int width,
|
| int height) const {
|
| @@ -72,6 +83,7 @@ FX_BOOL CFX_RenderDevice::CreateCompatibleBitmap(CFX_DIBitmap* pDIB,
|
| width, height, m_RenderCaps & FXRC_ALPHA_OUTPUT ? FXDIB_Argb : FXDIB_Rgb);
|
| #endif
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::SetClip_PathFill(const CFX_PathData* pPathData,
|
| const CFX_Matrix* pObject2Device,
|
| int fill_mode) {
|
| @@ -82,6 +94,7 @@ FX_BOOL CFX_RenderDevice::SetClip_PathFill(const CFX_PathData* pPathData,
|
| UpdateClipBox();
|
| return TRUE;
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::SetClip_PathStroke(
|
| const CFX_PathData* pPathData,
|
| const CFX_Matrix* pObject2Device,
|
| @@ -93,6 +106,7 @@ FX_BOOL CFX_RenderDevice::SetClip_PathStroke(
|
| UpdateClipBox();
|
| return TRUE;
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::SetClip_Rect(const FX_RECT& rect) {
|
| CFX_PathData path;
|
| path.AppendRect(rect.left, rect.bottom, rect.right, rect.top);
|
| @@ -102,6 +116,7 @@ FX_BOOL CFX_RenderDevice::SetClip_Rect(const FX_RECT& rect) {
|
| UpdateClipBox();
|
| return TRUE;
|
| }
|
| +
|
| void CFX_RenderDevice::UpdateClipBox() {
|
| if (m_pDeviceDriver->GetClipBox(&m_ClipBox)) {
|
| return;
|
| @@ -421,6 +436,16 @@ FX_BOOL CFX_RenderDevice::SetBitMask(const CFX_DIBSource* pBitmap,
|
| FXDIB_BLEND_NORMAL);
|
| }
|
|
|
| +FX_BOOL CFX_RenderDevice::StretchBitMask(const CFX_DIBSource* pBitmap,
|
| + int left,
|
| + int top,
|
| + int dest_width,
|
| + int dest_height,
|
| + uint32_t color) {
|
| + return StretchBitMaskWithFlags(pBitmap, left, top, dest_width, dest_height,
|
| + color, 0);
|
| +}
|
| +
|
| FX_BOOL CFX_RenderDevice::StretchBitMaskWithFlags(const CFX_DIBSource* pBitmap,
|
| int left,
|
| int top,
|
|
|