jean-pierre charras
272b477e91
Opengl: avoid useless wxASSERT when a char is not found in font used to display netnames/padnames
...
They are replaced by '?'
It happens for some esoteric unicode chars.
2018-10-20 18:50:15 +02:00
jean-pierre charras
99f25b0895
Opengl fix: bitmaps having a width not multiple of 4 were incorrectly drawn.
...
This fix draws a "sub bitmap" having a width multiple of 4.
(The loss of 1 to 3 pixels in horizontal size should be not really noticeable)
(cherry picked from commit 3a02e54411
)
2018-10-06 07:22:38 -07:00
Tomasz Wlostowski
a43ec3e3f0
OPENGL_GAL: optimized JP's bitmap drawing function to use textures
...
(cherry picked from commit 516cf47946
)
2018-10-06 07:22:38 -07:00
jean-pierre charras
7b596f0365
GAL canvases: add DrawBitmap(), using a basic brute force algo for OpenGL, and a optimized code for Cairo. In this fix the brute force means draw each pixel as a rectangle. It works fine, but could be optimized.
...
(cherry picked from commit fefc7b8172
)
2018-10-06 07:22:38 -07:00
jean-pierre charras
51a74b53cb
Pcbnew: Crash after running external plugin Happens only in Opengl mode. So enforce controls in 3 group function: DrawGroup, ChangeGroupColor, ChangeGroupDepth.
...
Fixes: lp:1795044
https://bugs.launchpad.net/kicad/+bug/1795044
2018-09-29 14:19:07 +02:00
Jeff Young
1820e81f5e
Don't allow drawing to a zero-height or zero-width GAL canvas.
...
Fixes: lp:1793913
* https://bugs.launchpad.net/kicad/+bug/1793913
(cherry picked from commit 0309228276
)
2018-09-22 22:10:49 +01:00
Seth Hillbrand
4560d4ef69
Replacing Tesselation
...
Replaces Poly2Tri with updated code to process polygons faster and more
robustly. Notably, we can now handle overlapping holes in the polygons,
allowing us to cache the triangulation of complex boards
(cherry picked from commit a6325aab29
)
2018-09-20 10:12:30 -07:00
Carsten Schoenert
e81faa2d5f
fix misspelled 'allow to' -> 'allow one to'
2018-07-11 10:35:14 -04: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
Andrzej Wolski
1f6f76beb9
Fix overbar drawing for non-italic text
...
Overbar was always indented inward, regardless if text was italic or not.
2018-06-24 12:01:10 -04:00
Maciej Suminski
73a8d2a9d5
OPENGL GAL: Fixed the iteration condition when drawing triangulated polyset
...
The loop used an incorrect variable size as the loop limit,
occasionally causing out of bounds accesses.
Fixes: lp:1778288
* https://bugs.launchpad.net/kicad/+bug/1778288
2018-06-23 02:05:21 +02:00
Maciej Suminski
1751e4631c
Code formatting
2018-06-23 01:59:49 +02:00
Maciej Suminski
813c1a2ba2
Dealing with inconsistent wxGLCanvas::IsDisplaySupported()
...
wxGLCanvas::IsDisplaySupported() handles wxGL_{MINOR,MAJOR}_VERSION
attributes only in 3.0.4. Since 3.1.0 the attributes are apparently not
supported, so instead wxGLContext::IsOK() is used (introduced in 3.1.0).
Fixes: lp:1775995
* https://bugs.launchpad.net/kicad/+bug/1775995
2018-06-11 12:26:59 +02:00
Maciej Suminski
6bd708621b
Early check of supported OpenGL version
2018-06-04 12:17:58 +02:00
jean-pierre charras
8f984c2899
OpenGL, DrawGrid(): use grid and axis alpha color value setting, instead of the fixed 1.0
...
In Cairo mode, this function uses already the alpha color value setting.
Now for low alpha values (usually they are low, as said in many GAL comments),
Cairo mode and OpenGL mode should have a similar look.
2018-06-01 18:29:04 +02:00
Maciej Suminski
7d9dea7897
Remove an excessive assert for Cairo canvas size
...
It is a C-style assert causing application termination when triggered.
Certain systems display pcbnew window shrinked so much, that the canvas
size is 0x0 pixels. The only problem with that is the window needs to be
resized.
Fixes: lp:1767031
* https://bugs.launchpad.net/kicad/+bug/1767031
2018-04-27 10:06:36 +02:00
Carsten Schoenert
77b3a662fc
fix misspelled 'Allows to' -> 'Allows one to'
2018-04-08 13:24:30 -04:00
Carsten Schoenert
1f32f7c55b
fix misspelled 'allows to' -> 'allows one to'
2018-04-08 13:24:18 -04:00
Jon Evans
081c77f6bd
OPENGL_GAL::DrawSegment(): Enforce nonzero width to match Cairo
...
Fixes: lp:1759958
* https://bugs.launchpad.net/kicad/+bug/1759958
2018-03-29 22:13:46 -04:00
Maciej Suminski
6331f94544
OpenGL GAL: safer error handling
...
Replaced assert() with wxCHECK(), so in case of problems methods return
instead of continuing with invalid state/data, wherever possible.
2018-03-22 18:20:02 +01:00
Jeff Young
99e659ff54
Coverity fixes.
2018-03-21 23:11:55 +00:00
Jon Evans
921e68107b
OpenGL: Make circle/arc drawing match Cairo for some edge cases
2018-03-08 22:04:33 -05:00
Maciej Suminski
9ce768c29a
Modified STROKE_FONT::ComputeStringBoundaryLimits() to process multiline strings
...
Removed a declaration of a not existing method (STROKE_FONT::ComputeTextLineSize()).
Fixes: lp:1747967
* https://bugs.launchpad.net/kicad/+bug/1747967
2018-03-08 10:56:34 +01:00
Carsten Schoenert
9679bd55c1
fix misspelled 'streching' -> stretching
2018-02-25 17:10:10 -05:00
Carsten Schoenert
cb14742442
fix misspelled 'accesing' -> 'accessing'
2018-02-25 17:10:10 -05:00
Maciej Suminski
5c8accef8e
Enable GL debug output only if available
2018-02-14 08:52:08 +01:00
jean-pierre charras
5ecfd32654
OpenGl fix: call enableGlDebug( true ) only in Kicad debug build, and only on Linux
...
(Because we have crashes on OSX and some Window installs)
2018-02-10 11:57:22 +01:00
Maciej Suminski
8a68a21570
Enable OpenGL debug output in debug builds
2018-02-09 16:20:38 +01:00
Tomasz Włostowski
271363f822
router: support for board outline
2018-02-06 09:43:56 +01:00
Tomasz Włostowski
2faf1a1ed3
Initial support for keepout zones in the P&S router.
2018-02-06 09:43:56 +01:00
jean-pierre charras
2fd00b1d23
Revert "Ensure DrawRectangle() stroke outline will always be visible"
...
This reverts commit 74d47d8173
because
it breaks DrawRectangle in outline mode because it modify line width.
2018-01-21 10:14:02 +01:00
Jon Evans
74d47d8173
Ensure DrawRectangle() stroke outline will always be visible
...
Fixes: lp:1743242
* https://bugs.launchpad.net/kicad/+bug/1743242
2018-01-16 09:20:02 +01:00
Camille
9ff66a5274
Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases
2018-01-09 18:55:51 -05:00
Maciej Suminski
4ec24badb9
Enlarge OpenGL glyphs to match Cairo and legacy text size
2018-01-08 10:46:27 +01:00
Kristoffer Ödmark
e7ddcca569
Fix some netname rendering issues
...
Fixes: lp:1739074
* https://bugs.launchpad.net/kicad/+bug/1739074
2018-01-08 10:29:50 +01:00
Jon Evans
9689200984
OpenGL: Fix background color being drawn twice in no-AA mode
...
Fixes: lp:1741363
* https://bugs.launchpad.net/kicad/+bug/1741363
2018-01-06 17:32:19 +01:00
Mark Roszko
b98cc0b937
Some coverity fixes
2018-01-05 22:51:03 -07:00
Maciej Suminski
2fc07561f1
Fix crash when drawing a polygon with empty outline
...
In theory there should be no polygons with empty outline, but as you see
there was at least one leading to a crash.
Fixes: lp:1739455
* https://bugs.launchpad.net/kicad/+bug/1739455
2017-12-21 09:51:26 +01:00
Maciej Suminski
7741b90c78
gal: Draw grid from edge to edge
...
Fixes: lp:1677211
* https://bugs.launchpad.net/kicad/+bug/1677211
2017-12-20 09:28:39 +01:00
Bernhard Stegmaier
02d1b2611e
Remove wx-3.1 only constructor from HIDPI_GL_CANVAS wrapper.
2017-12-18 16:26:01 +01:00
Bernhard Stegmaier
19d7112fa2
Merge HIDPI_GL_CANVAS wrapper with OPENGL_GAL implementation.
2017-12-18 16:26:01 +01:00
Bernhard Stegmaier
909d95b5be
Create HIDPI_GL_CANVAS wrapper for transparent wxGLCanvas HiDPI/Retina support. Enable HiDPI/Retina for 3d-viewer.
2017-12-18 16:26:01 +01:00
Tomasz Włostowski
eed924fe45
Fixed zone filling crash & thermal stubs inconsistency
...
Fixes: lp:1737557
* https://bugs.launchpad.net/kicad/+bug/1737557
Fixes: lp:1737542
* https://bugs.launchpad.net/kicad/+bug/1737542
Fixes: lp:1737541
* https://bugs.launchpad.net/kicad/+bug/1737541
2017-12-14 01:29:08 +01:00
Andreas Buhr
6205363b50
bugfix: OPENGL_GAL::DrawPolygon did not close closed polygons
...
The polygon drawing routing in the OpenGL-GAL did
not plot polygons which are "closed", i.e. have a segment
from their last point to their first point, correctly.
That segment was omitted.
This commit fixes this bug.
2017-12-13 17:01:32 +01:00
Andreas Buhr
5572183c22
bugfix: OPENGL_GAL::drawPolygon did not respect fill settings
...
The OPENGL_GAL::drawPolygon function and all functions using it
did not respect the isFillEnabled member set by
GAL::SetIsFill. This is fixed by this patch.
2017-12-11 10:21:37 +01:00
Maciej Suminski
ef8f5db024
Handle space character in OPENGL_GAL::BitmapText()
...
Fixes: lp:1668455
* https://bugs.launchpad.net/kicad/+bug/1668455
2017-12-07 17:58:54 +01:00
Maciej Suminski
602ecf7502
Fix overbar display in OpenGL canvas
...
Moved the code handling text overbars to a single function
(ProcessOverbars()) to replace similar pieces of code trying to do the
same thing.
Fixes: lp:1735906
* https://bugs.launchpad.net/kicad/+bug/1735906
2017-12-07 17:58:54 +01:00
Tomasz Włostowski
8df299a6bc
pcbnew: Optimized zone filling algorithm: code cleanup
2017-12-05 14:54:57 +01:00
Tomasz Włostowski
316ddadec1
pcbnew: Optimized zone filling algorithm.
2017-12-05 14:54:57 +01:00
Jon Evans
0564d3456b
Preserve color scheme when switching to legacy (Fixes lp:1670669)
...
Instead of modifying the colors when switching to legacy canvas,
they will now be preserved and only returned as the "legacy" colors.
2017-11-28 10:47:04 +01:00