kicad/include
Wayne Stambaugh f1f4473d8b Footprint editor: add save view to PNG file.
Factor out save current canvas view to image file code from symbol editor
code so it can be used anywhere.

Add ability to save to any image format supported by wxBitmapType.  See
https://docs.wxwidgets.org/3.0/gdicmn_8h.html#a90a1eb6d85b5044a99b706fd979f27f5.
Currently only PNG output is implemented.

Please note that there is a minor bug that appears to be due to the
scroll bars which causes unfilled areas on the right and bottom edges
of the image.  This always existed in the save symbol editor view
image but it was not as noticeable because by default the background
color is white.  It is very noticeable in the footprint editor with
a black background.

The usual smattering of coding policy and comment fixes.

Fixes lp:1802127

https://bugs.launchpad.net/kicad/+bug/1802127
2018-11-09 08:32:36 -05:00
..
core pcbnew: Rename PCB_ZONE_T and remove from connectivity 2018-09-29 15:09:15 -07:00
gal Fix rounding in COLOR4D::ToColour 2018-11-08 14:40:42 -05:00
geometry Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
kicad_curl Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
legacy_gal Fix zoom issues in Eeschema (F1 to F4 and popup zoom commands) Fix also not saving the Gal Canvas type on eeschema exit. 2018-10-09 11:08:56 +01:00
legacy_wx eeschema-gal: Base refactoring before GALification of the eeschema legacy canvas. 2018-10-09 11:08:52 +01:00
libeval Clean up units infrastructure after g_UserUnit removal. 2018-07-17 15:12:36 +01:00
math BOX2: added compare operators 2018-10-10 17:26:32 +02:00
plugins Remove some extra semicolons 2017-11-09 19:52:18 +01:00
preview_items Pcbnew: fix 45-degree snapping of ruler and dimension tools 2018-07-24 15:01:02 +01:00
system Remove some extra semicolons 2017-11-09 19:52:18 +01:00
tool Fix a compil issue with gcc 4.8.4 compiler 2018-10-25 20:24:33 +02:00
ttl Remove some extra semicolons 2017-11-09 19:52:18 +01:00
view Don't set the viewport when switching screens. 2018-11-04 19:17:53 +00:00
widgets Grand printing dialogs refactor 2018-10-31 19:17:30 +01:00
base_screen.h Fix up zoom and pan issues entering/leaving sheets. 2018-10-09 11:08:56 +01:00
base_struct.h Allow net-ties within footprints. 2018-10-23 20:54:42 +01:00
base_units.h Allow user-specification of dimension units. 2018-07-21 13:50:21 +01:00
basic_gal.h fix misspelled 'allows to' -> 'allows one to' 2018-07-11 10:35:03 -04:00
bezier_curves.h DXF import: add import of DXF splines that are converted to Bezier curves. 2018-07-22 18:39:47 +02:00
bin_mod.h Allow updating of file history size on the fly. 2018-08-21 10:34:41 +01:00
bitmap_base.h eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
bitmap_types.h Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
bitmaps.h Open project folder in host OS: refinements. 2018-11-01 15:11:29 +01:00
block_commande.h Finish up the block rotate/mirror fixes. 2018-10-09 11:08:55 +01:00
board_design_settings.h Honour diff-pair dimension changes while routing. 2018-09-18 20:37:00 +01:00
board_printout.h Removed a redundant parameter from BOARD_PRINTOUT constructor 2018-10-31 19:17:30 +01:00
build_version.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
class_board_item.h Fix occurrences of "edition" which should be "editing" 2018-07-17 15:12:39 +01:00
class_draw_panel_gal.h add option to switch between opengl and cairo in eeschema (step 1) 2018-10-09 11:08:56 +01:00
collector.h SELECTION: Prevent double select/deselect. 2018-10-24 17:17:45 -07:00
colors.h Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
colors_design_settings.h rename files 2018-01-31 09:24:00 +01:00
commit.h Don't set dirty bit when adding MARKERs. 2018-04-09 21:19:11 +01:00
common.h Auto-select reference numbers in PcbNew like we do in Eeschema. 2018-10-14 00:06:41 +01:00
config_map.h Fix a few doxygen warnings 2017-06-20 10:47:30 +02:00
config_params.h Consolidate design rules UI. 2018-07-17 15:12:34 +01:00
confirm.h Make ModEdit and LibEdit library tree actions more consistent. 2018-10-03 22:46:41 +01:00
convert_basic_shapes_to_polygon.h Better calculation of polygon clearance area of oval pads. Wip. 2018-01-20 19:34:50 +01:00
convert_to_biu.h Switch zone fillets to absolute-error algorithm. 2018-03-23 12:46:17 +00:00
dialog_configure_paths.h Centralise utilities for env variables. 2018-10-03 11:53:10 -04:00
dialog_edit_library_tables.h Add Manage Symbol and Footprint Library tables to project frame. 2018-07-19 21:46:41 +01:00
dialog_helpers.h Move symbol management to a standard Save As... model. 2018-07-25 14:41:20 +01:00
dialog_shim.h DIALOG_SHIM: make default style wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER. 2018-10-04 18:03:46 +02:00
dlist.h Refinement to commit #4993. 2014-07-14 16:43:21 +02:00
draw_frame.h Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
draw_graphic_text.h DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list. 2018-04-07 19:57:26 +02:00
drc_item.h Eradicate g_UserUnit from ERC/DRC. 2018-07-17 15:12:16 +01:00
dsnlexer.h fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
eagle_parser.h Eeschema: Copy attributes from eagle. 2018-07-31 11:58:01 -07:00
eda_base_frame.h Overhaul border drawing in all the Kicad frames. 2018-08-11 17:25:38 +01:00
eda_dde.h Keep track of open sockets and dispose of them in d'tor. 2018-04-04 12:02:40 +01:00
eda_doc.h More forgiving keyword search. 2018-05-10 12:16:00 +01:00
eda_dockart.h Overhaul border drawing in all the Kicad frames. 2018-08-11 17:25:38 +01:00
eda_pattern_match.h Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_rect.h Fix code after renaming files 2018-01-29 11:37:29 +01:00
eda_text.h Fix text size measurement. 2018-10-09 11:08:55 +01:00
enabler.h Prevent issuing a print command before the previous one is finished 2018-04-23 11:25:28 +02:00
enum_vector.h eeschema: Iterate through plugins when determining file format. 2017-10-20 08:38:38 +02:00
env_paths.h Footprint Wizard now also handles custom Env paths 2018-04-06 14:51:09 +01:00
env_vars.h Centralise utilities for env variables. 2018-10-03 11:53:10 -04:00
executable_names.h Move executable name constants to own file 2017-03-23 09:23:45 -04:00
fctsys.h removed wx carbon include in fctsys as it is unnecessary 2015-12-12 23:03:35 +13:00
filename_resolver.h Fold 3D Search Paths dialog into Configure Paths. 2018-07-17 15:11:01 +01:00
filter_reader.h Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
footprint_filter.h Update footprint filter type-in to be implicit * 2018-05-08 10:44:14 -07:00
footprint_info.h More performance enhancements. 2018-08-06 13:49:27 +01:00
fp_lib_table.h Make ModEdit and LibEdit library tree actions more consistent. 2018-10-03 22:46:41 +01:00
frame_type.h Overhaul border drawing in all the Kicad frames. 2018-08-11 17:25:38 +01:00
gbr_metadata.h Gerber job file: fix incorrect GUID. 2018-11-06 08:16:07 +01:00
gbr_netlist_metadata.h Pcbnew: fix minor issue in %TO.C advanced attribute, and avoid creating an unused D10 tool in Gerber files. 2017-07-02 16:41:31 +02:00
gestfich.h Doxygen comment improvements. 2017-06-13 19:47:46 -04:00
gl_context_mgr.h Reverted 6912 with minor changes (LockCtx requires to specify canvas that locks a context). 2016-06-13 16:43:33 +02:00
gr_basic.h eeschema: neatly wrap placeholder text in symbol chooser 2018-01-07 19:30:56 -07:00
grid_tricks.h Add single-click editing to grid cells. (Experimental.) 2018-08-29 19:59:02 +01:00
hash_eda.h Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hashtables.h Pcbnew: major swig fix. 2016-07-18 13:23:09 -04:00
hotkey_store.h Check for conflicts when reseting/undoing hotkey changes 2018-09-28 08:28:22 -04:00
hotkeys_basic.h Check for conflicts when reseting/undoing hotkey changes 2018-09-28 08:28:22 -04:00
html_messagebox.h Release mouse before closing HTML_MESSAGE_BOX. 2018-05-21 13:18:41 +01:00
i18n_utility.h Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
id.h Fix translation issues with copy/paste block. 2018-10-30 11:33:49 +00:00
import_export.h Use _WIN32 instead of __MINGW32__ in 2 conditional compilations which are Windows specific, not especially mingw32 specific. 2016-03-01 16:55:44 +01:00
incremental_text_ctrl.h Fix a few doxygen warnings 2017-06-16 09:18:31 +02:00
intrusive_list.h Moved INTRUSIVE_LIST to a separate header 2017-06-23 18:51:00 +02:00
ki_exception.h Add KI_PARAM_ERROR, similar to std::invalid_argument but using wxString instead of std::string to throw errors. 2018-06-05 13:29:51 +02:00
ki_mutex.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
kicad_device_context.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
kicad_string.h More work on arbitrary characters in references, etc. 2018-09-27 14:44:42 +01:00
kiface_i.h Allow updating of file history size on the fly. 2018-08-21 10:34:41 +01:00
kiface_ids.h Make sure Cvpcb doesn't use its own FP_LIB_TABLE. 2018-05-01 21:49:03 +01:00
kiway.h Unified preferences dialog framework. 2018-07-17 15:11:17 +01:00
kiway_express.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
kiway_mgr.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
kiway_player.h Unified preferences dialog framework. 2018-07-17 15:11:17 +01:00
layers_id_colors_and_visibility.h Handle layer settings in printouts 2018-10-31 19:17:30 +01:00
length.h.usuned Namespace KiGfx->KIGFX. 2013-10-14 16:13:35 +02:00
lib_id.h Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
lib_table_base.h Add Manage Symbol and Footprint Library tables to project frame. 2018-07-19 21:46:41 +01:00
lib_table_grid.h fix a minor compil warning 2018-05-06 12:49:35 +02:00
lib_tree_item.h More performance enhancements. 2018-08-06 13:49:27 +01:00
lockfile.h Doxygen comment improvements. 2017-06-13 19:47:46 -04:00
lru_cache.h 3D Viewer: complete refactor of the 3D viewer. 2016-07-19 13:35:25 -04:00
macros.h EDA_TEXT object refactor. 2017-01-25 08:03:32 -05:00
mail_type.h Implement double-click for other filetypes in project tree. 2018-08-29 19:59:02 +01:00
make_unique.h Add C++14-style std::make_unique 'polyfill' for C++11 2017-01-23 11:41:00 +01:00
marker_base.h Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
md5_hash.h pcbnew: Optimized zone filling algorithm. 2017-12-05 14:54:57 +01:00
menus_helpers.h Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +01:00
msgpanel.h Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
multivector.h fix a segfault in library editor when importing symbols. 2017-10-12 10:38:48 +02:00
newstroke_font.h Fix incorrect (too small) bounding box EDA_TEXT, noticeable when chars like j or { are used in zone fill functions. 2016-03-11 13:08:34 +01:00
observable.h Fix a few doxygen warnings 2017-06-16 09:18:31 +02:00
origin_viewitem.h Implement undo/redo for origins in legacy 2018-01-27 19:51:44 -05:00
pad_shapes.h Add support for custom pad shape. Full support in DRC and PnS. 2017-09-19 09:02:53 +02:00
page_info.h Allows bigger max page size (120x120") in Eeschema, Gerbview and Page Layout Editor 2018-08-04 17:19:48 +02:00
painter.h Refactored and unified board editor and footprint editor print dialogs 2018-10-31 19:17:30 +01:00
panel_hotkeys_editor.h Add read-only option for hotkey list, use for list dialog 2018-10-04 07:47:21 -04:00
pcb_base_frame.h Back out workaround f1e2f142a6. 2018-10-15 20:33:43 +01:00
pcb_display_options.h refactoring: renamed pcbstruct.h to pcb_display_options.h, DISPLAY_OPTIONS->PCB_DISPLAY_OPTIONS 2017-11-03 20:02:06 +01:00
pcb_screen.h Fix code after renaming files 2018-01-29 11:37:29 +01:00
pcbstruct.h pcbnew legacy: remove option to hide via drill 2016-05-10 16:47:37 -04:00
pgm_base.h Grid settings for Eeschema GAL. 2018-10-09 11:08:55 +01:00
plotter.h Eeschema, symbol editor: re-enable PNG export and fix a minor issue in SVG export (was in B&W mode instead of color). 2018-11-02 09:24:55 +01:00
printout.h Removed default line width setting from the printing dialog 2018-10-31 19:17:30 +01:00
profile.h New connectivity algorithm. 2017-06-23 11:12:36 +02:00
project.h Implement poor-man's RTTI for use over KiWAY. 2018-09-15 20:06:42 +01:00
properties.h Store information about buffering & caching in properties 2017-02-28 15:18:58 +01:00
ptree.h Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
reporter.h Optionally sort reporter messages 2018-05-22 13:55:02 -07:00
richio.h richio.h, class LINE_READER: prefix variable member names by "m_", like in other classes in Kicad. 2017-11-12 18:29:56 +01:00
scoped_set_reset.h Add context menu to GAL DRAWING_TOOL, including the zone menu 2017-01-11 10:41:08 +01:00
search_stack.h Implement poor-man's RTTI for use over KiWAY. 2018-09-15 20:06:42 +01:00
status_popup.h Bug fixes in Length Tuning UI. 2018-05-20 23:48:29 +01:00
streamwrapper.h Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
sync_queue.h Fix SYNC_QUEUE build issue on Boost < 1.56 2017-03-24 10:09:08 -04:00
systemdirsappend.h Move SystemDirsAppend to own header 2017-03-23 09:23:45 -04:00
text_utils.h Added files missing in 602ecf75 2017-12-07 18:14:19 +01:00
title_block.h QA: Add TITLE_BLOCK tests 2018-11-08 08:28:20 -05:00
trace_helpers.h Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
trigo.h Minor fix in zones_by_polygon.cpp: When editing a non copper zone, some settings were not those of the edited zone. 2018-03-14 19:03:14 +01:00
undo_redo_container.h fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
unit_format.h Moved FMT_UI & FMT_ANGLE macros to a separate header 2017-10-20 09:34:32 +02:00
utf8.h change UTF8& operator+=( wchar_t ch ) to UTF8& operator+=( unsigned ch ), because swig does not like wchar_t. 2017-12-08 17:57:53 +01:00
validators.h Fix ENV_VAR_NAME_VALIDATOR typing characters backwards 2018-10-22 15:07:44 +02:00
wildcards_and_files_ext.h Fix thread-safety issue with some global wxStrings. 2018-08-04 10:29:17 +01:00
worksheet.h Fix code after renaming files 2018-01-29 11:37:29 +01:00
worksheet_dataitem.h Fix incorrect calculations in WORKSHEET_DATAITEM::GetMarkerSizeUi() 2018-09-06 11:48:53 +02:00
worksheet_shape_builder.h Constant-size page layout object handles w/respect to zoom. 2018-08-21 10:34:41 +01:00
worksheet_viewitem.h GAL canvases: add DrawBitmap(), using a basic brute force algo for OpenGL, and a optimized code for Cairo. In this fix the brute force means draw each pixel as a rectangle. It works fine, but could be optimized. 2018-07-30 00:13:30 +02:00
wxdataviewctrl_helpers.h Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.h Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00