kicad/common
Reece R. Pollack 3fec2805ec Add the ORIGIN_TRANSFORMS class
This commit adds the ORIGIN_TRANSFORMS class to support Display Origin
Transforms in all KiCad applications.

Functions are provided to perform four basic types of origin coordinate
transforms:
  * Transform a relative coordinate from internal to display form
  * Transform a relative coordinate from display to internal form
  * Transform an absolute coordinate from internal to display form
  * Transform an absolute coordinate from display to internal form

These functions are supported for data types "int", "long long int",
and "double". The default implementations for all but "int" simply
return their input unchanged; the implementation for "int" invokes
the implementation for "long long int".

The expectation is that the different KiCad applications will create
derived classes from this base class and override the functions as
needed. Protected template functions are provided for the standard
translations to maintain consistency within the derived classes.
2020-08-26 17:54:21 +00:00
..
dialog_about Remove flags icons and abandoned languages 2020-08-18 05:32:21 -07:00
dialogs ADDED: ERC check for missing hier labels for sheet ports 2020-08-25 21:52:52 -04:00
gal GAL: Revision to 80af7b3158, allow LIB_POLYLINE 2020-08-21 16:02:13 -07:00
kicad_curl Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
libeval Move lemon parser generation into build directory 2020-08-10 13:53:54 +00:00
libeval_compiler Fix error reporting from function pre-flighting. 2020-08-26 12:56:17 +01:00
page_layout Ensure PAINTER::Draw routines properly handle EDA_ITEM casting 2020-08-16 12:37:51 +01:00
plotters Use a local tmp file for plotting 2020-08-20 16:23:51 +00:00
plugins/altium Altium: Refactor and add initial structure for schematic importer 2020-08-23 19:01:08 +00:00
preview_items Don't allow preview to try and draw empty polygons. 2020-08-22 23:46:56 +01:00
project Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
settings Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
swig Fix pads python api compatibility 2020-08-10 03:22:24 +00:00
tool Don't pass Cancel event where there was a specific action cancelled. 2020-08-25 12:54:40 +01:00
view Make sure preview group gets added to view after a clear. 2020-08-15 21:13:44 +01:00
widgets Fix missing include 2020-08-25 15:58:18 +00:00
CMakeLists.txt Add the ORIGIN_TRANSFORMS class 2020-08-26 17:54:21 +00:00
advanced_config.cpp Give up on trying to get Clipper's miter strategies to work. 2020-08-25 19:07:37 +01:00
array_axis.cpp Pcbnew: add a step field to the array tool 2019-05-16 11:20:52 +01:00
array_options.cpp Arrays: isolate axis code in a new class 2019-05-16 11:20:52 +01:00
base64.cpp Plot SVG embedded 2019-12-08 08:57:33 -08:00
base_screen.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
base_struct.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
base_units.cpp Fix a few issues with zone islands 2020-06-29 12:16:37 -04:00
basic_gal.cpp Cleanup: Replace push_back with emplace_back 2019-12-05 13:41:21 -08:00
bin_mod.cpp Move the file history into the frames 2020-05-17 00:12:49 +01:00
bitmap.cpp Move scaled toolbar separator into ACTION_TOOLBAR 2020-06-26 21:29:03 +00:00
bitmap_base.cpp BITMAP_BASE, Eeschema: fix incorrect position of the bitmap when printing. 2020-05-25 07:51:46 +02:00
board_printout.cpp Make sure Gerber print options have a color settings. 2020-08-25 14:08:09 +01:00
build_version.cpp Fix a compil warning and 2 Coverity warnings. 2020-08-07 13:13:25 +02:00
commit.cpp keepout in footprint: fix some crashes and issues. Create a specific type (PCB_MODULE_ZONE_AREA_T) for zones in footprint. The new class (MODULE_ZONE_CONTAINER) is the same as ZONE_CONTAINER, but the type ID is PCB_MODULE_ZONE_AREA_T instead of PCB_ZONE_AREA_T. 2019-10-29 11:24:57 +01:00
common.cpp Don't trim both back and front if there's only one char. 2020-08-26 00:02:37 +01:00
config_params.cpp Rip out the unused leftovers of the old color system 2020-06-18 22:32:14 -04:00
confirm.cpp Fix library table panel path adding and cleanup duplicate dialog 2020-02-14 19:07:27 +00:00
cursor_store.cpp Fix preprocessor expression 2020-03-01 00:33:45 +00:00
dialog_shim.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
draw_panel_gal.cpp OpenGL GAL: support fallback without overlay buffer 2020-08-07 13:27:47 +00:00
drc_rules.keywords common: include drc_proto keywords in the main DRC parser 2020-08-13 14:50:59 +02:00
dsnlexer.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
eagle_parser.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
eda_base_frame.cpp Code style 2020-08-23 22:10:05 -04:00
eda_dde.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
eda_doc.cpp Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
eda_draw_frame.cpp Ripout the old SyncToolbars infrastructure reminants 2020-08-16 19:10:26 +00:00
eda_pattern_match.cpp C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -07:00
eda_size_ctrl.cpp Switch to scoped enums 2019-12-20 14:11:39 +00:00
eda_text.cpp EDA_TEXT: rename GetEffectiveShape() to GetEffectiveTextShape() to avoid name aliasing with BOARD_ITEM inteface 2020-08-13 14:50:59 +02:00
env_paths.cpp Project settings fixes from review 2020-07-02 22:08:54 -04:00
env_vars.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:00:55 +00:00
exceptions.cpp Cleanup of extraneous calls for string conversion. 2020-07-28 20:44:40 +01:00
executable_names.cpp
filehistory.cpp File history (recent opened files): fix incorrect behavior when a filename 2020-08-05 15:48:03 +02:00
filename_resolver.cpp Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
filter_reader.cpp Cleanup: Replace C-only deprecated headers 2019-12-05 11:03:15 -08:00
footprint_filter.cpp Cleanup to make implementation names consistent with what they now do. 2019-09-03 19:29:30 +01:00
footprint_info.cpp Catch exception so that we at least throw up an error message. 2020-07-13 22:41:56 +01:00
fp_lib_table.cpp Get rid of extraneous char conversion. 2020-08-05 22:23:53 +01:00
gbr_metadata.cpp Fix build error and cleanup overzealous refactor changes 2020-02-14 00:56:41 +00:00
gestfich.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
getrunningmicrosecs.cpp Cleanup: Replace C-only deprecated headers 2019-12-05 11:03:15 -08:00
gl_context_mgr.cpp Dealing with inconsistent wxGLCanvas::IsDisplaySupported() 2018-06-11 12:26:59 +02:00
gr_basic.cpp std::min/std::max requires <algorithm> 2020-07-11 15:46:57 +02:00
gr_text.cpp Unify support for line width magic cookies. 2020-05-13 17:56:47 +01:00
grid_tricks.cpp Generate grid event when pasting into cell. 2020-08-05 01:22:29 +01:00
hash_eda.cpp Initialize variable in hash computation 2020-07-15 22:58:05 +01:00
hotkey_store.cpp Use consistent naming for project manager. 2020-07-16 01:39:29 +01:00
hotkeys_basic.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
html_messagebox.cpp Make a bunch of help dialogs modeless. 2020-08-24 23:17:33 +01:00
kiface_i.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
kiway.cpp Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
kiway_express.cpp Support synchronous messaging over KIWAY EXPRESS. 2019-04-08 13:26:09 +01:00
kiway_holder.cpp Replace EESchema DLIST 2020-01-10 06:37:08 -08:00
kiway_player.cpp Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
languages_menu.cpp Remove flags icons and abandoned languages 2020-08-18 05:32:21 -07:00
launch_ext.cpp Fix URL launching on MacOS 2020-02-22 09:47:51 -05:00
layer_id.cpp Better handling of excluded layers for Color Preferences. 2020-08-17 23:55:31 +01:00
lib_id.cpp Fix build issue exposed by commit b824051a. 2020-02-07 15:29:03 -05:00
lib_table.keywords Added "enabled" parameter for LIB_TABLE_ROW 2017-11-21 08:18:06 -05:00
lib_table_base.cpp Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
lib_tree_model.cpp #include <algorithm> so std::sort is found. 2020-05-15 10:49:43 +00:00
lib_tree_model.h Pinning for library trees in FPEditor and SymbolEditor. 2020-02-14 00:10:40 +00:00
lib_tree_model_adapter.cpp Readd freeze/thaw to the library tree update 2020-08-21 02:39:20 +01:00
lib_tree_model_adapter.h Migrate PcbNew project settings to new framework 2020-07-02 22:08:54 -04:00
lockfile.cpp
lset.cpp Fix load/save of layer presets 2020-08-23 11:59:40 -04:00
marker_base.cpp Migrate RC_ITEM to use shared_ptr 2020-08-13 14:50:59 +02:00
msgpanel.cpp Remove colours from message text items. 2018-07-17 15:11:40 +01:00
netclass.cpp NetClass settings for Eeschema. 2020-07-08 21:23:25 +01:00
netlist.keywords ADDED properties passed between eescema and pcbnew. 2020-08-08 22:49:04 +01:00
newstroke_font.cpp Correct cyrillic 'f' in newstroke 2020-02-12 14:08:02 -08:00
observable.cpp
origin_transforms.cpp Add the ORIGIN_TRANSFORMS class 2020-08-26 17:54:21 +00:00
origin_viewitem.cpp Fix invalid std::array constructor causing MSVC illegal indirection error 2020-01-20 01:30:26 +00:00
page_info.cpp Eeschema : Add A5 sheet size 2020-07-21 00:00:36 +00:00
painter.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
pcb.keywords ADDED: Group/Ungroup function 2020-08-11 19:37:07 +00:00
pcb_plot_params.keywords Implement changes for Sketch Pads to Fab Layers. 2020-05-01 18:49:42 +01:00
pgm_base.cpp Set launguage selection to be untranslated 2020-08-18 05:32:21 -07:00
prependpath.cpp
printout.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
project.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
properties.cpp
property_mgr.cpp Hook libeval compiler up to rule parser 2020-07-20 22:11:53 +01:00
ptree.cpp Remove all debugging output that cannot be disabled. 2020-08-18 10:17:36 -04:00
rc_item.cpp Fix typo where two footprint warning messages were transposed. 2020-08-22 16:20:18 +01:00
rc_item.h Migrate RC_ITEM to use shared_ptr 2020-08-13 14:50:59 +02:00
refdes_utils.cpp Fix broken GetReferencePrefix function 2019-01-30 15:41:36 -08:00
render_settings.cpp Flags cleanup. 2020-06-27 17:53:04 +01:00
reporter.cpp Better board-edge error reporting. 2020-08-17 23:55:31 +01:00
richio.cpp Uniformly quote strings which may have user content. 2019-04-07 00:24:10 +01:00
scintilla_tricks.cpp Fix nesting issues in the DRC rule expression code generator. 2020-08-13 18:36:10 +01:00
search_stack.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
searchhelpfilefullpath.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
single_top.cpp Ensure the environment variables are synchronized between KiCad and Python 2020-08-09 19:56:12 +01:00
status_popup.cpp Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
streamwrapper.cpp Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
string.cpp Convert smart quotes and dashes in reports to ASCII quotes and dashes. 2020-08-10 23:43:24 +01:00
strtok_r.c
systemdirsappend.cpp
template_fieldnames.cpp Fix some Coverity issues. 2020-04-06 12:31:59 +01:00
template_fieldnames.h Fix some Coverity issues. 2020-04-06 12:31:59 +01:00
template_fieldnames.keywords Variable substitution framework. 2020-03-30 14:15:59 +01:00
textentry_tricks.cpp Only reserve hotkeys for focused textCtrls that are editabled. 2020-07-14 13:30:43 +01:00
title_block.cpp Refactor common QA components to create a single common library 2020-07-18 16:21:15 +01:00
trace_helpers.cpp Fix Python environment variable handling 2020-08-12 00:14:19 +01:00
undo_redo_container.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
utf8.cpp Many callers of uni_forward are not expecting an exception. 2020-01-13 15:40:32 +00:00
validators.cpp Allow Net Inspector to create, rename and delete nets. 2020-07-11 21:19:49 +01:00
wildcards_and_files_ext.cpp Altium: Refactor and add initial structure for schematic importer 2020-08-23 19:01:08 +00:00
wxdataviewctrl_helpers.cpp
xnode.cpp Escape slashes in labels and netnames. 2019-04-07 00:24:10 +01:00