kicad/include
Jeff Young 16f286735d Cache LIB_PIN text extents for performance.
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.

And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.

Also reverts using the cache for drawing-sheet text.  The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).

And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().

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

(cherry picked from commit f35a88ce0b)
2023-06-04 21:11:06 +01:00
..
bitmaps Schematic: re-enable old break wire functionality, add slice 2022-12-19 15:55:59 -05:00
cli Fix commit 0a881e09, not working on wxWidgets 3.1.5/msys2 2022-12-08 15:39:10 +01:00
core Excise the remaining occurrences of "Alias" for derived symbols. 2022-11-16 18:37:40 +00:00
database DbLib: Allow inheriting field properties from source symbol 2022-11-09 21:24:31 -05:00
dialogs Insta-prefs. 2023-05-28 19:38:27 +02:00
drawing_sheet Cache LIB_PIN text extents for performance. 2023-06-04 21:11:06 +01:00
font Cleanup text alignment between version 6 and 7 2023-05-17 15:29:49 -07:00
gal Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -05:00
kicad_curl Init curl in InitPgm for thread safety 2023-04-15 13:19:32 +00:00
libeval Properties: update evaluator locale when creating editors 2022-12-06 17:56:33 -05:00
libeval_compiler Bug fixes for layer expression processing. 2022-09-16 14:14:43 +01:00
plotters plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings 2023-03-01 10:45:23 +01:00
plugins Get rid of anonymous struct typedefs 2021-07-01 18:28:41 -04:00
preview_items Improve H/V/45 deg mode when drawing zones and polygons. 2022-12-09 19:11:56 +03:00
project Store netclass visibility separately from nets 2022-10-01 19:54:13 -04:00
properties Bug fixes for handling boolean flags in DRC rules. 2023-06-02 00:20:11 +01:00
settings Remove locks from settings 2023-05-03 17:25:17 +00:00
tool Clean up handling of selection changes 2023-01-21 17:37:29 -05:00
view Tighten up the lifecycle management of VIEW_ITEMs in 2023-04-16 15:38:15 +01:00
widgets Lazy loading of Schematic Setup panels. 2023-05-28 19:38:27 +02:00
advanced_config.h Add ability to update subgraphs based on changeset 2023-04-25 11:32:04 -07:00
array_axis.h Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
array_options.h Move EDA_ANGLE to KiMath lib 2022-01-14 17:12:24 -08:00
asset_archive.h Get rid of anonymous struct typedefs 2021-07-01 18:28:41 -04:00
base64.h Plot SVG embedded 2019-12-08 08:57:33 -08:00
base_screen.h Update BASE_SCREEN to VECTOR2I 2022-01-01 11:30:33 -05:00
base_units.h Readability improvements. 2022-09-19 11:18:20 +01:00
bin_mod.h Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
bitmap_base.h OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps 2023-04-23 16:12:14 +02:00
bitmap_store.h Add support mode for dark mode to SCINTILLA_TRICKS. 2021-09-14 00:18:50 +01:00
bitmaps.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
board_design_settings.h Move automatic dimension processing inside PCB_DIMENSION_BASE. 2023-03-12 21:04:09 +00:00
board_item.h Improve zone-layer-connections terminology and comments. 2023-02-05 17:39:42 +00:00
board_printout.h More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
build_version.h Avoid rebuilding with each commit 2023-01-04 11:32:15 -08:00
callback_gal.h ADDED: knockout pcb and fp text. 2022-03-08 13:22:20 +00:00
class_draw_panel_gal.h Improve canvas responsiveness by better swap interval management. 2022-11-18 00:32:25 +05:00
collector.h More EDA_RECT expungification, and an attempt to fix the python test. 2022-08-31 17:19:48 +01:00
commit.h More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
common.h Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
config_map.h
config_params.h Header clean up round 1. 2020-12-18 09:04:26 -05:00
confirm.h Fix cli crash due to dialogs buried in the pcb parser... 2023-03-24 23:53:15 +00:00
dialog_shim.h First <ESC> after an edit in a textEdit cancels the edit. 2023-05-04 11:52:02 +01:00
dsnlexer.h Revert "Simplify the generated lexers to the use of a templated class" 2022-08-21 18:45:09 -04:00
eda_base_frame.h Move to requiring explicit action to save project settings 2023-03-24 11:49:50 -07:00
eda_dde.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
eda_doc.h Fix eda_doc not looking for schematic locally 2022-05-10 21:28:48 -04:00
eda_draw_frame.h Support SHEET_PATH when printing. 2023-03-14 11:56:33 +00:00
eda_item.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
eda_item_flags.h Be more discerning about dirtying zones for auto-refill. 2023-01-13 19:09:22 +00:00
eda_list_dialog.h Size columns after we've restored saved size of dialog. 2023-01-06 14:33:44 +00:00
eda_pattern_match.h Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
eda_search_data.h Reinstate marker searching. 2022-11-20 13:12:44 +00:00
eda_shape.h Separate creation of polygons for open and closed shapes. 2022-11-27 18:29:41 +00:00
eda_text.h Cache LIB_PIN text extents for performance. 2023-06-04 21:11:06 +01:00
eda_tools.h Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.h When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined 2023-02-28 14:21:12 +00:00
enum_vector.h Implement iterator_traits in ENUM_ITERATOR 2022-11-20 22:07:39 +01:00
env_paths.h Normalize drawing sheet path to env vars & prj, not just prj. 2021-10-02 23:39:45 +01:00
env_vars.h Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
eseries.h Move eseries helper class to common. 2022-12-29 18:05:57 +00:00
executable_names.h
file_history.h Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.h Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
filter_reader.h Cleanup wx includes in the filter reader 2021-06-04 01:26:58 +01:00
fmt.h database_connection.cpp: Fix compil issues on msys2. these issues are 2022-08-26 18:15:57 +02:00
footprint_editor_settings.h Expose changing arc edit mode in arc button context menu and Preferences 2022-12-05 21:28:16 +03:00
footprint_filter.h Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
footprint_info.h ADDED: Threadpool 2022-06-24 22:59:24 +00:00
fp_lib_table.h Fp editor: do not change item UUIDs when loading a footprint from library. 2021-03-30 12:58:22 +02:00
frame_type.h Move gerbview colors to preferences dialog. 2022-09-10 16:11:24 +01:00
gbr_metadata.h Header clean up round 2. 2020-12-19 13:55:28 -05:00
gbr_netlist_metadata.h More wxT-ification. 2022-02-09 17:04:32 +00:00
gestfich.h Remove printing files from Project Manager 2021-11-12 20:18:32 +00:00
gl_context_mgr.h Fix broken Doxygen comment specifiers. 2021-01-25 07:42:36 -05:00
gl_utils.h fix a #pragma syntax on mingw/gcc 2023-02-08 20:29:04 +01:00
gr_basic.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
gr_text.h Split another couple of hairs in the never-ending "how big is a font". 2022-12-12 17:37:17 +00:00
grid_tricks.h Fix GCC build error. 2022-09-09 09:17:26 -04:00
hash_eda.h Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
hashtables.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
hotkey_store.h All the preferences, all the time. 2021-12-24 13:08:44 +00:00
hotkeys_basic.h Hotkeys: show user config for unloaded KiFACEs 2022-07-05 13:37:45 +00:00
html_window.h Substitute all wxHtmlWindow with HTML_WINDOW 2021-10-12 07:07:15 +00:00
i18n_utility.h
id.h Try a slightly different tack for cancelling net highlighting. 2022-07-19 10:31:49 +01:00
ignore.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
import_export.h
inspectable.h Properties: move to custom editor for distances; refactoring 2022-11-06 11:40:45 -05:00
intrusive_list.h Fix broken Doxygen comment specifiers. 2021-01-25 07:42:36 -05:00
ki_exception.h Fix source comment/doc typos (follow-up) 2021-07-13 10:48:17 +00:00
kiface_base.h PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
kiface_ids.h All the preferences, all the time. 2021-12-24 13:08:44 +00:00
kiid.h Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
kiway.h PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
kiway_express.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.h Protect the Kiway dereference 2022-07-14 11:37:45 -07:00
kiway_mgr.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_player.h Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
launch_ext.h Fix opening files with spaces on Linux 2021-11-07 14:31:14 +00:00
layer_ids.h Move zone borders back to their "host" layer. 2022-11-05 16:50:54 +00:00
lib_id.h Support sub-libraries in symbol library browser 2023-01-22 19:25:15 -05:00
lib_table_base.h Fix crash by using a shared_mutex to read/write lock the nickIndex 2023-02-18 13:02:25 -05:00
lib_table_grid.h Allow hiding symbol library tables from symbol chooser 2022-08-26 20:18:40 -04:00
lib_table_grid_tricks.h Add Make selected active/inactive actions to the symbol libraries 2022-06-21 23:32:02 +00:00
lib_tree_item.h Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
lib_tree_model.h ADDED: Dynamic field columns in symbol chooser 2022-09-05 16:38:14 -04:00
lib_tree_model_adapter.h Retire the lib-tree scoring algorithm. 2023-04-15 00:09:34 +01:00
locale_io.h Quiet gcc and clang warnings 2022-06-22 08:55:44 -07:00
lockfile.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
logging.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
macros.h More wxT-ification. 2022-02-09 17:04:32 +00:00
macros_swig.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
mail_type.h PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
marker_base.h More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
markup_parser.h Markup fixes. 2023-04-17 17:52:11 +01:00
menus_helpers.h Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
multivector.h More wxT-ification. 2022-02-09 17:04:32 +00:00
netclass.h Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
newstroke_font.h
observable.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
origin_transforms.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
origin_viewitem.h Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
outline_mode.h python wrap: fix undefined FILLED/SKETCH constants in pcbnew.py 2020-10-21 13:23:06 +02:00
pad_shapes.h Minor cleanup. 2022-04-24 23:54:01 +01:00
page_info.h Commonize page_info by simply making the Iu scale a parameter on call. 2022-08-27 13:36:00 -04:00
painter.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
panel_hotkeys_editor.h Expunge update UI event handler from paged dialog object. 2021-12-27 18:40:12 -05:00
panel_text_variables.h Variable substitution framework. 2020-03-30 14:15:59 +01:00
paths.h Simplify locale data path setting... 2022-02-21 13:08:29 -05:00
pcb_base_frame.h Update dimension units when opening PCBs in CLI. 2023-03-14 11:56:33 +00:00
pcb_display_options.h PCB: Add bitmap layer per board layer 2022-07-14 11:23:23 +00:00
pcb_group.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_screen.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
pgm_base.h Create a central exception handler we can also use to generate sentry events 2023-05-29 02:27:21 +00:00
policy_keys.h Add policy to enable/disable pcm 2022-04-12 10:08:34 -04:00
printout.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
profile.h Add legacy CTOR for PROF_COUNTER 2021-12-15 12:52:08 -08:00
progress_reporter.h Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
project.h Cleanup 3D caches before d'tors run. 2022-12-05 22:39:09 +00:00
ptree.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
rc_item.h Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
refdes_utils.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
render_settings.h Reduce compiler warnings. 2022-12-13 00:47:19 +00:00
reporter.h Remove all wxWidgets build dependencies from REPORTER object header. 2021-08-16 07:49:39 -04:00
richio.h More robust file reading for simulator files. 2023-04-24 13:53:22 +01:00
scintilla_tricks.h A right-to-left single-char sel followed by typing leaves cursor the same. 2022-04-07 11:51:58 +01:00
scoped_set_reset.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
search_stack.h Fix broken search stack behavior. 2021-11-13 07:52:25 -05:00
status_popup.h Work around focus issues for status popups. 2022-09-04 21:08:01 +01:00
streamwrapper.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
string_utf8_map.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
string_utils.h Handle legacy libraries with escaped symbol names. 2023-04-15 22:31:49 +01:00
stroke_params.h Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
sync_queue.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
systemdirsappend.h Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
template_fieldnames.h Refresh schematic's copy of template fieldnames after preferences. 2023-01-24 00:07:40 +00:00
textentry_tricks.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
thread_pool.h ADDED: Threadpool 2022-06-24 22:59:24 +00:00
title_block.h Fix issue with predefined variable texts ${COMMENT0} to ${COMMENT9} 2021-02-21 18:29:14 +01:00
trace_helpers.h Schematic import bug fix. 2022-12-15 09:58:39 -05:00
transform.h More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
undo_redo_container.h Fix missing include 2022-11-15 23:30:01 -05:00
units_provider.h Cleanup 3D caches before d'tors run. 2022-12-05 22:39:09 +00:00
utf8.h Start expunging NULL. 2021-07-15 15:44:45 -04:00
validators.h WIP: Properties GUI 2022-08-22 21:32:32 -04:00
wildcards_and_files_ext.h Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
wx_filename.h Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
wxdataviewctrl_helpers.h
wxstream_helper.h Use heap instead of stack for CopyStreamData 2021-11-10 22:05:44 -05:00
xnode.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
zoom_defines.h Increase maximum zoom for pcbnew and gerbview 2021-06-11 14:26:38 -07:00