163 Commits

Author SHA1 Message Date
Maciej Suminski
ad6571a508 GAL profiling: changed wxLogDebug() to wxLogTrace() for DRAW_PANEL_GAL 2018-02-26 17:22:47 +01:00
Maciej Suminski
d87a7ae58e Fallback to Cairo when OpenGL is not supported
Fixes: lp:1741787
* https://bugs.launchpad.net/kicad/+bug/1741787
2018-01-18 10:17:06 +01: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
jean-pierre charras
48393c605e Try to fix special keys (ARROWS, PAGE UP/DOWN) issues both on Linux and Windows in GAL mode
Fixes: lp:1717270
https://bugs.launchpad.net/kicad/+bug/1717270
2017-09-18 16:04:31 +02:00
Jon Evans
93de82f0b2 Fix scrollbars in macOS GAL canvases 2017-09-15 11:29:49 +02:00
Jon Evans
b6298a0a41 Don't force grid color to LAYER_GRID in EDA_DRAW_PANEL_GAL 2017-09-12 12:49:17 +02:00
Tomasz Włostowski
32185ddcd3 Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
- support for background color setting
    - removed several global config settings (such as g_Drc_On)
    - wrapped most of global config settings in PCB_GENERAL_SETTINGS class
    - reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
    - new GAL feature for legacy users: double-click (or E) to change track width available as an option.

Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543

Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
jean-pierre charras
6ed4f9b208 Make EDA_DRAW_FRAME::SetToolID and mouse cursor shape setting working in GAL canvases, and uses same mouse cursor shapes in legacy and gal canvases.
Starting fixing incorrect UI behavior of Zoom to selection in Pcbnew.
2017-06-12 15:16:09 +02:00
Jon Evans
3ec28e2acf Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04:00
Chris Pavlina
1cee5780a5 Fix GAL focus bug
Caused by yours truly in 4618e6c7
2017-03-05 13:58:31 -05:00
Chris Pavlina
4618e6c7f8 Component chooser: event and focus cleanup 2017-03-04 11:14:04 -05:00
John Beard
7ad30b7167 Move Grid style to Graphics Options dialog
This puts the graphical/display options with the other similar options
in that dialog, rather than with the dimension options found in the Set
Grid dialog, which is in the Dimensions menu.

Also place the option itself in the GAL Display Options structure, so it
can be updated using the observer mechanism there.

The setter for the style in the GAL interface is removed, as the public
interface for setting this option is now to modify the
GAL_DISPLAY_OPTIONS structure and notify the GAL when done.
2017-02-20 10:52:34 +01:00
John Beard
ddded86a06 Give all GAL canvases access to a GAL_DISPLAY_OPTIONS structure instance
Also loads the gal options when loading a canvas, as the canvas
otherwise might not register the initial settings.
2017-02-20 10:52:34 +01:00
Jon Evans
9d68c970dc Remove dependence on LAYER_ID from EDA_DRAW_PANEL_GAL 2017-02-20 09:15:55 +01:00
Jon Evans
7cd72d6ffb Move layer colors from PCB_RENDER_SETTINGS to RENDER_SETTINGS 2017-02-16 17:30:31 +01:00
Jon Evans
7058e4eb21 Setup painter in PCB_DRAW_PANEL_GAL instead of EDA_DRAW_PANEL_GAL 2017-02-16 17:30:31 +01:00
Maciej Suminski
88eb648cbb Alternative way of handling OpenGL initialization & errors
Some faults could result in a crash, as they were not properly
handled. Now the rendering loop is wrapped with try..catch block
which will revert to Cairo in case of an error and display an
error message.

Fixes: lp:1655766
* https://bugs.launchpad.net/kicad/+bug/1655766
2017-01-13 16:50:36 +01:00
decimad
5a4e247564 EDA_DRAW_PANEL_GAL now takes the gal display options per dependency injection
Add a hack so that the pad properties base dialog constructor can pass in the dependency. Since the derived dialog's constructor takes the parent by this exact type, the static cast is safe.
2017-01-11 16:20:37 +01:00
decimad
77138e3702 Add UI control to set up gal opengl antialiasing and load/store the settings 2017-01-11 16:20:37 +01:00
jean-pierre charras
fff449ecf0 Performance counter rework: Add comments, fix coding style issues. 2016-12-31 13:00:24 +01:00
Simon Wells
a2116ae070 Removed wxPaintDC from EDA_DRAW_PANEL_GAL::onPaint() 2016-09-19 15:17:18 +02:00
Simon Richter
1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
Maciej Suminski
01f32dd52c GL_CONTEXT_MANAGER class to avoid unexpected GL context switches. 2016-06-03 15:46:12 +02:00
jean-pierre charras
3e2cae946c Corrected wxDC objects used by EDA_DRAW_PANEL_GAL & OPENGL_GAL. 2016-06-03 15:46:11 +02:00
Maciej Suminski
3ca7026aa0 More robust checks for OpenGL canvas visibility. 2016-05-20 12:06:08 +02:00
Simon Wells
a9d08a620e Hide OpenGL scrollbars on OS X to fix freeze
Fixes: https://bugs.launchpad.net/kicad/+bug/1553428
2016-05-21 19:38:47 -04:00
Maciej Suminski
d9f4877c94 Fixed a crash when starting pcbnew with OpenGL GAL. 2016-05-09 17:23:01 +02:00
Maciej Suminski
2f874097ae Fixed a crash in pcbnew (GAL). 2016-05-02 16:15:26 +02:00
Maciej Suminski
09d2d5367a Store grid settings for GAL. 2016-05-02 16:15:25 +02:00
Maciej Suminski
702be4903f Vertices are stored in GPU memory (OpenGL GAL). 2016-05-02 16:12:16 +02:00
Maciej Suminski
36dd6eb6b3 GAL profiling output is enabled with WXTRACE env variable. 2016-05-02 15:56:17 +02:00
Maciej Suminski
da312db7a4 Fixed a wxWidgets assertion. Newer wxWidgets (3.1) display a message saying that horizontal alignment flags are ignored with wxEXPAND. 2016-05-02 15:56:12 +02:00
Maciej Suminski
4262915b38 Code formatting. 2016-05-02 15:56:10 +02:00
Chris Pavlina
bb9f1b00cd Fix graphics rendering on RTL systems (lp:1559545)
wx mirrors graphics by default on RTL systems; it is necessary to individually
set graphics canvases to LTR mode to avoid this.
2016-03-22 14:53:50 -04:00
Bernhard Stegmaier
5d25b4ef90 Disable FPS limiter for OSX (GAL). 2016-02-16 09:05:41 +01:00
Bernhard Stegmaier
3e2b4244f9 OSX: add support for wxMagnifyEvent on OSX builds using wxWidgets 3.1.0 or greater. 2016-01-24 19:18:29 -05:00
Tomasz Wlostowski
991b9d509a GAL: apply grid offset when board is loaded and respect grid color setting. (fixes lp:1533168) 2016-01-13 13:37:52 -05:00
jean-pierre charras
ade51289a7 All: use solid lines instead of dashed lines to draw X and Y axis in legacy canvas (like in Gal canvas). The main reason: on OSX axis using dashed lines are very very slow to draw (looks like a wxWidget issue when the wxDC scale factor is very small) 2015-10-25 17:58:04 +01:00
Maciej Suminski
8fa28797f9 Fixed the problem of GAL frames excessively taking over focus in Windows. 2015-08-25 11:21:00 +02:00
Maciej Suminski
0386a4df94 Bulletproof canvas switching. 2015-08-21 10:33:36 +02:00
Maciej Suminski
6018bb6625 Pcbnew saves the type of used canvas. 2015-08-07 19:15:47 +02:00
Maciej Suminski
ddcdda1a59 GalType -> GAL_TYPE 2015-08-07 18:24:43 +02:00
Maciej Suminski
3cb095b7c2 GAL canvases update status bar, message panel & zoom widget. 2015-07-03 20:58:12 +02:00
Maciej Suminski
9d27caca75 More robust method of regaining keyboard focus (GAL). 2015-07-02 11:40:33 +02:00
Maciej Suminski
28a270a328 Refactored grid origin point drawing (GAL). 2015-06-18 17:51:53 +02:00
Maciej Suminski
d3b31316ba Fixed module text visibility settings (GAL). 2015-06-16 17:03:36 +02:00
Garth Corral
6eaf029a0e Pinch to zoom for OS X. 2015-05-21 22:54:29 +02:00
Maciej Suminski
2043d4696f Scrollbars (GAL). 2015-05-18 13:48:10 +02:00
Maciej Suminski
50afd515c2 Minor code cleaning. 2015-04-30 10:46:03 +02:00