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
Flag indicating whether the platform rotates page automatically or GAL needs to handle it in the tran...
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
Printout size.
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