kicad/eeschema
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
..
dialogs Handle 'show page limits' in eeschema 2018-11-08 09:57:16 +01:00
libedit Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
netlist_exporters Spice netlist exporter: handle multiline directives 2018-10-19 17:33:01 +02:00
plugins Sort reference by their numeric content. 2018-10-28 17:45:11 +00:00
qa Pass -DBOOST_TEST_DYN_LINK to all parts of test 2017-12-06 19:28:57 -05:00
sim Link eeschema with ngspice DLL 2018-10-30 08:32:38 +01:00
widgets Improve updating of symbol and footprint trees. 2018-11-02 19:55:30 +00:00
CMakeLists.txt Include directories are implied by legacy_gal linkage 2018-11-08 07:52:36 -05:00
Info.plist macOS: standardise CFBundleName to application names. 2018-03-05 01:14:00 +00:00
annotate.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
autoplace_fields.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
backanno.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
block.cpp Show dangling pins when moving items; don't when dragging. 2018-11-07 14:24:16 +00:00
bus-wire-junction.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
busentry.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
class_libentry.cpp Remove side-effect of LIB_FIELD::SetText(). 2018-10-31 12:57:23 +00:00
class_libentry.h Library viewer: fix broken behavior of unit selector (could be Windows specific). 2018-10-30 17:51:12 +01:00
class_library.cpp Coverity fixes. 2018-03-21 23:11:55 +00:00
class_library.h Implement poor-man's RTTI for use over KiWAY. 2018-09-15 20:06:42 +01:00
cmp_library.keywords
cmp_library_lexer.cpp
component_references_lister.cpp Don't go to '-' numbering till the range reaches 3. 2018-10-26 23:02:05 +01:00
controle.cpp Eeschema, library viewer: fix a Kicad assert. 2018-10-30 15:58:08 +01:00
cross-probing.cpp Fix updating of the schematic symbols after a library save. 2018-10-16 17:07:59 +01:00
dialog_erc_listbox.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
drc_erc_item.cpp Make a few strings not internationalized, because they must not be translated (html format strings) 2018-07-28 12:47:23 +02:00
edit_bitmap.cpp Eeschema, load a new bitmap image from file: fix crash when aborting. 2018-10-21 10:59:06 +02:00
edit_component_in_schematic.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
edit_label.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
eeredraw.cpp eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
eeschema.cpp Fix color issues with cursor and sheet pins. 2018-10-09 11:08:56 +01:00
eeschema.icns Update MacOS icons 2018-03-22 11:45:42 -04:00
eeschema.rc
eeschema_config.cpp Handle 'show page limits' in eeschema 2018-11-08 09:57:16 +01:00
eeschema_config.h Implement primitive icon scaling for high DPI 2018-01-10 21:26:06 -07:00
eeschema_doc.icns Update MacOS icons 2018-03-22 11:45:42 -04:00
eeschema_id.h Grid settings for Eeschema GAL. 2018-10-09 11:08:55 +01:00
erc.cpp eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
erc.h Eradicate g_UserUnit from ERC/DRC. 2018-07-17 15:12:16 +01:00
events_called_functions_for_edit.cpp Add GAL refresh for some more commands and remove unused DC params. 2018-10-09 11:08:56 +01:00
fields_grid_table.cpp eeschema: Fix minor compile warning 2018-10-11 15:31:10 -07:00
fields_grid_table.h Keep name & value in sync for library items. 2018-09-13 16:41:23 +01:00
files-io.cpp Fix disappearing schematic components 2018-11-06 11:25:47 +01:00
find.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
general.h Clear symbol library list from project file after remapping. 2017-11-09 18:50:23 -05:00
generate_alias_info.cpp Improve document file handling. 2018-08-14 13:54:04 +01:00
generate_alias_info.h Convert component chooser dialog over to use symbol library table. 2017-11-09 18:50:18 -05:00
getpart.cpp Refresh item when its dangling state changes. 2018-10-16 17:07:59 +01:00
help_common_strings.h Standardize terminology for automatic zoom to "Zoom to Fit". 2018-03-16 08:38:36 -04:00
hierarch.cpp Fix up zoom and pan issues entering/leaving sheets. 2018-10-09 11:08:56 +01:00
highlight_connection.cpp Eeschema Better fix for highlight visibility issue for cached items due to last change in code in opengl 2018-10-14 14:59:40 +02:00
hotkeys.cpp eeschema-gal: don't warp cursor back to mouse when using hotkey to emulate a mouse click 2018-10-17 23:25:36 +02:00
hotkeys.h add option to switch between opengl and cairo in eeschema (step 1) 2018-10-09 11:08:56 +01:00
invoke_sch_dialog.h Relax fully-annotated constraint for BOM editor. 2018-05-11 12:33:44 +01:00
lib_arc.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_arc.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
lib_bezier.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_bezier.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
lib_circle.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_circle.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
lib_collectors.cpp rename class_collector.h to collector.h 2018-02-04 10:49:37 +01:00
lib_collectors.h rename class_collector.h to collector.h 2018-02-04 10:49:37 +01:00
lib_draw_item.cpp Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
lib_draw_item.h Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
lib_field.cpp LIB_FIELD: fix incorrect text thickness for small sized texts. 2018-11-02 11:36:07 +01:00
lib_field.h Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
lib_pin.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_pin.h Handle hidden and dangling pins. 2018-10-09 11:08:55 +01:00
lib_polyline.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_polyline.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
lib_rectangle.cpp Eeschema: make draw functions working with "old" libraries using a useless large negative line width (like -1000 or -2000 mils). 2018-10-20 13:08:33 +02:00
lib_rectangle.h eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
lib_text.cpp Move library text items to LAYER_DEVICE. Only sch text items belong on LAYER_NOTES. 2018-10-28 17:45:11 +00:00
lib_text.h Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
libarch.cpp Add more/better error messages for file i/o problems. 2018-08-14 13:54:04 +01:00
list_operations.h Update moved items so they get reinserted into the RTree. 2018-10-09 11:08:56 +01:00
menubar.cpp No more legacy graphics for eeschema. 2018-10-24 13:36:48 +01:00
netlist.h Fixed Spice netlist export options and added a few new flags 2016-08-11 14:41:20 +02:00
netlist_generator.cpp Output defined default fields to netlists & BOMs. 2018-05-24 18:24:59 +01:00
netlist_object.cpp fix code after renamin files 2018-01-30 11:49:51 +01:00
netlist_object.h fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
netlist_object_list.cpp Remove not used ListNets() methods 2018-03-04 18:04:19 +01:00
onleftclick.cpp Wrap printfs in DBG defines 2018-10-11 13:32:20 -07:00
onrightclick.cpp Warp mouse from context menu before dragging. 2018-11-04 12:35:01 +00:00
operations_on_items_lists.cpp Fix incorrect management of SCH_SHEET_PIN items when adding or removing them. 2018-10-24 16:19:28 +02:00
pin_number.cpp
pin_number.h
pin_shape.cpp Remove some extra semicolons 2017-11-09 19:52:18 +01:00
pin_shape.h Enum refactoring and shiny icons in dialog_lib_edit_pin_table 2016-02-28 18:33:29 +01:00
pin_type.cpp Enum refactoring and shiny icons in dialog_lib_edit_pin_table 2016-02-28 18:33:29 +01:00
pin_type.h Enum refactoring and shiny icons in dialog_lib_edit_pin_table 2016-02-28 18:33:29 +01:00
plot_schematic_DXF.cpp fix code after renamin files 2018-01-30 11:49:51 +01:00
plot_schematic_HPGL.cpp UNIT_BINDERize print and plot dialogs. 2018-07-17 15:12:29 +01:00
plot_schematic_PDF.cpp fix code after renamin files 2018-01-30 11:49:51 +01:00
plot_schematic_PS.cpp fix code after renamin files 2018-01-30 11:49:51 +01:00
plot_schematic_SVG.cpp eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
project_rescue.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
project_rescue.h Do not append "RESCUE" to symbol names when rescuing symbols. 2018-03-03 15:34:26 -05:00
sch_base_frame.cpp Fix translation issues with copy/paste block. 2018-10-30 11:33:49 +00:00
sch_base_frame.h Fix color issues with cursor and sheet pins. 2018-10-09 11:08:56 +01:00
sch_bitmap.cpp Eeschema gal: fix some redraw issues for bitmap images and worksheet. 2018-10-16 14:20:09 +02:00
sch_bitmap.h Eeschema gal: fix some redraw issues for bitmap images and worksheet. 2018-10-16 14:20:09 +02:00
sch_bus_entry.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_bus_entry.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_collectors.cpp Eeschema: allow dragging of text 2018-10-31 16:19:03 +00:00
sch_collectors.h Add hotkey for viewing symbol datasheet. 2018-09-24 15:46:45 +01:00
sch_component.cpp Timestamps are long rather than int. 2018-10-31 10:19:59 +00:00
sch_component.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_draw_panel.cpp Fix instantly disappearing pop-up menu in eeschema 2018-11-06 17:21:13 +01:00
sch_draw_panel.h Fix cross-probing. 2018-10-09 11:08:56 +01:00
sch_eagle_plugin.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
sch_eagle_plugin.h Eagle SCH importer: fix slash characters when fixing symbol names 2018-09-12 10:13:13 +02:00
sch_edit_frame.cpp Init LibEdit with unit & conversion when opening from schematic. 2018-11-08 21:27:15 +00:00
sch_edit_frame.h Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
sch_field.cpp eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
sch_field.h Remove global units usage from GetSelectionText... 2018-07-17 15:11:09 +01:00
sch_io_mgr.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
sch_io_mgr.h Eeschema: allow for partial schematic loading. 2017-12-06 19:11:09 -05:00
sch_item_struct.cpp Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
sch_item_struct.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_junction.cpp Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
sch_junction.h Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
sch_legacy_plugin.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
sch_legacy_plugin.h SCH_LEGACY_PLUGIN::loadHierarchy() uses a stack to maintain sheet paths 2018-05-09 11:30:23 +02:00
sch_line.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_line.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_marker.cpp Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
sch_marker.h Remove AdvanceDepth() hacks in favour of proper layers. 2018-10-21 15:55:56 +01:00
sch_no_connect.cpp Ensure junctions and no-connects are visible even on fat wires. 2018-10-09 11:08:56 +01:00
sch_no_connect.h Ensure junctions and no-connects are visible even on fat wires. 2018-10-09 11:08:56 +01:00
sch_painter.cpp LIB_FIELD: fix incorrect text thickness for small sized texts. 2018-11-02 11:36:07 +01:00
sch_painter.h Refactored and unified board editor and footprint editor print dialogs 2018-10-31 19:17:30 +01:00
sch_plugin.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
sch_preview_panel.cpp Adjust GAL world unit for eeschema 2018-10-31 19:17:30 +01:00
sch_preview_panel.h Move symbol chooser dialog preview to GAL. 2018-10-09 11:08:55 +01:00
sch_reference_list.h Performance optimization for Symbol Fields Editor. 2018-10-17 02:04:44 +01:00
sch_screen.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_screen.h Handle GAL view refresh for breaking wires. 2018-10-09 11:08:55 +01:00
sch_sheet.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_sheet.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_sheet_path.cpp Fix -Wshadow warning in sch_sheet_path.cpp 2018-06-28 10:04:43 -04:00
sch_sheet_path.h fix misspelled 'allows to' -> 'allows one to' 2018-07-11 10:35:03 -04:00
sch_sheet_pin.cpp eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
sch_text.cpp Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_text.h Implement proper dangling end handling for block moves. 2018-10-30 11:33:49 +00:00
sch_validators.cpp Improve validation of symbol fields editor. 2018-07-21 21:28:13 +01:00
sch_validators.h Improve validation of symbol fields editor. 2018-07-21 21:28:13 +01:00
sch_view.cpp Added VIEW::DataReference() for sharing data with another VIEW instance 2018-10-31 19:17:29 +01:00
sch_view.h Add copyright header to sch_view.h 2018-10-31 19:17:30 +01:00
schedit.cpp Show dangling pins when moving items; don't when dragging. 2018-11-07 14:24:16 +00:00
schematic_undo_redo.cpp Add view refresh calls for edit operations. 2018-10-18 12:12:48 +01:00
selpart.cpp Handle separate parsing rules for ID_SCH and ID_PCB. 2018-07-26 15:43:53 +01:00
sheet.cpp Eeschema, remove option to import schematic that has not been remapped. 2018-10-24 15:38:02 -04:00
sheetlab.cpp Add GAL refresh for some more commands and remove unused DC params. 2018-10-09 11:08:56 +01:00
symbol_lib_table.cpp Load each symbol library atomically for better performance. 2018-01-24 19:21:56 -05:00
symbol_lib_table.h Implement poor-man's RTTI for use over KiWAY. 2018-09-15 20:06:42 +01:00
symbol_tree_model_adapter.cpp More performance enhancements. 2018-08-06 13:49:27 +01:00
symbol_tree_model_adapter.h Push component tree down into common. 2018-08-01 09:35:45 +01:00
symbol_tree_synchronizing_adapter.cpp Minor performance enhancements to symbol loading. 2018-08-07 17:01:44 +01:00
symbol_tree_synchronizing_adapter.h Push component tree down into common. 2018-08-01 09:35:45 +01:00
template_fieldnames.cpp Allow TemplateFieldNames to specify URL-behaviour. 2018-08-11 17:14:27 +01:00
template_fieldnames.h Allow TemplateFieldNames to specify URL-behaviour. 2018-08-11 17:14:27 +01:00
template_fieldnames.keywords Allow TemplateFieldNames to specify URL-behaviour. 2018-08-11 17:14:27 +01:00
tool_sch.cpp No more legacy graphics for eeschema. 2018-10-24 13:36:48 +01:00
tool_viewlib.cpp Fix up GAL version of Symbol Viewer. 2018-10-09 11:08:55 +01:00
transform.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
transform.h Remove unnecessary TRANSFORM::operator= 2017-02-19 22:13:50 -05:00
viewlib_frame.cpp Eeschema: Fix a subtle bug in SYMBOL_PREVIEW_WIDGET. 2018-10-31 15:52:35 +01:00
viewlib_frame.h Add GAL refresh for some more commands and remove unused DC params. 2018-10-09 11:08:56 +01:00
viewlibs.cpp Eeschema: Fix a subtle bug in SYMBOL_PREVIEW_WIDGET. 2018-10-31 15:52:35 +01:00