![]() |
KiCad PCB EDA Suite
|
#include <wx/image.h>
#include <wx/bitmap.h>
#include <wx/mstream.h>
#include <wx/menu.h>
#include <wx/menuitem.h>
#include <wx/aui/auibar.h>
#include <wx/dc.h>
#include <wx/dcclient.h>
#include <wx/dcmemory.h>
#include <cstdint>
#include <mutex>
#include <unordered_map>
#include <bitmaps.h>
#include <pgm_base.h>
#include <eda_base_frame.h>
#include <eda_draw_frame.h>
#include <settings/common_settings.h>
Go to the source code of this file.
Classes | |
struct | SCALED_BITMAP_ID |
struct | std::hash< SCALED_BITMAP_ID > |
Namespaces | |
std | |
Functions | |
wxBitmap | KiBitmap (BITMAP_DEF aBitmap) |
Construct a wxBitmap from a memory record, held in a BITMAP_DEF. More... | |
int | KiIconScale (wxWindow *aWindow) |
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScaledSeparator. More... | |
static int | get_scale_factor (wxWindow *aWindow) |
wxBitmap | KiScaledBitmap (BITMAP_DEF aBitmap, wxWindow *aWindow) |
Construct a wxBitmap from a memory record, scaling it if device DPI demands it. More... | |
wxBitmap | KiScaledBitmap (const wxBitmap &aBitmap, wxWindow *aWindow) |
Overload of the above function that takes another wxBitmap as a parameter. More... | |
wxBitmap * | KiBitmapNew (BITMAP_DEF aBitmap) |
Allocate a wxBitmap on heap from a memory record, held in a BITMAP_DEF. More... | |
bool | SaveCanvasImageToFile (EDA_DRAW_FRAME *aFrame, const wxString &aFileName, wxBitmapType aBitmapType) |
Save the current view as an image file. More... | |
void | AddBitmapToMenuItem (wxMenuItem *aMenu, const wxBitmap &aImage) |
Add a bitmap to a menuitem. More... | |
wxMenuItem * | AddMenuItem (wxMenu *aMenu, int aId, const wxString &aText, const wxBitmap &aImage, wxItemKind aType=wxITEM_NORMAL) |
Create and insert a menu item with an icon into aMenu. More... | |
wxMenuItem * | AddMenuItem (wxMenu *aMenu, int aId, const wxString &aText, const wxString &aHelpText, const wxBitmap &aImage, wxItemKind aType=wxITEM_NORMAL) |
Create and insert a menu item with an icon and a help message string into aMenu. More... | |
wxMenuItem * | AddMenuItem (wxMenu *aMenu, wxMenu *aSubMenu, int aId, const wxString &aText, const wxBitmap &aImage) |
Create and insert a menu item with an icon into aSubMenu in aMenu. More... | |
wxMenuItem * | AddMenuItem (wxMenu *aMenu, wxMenu *aSubMenu, int aId, const wxString &aText, const wxString &aHelpText, const wxBitmap &aImage) |
Create and insert a menu item with an icon and a help message string into aSubMenu in aMenu. More... | |
void AddBitmapToMenuItem | ( | wxMenuItem * | aMenu, |
const wxBitmap & | aImage | ||
) |
Add a bitmap to a menuitem.
It is added only if use images in menus config option allows it. For wxITEM_CHECK or wxITEM_RADIO menuitems, the bitmap is added only on Windows, other platforms do not support it
aMenu | is the menuitem. |
aImage | is the icon to add to aMenu. |
Definition at line 207 of file bitmap.cpp.
References Pgm().
Referenced by ACTION_MENU::Add(), CONDITIONAL_MENU::AddCheckItem(), CONDITIONAL_MENU::AddItem(), AddMenuItem(), ACTION_MENU::appendCopy(), ACTION_MENU::DisplayTitle(), CONDITIONAL_MENU::Evaluate(), and SIM_PLOT_FRAME::setIconsForMenuItems().
wxMenuItem* AddMenuItem | ( | wxMenu * | aMenu, |
int | aId, | ||
const wxString & | aText, | ||
const wxBitmap & | aImage, | ||
wxItemKind | aType = wxITEM_NORMAL |
||
) |
Create and insert a menu item with an icon into aMenu.
aMenu | is the menu to add the new item. |
aId | is the command ID for the new menu item. |
aText | is the string for the new menu item. |
aImage | is the icon to add to the new menu item. |
aType | is the type of menu :wxITEM_NORMAL (default), wxITEM_CHECK ... |
Definition at line 221 of file bitmap.cpp.
References AddBitmapToMenuItem().
Referenced by GERBER_LAYER_WIDGET::AddRightClickMenuItems(), DIALOG_CONFIGURE_PATHS::OnGridCellRightClick(), PROJECT_TREE_PANE::onRight(), LAYER_WIDGET::OnRightDownLayer(), LAYER_WIDGET::OnRightDownRender(), APPEARANCE_CONTROLS::rebuildLayerContextMenu(), PANEL_COLOR_SETTINGS::ShowColorContextMenu(), and SIM_PLOT_FRAME::SIGNAL_CONTEXT_MENU::SIGNAL_CONTEXT_MENU().
wxMenuItem* AddMenuItem | ( | wxMenu * | aMenu, |
int | aId, | ||
const wxString & | aText, | ||
const wxString & | aHelpText, | ||
const wxBitmap & | aImage, | ||
wxItemKind | aType = wxITEM_NORMAL |
||
) |
Create and insert a menu item with an icon and a help message string into aMenu.
aMenu | is the menu to add the new item. |
aId | is the command ID for the new menu item. |
aText | is the string for the new menu item. |
aHelpText | is the help message string for the new menu item. |
aImage | is the icon to add to the new menu item. |
aType | is the type of menu :wxITEM_NORMAL (default), wxITEM_CHECK ... |
Definition at line 233 of file bitmap.cpp.
References AddBitmapToMenuItem().
wxMenuItem* AddMenuItem | ( | wxMenu * | aMenu, |
wxMenu * | aSubMenu, | ||
int | aId, | ||
const wxString & | aText, | ||
const wxBitmap & | aImage | ||
) |
Create and insert a menu item with an icon into aSubMenu in aMenu.
aMenu | is the menu to add the new submenu item. |
aSubMenu | is the submenu to add the new menu. |
aId | is the command ID for the new menu item. |
aText | is the string for the new menu item. |
aImage | is the icon to add to the new menu item. |
Definition at line 246 of file bitmap.cpp.
References AddBitmapToMenuItem().
wxMenuItem* AddMenuItem | ( | wxMenu * | aMenu, |
wxMenu * | aSubMenu, | ||
int | aId, | ||
const wxString & | aText, | ||
const wxString & | aHelpText, | ||
const wxBitmap & | aImage | ||
) |
Create and insert a menu item with an icon and a help message string into aSubMenu in aMenu.
aMenu | is the menu to add the new submenu item. |
aSubMenu | is the submenu to add the new menu. |
aId | is the command ID for the new menu item. |
aText | is the string for the new menu item. |
aHelpText | is the help message string for the new menu item. |
aImage | is the icon to add to the new menu item. |
Definition at line 259 of file bitmap.cpp.
References AddBitmapToMenuItem().
|
static |
Definition at line 107 of file bitmap.cpp.
References KiIconScale(), and Pgm().
Referenced by KiScaledBitmap().
wxBitmap KiBitmap | ( | BITMAP_DEF | aBitmap | ) |
Construct a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition at line 82 of file bitmap.cpp.
References BITMAP_OPAQUE::byteCount, and BITMAP_OPAQUE::png.
Referenced by ACTION_MENU::Add(), CONDITIONAL_MENU::AddCheckItem(), CONDITIONAL_MENU::AddItem(), GERBER_LAYER_WIDGET::AddRightClickMenuItems(), APPEARANCE_CONTROLS::APPEARANCE_CONTROLS(), BM2CMP_FRAME::BM2CMP_FRAME(), WX_COLLAPSIBLE_PANE_HEADER::Create(), GRID_CELL_ICON_TEXT_POPUP::Create(), DIALOG_ABOUT::createStaticBitmap(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_ABOUT::DIALOG_ABOUT(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOM::DIALOG_BOM(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_IMPORT_SETTINGS::DIALOG_IMPORT_SETTINGS(), DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MIGRATE_SETTINGS::DIALOG_MIGRATE_SETTINGS(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCH_IMPORT_SETTINGS::DIALOG_SCH_IMPORT_SETTINGS(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME(), ACTION_MENU::DisplayTitle(), GRID_CELL_ICON_TEXT_RENDERER::Draw(), CONDITIONAL_MENU::Evaluate(), EVT_GRID_CMD_CELL_CHANGED(), EVT_MENU_RANGE(), EVT_TOOL_RANGE(), EVT_UPDATE_UI_RANGE(), FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME(), FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), GERBVIEW_FRAME::GERBVIEW_FRAME(), GRID_CELL_ICON_TEXT_RENDERER::GetBestSize(), HIERARCHY_TREE::HIERARCHY_TREE(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_PLOT::init_Dialog(), DIALOG_GEN_FOOTPRINT_POSITION::initDialog(), DIALOG_GENDRILL::InitDisplayParams(), DIALOG_ANNOTATE::InitValues(), DIALOG_CONFIGURE_PATHS::OnGridCellRightClick(), PROJECT_TREE_PANE::onRight(), LAYER_WIDGET::OnRightDownLayer(), LAYER_WIDGET::OnRightDownRender(), SIM_PLOT_FRAME::onSimFinished(), SIM_PLOT_FRAME::onSimStarted(), PCB_CALCULATOR_FRAME::OnUpdateUI(), PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS(), PANEL_EESCHEMA_TEMPLATE_FIELDNAMES::PANEL_EESCHEMA_TEMPLATE_FIELDNAMES(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_PCBNEW_ACTION_PLUGINS::PANEL_PCBNEW_ACTION_PLUGINS(), PANEL_PREV_3D::PANEL_PREV_3D(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PANEL_SETUP_RULES::PANEL_SETUP_RULES(), PANEL_SETUP_TRACKS_AND_VIAS::PANEL_SETUP_TRACKS_AND_VIAS(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), PANEL_TEXT_VARIABLES::PANEL_TEXT_VARIABLES(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), PinShapeComboBox::PinShapeComboBox(), PinTypeComboBox::PinTypeComboBox(), PL_EDITOR_FRAME::PL_EDITOR_FRAME(), PROJECT_TREE::PROJECT_TREE(), APPEARANCE_CONTROLS::rebuildLayerContextMenu(), APPEARANCE_CONTROLS::rebuildLayers(), PANEL_SETUP_PINMAP::reBuildMatrixPanel(), APPEARANCE_CONTROLS::rebuildNets(), APPEARANCE_CONTROLS::rebuildObjects(), FOOTPRINT_WIZARD_FRAME::ReCreateHToolbar(), SCH_EDIT_FRAME::SCH_EDIT_FRAME(), PANEL_SETUP_PINMAP::setDRCMatrixButtonState(), SIM_PLOT_FRAME::setIconsForMenuItems(), PANEL_FP_EDITOR_DEFAULTS::Show(), PANEL_SETUP_CONSTRAINTS::Show(), DIALOG_PAD_PROPERTIES::Show(), PANEL_COLOR_SETTINGS::ShowColorContextMenu(), SIM_PLOT_FRAME::SIGNAL_CONTEXT_MENU::SIGNAL_CONTEXT_MENU(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME(), SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME(), DIALOG_UNUSED_PAD_LAYERS::syncImages(), TEXT_BUTTON_FILE_BROWSER::TEXT_BUTTON_FILE_BROWSER(), TEXT_BUTTON_FP_CHOOSER::TEXT_BUTTON_FP_CHOOSER(), TEXT_BUTTON_SYMBOL_CHOOSER::TEXT_BUTTON_SYMBOL_CHOOSER(), TEXT_BUTTON_URL::TEXT_BUTTON_URL(), BM2CMP_FRAME::ToggleAspectRatioLock(), DIALOG_PNS_LENGTH_TUNING_SETTINGS::TransferDataToWindow(), TRANSLINE_IDENT::TRANSLINE_IDENT(), and PCB_CALCULATOR_FRAME::TranslineTypeSelection().
wxBitmap* KiBitmapNew | ( | BITMAP_DEF | aBitmap | ) |
Allocate a wxBitmap on heap from a memory record, held in a BITMAP_DEF.
Definition at line 169 of file bitmap.cpp.
References BITMAP_OPAQUE::byteCount, and BITMAP_OPAQUE::png.
Referenced by ABOUT_APP_INFO::CreateKiBitmap().
int KiIconScale | ( | wxWindow * | aWindow | ) |
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScaledSeparator.
Definition at line 92 of file bitmap.cpp.
Referenced by ACTION_TOOLBAR::AddScaledSeparator(), PANEL_COMMON_SETTINGS::applySettingsToPanel(), get_scale_factor(), PANEL_COMMON_SETTINGS::OnIconScaleAuto(), and PCB_EDIT_FRAME::PrepareLayerIndicator().
wxBitmap KiScaledBitmap | ( | BITMAP_DEF | aBitmap, |
wxWindow * | aWindow | ||
) |
Construct a wxBitmap from a memory record, scaling it if device DPI demands it.
Internally this may use caching to avoid scaling the same image twice. If caching is used, it's guaranteed threadsafe.
aBitmap | bitmap definition |
aWindow | target window for scaling context |
Definition at line 118 of file bitmap.cpp.
References BITMAP_OPAQUE::byteCount, get_scale_factor(), BITMAP_OPAQUE::png, and scale.
Referenced by ACTION_TOOLBAR::Add(), ACTION_TOOLBAR_PALETTE::AddAction(), ACTION_TOOLBAR::AddButton(), ACTION_TOOLBAR::AddGroup(), PANEL_KICAD_LAUNCHER::CreateLaunchers(), ACTION_TOOLBAR::doSelectAction(), PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP(), PCB_EDIT_FRAME::ReCreateAuxiliaryToolbar(), KICAD_MANAGER_FRAME::RecreateBaseHToolbar(), SYMBOL_VIEWER_FRAME::ReCreateHToolbar(), FOOTPRINT_EDIT_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateHToolbar(), and EDA_3D_VIEWER::ReCreateMainToolbar().
wxBitmap KiScaledBitmap | ( | const wxBitmap & | aBitmap, |
wxWindow * | aWindow | ||
) |
Overload of the above function that takes another wxBitmap as a parameter.
aBitmap | bitmap definition |
aWindow | target window for scaling context |
Definition at line 150 of file bitmap.cpp.
References get_scale_factor(), and scale.
bool SaveCanvasImageToFile | ( | EDA_DRAW_FRAME * | aFrame, |
const wxString & | aFileName, | ||
wxBitmapType | aBitmapType = wxBITMAP_TYPE_PNG |
||
) |
Save the current view as an image file.
aFrame | The current draw frame view to save. |
aFileName | The file name to save the image. This will overwrite an exisiting file. |
aBitmapType | The type of bitmap create as defined by wxImage. |
Definition at line 179 of file bitmap.cpp.
References EDA_DRAW_FRAME::GetCanvas().
Referenced by SYMBOL_EDITOR_CONTROL::ExportView(), and FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng().