diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-13 18:05:38 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-13 18:05:38 +0000 |
commit | e03171e52ec4232369ab3b46e11d3a0abe1eb630 (patch) | |
tree | 6a57f6a0948032e6ec387c22d8b462215e6ca1e4 /core/fxge/win32/cgdi_display_driver.h | |
parent | 8bbfdf2fca7197a0eccfef7b6fc27c590a44e7f7 (diff) | |
parent | 326d96bf5d52fdcf790b467b13f58ba3df3e81e4 (diff) | |
download | pdfium-android14-platform-release.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/23916086'] into udc-platform-release.android-platform-14.0.0_r8android-platform-14.0.0_r7android-platform-14.0.0_r6android-platform-14.0.0_r5android-platform-14.0.0_r4android14-platform-release
Change-Id: If925f85c6a039b56ff549fd5327795f57b9cd12c
Diffstat (limited to 'core/fxge/win32/cgdi_display_driver.h')
-rw-r--r-- | core/fxge/win32/cgdi_display_driver.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/core/fxge/win32/cgdi_display_driver.h b/core/fxge/win32/cgdi_display_driver.h new file mode 100644 index 000000000..2e4319483 --- /dev/null +++ b/core/fxge/win32/cgdi_display_driver.h @@ -0,0 +1,66 @@ +// Copyright 2020 The PDFium Authors +// 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_CGDI_DISPLAY_DRIVER_H_ +#define CORE_FXGE_WIN32_CGDI_DISPLAY_DRIVER_H_ + +#include <stdint.h> +#include <windows.h> + +#include <memory> + +#include "core/fxcrt/retain_ptr.h" +#include "core/fxge/win32/cgdi_device_driver.h" + +class CFX_DIBBase; +struct FXDIB_ResampleOptions; +struct FX_RECT; + +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); +}; + +#endif // CORE_FXGE_WIN32_CGDI_DISPLAY_DRIVER_H_ |