mirror of
https://pdfium.googlesource.com/pdfium
synced 2026-08-02 05:04:39 +08:00
This CL replaces GetDeviceCaps() with explicit virtual getter methods for retrieving specific device properties. This change introduces GetPixelWidth(), GetPixelHeight(), GetBitsPerPixel(), GetHorzSize(), and GetVertSize() to RenderDeviceDriverIface and its implementations. Previously, `GetDeviceCaps()` relied on integer constants to fetch various properties. This CL removes the `FXDC_*` defines in favour of direct accessors, making the interface is now more expressive and consistent with modern C++ practices. Note that `FXDC_RENDER_CAPS` is intentionally left unchanged and will be handled separately in a follow-up CL. Change-Id: I033ac3b0e0111c6587f43b3f1a14a624d6fe96f7 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144090 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Andy Phan <andyphan@chromium.org>
58 lines
2.0 KiB
C++
58 lines
2.0 KiB
C++
// 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_PRINTER_DRIVER_H_
|
|
#define CORE_FXGE_WIN32_CGDI_PRINTER_DRIVER_H_
|
|
|
|
#include <windows.h>
|
|
|
|
#include <memory>
|
|
|
|
#include "core/fxge/win32/cgdi_device_driver.h"
|
|
|
|
class CGdiPrinterDriver final : public CGdiDeviceDriver {
|
|
public:
|
|
explicit CGdiPrinterDriver(HDC hDC);
|
|
~CGdiPrinterDriver() override;
|
|
|
|
private:
|
|
// CGdiPrinterDriver:
|
|
int GetHorzSize() const override;
|
|
int GetVertSize() const override;
|
|
bool SetDIBits(RetainPtr<const CFX_DIBBase> bitmap,
|
|
uint32_t color,
|
|
const FX_RECT& src_rect,
|
|
int left,
|
|
int top,
|
|
BlendMode blend_type) override;
|
|
bool StretchDIBits(RetainPtr<const CFX_DIBBase> bitmap,
|
|
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;
|
|
StartResult StartDIBits(RetainPtr<const CFX_DIBBase> bitmap,
|
|
float alpha,
|
|
uint32_t color,
|
|
const CFX_Matrix& matrix,
|
|
const FXDIB_ResampleOptions& options,
|
|
BlendMode blend_type) override;
|
|
bool DrawDeviceText(pdfium::span<const TextCharPos> pCharPos,
|
|
CFX_Font* font,
|
|
const CFX_Matrix& mtObject2Device,
|
|
float font_size,
|
|
uint32_t color,
|
|
const CFX_TextRenderOptions& options) override;
|
|
|
|
const int horz_size_;
|
|
const int vert_size_;
|
|
};
|
|
|
|
#endif // CORE_FXGE_WIN32_CGDI_PRINTER_DRIVER_H_
|