Jeff Young
2f47857abc
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
(cherry picked from commit 25f06eed8c
)
2022-11-29 23:05:50 +00:00
Seth Hillbrand
2029fc4e8f
Don't use modifiers when moving with keyboard
...
The modifier keys on the keyboard control the motion spacing (Ctrl) and
shouldn't be confused with the modifier key used to disable grid
snapping when moving with the mouse (also Ctrl)
Fixes https://gitlab.com/kicad/code/kicad/issues/13027
(cherry picked from commit 4f6b853756
)
2022-11-28 11:06:24 -08:00
Mark Roszko
030a562ba6
Fix autopan sticking on Windows due to lost events
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11425
2022-09-07 14:30:59 +00:00
Seth Hillbrand
70b69af313
Hide cursor while warping on Wayland
...
Based on https://gitlab.freedesktop.org/xorg/xserver/-/issues/734 we
hide the window cursor prior to warping, which allows XWayland to
reposition the cursor. This is only performed when Wayland is detected;
all other configurations call the standard warp routine
Fixes https://gitlab.com/kicad/code/kicad/issues/9785
(cherry picked from commit a118f20464
)
2022-09-06 10:13:40 -07:00
Seth Hillbrand
7128f6adf0
Prevent focus stealing in some Linux WMs
...
OnEnter events will only raise the windows within KiCad rather than
between applications
Fixes https://gitlab.com/kicad/code/kicad/issues/10809
(cherry picked from commit 110728af48
)
2022-06-13 10:18:13 -07:00
dsa-t
fdfe5a813e
Clamp cursor to limits of coordinates representation
...
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
(cherry picked from commit 68655540eb
)
2022-04-04 13:38:50 -07:00
Seth Hillbrand
e18fc36646
wxT rework for common directory
2022-02-04 16:24:50 -08:00
Jeff Young
2425444947
Map zone layers before checking their visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
(cherry picked from commit 09d0f6e17c
)
2022-02-03 15:00:39 +00:00
Seth Hillbrand
3e6bf7814b
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
2022-01-06 14:41:10 -08:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05: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
8f0104f921
Fix case of CLion getting a little carried away.
2021-07-04 16:23:57 +01:00
Jeff Young
c11ee69499
Save 3D prefs after editing, and load some of them into FP Props.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01: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
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00: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
69d7a23e1c
Start cleaning out wx/wx.h in cpp files
2021-06-07 18:20:47 -04:00
Tomasz Wlostowski
2b955437b6
VIEW_OVERLAY: add Get[Fill/Stroke]Color methods.
2021-05-31 00:15:16 +02:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02: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
jean-pierre charras
1bfa3dc6a5
Fix an annoying issue (wxMSW specific) about X_VIEW_CONTROLS::CaptureCursor()
...
On MSW, CaptureMouse() was sometimes called event if the GAL panel has
captured the mouse (that was not accepted by wxMSW), although HasCapture()
returns false.
(Perhaps some race condition between events)
The fix add a flag to avoid calling twice CaptureMouse() after only one
wxEVT_MOUSE_CAPTURE_LOST event was received.
Fixes #8239
https://gitlab.com/kicad/code/kicad/issues/8239
2021-04-19 21:23:07 +02: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
Jon Evans
cc8413c841
Tweak default zoom settings for Windows
...
Acceleration seems to be worse than constant on many
systems, so let's turn it off by default.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5434
2021-03-21 19:46:23 -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
jean-pierre charras
10990f8e81
Fix a minor compil and a minor Coverity warnings.
2021-02-26 15:33:50 +01:00
Tomasz Wlostowski
a9c54c10a2
VIEW_OVERLAY: support for bitmap text
2021-02-25 17:18:23 +01: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
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
mitxela
886cad43bd
Cancel drag action when focus is lost
2021-01-27 03:33:22 +00: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
mitxela
16c7180ff5
Remove SetGrabMouse and revert some behaviours
2021-01-23 13:35:39 +00:00
mitxela
905fd63c9f
Fix autopanning behaviour for left-click-drag
2021-01-23 13:35:39 +00:00
mitxela
f7cd21c70d
Move windows-specific mouse capture stuff into ifdefs
2021-01-23 13:35:39 +00:00
mitxela
bfd7a9e956
Suppress assertions caused by closing the window while mouse is captured
...
Closing the window while dragging with unsaved changes causes a dialog box, triggering a capture-lost event. Closing the window while dragging without unsaved changes causes an assertion about destroying a window with mouse capture.
2021-01-23 13:35:39 +00:00
mitxela
39be962a69
Restructure mouse capture to avoid recapture asserts
2021-01-23 13:35:39 +00:00
jean-pierre charras
fed56572f8
Refinements and fixes in auto-pan.
...
Add comments.
Fix incorrect comparison.
Fix a too fast auto-pan speed when auto-pan acceleration was not set to the minimal value.
2021-01-19 10:45:41 +01:00
mitxela
744d745ee5
Allow endless panning
...
Warp the cursor if it leaves the window while panning, to allow endless motion.
2021-01-18 22:07:59 +00:00
Ian McInerney
44655b98de
Initialize variables properly
2021-01-18 18:35:10 +00:00
Jeff Young
50889a9ed6
Promote mouse drag settings to full enums.
2021-01-11 22:09:36 +00:00
Jeff Young
6c648df4c6
Support 3 drag vs. select options, and unifiy with other drag prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00