aboutsummaryrefslogtreecommitdiff
path: root/core/fxge/win32/win32_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/win32/win32_int.h')
-rw-r--r--core/fxge/win32/win32_int.h353
1 files changed, 0 insertions, 353 deletions
diff --git a/core/fxge/win32/win32_int.h b/core/fxge/win32/win32_int.h
deleted file mode 100644
index 7f299ef92..000000000
--- a/core/fxge/win32/win32_int.h
+++ /dev/null
@@ -1,353 +0,0 @@
-// Copyright 2014 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_WIN32_WIN32_INT_H_
-#define CORE_FXGE_WIN32_WIN32_INT_H_
-
-#include <windows.h>
-
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/retain_ptr.h"
-#include "core/fxge/cfx_gemodule.h"
-#include "core/fxge/cfx_pathdata.h"
-#include "core/fxge/cfx_windowsrenderdevice.h"
-#include "core/fxge/renderdevicedriver_iface.h"
-#include "core/fxge/win32/cfx_psrenderer.h"
-#include "core/fxge/win32/cpsoutput.h"
-#include "third_party/base/optional.h"
-
-class CFX_ImageRenderer;
-class TextCharPos;
-struct WINDIB_Open_Args_;
-
-RetainPtr<CFX_DIBitmap> FX_WindowsDIB_LoadFromBuf(BITMAPINFO* pbmi,
- LPVOID pData,
- bool bAlpha);
-class CGdiplusExt {
- public:
- CGdiplusExt();
- ~CGdiplusExt();
-
- void Load();
- bool IsAvailable() { return !!m_hModule; }
- bool StretchDIBits(HDC hDC,
- const RetainPtr<CFX_DIBitmap>& pBitmap,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options);
- bool DrawPath(HDC hDC,
- const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_argb,
- uint32_t stroke_argb,
- int fill_mode);
-
- RetainPtr<CFX_DIBitmap> LoadDIBitmap(WINDIB_Open_Args_ args);
-
- std::vector<FARPROC> m_Functions;
-
- protected:
- HMODULE m_hModule = nullptr;
- HMODULE m_GdiModule = nullptr;
-};
-
-class CWin32Platform : public CFX_GEModule::PlatformIface {
- public:
- CWin32Platform();
- ~CWin32Platform() override;
-
- // CFX_GEModule::PlatformIface:
- void Init() override;
-
- bool m_bHalfTone = false;
- CGdiplusExt m_GdiplusExt;
-};
-
-class CGdiDeviceDriver : public RenderDeviceDriverIface {
- protected:
- CGdiDeviceDriver(HDC hDC, DeviceType device_type);
- ~CGdiDeviceDriver() override;
-
- // RenderDeviceDriverIface:
- DeviceType GetDeviceType() const override;
- int GetDeviceCaps(int caps_id) const override;
- void SaveState() override;
- void RestoreState(bool bKeepSaved) override;
- void SetBaseClip(const FX_RECT& rect) override;
- bool SetClip_PathFill(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- int fill_mode) override;
- bool SetClip_PathStroke(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState) override;
- bool DrawPath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- BlendMode blend_type) override;
- bool FillRectWithBlend(const FX_RECT& rect,
- uint32_t fill_color,
- BlendMode blend_type) override;
- bool DrawCosmeticLine(const CFX_PointF& ptMoveTo,
- const CFX_PointF& ptLineTo,
- uint32_t color,
- BlendMode blend_type) override;
- bool GetClipBox(FX_RECT* pRect) override;
-
- void DrawLine(float x1, float y1, float x2, float y2);
-
- bool GDI_SetDIBits(const RetainPtr<CFX_DIBitmap>& pBitmap,
- const FX_RECT& src_rect,
- int left,
- int top);
- bool GDI_StretchDIBits(const RetainPtr<CFX_DIBitmap>& pBitmap,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FXDIB_ResampleOptions& options);
- bool GDI_StretchBitMask(const RetainPtr<CFX_DIBitmap>& pBitmap,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- uint32_t bitmap_color);
-
- const HDC m_hDC;
- bool m_bMetafileDCType;
- int m_Width;
- int m_Height;
- int m_nBitsPerPixel;
- const DeviceType m_DeviceType;
- int m_RenderCaps;
- pdfium::Optional<FX_RECT> m_BaseClipBox;
-};
-
-class CGdiDisplayDriver final : public CGdiDeviceDriver {
- public:
- explicit CGdiDisplayDriver(HDC hDC);
- ~CGdiDisplayDriver() override;
-
- private:
- // CGdiDisplayDriver:
- int GetDeviceCaps(int caps_id) const override;
- bool GetDIBits(const RetainPtr<CFX_DIBitmap>& pBitmap,
- int left,
- int top) override;
- bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- const FX_RECT& src_rect,
- int left,
- int top,
- BlendMode blend_type) override;
- bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options,
- BlendMode blend_type) override;
- bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix& matrix,
- const FXDIB_ResampleOptions& options,
- std::unique_ptr<CFX_ImageRenderer>* handle,
- BlendMode blend_type) override;
- bool UseFoxitStretchEngine(const RetainPtr<CFX_DIBBase>& pSource,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options);
-};
-
-class CGdiPrinterDriver final : public CGdiDeviceDriver {
- public:
- explicit CGdiPrinterDriver(HDC hDC);
- ~CGdiPrinterDriver() override;
-
- private:
- // CGdiPrinterDriver:
- int GetDeviceCaps(int caps_id) const override;
- bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- const FX_RECT& src_rect,
- int left,
- int top,
- BlendMode blend_type) override;
- bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options,
- BlendMode blend_type) override;
- bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix& matrix,
- const FXDIB_ResampleOptions& options,
- std::unique_ptr<CFX_ImageRenderer>* handle,
- BlendMode blend_type) override;
- bool DrawDeviceText(int nChars,
- const TextCharPos* pCharPos,
- CFX_Font* pFont,
- const CFX_Matrix& mtObject2Device,
- float font_size,
- uint32_t color) override;
-
- const int m_HorzSize;
- const int m_VertSize;
-};
-
-class CPSPrinterDriver final : public RenderDeviceDriverIface {
- public:
- CPSPrinterDriver(HDC hDC,
- WindowsPrintMode mode,
- bool bCmykOutput,
- const EncoderIface* pEncoderIface);
- ~CPSPrinterDriver() override;
-
- private:
- // RenderDeviceDriverIface:
- DeviceType GetDeviceType() const override;
- int GetDeviceCaps(int caps_id) const override;
- bool StartRendering() override;
- void EndRendering() override;
- void SaveState() override;
- void RestoreState(bool bKeepSaved) override;
- bool SetClip_PathFill(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- int fill_mode) override;
- bool SetClip_PathStroke(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState) override;
- bool DrawPath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- BlendMode blend_type) override;
- bool GetClipBox(FX_RECT* pRect) override;
- bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- const FX_RECT& src_rect,
- int left,
- int top,
- BlendMode blend_type) override;
- bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options,
- BlendMode blend_type) override;
- bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix& matrix,
- const FXDIB_ResampleOptions& options,
- std::unique_ptr<CFX_ImageRenderer>* handle,
- BlendMode blend_type) override;
- bool DrawDeviceText(int nChars,
- const TextCharPos* pCharPos,
- CFX_Font* pFont,
- const CFX_Matrix& mtObject2Device,
- float font_size,
- uint32_t color) override;
-
- HDC m_hDC;
- const bool m_bCmykOutput;
- int m_Width;
- int m_Height;
- int m_nBitsPerPixel;
- int m_HorzSize;
- int m_VertSize;
- CFX_PSRenderer m_PSRenderer;
-};
-
-class CTextOnlyPrinterDriver final : public RenderDeviceDriverIface {
- public:
- explicit CTextOnlyPrinterDriver(HDC hDC);
- ~CTextOnlyPrinterDriver() override;
-
- private:
- // RenderDeviceDriverIface:
- DeviceType GetDeviceType() const override;
- int GetDeviceCaps(int caps_id) const override;
- void SaveState() override {}
- void RestoreState(bool bKeepSaved) override {}
- bool SetClip_PathFill(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- int fill_mode) override;
- bool SetClip_PathStroke(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState) override;
- bool DrawPath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- BlendMode blend_type) override;
- bool GetClipBox(FX_RECT* pRect) override;
- bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- const FX_RECT& src_rect,
- int left,
- int top,
- BlendMode blend_type) override;
- bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- const FXDIB_ResampleOptions& options,
- BlendMode blend_type) override;
- bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix& matrix,
- const FXDIB_ResampleOptions& options,
- std::unique_ptr<CFX_ImageRenderer>* handle,
- BlendMode blend_type) override;
- bool DrawDeviceText(int nChars,
- const TextCharPos* pCharPos,
- CFX_Font* pFont,
- const CFX_Matrix& mtObject2Device,
- float font_size,
- uint32_t color) override;
-
- HDC m_hDC;
- const int m_Width;
- const int m_Height;
- int m_nBitsPerPixel;
- const int m_HorzSize;
- const int m_VertSize;
- float m_OriginY;
- bool m_SetOrigin;
-};
-#endif // CORE_FXGE_WIN32_WIN32_INT_H_