kicad/common
Jeff Young 45c7490180 Outline font performance improvements.
1) Don't fracture font glyphs when generating them; we're going
   to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
   It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303

(cherry picked from commit 4ed267394a)
2023-06-04 20:57:14 +01:00
..
database Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
dialog_about Update translator contributions 2023-04-03 13:07:33 -07:00
dialogs Lazy loading of Schematic Setup panels. 2023-05-28 19:38:27 +02:00
drawing_sheet Outline font performance improvements. 2023-06-04 20:57:14 +01:00
font Outline font performance improvements. 2023-06-04 20:57:14 +01:00
gal Outline font performance improvements. 2023-06-04 20:57:14 +01:00
jobs kicad-cli, pcbnew pàlot: honor the color options when ploting pdf files 2023-02-07 20:20:45 +01:00
kicad_curl Init curl in InitPgm for thread safety 2023-04-15 13:19:32 +00:00
libeval If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
libeval_compiler Bug fixes for handling boolean flags in DRC rules. 2023-06-02 00:20:11 +01:00
plotters Correct alpha blending in PDF plot 2023-05-11 16:27:15 -07:00
plugins Fix capitalization of text vars for Eagle importer. 2023-05-06 23:53:18 +01:00
preview_items Clear loop points when resetting polygon/zone draw. 2022-12-15 19:02:22 +03:00
project Don't try to open files multiple times 2023-05-10 16:09:32 +00:00
properties Prevent axes settings from affecting angles in properties panel. 2023-05-12 12:50:25 +00:00
settings Allow for settings to be added during load 2023-05-07 23:48:26 +03:00
swig Add vector3 to swig 2023-03-06 11:23:09 -08:00
tool Fix GitLab URLs to point to the correct project page 2023-05-17 13:42:48 +01:00
view Amend overly aggressive assert. 2023-04-17 17:52:28 +01:00
widgets Reset button applies to resolved page, not lazy page holder. 2023-05-28 19:38:27 +02:00
CMakeLists.txt Insta-prefs. 2023-05-28 19:38:27 +02:00
advanced_config.cpp Change the spacemouse driver flag to true for windows by default 2023-05-07 16:12:57 +00:00
array_axis.cpp Some more wxS 2023-01-15 21:32:23 -05:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Some more wxS 2023-01-16 19:07:50 -05:00
base64.cpp
base_screen.cpp Some more wxS 2023-01-16 19:07:50 -05:00
bin_mod.cpp
bitmap.cpp Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -05:00
bitmap_base.cpp OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps 2023-04-23 16:12:14 +02:00
bitmap_info.cpp Schematic: re-enable old break wire functionality, add slice 2022-12-19 15:55:59 -05:00
bitmap_store.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
board_printout.cpp Pcb printing: fix incorrect pos. of the board when printed without worksheet. 2023-02-08 11:05:31 +01:00
build_version.cpp Make version info work without lsb-release installed 2023-04-12 16:13:51 +01:00
callback_gal.cpp Improve appearance of stroked knockout text. 2023-06-04 20:56:05 +01:00
commit.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
common.cpp Allow variable recursion 2023-01-20 16:44:48 -08:00
config_params.cpp Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
confirm.cpp Fix cli crash due to dialogs buried in the pcb parser... 2023-03-24 23:53:15 +00:00
dialog_shim.cpp DIALOG_SHIM: fix missing aEvent.Skip() in DIALOG_SHIM::onChildSetFocus(). 2023-05-07 19:16:41 +03:00
draw_panel_gal.cpp Fix view shifting when infobar is shown. 2023-06-02 18:07:48 +03:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp Suppress signedness warning 2022-11-03 15:08:45 -07:00
eda_base_frame.cpp Pin preferences dialog size. 2023-05-28 19:38:27 +02:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Fix wxWidgets compilation issue. 2023-05-10 16:34:46 +00:00
eda_draw_frame.cpp Small improvements to lifecycle safety. 2023-04-16 18:49:53 +01:00
eda_item.cpp Properties: Rename methods to better reflect their purposes 2023-03-26 19:48:46 -04:00
eda_pattern_match.cpp Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
eda_shape.cpp EDA_SHAPE_DESC(): catch a std::runtime_error when emitted by 2023-03-20 16:21:54 +01:00
eda_text.cpp Outline font performance improvements. 2023-06-04 20:57:14 +01:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined 2023-02-28 14:21:12 +00:00
env_paths.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
env_vars.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
eseries.cpp Calculator eseries, remove trailing spaces from 3R and 4R 2023-01-16 17:18:21 +00:00
exceptions.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
executable_names.cpp wxS more things 2023-01-22 09:41:42 -05:00
file_history.cpp Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
filter_reader.cpp
footprint_filter.cpp Retire the lib-tree scoring algorithm. 2023-04-15 00:09:34 +01:00
footprint_info.cpp Some more wxS 2023-01-16 19:07:50 -05:00
fp_lib_table.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
gbr_metadata.cpp Some more wxS 2023-01-16 19:07:50 -05:00
gestfich.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
getrunningmicrosecs.cpp
gl_context_mgr.cpp wxS more things 2023-01-22 09:41:42 -05:00
gr_basic.cpp Workaround wxWidgets enforced min pen width by using transparent pen. 2023-02-14 14:45:24 +00:00
gr_text.cpp Separate text-thickness clamping into strict and lenient modes. 2022-09-08 00:28:30 +01:00
grid_tricks.cpp First <ESC> after an edit in a textEdit cancels the edit. 2023-05-04 11:52:02 +01:00
hash_eda.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
hotkey_store.cpp Gerber Viewer: gerbview -> Gerber Viewer in Settings 2022-07-26 18:42:55 +00:00
hotkeys_basic.cpp Some more wxS 2023-01-16 19:07:50 -05:00
html_window.cpp
kiface_base.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
kiid.cpp Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
kiway.cpp Move 3 more blocks to the common ex handler 2023-05-28 22:31:18 -04:00
kiway_express.cpp
kiway_holder.cpp
kiway_player.cpp Ensure the socket server is killed during destruction of the kiway player 2022-09-28 21:37:19 -04:00
languages_menu.cpp
launch_ext.cpp
layer_id.cpp Move courtyard collision setting to preferences. 2022-10-19 11:33:11 +01:00
lib_id.cpp Support sub-libraries in symbol library browser 2023-01-22 19:25:15 -05:00
lib_table.keywords Add versioning to lib tables 2023-01-23 22:21:12 +00:00
lib_table_base.cpp Fix crash by using a shared_mutex to read/write lock the nickIndex 2023-02-18 13:02:25 -05:00
lib_table_grid_tricks.cpp LIB_TABLE_GRID_TRICKS, popup context menu: fix minor issues: 2023-04-12 11:20:11 +02:00
lib_tree_model.cpp Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
lib_tree_model_adapter.cpp Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
locale_io.cpp Fix various typos 2022-07-21 16:31:41 +00:00
lockfile.cpp Formatting. 2022-10-16 18:39:37 +01:00
lset.cpp Treat internal copper layers as side-specific. 2022-10-25 12:08:57 +01:00
marker_base.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
markup_parser.cpp Remove unused vars 2022-09-18 08:49:07 -04:00
netclass.cpp pcbnew: Change some of the default settings in board setup and netclasses 2023-01-29 23:20:40 +00:00
netlist.keywords
newstroke_font.cpp Add "Letter-like character" Omega for Unicode x2126 2022-10-01 16:39:00 -07:00
observable.cpp
origin_transforms.cpp
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
painter.cpp
paths.cpp Get 3d plugins working for running from build dir 2022-09-08 21:49:10 -04:00
pcb.keywords Overhaul of remove-unconnected's zone filling and drawing strategies. 2022-10-18 13:05:42 +01:00
pcb_plot_params.keywords Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pgm_base.cpp Create a central exception handler we can also use to generate sentry events 2023-05-29 02:27:21 +00:00
printout.cpp
project.cpp wxS more things 2023-01-22 09:41:42 -05:00
ptree.cpp
rc_item.cpp Fix GitLab URLs to point to the correct project page 2023-05-17 13:42:48 +01:00
refdes_utils.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
render_settings.cpp Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
reporter.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
richio.cpp Add a sequential read flagged fopen helper 2023-05-29 13:36:06 -04:00
scintilla_tricks.cpp Add backspace modifier handling to SCINTILLA_TRICKS. 2023-05-08 18:41:13 +01:00
search_stack.cpp
searchhelpfilefullpath.cpp Don't use SystemDirsAppend on windows for finding the docs 2023-01-29 20:50:16 -05:00
single_top.cpp Create a central exception handler we can also use to generate sentry events 2023-05-29 02:27:21 +00:00
status_popup.cpp
streamwrapper.cpp
string_utf8_map.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
string_utils.cpp Markup fixes. 2023-04-17 17:52:11 +01:00
stroke_params.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
strtok_r.c
systemdirsappend.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
template_fieldnames.cpp Ignore empty field-name-templates. 2023-04-18 13:46:08 +01:00
template_fieldnames.keywords
textentry_tricks.cpp Add select-all to TEXT_ENTRY_TRICKS. 2023-05-04 11:52:02 +01:00
thread_pool.cpp Debugging aid. 2022-10-20 18:37:48 +01:00
title_block.cpp add CURRENT_DATE to text var autocomplete 2023-02-03 00:10:55 +00:00
trace_helpers.cpp More wxSing 2023-01-16 23:14:38 -05:00
transform.cpp Move DefaultTransform definition to transform.cpp, so it can be shared 2023-01-15 19:17:51 +01:00
undo_redo_container.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
utf8.cpp More wxSing 2023-01-16 23:14:38 -05:00
validators.cpp More wxSing 2023-01-16 23:14:38 -05:00
wildcards_and_files_ext.cpp More wxSing 2023-01-16 23:14:38 -05:00
wx_filename.cpp Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
wx_stl_compat.cpp Blacklist hashes for 2d integer elements 2022-08-26 08:43:37 -07:00
wxdataviewctrl_helpers.cpp Formatting. 2022-10-16 18:39:37 +01:00
xnode.cpp