Seth Hillbrand
dc4125206b
GAL: Add a selected item layer
The selected items should be displayed above the rest of the items but
below informational overlays.
Fixes: lp:1789505
* https://bugs.launchpad.net/kicad/+bug/1789505
7 years ago
Seth Hillbrand
cc26da394a
Code formatting and fix ordering warning
7 years ago
Tomasz Wlostowski
2186db976b
VIEW: added support for VIEW_OVERLAYS (temporary overlays for drawing debug graphics)
x
7 years ago
Jeff Young
6ad37972c0
Don't center objects behind the DRC dialog.
(cherry picked from commit d5bb39f)
8 years ago
Maciej Suminski
44337dec56
pcbnew GAL: Fix bouncing zoom on mouse wheel scroll in Windows
Handling wxEVT_SCROLLWIN_LINE{UP,DOWN} executes the scroll event handler
too many times causing zoom bounces.
Fixes: lp:1562173
* https://bugs.launchpad.net/kicad/+bug/1562173
8 years ago
Seth Hillbrand
5de246c5be
Add handlers for scrollbar events
Fixes: lp:1776120
* https://bugs.launchpad.net/kicad/+bug/1776120
8 years ago
John Beard
58814e838d
Common: Fix -Wcatch-value warnings (catching exceptions by value)
This fixes some warnings on GCC 8.1:
warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
catch( std::out_of_range )
^~~~~~~~~~~~
This fix is along the same lines as:
* ff1802d7a "Fix Coverity "Big parameter passed by value" warnings"
8 years ago
Seth Hillbrand
fe1f837d0c
Limit zoom out
We limit the minimum zoom to Z=0.3. Minimum preset zoom level is 0.31,
so 0.3 is only reachable using the mouse wheel. Smaller than 0.18, GAL
does not display properly.
Fixes: lp:1773215
* https://bugs.launchpad.net/kicad/+bug/1773215
8 years ago
Jeff Young
cd5f727880
Fix off-by-1 errors in zoom menus & use zoom steps in GAL canvas.
Also bumps the maximums a bit (at user request).
Fixes: lp:1773215
* https://bugs.launchpad.net/kicad/+bug/1773215
8 years ago
Maciej Suminski
439cc6a967
Remove redundant window scroll event handlers in WX_VIEW_CONTROLS
The only required scroll event handler is wxEVT_SCROLLWIN_THUMBTRACK,
which is responsible for dragging the scrolling sliders. One of the
remaining ones is also called when mousewheel is scrolled (MSW only) and
due to that overrides the new view setting with view settings computed
from the sliders position.
Fixes: lp:1767604
* https://bugs.launchpad.net/kicad/+bug/1767604
8 years ago
Jon Evans
1dd4af2972
Sort VIEW_GROUP drawing by layer order
Fixes: lp:1757146
* https://bugs.launchpad.net/kicad/+bug/1757146
8 years ago
Jon Evans
37beb726e3
GerbView: Implement in-place GAL layer reordering (for X2 sorting)
8 years ago
Maciej Suminski
ad6571a508
GAL profiling: changed wxLogDebug() to wxLogTrace() for DRAW_PANEL_GAL
8 years ago
Jon Evans
e21f18a176
Don't use the RTREE in UpdateAllLayersOrder() / UpdateAllLayersColor()
Since we are going to inspect every item for these calls, we don't
need to use the RTREE search, which is expensive with high item count.
This results in ~50% improvement in layer switching time in GerbView
when working with a set of large Gerber files.
8 years ago
Jon Evans
4ec7a02ccd
Add a method to conditionally update VIEW_ITEMs (GerbView performance)
8 years ago
Jon Evans
d7bb83ddcb
Add a REPAINT flag for faster redraw when bounding box hasn't changed
8 years ago
Jon Evans
b90528a7ae
Fix regression in GerbView display settings; some optimization too
8 years ago
Maciej Suminski
21a2c8d562
Fix cursor control with arrow keys
Fixes: lp:1749328
* https://bugs.launchpad.net/kicad/+bug/1749328
8 years ago
Maciej Suminski
365ab99a6a
GAL: update cursor position on panning and scrolling
Fixes: lp:1749082
* https://bugs.launchpad.net/kicad/+bug/1749082
8 years ago
Jon Evans
9452c61462
Use vector instead of bitset for VIEW_ITEM_DATA layer storage
Shows 10-15% speed improvement in rendering large files in MacOS
8 years ago
jean-pierre charras
d00fafe2ab
GAL mode: Ensure a minimal zoom level change on mouse wheel, especially when canvas redraw takes a long time (more than 100ms)
Previously, the zoom level change could be very small ( <= 1.05, that is a very small zoom level change), especially for large boards.
8 years ago
jean-pierre charras
47d392d83e
Fix incorrect name (typo) of a method.
8 years ago
jean-pierre charras
6014307d06
Pcbnew, DRC dialog: Fix a few issues:
Gal mode: graphic cross-air cursor moved on items when clicking on & DRC error, like in legacy mode.
Make popup menu shown when right clicking on a DRC error item working.
8 years ago
Jon Evans
53ae5c36f4
Flip horizontal scrollbar behavior in flipped board view mode
Fixes: lp:1741327
* https://bugs.launchpad.net/kicad/+bug/1741327
8 years ago
Julius Schmidt
9df938484a
support "disable autopan" with gal canvas
Fixes: lp:1670712
* https://bugs.launchpad.net/kicad/+bug/1670712
8 years ago
Tomasz Włostowski
41f9c19b7d
pcbnew: editing outlines now works in flipped view mode
Fixes: lp:1731978
* https://bugs.launchpad.net/kicad/+bug/1731978
8 years ago
Tomasz Włostowski
b76a6210c5
pcbnew: fixed stuck cursor when ForceCursorPosition() is active and cursor is moved by keyboard arrows
Fixes: lp:1729301
* https://bugs.launchpad.net/kicad/+bug/1729301
8 years ago
Marvin Schmidt
69974b73db
Remove some extra semicolons
8 years ago
Tomasz Włostowski
c9817df9db
refactoring: implemented BOARD-specific view Add()/Remove()/Update() methods in PCB_VIEW, moved to libpcbcommon
8 years ago
Maciej Suminski
6006b54dd9
Fixed a crash when editing a pad of a bottom layer module
Fixes: lp:1720007
* https://bugs.launchpad.net/kicad/+bug/1720007
8 years ago
Jon Evans
9383987b1c
Skip calling RTREE::Remove() when adding items to a VIEW
8 years ago
Jon Evans
0b9b8d3e93
Add support for reversed draw order and Cairo negative draw mode
8 years ago
Maciej Suminski
df472e6426
Added mouse position refresh event WX_VIEW_CONTROLS::WarpCursor()
8 years ago
Michael Geselbracht
da037027fb
Do not warp viewport when dragging FPs
Fixes: lp:1714611
* https://bugs.launchpad.net/kicad/+bug/1714611
8 years ago
Jon Evans
d9396616ef
Add support for panning with left and right mouse buttons
8 years ago
jean-pierre charras
cf178fd20a
add a wxASSERT just in case.
8 years ago
Jon Evans
5364cd9681
Improved zoom behavior on MacOS
8 years ago
Jon Evans
49a3e7ec2d
Support scrollbar controls in GAL canvas
8 years ago
Maciej Suminski
31ef52a365
Fix fine-grid cursor movement using arrow keys
Fixes: lp:1497976
* https://bugs.launchpad.net/kicad/+bug/1497976
8 years ago
Maciej Suminski
b5db6a7d5d
Map/unmap vertices once per layer order update
Multiple memory map/unmap operations cause a significant delay on
GPUs that fetch vertices from RAM.
Fixes: lp:1701936
* https://bugs.launchpad.net/kicad/+bug/1701936
8 years ago
Maciej Suminski
ef22c2589d
Store forced cursor position in VC_SETTINGS
8 years ago
Oliver Walters
161045f17d
Speed improvement for select / deselect in GAL
- No longer invalidates the item layers
- For multiple items, this results in a drastic speed improvement
8 years ago
Maciej Suminski
08c4a0bc7b
Fixed SELECTION_TOOL::selectCursor()
In the previous version the method did not work correctly
when an action was invoked from context menu. In such case,
the cursor position was obtained in the moment of selecting
the action, instead of using the right click location.
8 years ago
Maciej Suminski
dcc803ecb1
VIEW_CONTROLS::GetMousePosition() returns the mouse position in world coordinates.
9 years ago
Maciej Suminski
481fd233d4
Enable cursor snapping by default
Fixes: lp:1671869
* https://bugs.launchpad.net/kicad/+bug/1671869
9 years ago
Maciej Suminski
74847bf8ff
Code formatting and clean-up
9 years ago
Maciej Suminski
bf590780b8
Do not store 'force cursor position' setting in VIEW_CONTROLS::SETTINGS
Fixes: lp:1678875
* https://bugs.launchpad.net/kicad/+bug/1678875
9 years ago
jean-pierre charras
6eb2000b69
fix Coverity warning (CID 151565) (CID 155147)
9 years ago
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
9 years ago
John Beard
78a5185857
Allow GAL cursor to be always displayed
A new items is added to the GAL display options (and the dialog), and a
hotkey (Ctrl+Shift+x) is added to toggle it.
Fixes: lp:1673633
* https://bugs.launchpad.net/kicad/+bug/1673633
9 years ago