kicad/pcbnew
Wayne Stambaugh eb3fd10af8 Fix obscured object selection issue in board and footprint editors.
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio".  It is turned off (1.0)
by default.  Value values are from 0.0 to less that 1.0.  From testing,
using a value between 0.1 and 0.3 produces the best results.

This fix uses normal alpha blending described in the link below.  The
current design only uses the alpha of the object's color.  It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.

https://en.wikipedia.org/wiki/Alpha_compositing

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
..
autorouter Centralize text size clamping. 2023-06-03 20:29:51 +01:00
board_stackup_manager Insert lazily-created-rows at right position in grid sizer. 2023-10-02 11:12:18 +01:00
connectivity Behave (or assert) when source or target are null or dirty. 2023-11-01 17:11:42 +00:00
dialogs String and dialog layout fixes. 2023-12-13 11:49:34 -05:00
drc Honour "report all errors" for track/edge collisions. 2023-12-10 23:04:57 +00:00
exporters Don't crash when OCC fails to read a model and didn't open the doc. 2023-12-06 03:16:46 +03:00
generators Remove undo-of-ungroup hack. 2023-12-17 15:35:35 +00:00
git Yet another workaround for libgit2 API changes 2023-12-11 16:21:18 -05:00
import_gfx String and dialog layout fixes. 2023-12-13 11:49:34 -05:00
microwave Cleanup. 2023-11-25 13:12:45 +00:00
navlib Introduce action friendly names 2023-10-27 23:58:29 +01:00
netlist_reader Remove undo-of-ungroup hack. 2023-12-17 15:35:35 +00:00
plugins Use FormatBool for PCB_GENERATOR serialisation 2023-12-14 21:22:59 +00:00
python Fix old python examples and a compatibility issue in pcb_shape.i. 2023-11-26 13:44:31 +01:00
ratsnest Behave (or assert) when source or target are null or dirty. 2023-11-01 17:11:42 +00:00
router PNS mitering: construct arcs from start, end, angle. 2023-12-17 05:47:07 +03:00
specctra_import_export Added a ImportSpecctraSession overload that doesn't require a PCB_EDIT_FRAME 2023-11-20 03:06:27 +00:00
teardrop ADDED: Git integration support 2023-10-20 12:51:47 +00:00
tools Fix obscured object selection issue in board and footprint editors. 2023-12-17 16:43:56 -05:00
widgets Move some PCB_GENERATOR special-cases to propMgr listeners. 2023-12-15 21:04:33 +00:00
CMakeLists.txt Added IPC2581 support 2023-11-26 15:30:58 -08:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp Fix crash when creating an array of footprint fields in board editor. 2023-11-18 11:18:18 -05:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board.cpp Re-factor frame pointer out of generator API. 2023-12-16 16:11:45 +00:00
board.h BOARD::GetBoardPolygonOutlines(): add option to add NPTH as board holes. 2023-12-13 08:31:29 +01:00
board_commit.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
board_commit.h Improve graphical feedback while placing a meander. 2023-10-09 15:22:41 +01:00
board_connected_item.cpp Use Title Case for property names 2023-11-29 01:23:35 +00:00
board_connected_item.h ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
board_design_settings.cpp Use default, not legacy, copper edge clearance as default 2023-12-02 23:25:06 -05:00
board_item.cpp Move some PCB_GENERATOR special-cases to propMgr listeners. 2023-12-15 21:04:33 +00:00
board_item_container.h
build_BOM_from_board.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
cleanup_item.cpp
cleanup_item.h
collectors.cpp Improve/fix Expand connection for graphics. 2023-12-04 09:52:31 +03:00
collectors.h Improve/fix Expand connection for graphics. 2023-12-04 09:52:31 +03:00
convert_shape_list_to_polygon.cpp Use SCOPED_FLAGS_CLEANER more carefully. 2023-12-09 19:24:51 +03:00
convert_shape_list_to_polygon.h Coding policy, Doxygen comment, and spelling fixes. 2023-10-12 12:27:30 -04:00
cross-probing.cpp ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
edit.cpp Fix a few Coverity warnings. 2023-11-25 11:44:01 +01:00
edit_track_width.cpp Hook up via size & drill constraints to editors. 2023-10-21 19:10:38 +01:00
edit_zone_helpers.cpp
files.cpp Don't set the dirty flag when saving 2023-11-27 11:57:31 -08:00
fix_board_shape.cpp Fix some warnings. 2023-10-31 04:25:19 +03:00
fix_board_shape.h Add a routine for joining PCB shapes. 2023-09-04 06:46:24 +03:00
footprint.cpp Fix bug where default courtyard outline set to 0 2023-12-08 13:31:13 -08:00
footprint.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
footprint_chooser_frame.cpp Implement ESC processing for choose footprint dialog. 2023-12-10 18:13:42 +00:00
footprint_chooser_frame.h Rewrite scoring algo again. (Third time's the charm?) 2023-11-08 12:33:09 +00:00
footprint_edit_frame.cpp Fix display of footprint parse errors at load 2023-11-29 16:17:41 +00:00
footprint_edit_frame.h FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config 2023-10-26 17:58:33 +02:00
footprint_editor_settings.cpp Separate Footprint Editor's sketch modes from PCB Editor's. 2023-10-26 10:59:26 +01:00
footprint_editor_utils.cpp Clearer naming. 2023-11-17 18:36:33 +00:00
footprint_info_impl.cpp Shove thread_pool to core 2023-09-06 17:50:12 -04:00
footprint_info_impl.h send multivector.h and sync_queue.h to core 2023-09-08 07:14:34 -04:00
footprint_libraries_utils.cpp Improve encapsulation of group internals. 2023-11-09 14:05:35 +00:00
footprint_preview_panel.cpp On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
footprint_preview_panel.h ADDED: lib tree previews. 2023-09-02 23:30:22 +01:00
footprint_tree_pane.cpp Cleanup. 2023-09-29 00:13:13 +01:00
footprint_tree_pane.h
footprint_viewer_frame.cpp NETINFO_ITEMs are owned by BOARD. 2023-10-04 21:01:33 +01:00
footprint_viewer_frame.h Cleanup. 2023-09-29 00:13:12 +01:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_wizard_frame.h Cleanup. 2023-09-29 00:13:12 +01:00
footprint_wizard_frame_functions.cpp Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
fp_text_grid_table.cpp PCB Fields: operate on field copies in dialogs 2023-12-11 09:37:23 -05:00
fp_text_grid_table.h PCB Fields: operate on field copies in dialogs 2023-12-11 09:37:23 -05:00
fp_tree_model_adapter.cpp Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places. 2023-08-20 12:27:37 +02:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Apply new on-canvas-item marking to footprint editor tree. 2023-11-20 19:46:03 +00:00
fp_tree_synchronizing_adapter.h Clearer naming. 2023-11-09 14:05:35 +00:00
fpedit.icns macOS: add a few more known file types 2023-11-16 12:11:42 -05:00
fpedit_doc.icns macOS: add a few more known file types 2023-11-16 12:11:42 -05:00
generate_footprint_info.cpp Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
generate_footprint_info.h
generators_mgr.cpp Introduce GENERATORS_MGR. 2023-10-08 02:41:17 +00:00
generators_mgr.h Introduce GENERATORS_MGR. 2023-10-08 02:41:17 +00:00
graphics_cleaner.cpp Fix minor compil and Coverity warnings (not initialized vars) 2023-10-23 20:13:46 +02:00
graphics_cleaner.h ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
grid_layer_box_helpers.cpp Replace __WXGTK20__ with __WXGTK__ 2023-04-12 18:57:12 +01:00
grid_layer_box_helpers.h
initpcb.cpp BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor. 2023-06-12 10:08:41 +01:00
invoke_pcb_dialog.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
io_mgr.cpp Added IPC2581 support 2023-11-26 15:30:58 -08:00
io_mgr.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
kicad_clipboard.cpp Add generator version 2023-11-29 16:17:41 +00:00
kicad_clipboard.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
load_select_footprint.cpp Improve encapsulation of group internals. 2023-11-09 14:05:35 +00:00
menubar_footprint_editor.cpp ADDED: put Renumber Pads in the edit menu. 2023-11-03 12:36:30 +00:00
menubar_pcb_editor.cpp 2581 enabled by default 2023-12-04 12:03:15 -08:00
netinfo.h Fix visibility of NET_INFO::SetParent 2023-12-11 10:07:28 +00:00
netinfo_item.cpp Set default netclass for newly-added no-net PNS items 2023-12-10 22:59:36 -05:00
netinfo_list.cpp NETINFO_ITEMs are owned by BOARD. 2023-10-04 21:01:33 +01:00
pad.cpp ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pad.h Add default parameter to GetEffectivePolygon() 2023-12-01 09:27:26 -08:00
pad_custom_shape_functions.cpp Cleanup. 2023-11-25 13:12:45 +00:00
pcb_base_edit_frame.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcb_base_edit_frame.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_base_frame.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
pcb_dimension.cpp Update copyrights. 2023-11-11 15:29:34 +00:00
pcb_dimension.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_draw_panel_gal.cpp Pcbnew, apparence control: add missing control of layer footprint confict 2023-09-15 10:31:25 +02:00
pcb_draw_panel_gal.h Formatting and warnings cleanup. (No functional changes.) 2023-04-16 15:36:21 +01:00
pcb_edit_frame.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
pcb_edit_frame.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
pcb_field.cpp ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_field.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_generator.cpp Re-factor frame pointer out of generator API. 2023-12-16 16:11:45 +00:00
pcb_generator.h Re-factor frame pointer out of generator API. 2023-12-16 16:11:45 +00:00
pcb_group.cpp Improve encapsulation of group internals. 2023-11-09 14:05:35 +00:00
pcb_item_containers.h Introduce PCB_GENERATOR. 2023-10-08 02:41:17 +00:00
pcb_layer_box_selector.cpp Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
pcb_layer_box_selector.h
pcb_marker.cpp
pcb_marker.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_origin_transforms.cpp Separate out axes definitions between ModEdit and PCBNew. 2023-10-25 15:01:36 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Pcbnew: draw shadow PCB_SHAPEs for locked items using continuous lines. 2023-12-10 15:36:33 +01:00
pcb_painter.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_plot_params.cpp Normalize formatting of booleans in the PCB file format 2023-11-29 16:17:41 +00:00
pcb_plot_params.h ADDED: plot control over FP text. 2023-08-15 16:56:46 +01:00
pcb_plot_params_parser.h
pcb_reference_image.cpp Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_reference_image.h Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Hide some irrelevant properties from DRC rule editor 2023-11-26 00:29:16 +00:00
pcb_shape.h Normalize rects higher up. 2023-10-29 11:45:16 +00:00
pcb_target.cpp ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_target.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_text.cpp ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_text.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_textbox.cpp Cleanup. 2023-11-25 13:12:45 +00:00
pcb_textbox.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
pcb_track.cpp Guard against UNDEFINED_LAYER in GetLayerSet 2023-11-30 17:08:48 -05:00
pcb_track.h Make sure Use-Netclasses checkbox gets set when loading dialog. 2023-11-18 12:18:45 +00:00
pcb_view.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
pcb_view.h
pcbexpr_evaluator.cpp Honour custom layer names for Layer_Top and Layer_Bottom. 2023-10-06 21:55:57 +01:00
pcbexpr_evaluator.h More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_functions.cpp Move CORNER_STRATEGY out of SHAPE_POLY_SET. 2023-10-06 15:42:50 +03:00
pcbnew.cpp Separate Footprint Editor's sketch modes from PCB Editor's. 2023-10-26 10:59:26 +01:00
pcbnew.icns
pcbnew_config.cpp NETINFO_ITEMs are owned by BOARD. 2023-10-04 21:01:33 +01:00
pcbnew_config.h Remove obsolete config_params.h includes 2023-09-25 20:40:29 -04:00
pcbnew_doc.icns
pcbnew_id.h Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
pcbnew_jobs_handler.cpp kicad-cli: only plot user selected copper layers 2023-12-12 11:00:49 -05:00
pcbnew_jobs_handler.h Add --drawing-sheet arg for various cli commands for overriding the project sheet 2023-08-31 19:53:23 -04:00
pcbnew_printout.cpp Save state of as-item-checkboxes checkbox. 2023-11-05 16:22:20 +00:00
pcbnew_printout.h Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_settings.cpp Added IPC2581 support 2023-11-26 15:30:58 -08:00
pcbnew_settings.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
pcbplot.cpp Add settings for plotting PDF property popups. 2023-04-30 18:10:04 +01:00
pcbplot.h Lazy context handling for SVG plotting. 2023-08-07 14:01:58 +01:00
plot_board_layers.cpp Add board layer view stack up sequence from front layer to back layer. 2023-12-11 15:07:58 -05:00
plot_brditems_plotter.cpp Cleanup. 2023-11-25 13:12:45 +00:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
plotprint_opts.h
plugin.cpp Added IPC2581 support 2023-11-26 15:30:58 -08:00
project_pcb.cpp On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
project_pcb.h On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
sel_layer.cpp Add hot key column on layer select dialog 2023-10-04 12:17:15 -04:00
toolbars_footprint_editor.cpp Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
toolbars_footprint_viewer.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_pcb_editor.cpp Functionally it's a "reference image". 2023-10-24 15:44:21 +01:00
tracks_cleaner.cpp Don't assume an error location for PAD::GetEffectivePolygon(). 2023-10-13 13:59:26 +01:00
tracks_cleaner.h
undo_redo.cpp Move a couple of stragglers to BOARD_COMMIT. 2023-12-17 21:01:31 +00:00
zone.cpp Improved clarity and comments. 2023-11-17 18:36:33 +00:00
zone.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
zone_filler.cpp Make sure to add enough wiggle room when MaxError is very large. 2023-11-04 23:11:51 +00:00
zone_filler.h
zone_settings.cpp Fix build (broken in 90ff331c) 2023-06-10 14:21:10 +02:00
zone_settings.h Pcbnew: do not display the outlines of a very special zone used by DRC 2023-10-13 14:25:49 +02:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp
zones_functions_for_undo_redo.h