22#ifndef _CAIRO_PRINT_H_
23#define _CAIRO_PRINT_H_
63#if defined(__WXGTK__) && !defined(__WXGTK3__)
78 void* m_hdc =
nullptr;
89 std::unique_ptr<CAIRO_PRINT_CTX> aContext );
110 void SetNativePaperSize(
const VECTOR2D& aSize,
bool aRotateIfLandscape )
override;
115 void SetSheetSize(
const VECTOR2D& aSize )
override;
CAIRO_GAL_BASE(GAL_DISPLAY_OPTIONS &aDisplayOptions)
bool HasNativeLandscapeRotation() const override
CAIRO_PRINT_CTX(wxImage *aImage, double aDPI)
cairo_t * GetContext() const
double GetNativeDPI() const override
cairo_surface_t * m_surface
cairo_surface_t * GetSurface() const
PRINT_CONTEXT * GetPrintCtx() const override
bool isLandscape() const
< Returns true if page orientation is landscape
bool m_hasNativeLandscapeRotation
CAIRO_PRINT_GAL(GAL_DISPLAY_OPTIONS &aDisplayOptions, std::unique_ptr< CAIRO_PRINT_CTX > aContext)
std::unique_ptr< CAIRO_PRINT_CTX > m_printCtx
static std::unique_ptr< CAIRO_PRINT_GAL > Create(GAL_DISPLAY_OPTIONS &aOptions, wxImage *aImage, double aDPI)
void ComputeWorldScreenMatrix() override
Compute the world <-> screen transformation matrix.
VECTOR2D m_nativePaperSize
Flag indicating whether the platform rotates page automatically or GAL needs to handle it in the tran...
Wrapper around GAL to provide information needed for printing.
Abstract interface for drawing on a 2D-surface.
The Cairo implementation of the graphics abstraction layer.
VECTOR2< double > VECTOR2D