Jeff Young
955774a91a
Amend overly aggressive assert.
2023-04-17 17:52:28 +01:00
Jeff Young
3217372720
Tighten up the lifecycle management of VIEW_ITEMs in
...
general, and the SYMBOL_VIEWER_FRAME's m_previewItem in
particular.
(Attempted fix for Sentry KICAD-G1.)
(cherry picked from commit 6f59740953
)
2023-04-16 15:38:15 +01:00
Marek Roszko
35def3ab2e
Prevent VIEW::UpdateItems and onShowTimer from firing repaints if GAL did not complete init
...
This appears to be a possible event race on startup
Fixes sentry KICAD-10A
(cherry picked from commit bfad8bb0d5
)
2023-04-12 02:10:34 +00:00
Seth Hillbrand
9ad2e9f25d
Standardize view checking
...
Uses wxCHECK* functions for mesage display and correct behavior when
encountering an invalid layer
2023-01-27 12:35:36 -08:00
jean-pierre charras
ff46b7b1e5
fix compil warnings
2023-01-27 18:25:09 +01:00
Seth Hillbrand
242b9855dd
Protect VIEW against oddball items
...
Importing may have more view layers than we allocate. In these cases,
we need to avoid accidentally writing to unallocated view layers
Fixes https://gitlab.com/kicad/code/kicad/issues/13638
2023-01-26 11:22:56 -08:00
Marek Roszko
d2c0f5fc2a
More wxSing
2023-01-16 23:14:38 -05:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Alex
cda855fcd6
Fix build error.
2022-11-19 04:10:38 +05:00
Alex
d3aed6c408
Optimize hot loop in UpdateItems.
2022-11-19 04:02:05 +05:00
Alex
dc07ab9df1
Replace PROF_COUNTER with PROF_TIMER in some conditional places.
2022-09-27 14:07:47 +00:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Mike Williams
ece9a782ac
Gerbview: unexceptional exception cleanups
2022-07-26 18:42:55 +00:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Seth Hillbrand
ac9693bb8d
Safely sort view layers
...
Changing view order of only some layers can cause overwriting of the
original layer if not pre-staged
Fixes https://gitlab.com/kicad/code/kicad/issues/10283
(cherry picked from commit 3e6bf7814b
)
2022-01-06 14:41:51 -08:00
Jeff Young
e92efebb5f
Formatting.
2021-12-24 11:39:57 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
dsa-t
cb482eb8eb
Symbol Fields Table: Highlight proper symbols even if they aren't annotated
2021-12-03 20:35:54 +00:00
Tomasz Wlostowski
4d2ce5c685
VIEW: don't create a GAL_UPDATE_CONTEXT if there's nothing to update
...
Avoid a very expensive glMapBuffer() call and greatly improves scrolling/redraw speed.
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
9add03dd88
VIEW: rebuild the R-trees from scratch if more than 30% of items require a geometry update.
...
(see comments in the code for detailed explanation)
2021-11-21 17:33:59 +01:00
Jeff Young
930c4e5582
Cleanup.
...
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Mike Williams
30987cebfe
Gerbview: fix cairo negative items and implement real differential mode
...
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.
Differential layers are basically the same thing only they use a
different copying operation onto the layers below.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Seth Hillbrand
09e1a0dc48
Increase maximum zoom for pcbnew and gerbview
...
Zoom levels remain the same but high zooms reachable by mouse wheel
Fixes https://gitlab.com/kicad/code/kicad/issues/7093
2021-06-11 14:26:38 -07:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Marek Roszko
cbad18ad98
Hide gal profiling behind KICAD_GAL_PROFILE cmake option
...
__WXDEBUG__ is too easy to get set
2021-04-30 19:24:36 -04:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Wayne Stambaugh
d96cccbf20
OpenGL GAL tracing improvements.
2021-03-22 17:45:49 -04:00
Jeff Young
6c3b02aabe
Cleanup (no functional changes).
2021-03-19 16:14:34 +00:00
Jeff Young
b2ac9cc29f
Formatting & naming conventions.
2021-03-15 19:04:59 +00:00
Seth Hillbrand
df573255e0
Fix crash when switching schematics
...
When switching schematics that causes an error message (for example if
the schematic needs repair), wx can refresh in between view updates,
leading to a null preview.
2021-02-16 10:12:30 -08:00
Wayne Stambaugh
6ab1144ea3
Fix broken Doxygen comment specifiers.
...
Please note, ///> is not a valid Doxygen comment specifier. ///< is the
correct specifier to use for single line or short Doxygen comments.
2021-01-25 07:42:36 -05:00
Werni
a7d5d1f091
Add more consts all over the place
2020-10-27 11:03:35 +00:00
Marek Roszko
df590b1109
Reduce the "default" maximum scale factor down a magnitude.
...
Testing reveals 25000 is absolute overkill. A 4mil trace at 2000 is already an entire GAL canvas on 1080p.
Eeschema already uses its own setting of 1000 max.
2020-10-19 19:06:09 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Jeff Young
ba26e056ec
Implement groups for modedit.
...
This uncovered a memory corruption bug in MODULE's move operator,
several bugs in MODULE's move and copy constructors, and a bug in
BOARD's GetItem() call.
It also bumps the file format for saving/restoring groups inside
footprints.
2020-10-03 12:19:50 +01:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
PJM
abdd1906c2
Change 'Zoom to Fit' margins and add 'Zoom to Objects'
...
CHANGED: The margin used in 'Zoom to Fit' is now 2% instead of 10%.
ADDED: Added 'Zoom to Objects' to Eeschema which does not include
the page and border in the bbox calculations.
CHANGED: Removed pre-existing code that tweaked the center to account
for the scrollbars. It actually made the view off center. Removing it
results in perfectly centered zooms.
Fixes https://gitlab.com/kicad/code/kicad/issues/5145
2020-09-16 00:53:39 +00:00
Jeff Young
57c3d8e8d8
Make sure preview group gets added to view after a clear.
2020-08-15 21:13:44 +01:00
Jeff Young
9716c62e32
Performance enhancements for PCBNew scrolling and zooming.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5136
2020-08-10 23:43:24 +01:00
Jeff Young
d586495c0a
Preview fp edges & text while dragging in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5037
2020-08-01 15:40:34 +01:00
Seth Hillbrand
5b8661f2ab
view: Check for viewData in IsVisible()
...
viewData can be NULL, make sure we verify it before dereferencing.
2019-10-15 09:44:16 -07:00
Jeff Young
8db8119564
Redraw selection halos after zooming.
...
Fixes: lp:1838869
* https://bugs.launchpad.net/kicad/+bug/1838869
2019-08-08 13:51:23 +01:00
Jeff Young
43be58a1ea
Fix bug in occulted centering logic.
2019-07-19 19:06:09 -06:00
Seth Hillbrand
0f1a11ef38
pcbnew: Cut only copied objects
...
Fixes a bug where objects where accessed after being freed by the cut
Fixes: lp:1811456
* https://bugs.launchpad.net/kicad/+bug/1811456
2019-01-11 17:27:29 -08:00
Seth Hillbrand
30521f0c57
gal: Fix zoom extents for large screens
...
When at small zoom levels, the integer bbox can overflow, preventing
redraw. We fix this by redrawing the full tree when this happens
Fixes: lp:1733067
* https://bugs.launchpad.net/kicad/+bug/1733067
2019-01-04 16:00:31 -08:00