Jeff Young
fec8ab372e
Don't set the viewport when switching screens.
...
That's the job of ZoomAutomatique().
Fixes: lp:1799436
* https://bugs.launchpad.net/kicad/+bug/1799436
2018-11-04 19:17:53 +00:00
Maciej Suminski
64da77538f
Fix bitmap scale in printouts
...
Display GALs had an incorrect world unit value set. Now the world unit
value says how many internal units are in an inch, in accord with the comments
in the GAL header. Bitmap drawing code relied on the information about DPI,
so scaling worked differently for display and print GALs.
2018-10-31 19:17:30 +01:00
Maciej Suminski
1cce194c8a
Handle layer settings in printouts
2018-10-31 19:17:30 +01:00
Maciej Suminski
f948e46330
VIEW: changed wxASSERTs to wxCHECKs
2018-10-31 19:17:29 +01:00
Maciej Suminski
17205b4599
Added VIEW::DataReference() for sharing data with another VIEW instance
2018-10-31 19:17:29 +01:00
Jeff Young
16925cc74e
Implement RAII locking for GAL updating.
...
Fixes a crash when typing fast in the place footprint filter box.
Also adds a bunch more checking to GAL locking, including making
sure the same person unlocks as locked, and preventing piece-meal
calls (the RAII objects must be used).
2018-10-26 23:02:05 +01:00
Seth Hillbrand
a16e21665a
view_layers: Initialize variables
...
Fixes a couple spots where uninitialized variables cause unknown results.
2018-10-11 14:08:35 -07:00
jean-pierre charras
37c2743fec
Fix a minor compil warning.
2018-10-09 17:03:43 +02:00
John Beard
c75d4b9ba1
Fix -Wreorder warning in common view-overlay.cpp
...
Simple fix - m_radius comes after m_{start,end}Angle in the class member list.
2018-10-09 11:08:56 +01:00
Jeff Young
e2ea9b772a
Fix offset issue when moving text.
2018-10-09 11:08:56 +01:00
Tomasz Wlostowski
ef1f01a8bd
VIEW: use BOX2D for view boundary
2018-10-09 11:08:52 +01:00
Tomasz Wlostowski
26177efba0
VIEW_GROUP: correctly calculate group extents
2018-10-09 11:08:52 +01:00
Seth Hillbrand
ceca3e526c
view: Do not include hidden items in query
...
When querying the view, we do not want to including items that are not
on layers that are currently visible. This routine is currently only
used by the selection tool (pcbnew and gerbview) and the grid helper.
Both expected this logic but were indifferent to the additional items.
Fixes: lp:1796403
* https://bugs.launchpad.net/kicad/+bug/1796403
2018-10-05 16:45:38 -07:00
Jeff Young
66848b9334
Show pads when parent footprint is selected.
...
Fixes: lp:1670090
* https://bugs.launchpad.net/kicad/+bug/1670090
2018-09-23 23:51:13 +01:00
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
2018-08-28 15:00:05 -07:00
Seth Hillbrand
cc26da394a
Code formatting and fix ordering warning
2018-08-27 08:38:58 -07:00
Tomasz Wlostowski
2186db976b
VIEW: added support for VIEW_OVERLAYS (temporary overlays for drawing debug graphics)
...
x
2018-08-24 14:42:49 +02:00
Jeff Young
6ad37972c0
Don't center objects behind the DRC dialog.
...
(cherry picked from commit d5bb39f)
2018-07-17 15:09:43 +01:00
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
2018-06-20 16:55:14 +02:00
Seth Hillbrand
5de246c5be
Add handlers for scrollbar events
...
Fixes: lp:1776120
* https://bugs.launchpad.net/kicad/+bug/1776120
2018-06-12 08:53:50 -07:00
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"
2018-06-05 11:46:17 +02:00
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
2018-05-30 11:24:35 -07:00
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
2018-05-25 13:01:58 +01:00
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
2018-05-02 15:39:36 +02:00
Jon Evans
1dd4af2972
Sort VIEW_GROUP drawing by layer order
...
Fixes: lp:1757146
* https://bugs.launchpad.net/kicad/+bug/1757146
2018-03-26 10:18:50 -04:00
Jon Evans
37beb726e3
GerbView: Implement in-place GAL layer reordering (for X2 sorting)
2018-02-27 20:59:07 +01:00
Maciej Suminski
ad6571a508
GAL profiling: changed wxLogDebug() to wxLogTrace() for DRAW_PANEL_GAL
2018-02-26 17:22:47 +01:00
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.
2018-02-25 19:10:02 -05:00
Jon Evans
4ec7a02ccd
Add a method to conditionally update VIEW_ITEMs (GerbView performance)
2018-02-25 18:20:44 -05:00
Jon Evans
d7bb83ddcb
Add a REPAINT flag for faster redraw when bounding box hasn't changed
2018-02-25 18:20:34 -05:00
Jon Evans
b90528a7ae
Fix regression in GerbView display settings; some optimization too
2018-02-25 17:35:26 -05:00
Maciej Suminski
21a2c8d562
Fix cursor control with arrow keys
...
Fixes: lp:1749328
* https://bugs.launchpad.net/kicad/+bug/1749328
2018-02-14 09:23:44 +01:00
Maciej Suminski
365ab99a6a
GAL: update cursor position on panning and scrolling
...
Fixes: lp:1749082
* https://bugs.launchpad.net/kicad/+bug/1749082
2018-02-13 09:45:06 +01:00
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
2018-02-08 11:54:18 +01:00
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.
2018-02-02 13:19:59 +01:00
jean-pierre charras
47d392d83e
Fix incorrect name (typo) of a method.
2018-01-18 10:11:45 +01:00
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.
2018-01-17 15:36:04 +01:00
Jon Evans
53ae5c36f4
Flip horizontal scrollbar behavior in flipped board view mode
...
Fixes: lp:1741327
* https://bugs.launchpad.net/kicad/+bug/1741327
2018-01-06 14:58:05 -05:00
Julius Schmidt
9df938484a
support "disable autopan" with gal canvas
...
Fixes: lp:1670712
* https://bugs.launchpad.net/kicad/+bug/1670712
2017-11-24 12:20:15 +01:00
Tomasz Włostowski
41f9c19b7d
pcbnew: editing outlines now works in flipped view mode
...
Fixes: lp:1731978
* https://bugs.launchpad.net/kicad/+bug/1731978
2017-11-16 01:05:43 +01:00
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
2017-11-16 00:43:23 +01:00
Marvin Schmidt
69974b73db
Remove some extra semicolons
2017-11-09 19:52:18 +01:00
Tomasz Włostowski
c9817df9db
refactoring: implemented BOARD-specific view Add()/Remove()/Update() methods in PCB_VIEW, moved to libpcbcommon
2017-11-03 20:02:06 +01:00
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
2017-09-28 09:58:34 +02:00
Jon Evans
9383987b1c
Skip calling RTREE::Remove() when adding items to a VIEW
2017-09-25 13:39:38 +02:00
Jon Evans
0b9b8d3e93
Add support for reversed draw order and Cairo negative draw mode
2017-09-25 13:35:01 +02:00
Maciej Suminski
df472e6426
Added mouse position refresh event WX_VIEW_CONTROLS::WarpCursor()
2017-09-22 11:13:45 +02:00
Michael Geselbracht
da037027fb
Do not warp viewport when dragging FPs
...
Fixes: lp:1714611
* https://bugs.launchpad.net/kicad/+bug/1714611
2017-09-22 11:13:40 +02:00
Jon Evans
d9396616ef
Add support for panning with left and right mouse buttons
2017-09-15 13:35:52 +02:00
jean-pierre charras
cf178fd20a
add a wxASSERT just in case.
2017-09-15 11:29:49 +02:00