51 Commits

Author SHA1 Message Date
John Beard
01c733bdb5 Dim GAL cursor when forced but no interactive tool
This makes it clearer when a tool is active, otherwise interactive tool
effects like auto-pan can come as a surprise when the cursor is forced
to display all the time.
2017-03-22 10:24:48 +01:00
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
2017-03-22 10:04:56 +01:00
jean-pierre charras
c20cf4a3e0 Fix incorrect calculations in GAL DrawGrid() methods, that create very long calculation time when the grid origin is not 0 2017-03-21 13:09:24 +01:00
Maciej Suminski
62235348d1 Use GAL axes instead of a ORIGIN_VIEWITEM in module editor 2017-03-08 10:35:51 +01:00
Jon Evans
2513f0b002 Add setting to have GAL draw axes on the grid 2017-03-08 09:37:40 +01:00
jean-pierre charras
1cffcafe2d GAL mode: Add small cross option to grid style (now: options are Dots, Grid, Small cross) 2017-03-01 10:29:19 +01:00
John Beard
0bf3a19967 Add user control for grid minimum spacing in GAL
This allows the user to set a thicker grid line without causing the
grid lines to become over dense, or just make the grid denser according
to preference.

The term "density" is modified to "minimum grid spacing", which is
the pixel spacing between adjacent grid lines.

The spacing settings now comes in along, with other GAL display settings,
as part of GAL_DISPLAY_OPTIONS observer functionality. To this end, the
setter in GAL interface is removed, as an external user should be
setting this parameter via the GAL_DISPLAY_OPTIONS interface.
2017-02-20 10:52:34 +01:00
John Beard
970e4f8eb4 Add grid line thickness control to Display Options Dialog
This adds a user-settable control for the grid line thickness on GAL
canvases to the display options dialog.

The thickness settings now comes in, along with other GAL display
settings, as part of GAL_DISPLAY_OPTIONS observer functionality. To this
end, the setter in GAL interface is removed, as an external user should
be setting this parameter via the GAL_DISPLAY_OPTIONS interface.

Fixes: lp:1662482
* https://bugs.launchpad.net/kicad/+bug/1662482
2017-02-20 10:52:34 +01:00
John Beard
ff3bfaf82b Make KIGFX::GRID_STYLE an enum class
This provides stronger typing to these values.
2017-02-20 10:52:34 +01: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
Dick Hollenbeck
0c459ced97 EDA_TEXT object refactor.
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.

Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.

Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
2017-01-25 08:03:32 -05:00
Maciej Suminski
89055c4425 Code formatting 2016-12-12 16:45:52 +01:00
Tomasz Włostowski
daf103d7e4 GAL: fix grid origin and grid rendering in flipped view mode 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
c661c30f68 pcbnew: added flip view mode 2016-12-12 16:45:52 +01:00
Simon Richter
96ec9db5d6 Add missing C++ stdlib headers
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Maciej Suminski
b143ce6b0f Moved text settings from STROKE_FONT to GAL. 2016-05-02 15:56:12 +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
jean-pierre charras
30d72045e7 Rework on class EDA_TEXT and related classes and draw functions (Note: this is a work in progress):
* remove duplicate code between  draw functions and STROKE_FONT used in GAL. Use only  STROKE_FONT methods in draw, plot and test DRC function for texts. It remove slightly different shapes between GAL and other calculations.
* fix incorrect bounding box for texts with overbar. Especially noticeable for texts with overbar inside a copper zone in Pcbnew.
* fix a few minor other bugs related to graphic texts.
2016-03-23 08:41:47 +01:00
unknown
40ccc0bedf replace round() with KiROUND(), our function that is used almost everywhere for rounding, and detects int overflows in debug mode. 2015-07-17 10:26:48 +02:00
Maciej Suminski
28a270a328 Refactored grid origin point drawing (GAL). 2015-06-18 17:51:53 +02:00
Maciej Suminski
4dae107dab Alternative depth range in OpenGL GAL. 2015-03-30 22:14:37 +02:00
Maciej Suminski
9e8719d3ff Fixed overlapping segment endings in OpenGL view. 2015-03-30 14:09:56 +02:00
jean-pierre charras
6e8a8a6b25 Fix some coverity warnings (mainly not initialized members) 2015-03-21 10:06:04 +01:00
Maciej Suminski
e6a10faab7 FIxed a few clang warnings. 2015-03-09 11:06:54 +01:00
Maciej Suminski
b076f3fe4e Fixed grid drawing when the grid origin has negative coordinates. 2014-07-09 15:02:56 +02:00
Maciej Suminski
7645ed8601 Grid offset is recomputed only when settings are changed. 2014-07-09 11:22:43 +02:00
Bernhard Stegmaier
60a86853ec Removed a few warnings. 2014-06-05 12:40:26 +02:00
Maciej Suminski
35e343597b Grid in GAL takes into account grid offset. 2014-06-04 17:56:44 +02:00
Maciej Suminski
dbc4a8f292 GAL zooms in and out using the default hot keys (F1/F2).
Screen size is saved in VECTOR2I instead of VECTOR2D.
2014-03-20 08:47:31 +01:00
Maciej Suminski
3ecae4fa52 GAL::GetGridPoint() returns point in world coordinates. 2014-02-14 14:16:08 +01:00
Maciej Suminski
597e98dbf4 Cursor is in world coordinates. 2014-02-13 20:23:28 +01:00
Maciej Suminski
f9f0b46b63 Small GAL refactorization, mostly correcting constness. 2014-02-13 19:31:27 +01:00
Maciej Suminski
b9df36eca5 GAL::GetGridPoint() takes a const reference. 2014-02-06 12:38:06 +01:00
Maciej Suminski
0ac3e1fbf2 Namespace KiGfx->KIGFX.
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
tomasz.wlostowski@cern.ch
d8480e4674 gal: make the cursor a bit bigger and hidden by default 2013-09-18 13:13:03 +02:00
Maciej Suminski
c5d3376c26 Changed some 'magic numbers' into constants. Added const modifier in appropriate spots. 2013-09-11 11:34:10 +02:00
Maciej Suminski
08e797551b Modified default grid/origin settings. 2013-09-10 14:35:10 +02:00
Maciej Suminski
6fe086ab6d Added cursor snapping. 2013-08-28 16:25:42 +02:00
Maciej Suminski
215f35e237 Added mouse cursor drawing.
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
544726e4f3 New display style for grid (dotted). 2013-07-31 10:28:23 +02:00
Maciej Suminski
190ed58568 Code refactoring. 2013-07-30 18:29:54 +02:00
Maciej Suminski
790a1f8563 Made GAL backends settings more consistent. Fixed grid line width in the OpenGL backend. 2013-07-30 17:09:06 +02:00
Maciej Suminski
618a5f0e75 OpenGL multitarget rendering (compositing). 2013-07-23 18:39:07 +02:00
Maciej Suminski
84392f1723 Moved STROKE_FONT from PAINTER to GAL. 2013-07-04 11:37:43 +02:00
unknown
4360860bee Removed different styles of line caps and line joins, leaving only round caps & joins.
Fixed drawing stroked semicircles using OpenGL backend.
2013-07-01 14:39:27 +02:00
Maciej Suminski
fbc3d63c24 Draw the origin marker in OpenGL with shaders GAL. 2013-06-24 16:02:18 +02:00
Maciej Suminski
ef865aab68 Grid settings apply to GAL based rendering. 2013-06-24 14:33:02 +02:00
Maciej Suminski
e4bac0d91a Fixed resize issue (moved GAL panel into pane).
Tidied up event handlers.
2013-04-18 11:20:19 +02:00