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
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Jeff Young
224d258474
A bit of safety.
...
Should also silence Coverity.
2021-05-17 10:45:26 +01:00
Jeff Young
b2ac9cc29f
Formatting & naming conventions.
2021-03-15 19:04:59 +00:00
Jeff Young
1f27b7e7df
Don't render hole walls when no physical layers are visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7369
2021-02-01 17:14:30 +00:00
Wayne Stambaugh
2a3e921d58
Header clean up round 6.
2020-12-26 19:41:04 -05:00
Werni
a7d5d1f091
Add more consts all over the place
2020-10-27 11:03:35 +00:00
Marek Roszko
f59551d6ad
Remove painter.h from eda_text.h
2020-10-14 19:18:38 -04: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
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08: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
6bf1ac45e3
New selection highlighting model for eeschema.
2019-07-29 19:57:41 -06:00
jean-pierre charras
dde933ba08
When printing, pads are not always printed (especially on tech layers)
...
A printing mode is added, to force ViewGetLOD() to return 0 in printing mode (pads are always drawn)
Fixes: lp:1809528
https://bugs.launchpad.net/kicad/+bug/1809528
2018-12-22 13:44:49 +01:00
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
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
Tomasz Wlostowski
ef1f01a8bd
VIEW: use BOX2D for view boundary
2018-10-09 11:08:52 +01: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
Carsten Schoenert
9f7109826d
fix misspelled 'allows to' -> 'allows one to'
...
Fixup small grammar issues around used 'allows to ...' almost in
code comments.
2018-07-11 10:35:03 -04: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
Carsten Schoenert
1f32f7c55b
fix misspelled 'allows to' -> 'allows one to'
2018-04-08 13:24:18 -04:00
Jon Evans
37beb726e3
GerbView: Implement in-place GAL layer reordering (for X2 sorting)
2018-02-27 20:59:07 +01:00
Jon Evans
4ec7a02ccd
Add a method to conditionally update VIEW_ITEMs (GerbView performance)
2018-02-25 18:20:44 -05:00
Jon Evans
b90528a7ae
Fix regression in GerbView display settings; some optimization too
2018-02-25 17:35:26 -05:00
Tomasz Włostowski
8a09a1d329
refactoring: derive PCB-specific PCB_VIEW from VIEW with the intention of moving PCB_EDIT_FRAME entries used by the tools (e.g. GetActiveLayer) there
2017-11-03 20:02:06 +01: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
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
2017-08-21 13:28:09 +02:00
jean-pierre charras
e5137f4eb4
Fix a few doxygen warnings
2017-06-21 10:01:39 +02:00
jean-pierre charras
1466d0cee6
Fix a few doxygen warnings
2017-06-18 09:18:41 +02:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
Jon Evans
0afb249447
Add drawing priority support to VIEW
...
Call UseDrawPriority( true ) after creating GAL to enable.
VIEW::Add() gets a new optional argument to specify the draw order
when adding an item. If the new argument is left default, the draw
order will increment with each call of VIEW::Add().
Fix std::bind calls after change to VIEW::Add
2017-02-28 14:47:20 +01:00
Maciej Suminski
3c61b16e7b
Code formatting
2017-01-18 13:22:40 +01:00
Maciej Suminski
c8676db84e
Fixed panning & cursor control with arrow keys in flipped view
2016-12-12 16:45:52 +01:00
Maciej Suminski
effc8bebb1
Store view flip setting between canvas changes
2016-12-12 16:45:52 +01:00
Maciej Suminski
7ad5fca6de
More code formatting, updated copyright headers
2016-12-12 16:45:52 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
da28e163d2
Optimizations/fixes to the VIEW/GAL classes:
...
- much faster Cairo rendering (outperforms legacy)
- improvements in VIEW update handling
- fixed issue with grid rendering in flip view mode
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
1c1f4e9a50
Refactoring of VIEW/VIEW_ITEM classes:
...
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
Maciej Suminski
0ef866ee74
Code formatting
2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
df50a10510
VIEW: replace boost with std
2016-08-15 17:16:45 +02:00
Maciej Suminski
d9f4877c94
Fixed a crash when starting pcbnew with OpenGL GAL.
2016-05-09 17:23:01 +02:00
Maciej Suminski
6ad6f0bde2
Corrected VIEW::ToScreen().
2015-07-01 03:22:50 +02:00
Maciej Suminski
4026cb6c58
Moved zoom limits and area boundaries handling to VIEW.
2015-05-18 13:48:13 +02:00
Maciej Suminski
bfb700c79b
Removed the remaining lines related to WebViewer. Undone reduced number of layer in VIEW.
2015-03-30 22:40:29 +02:00