Commit Graph

2386 Commits

Author SHA1 Message Date
Chris Pavlina d49ecb1b91 Add zoom-to-selection and block move to pl_editor 2016-06-11 09:51:05 -04:00
Maciej Suminski b7ec4ea160 Corrected the last instance check in OPENGL_GAL. 2016-06-10 17:07:12 +02:00
Maciej Suminski 5850b1ced0 GL_CONTEXT_MANAGER: Call SetCurrent() only when a different context is used. 2016-06-10 17:06:54 +02:00
Simon Richter 5ce4abd0ac Use size_t for sizes and offsets. 2016-06-10 17:06:00 +02:00
Chris Pavlina 8c01318141 Add zoom-to-selection tool 2016-06-08 07:19:53 -04:00
Maciej Suminski 3fcae6b120 Fixes for OpenGL resources handling. 2016-06-07 14:42:42 +02:00
jean-pierre charras 6d1e904334 Code cleanup: Remove outdated decimils to/from iu defines and conversion functions (decimils are no more in use since a long time).
Remove convert_from_iu.h file, only used for one define, and containing brokenand duplicate defines. Only convert_to_biu.h is now used.
2016-06-05 13:49:25 +02:00
Maciej Suminski b4ad18a3ea Do not rebuild shaders on each OPENGL_GAL construction. 2016-06-03 15:46:13 +02:00
Maciej Suminski b83c148e10 Delete OpenGL context on GLCanvas subclasses destruction. 2016-06-03 15:46:13 +02:00
Maciej Suminski 68b6da57c0 Removed OPENGL_GAL::instanceCounter. 2016-06-03 15:46:12 +02: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
jean-pierre charras e2cc78b2b5 Code cleanup: remove dead code (some removed methods were broken), and update or add comments. 2016-06-01 11:28:07 +02:00
Simon Richter dca358076e Make sure KIFACE_GETTER linkage is consistent
This makes sure that the declaration is always the same within a single
module, so all users have the same idea of whether the symbol is imported.

In all dynamically linked objects, all users should be aware that the
symbol is imported, while in the statically linked bitmap2component
program, no import/export decorations should be used.
2016-05-28 13:10:06 -04:00
Simon Richter b9a6c4988f Avoid conflicting declaration for Pgm()
This function has two conflicting definitions in the "kicad" executable and
the other wrapper programs. As the kifaces can be loaded from either, this
silently assumes compatible data layout for the PGM_KICAD and PGM_BASE
types when passed by reference, which is valid only when the compiler is
aware of the cast.

If the return type is encoded in the symbol name (such as when using the
MSVC compiler), this also causes an error during linking, as the symbol
names no longer match.
2016-05-28 12:57:29 -04: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
Simon Richter f7fdf43ea8 Use std::atomic for portable locale init counting 2016-05-28 12:46:22 -04:00
jean-pierre charras 1c21410f1f Gerbview: code cleanup (with the help of Mark Roszko's work) 2016-05-25 11:45:55 +02:00
Maciej Suminski 3ca7026aa0 More robust checks for OpenGL canvas visibility. 2016-05-20 12:06:08 +02:00
ejs-ejs f8ae428428 Add Lithuanian language to language list menu. 2016-05-22 12:31:08 +02:00
jean-pierre charras 620ccc5483 Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
Chris Pavlina 445db7da58 Fix uninitialized fields
Coverity: CIDs 102698, 147347, 147349, 147350
2016-05-10 22:36:23 -04:00
Chris Pavlina e9a9a269b4 pcbnew legacy: remove option to hide via drill
Via drills are now shown in all cases, matching GAL behavior, and the option no
longer exists in the preferences dialog.
2016-05-10 16:47:37 -04:00
Chris Pavlina f9386fcbc0 Add support for PCB and footprint format versioning
Currently, kicad_pcb files have a (version ...) tag, but it is ignored. This
commit does the following:

1. Parse the version. If it's later than the last supported version, present an
alternative error message suggesting an upgrade if the file does not load
correctly. The version will be interpreted as an integer YYYYMMDD to suggest
a KiCad release date.

2. Accept a (version ...) tag also in kicad_mod files, but do not write them
yet. If no version tag is present in these files, assume the version to be that
of the current format version at the time of this commit.

This is meant to be merged to the 4.x stable series, and preps for KiCad 5
which will start emitting version tags also in footprints - users with what
will then be 'old stable' will not get a parse error when we introduce this for
footprints, and we can safely increment the format version later.
2016-05-10 15:07:35 -04:00
jean-pierre charras ec096cc1d2 Fix an issue in LOCALE_IO class, used to switch to/back locale "C" when reading/writing files: the back to locale was broken, and created issues in countries using the ',' as fp separator, especially when the non default language was used.
It was reported in many bugs.
2016-05-10 09:11:09 +02:00
Maciej Suminski d9f4877c94 Fixed a crash when starting pcbnew with OpenGL GAL. 2016-05-09 17:23:01 +02:00
Maciej Suminski ce8f400645 Added menu for locking tracks & vias (GAL). 2016-05-09 10:29:06 +02:00
jean-pierre charras 63decd70e6 Minor fixes: Fix a few shadowed local variables, and deprecated warnings is a few dialogs generated by wxFormbuilder (using a very recent wxFormbuilder version, after apr 25, 2016) 2016-05-06 17:15:30 +02:00
Maciej Suminski 06637a17d6 Added 'Reset Grid Origin' hot key (GAL). 2016-05-04 14:59:14 +02:00
Maciej Suminski 8d952f35c6 Fixed text vertical alignment for bitmap font (OpenGL). 2016-05-03 11:58:48 +02:00
Maciej Suminski 09d2d5367a Store grid settings for GAL. 2016-05-02 16:15:25 +02:00
Maciej Suminski ed0b95d710 Added an option change grid style. Refactored DIALOG_SET_GRID. GAL can draw grid using lines or dots now. DIALOG_SET_GRID was refactored to use Transfer{From,To}Window() methods. 2016-05-02 16:15:24 +02:00
Maciej Suminski f3fae70fb2 Removed 'inline' keyword from virtual functions. 2016-05-02 16:15:24 +02:00
Maciej Suminski 58ed0c8cce Improved grid drawing routine (OpenGL). 2016-05-02 16:15:24 +02:00
Maciej Suminski 2f09e0ee40 Alternative version of CACHED_CONTAINER::defragmentResize() Certain GPUs do not support glCopyBufferSubData(), therefore there is an alternative version working with good, old memcpy(). 2016-05-02 16:15:24 +02:00
Maciej Suminski fff3abc9a0 Support for overbars in bitmap fonts (OpenGL GAL). 2016-05-02 16:12:18 +02:00
Maciej Suminski 59fe8df269 Split bitmap text drawing routine into smaller functions (GAL). 2016-05-02 16:12:18 +02:00
Maciej Suminski 5a8adcdf52 Improved testing/profiling code for CACHED_CONTAINER. Switched from wxLogDebug to wxLogTrace. Adjusted CACHED_CONTAINER_TEST levels required for certain tests. Added a test to check used space in the container. 2016-05-02 16:12:17 +02:00
Maciej Suminski 54f3105cfb More changes to CACHED_CONTAINER. Removed m_itemSize field (error-prone, as it had to be synchronized with m_item->GetSize()) Fixed a bug in reallocate() method, changed a bit it is behaviour. VERTEX_ITEM is not stored in the item set if its size is 0. 2016-05-02 16:12:17 +02:00
Maciej Suminski a9c3a1730b Free chunks in CACHED_CONTAINER only if they are really not needed. 2016-05-02 16:12:16 +02:00
Maciej Suminski 702be4903f Vertices are stored in GPU memory (OpenGL GAL). 2016-05-02 16:12:16 +02:00
Maciej Suminski 01912aaabd Minor refactoring in CACHED_CONTAINER. 2016-05-02 16:12:16 +02:00
Maciej Suminski bda3011519 Initial support for bitmap fonts (OpenGL GAL). 2016-05-02 16:04:45 +02:00
Maciej Suminski 82a63a8c2a Fixed the drawing order for selected items in OpenGL GAL. 2016-05-02 15:56:17 +02:00
Maciej Suminski c0465e5519 Instance counter for OPENGL_GAL to avoid double freeing. 2016-05-02 15:56:16 +02:00
Maciej Suminski 4cca3bc368 Minor OPENGL_COMPOSITOR refactoring. 2016-05-02 15:56:16 +02:00
Maciej Suminski 1927f3a787 Unified way of checking OpenGL errors. 2016-05-02 15:56:14 +02: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
Maciej Suminski 113e75c5c5 VERTEX_MANAGER functions return false in case of failure. 2016-05-02 15:56:11 +02:00