KiCad PCB EDA Suite
Loading...
Searching...
No Matches
gal_print.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 CERN
3 * Author: Maciej Suminski <[email protected]>
4 *
5 * This program is free software: you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation, either version 3 of the License, or (at your
8 * option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef GAL_PRINT_H
20#define GAL_PRINT_H
21
22#include <gal/gal.h>
23
24class wxDC;
25
26namespace KIGFX {
27class GAL;
28class GAL_DISPLAY_OPTIONS;
29
30
32{
33public:
34 virtual ~PRINT_CONTEXT() {}
35 virtual double GetNativeDPI() const = 0;
36 virtual bool HasNativeLandscapeRotation() const = 0;
37};
38
39
44{
45public:
46 static std::unique_ptr<GAL_PRINT> Create( GAL_DISPLAY_OPTIONS& aOptions, wxDC* aDC );
47
48 virtual ~GAL_PRINT() {}
49
50 virtual GAL* GetGAL() = 0;
51
52 virtual PRINT_CONTEXT* GetPrintCtx() const = 0;
53
59 virtual void SetNativePaperSize( const VECTOR2D& aSize, bool aRotateIfLandscape ) = 0;
60
64 virtual void SetSheetSize( const VECTOR2D& aSize ) = 0;
65};
66
67}; // end namespace KIGFX
68
69#endif /* GAL_PRINT_H */
Wrapper around GAL to provide information needed for printing.
Definition: gal_print.h:44
virtual void SetNativePaperSize(const VECTOR2D &aSize, bool aRotateIfLandscape)=0
virtual GAL * GetGAL()=0
virtual PRINT_CONTEXT * GetPrintCtx() const =0
virtual void SetSheetSize(const VECTOR2D &aSize)=0
virtual ~GAL_PRINT()
Definition: gal_print.h:48
Abstract interface for drawing on a 2D-surface.
virtual ~PRINT_CONTEXT()
Definition: gal_print.h:34
virtual double GetNativeDPI() const =0
virtual bool HasNativeLandscapeRotation() const =0
#define GAL_API
Definition: gal.h:28
The Cairo implementation of the graphics abstraction layer.
Definition: color4d.cpp:247