KiCad PCB EDA Suite
bitmap_types.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2007-2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
5  * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
25 
26 #ifndef BITMAP_TYPES_H_
27 #define BITMAP_TYPES_H_
28 
29 //FIXME: cannot include only this file in wxWidgets 2.9.3
30 // test if it works under stable release
31 // #include <wx/bitmap.h> // only to define wxBitmap
32 class wxBitmap; // only to define wxBitmap
33 class EDA_BASE_FRAME;
34 class EDA_DRAW_FRAME;
35 class wxWindow;
36 class wxAuiToolBar;
37 
38 #include <config.h>
39 #include <wx/gdicmn.h> // wxBitmapType
40 
41 
44 {
45  const unsigned char* png;
46  int byteCount;
47  const char* name; // for debug, or future lazy dynamic linking
48 };
49 
50 // declared as single element _array_, so its name assigns to pointer
51 #define EXTERN_BITMAP( x ) extern const BITMAP_OPAQUE x[1];
52 
53 
56 typedef const BITMAP_OPAQUE *BITMAP_DEF;
57 
58 
62 wxBitmap KiBitmap( BITMAP_DEF aBitmap );
63 
64 
74 wxBitmap KiScaledBitmap( BITMAP_DEF aBitmap, EDA_BASE_FRAME* aWindow );
75 
82 wxBitmap KiScaledBitmap( const wxBitmap& aBitmap, EDA_BASE_FRAME* aWindow );
83 
87 void KiScaledSeparator( wxAuiToolBar* aToolbar, EDA_BASE_FRAME* aWindow );
88 
93 int KiIconScale( wxWindow* aWindow );
94 
100 wxBitmap* KiBitmapNew( BITMAP_DEF aBitmap );
101 
110 bool SaveCanvasImageToFile( EDA_DRAW_FRAME* aFrame, const wxString& aFileName,
111  wxBitmapType aBitmapType = wxBITMAP_TYPE_PNG );
112 
113 #endif // BITMAP_TYPES_H_
bool SaveCanvasImageToFile(EDA_DRAW_FRAME *aFrame, const wxString &aFileName, wxBitmapType aBitmapType=wxBITMAP_TYPE_PNG)
Save the current view as an image file.
Definition: bitmap.cpp:195
PNG memory record (file in memory).
Definition: bitmap_types.h:43
wxBitmap KiScaledBitmap(BITMAP_DEF aBitmap, EDA_BASE_FRAME *aWindow)
Construct a wxBitmap from a memory record, scaling it if device DPI demands it.
Definition: bitmap.cpp:116
The base class for create windows for drawing purpose.
Definition: draw_frame.h:78
const unsigned char * png
Definition: bitmap_types.h:45
int KiIconScale(wxWindow *aWindow)
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScale...
Definition: bitmap.cpp:89
const BITMAP_OPAQUE * BITMAP_DEF
a BITMAP_DEF is really a const pointer to an opaque structure.
Definition: bitmap_types.h:56
const char * name
Definition: bitmap_types.h:47
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Construct a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:79
Class EDA_BASE_FRAME is the base frame for deriving all KiCad main window classes.
void KiScaledSeparator(wxAuiToolBar *aToolbar, EDA_BASE_FRAME *aWindow)
Add a separator to the given toolbar scaled the same way as KiScaledBitmap.
Definition: bitmap.cpp:167
wxBitmap * KiBitmapNew(BITMAP_DEF aBitmap)
Allocate a wxBitmap on heap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:185