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_DRAW_FRAME;
34 class wxWindow;
35 class wxString;
36 struct BITMAP_OPAQUE;
37 class BITMAP_STORE;
38 
39 enum class BITMAPS : unsigned int;
40 
41 enum class BITMAP_TYPE
42 {
43  PNG,
44  JPG,
45  BMP
46 };
47 
49 
56 wxBitmap KiBitmap( BITMAPS aBitmap, int aHeightTag = -1 );
57 
61 wxBitmap KiBitmap( const BITMAP_OPAQUE* aBitmap );
62 
68 
80 wxBitmap KiScaledBitmap( BITMAPS aBitmap, wxWindow* aWindow, int aHeight = -1,
81  bool aQuantized = false );
82 
89 wxBitmap KiScaledBitmap( const wxBitmap& aBitmap, wxWindow* aWindow );
90 
95 int KiIconScale( wxWindow* aWindow );
96 
103 wxBitmap* KiBitmapNew( BITMAPS aBitmap );
104 
113 bool SaveCanvasImageToFile( EDA_DRAW_FRAME* aFrame, const wxString& aFileName,
114  BITMAP_TYPE aBitmapType = BITMAP_TYPE::PNG );
115 
116 #endif // BITMAP_TYPES_H_
PNG memory record (file in memory).
Definition: bitmap_opaque.h:25
void ClearScaledBitmapCache()
Wipes out the scaled bitmap cache so that the icon theme can be changed.
Definition: bitmap.cpp:173
Helper to retrieve bitmaps while handling icon themes and scaling.
Definition: bitmap_store.h:43
BITMAP_TYPE
Definition: bitmap_types.h:41
wxBitmap KiBitmap(BITMAPS aBitmap, int aHeightTag=-1)
Construct a wxBitmap from an image identifier Returns the image from the active theme if the image ha...
Definition: bitmap.cpp:105
wxBitmap * KiBitmapNew(BITMAPS aBitmap)
Allocate a wxBitmap on heap from a memory record, held in a BITMAPS.
Definition: bitmap.cpp:199
The base class for create windows for drawing purpose.
int KiIconScale(wxWindow *aWindow)
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScale...
Definition: bitmap.cpp:122
wxBitmap KiScaledBitmap(BITMAPS aBitmap, wxWindow *aWindow, int aHeight=-1, bool aQuantized=false)
Construct a wxBitmap from a memory record, scaling it if device DPI demands it.
Definition: bitmap.cpp:148
BITMAPS
A list of all bitmap identifiers.
Definition: bitmaps_list.h:32
BITMAP_STORE * GetBitmapStore()
Definition: bitmap.cpp:93
bool SaveCanvasImageToFile(EDA_DRAW_FRAME *aFrame, const wxString &aFileName, BITMAP_TYPE aBitmapType=BITMAP_TYPE::PNG)
Save the current view as an image file.
Definition: bitmap.cpp:207