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