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
Tomasz Włostowski
f599f10a03
gal: reset autopan state when autopanning is disabled
Fixes: lp:1674022
* https://bugs.launchpad.net/kicad/+bug/1674022
9 years ago
Tomasz Włostowski
3cc90ce2d2
Fixed center-on-zoom behaviour in the GAL canvas
Fixes: lp:1672868
* https://bugs.launchpad.net/kicad/+bug/1672868
9 years ago
Maciej Suminski
fc4240886b
Store VIEW_CONTROLS settings on a stack
This is the right implementation of the commit b25ded4d .
Previously if there were tools launched from another tool,
the settings could be stored in a wrong TOOL_STATE object.
9 years ago
Maciej Suminski
d1550b0cdb
Renamed VIEW_CONTROLS::SETTINGS to VC_SETTINGS.
Because nested types cannot be forwarded.
9 years ago
Maciej Suminski
906ee77dbf
Fixed VIEW_ITEM memory leaks
9 years ago
jean-pierre charras
8526935183
GAL: better progression between zoom in/zoom out (in/out/in sequence keeps the same zoom value)
9 years ago
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
9 years ago
Maciej Suminski
b25ded4d90
Store VIEW_CONTROLS settings when tools are switched
Fixes: lp:1663783
* https://bugs.launchpad.net/kicad/+bug/1663783
Fixes: lp:1667580
* https://bugs.launchpad.net/kicad/+bug/1667580
9 years ago
Maciej Suminski
57050cdeb3
Introduced VIEW_CONTROLS::SETTINGS to keep settings
The new class facilitates saving and restoring VIEW_CONTROLS
settings such as cursor visibility, snapping, etc.
9 years ago
Maciej Suminski
6561c8e61a
Fixed a crash occuring on closing pad properties dialog in Windows
Fixes: lp:1660276
* https://bugs.launchpad.net/kicad/+bug/1660276
9 years ago
Maciej Suminski
3c61b16e7b
Code formatting
9 years ago
Maciej Suminski
c758f434c0
Removed unused fields in VIEW & ANTIALIASING_SMAA classes
9 years ago
Baranovskiy Konstantin
3dc2050498
Improved MousewheelPAN mode.
9 years ago
Maciej Suminski
004ca3c6f9
Fixed a memory leak in VIEW_ITEM (proper way of doing 9bc2bb2)
The problem with simple deleting VIEW_ITEM_DATA upon VIEW_ITEM removal was
caused by the default copy constructors that copied pointers.
Once a copy of an item was destroyed, the VIEW_ITEM_DATA has been
destroyed, effectively invalidating m_viewPrivData for the other item.
9 years ago
Chris Pavlina
99bfa2fea2
Revert "Fixed a VIEW_ITEM memory leak"
This reverts commit 9bc2bb2651 .
Fixes: lp:1656481 (pcbnew segfault in KIGFX::VIEW_ITEM_DATA::getGroup)
https://bugs.launchpad.net/kicad/+bug/1656481
9 years ago
Maciej Suminski
9bc2bb2651
Fixed a VIEW_ITEM memory leak
9 years ago
jean-pierre charras
fff449ecf0
Performance counter rework: Add comments, fix coding style issues.
9 years ago
Simon Richter
ac9f858813
Performance counter rework
9 years ago
jean-pierre charras
dec2d6e8cc
Fix a few Coverity warnings. A bit of clean code in export_vrml.cpp.
9 years ago
Maciej Suminski
effc8bebb1
Store view flip setting between canvas changes
9 years ago
Maciej Suminski
027515f4e1
Fixed refreshing after flipping the view
9 years ago
Maciej Suminski
7ad5fca6de
More code formatting, updated copyright headers
9 years ago
Maciej Suminski
8f924ed125
Added checks to ensure VIEW_ITEM_DATA != nullptr.
9 years ago
Maciej Suminski
89055c4425
Code formatting
9 years ago
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
9 years ago
Tomasz Włostowski
3f7c5a0845
fixed post-rebase issues
9 years ago
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
9 years ago
Tomasz Włostowski
27a10e8597
Multiple simplifications to GAL tools in PCBNew:
- Finalize transition to BOARD_COMMIT (removed all remaining uses of PICKED_ITEMS_LIST) and implicit view/ratsnest updates
- Simplified SELECTION class, it now can be directly added to a VIEW
- Removed unnecesary casts and templates
- Introduced C++11 features (range based for, lambdas) where they improve code readability
- Added non-undoable COMMITs, which can be used to propagate change notifications to interested listeners (e.g. ratsnest/view)
9 years ago
Maciej Suminski
74d53e517c
VIEW_GROUP objects redraw itself after a change
10 years ago
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
10 years ago
Maciej Suminski
d9f4877c94
Fixed a crash when starting pcbnew with OpenGL GAL.
10 years ago
Maciej Suminski
702be4903f
Vertices are stored in GPU memory (OpenGL GAL).
10 years ago
Maciej Suminski
36dd6eb6b3
GAL profiling output is enabled with WXTRACE env variable.
10 years ago
Maciej Suminski
f968556f9a
Smoother autopanning.
10 years ago
Bernhard Stegmaier
f8abe9c191
Add support for optional touchpad panning.
10 years ago