Alex Shvartzkop
b905b4eac8
Improve moving, rendering and plotting of very small angle arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17110
2024-04-03 00:40:18 +03:00
Alex Shvartzkop
bf6ff5b805
Do not write alpha to the main framebuffer when performing antialiasing.
...
This allows correct background display when the main framebuffer has alpha.
Noticeable on Wayland with Mesa 24.0.2 Iris driver.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17341
2024-03-12 08:04:56 +03:00
Yon Uriarte
77576e1a80
Responsive: OPENGL_GAL::DrawArc reserve linequads to reduce drawing time
2024-03-05 14:15:33 +00:00
Alex Shvartzkop
80457d5871
Support transparent background in 3D viewer PNG/clipboard export.
...
Only really works with realtime renderer currently.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12060
2024-02-29 17:11:53 +03:00
Jeff Young
e7abeb3c38
Cleanup.
2024-02-24 20:05:51 +00:00
Jeff Young
ffa6adec96
Add a cache for TrueType contours and triangulation data.
...
Also returns minimumSegmentLength to its former value as
it doesn't appear to be required to fix
https://gitlab.com/kicad/code/kicad/-/issues/11463 .
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16568
(cherry picked from commit 162e8962f7
)
2024-02-23 16:53:29 +01:00
Jeff Young
7fbeea0195
Allow smaller grid dots on Retina displays.
2024-01-19 20:37:27 +00:00
Jon Evans
e29baa75b4
Scale GAL grid with DPI
2024-01-19 12:20:13 -05:00
Alex Shvartzkop
5bd620d8f9
Support Bezier curve editing in eeschema.
2024-01-16 14:11:25 +03:00
Jeff Young
5aae8e2fd0
Code cleanup.
2024-01-04 16:13:42 +00:00
Alex Shvartzkop
965576f2c6
Enable alpha test for bitmaps in OpenGL GAL.
2023-12-31 15:05:00 +05:00
Alex Shvartzkop
e8fabb58a6
Fix bitmap Z order in OpenGL GAL.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16482
2023-12-31 14:09:28 +05:00
Jon Evans
1c895fe18c
Improve rendering of tuning status popup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
Add dedicated UI rendering layers
Switch to screen-space rendering to avoid blurriness
Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale
Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Alex Shvartzkop
afa08b710c
Support transparent cursor colors in OpenGL GAL.
2023-11-29 04:04:22 +03:00
Alex Shvartzkop
00904e8e23
Set UNPACK_ALIGNMENT properly for RGB bitmaps,
2023-10-24 06:58:46 +03:00
Alex Shvartzkop
0e4553b1fa
Fix variable shadowing.
2023-10-24 04:25:31 +03:00
Alex Shvartzkop
977912dcd5
Fix up 75c758e5f4
for masked images.
2023-10-24 03:59:03 +03:00
Alex Shvartzkop
71d0c7f6af
OpenGL: Improve logic when bitmap cache memory is exhausted.
...
Don't remove the front entry, as it will likely be needed for the next bitmap.
Instead, implement neuristics based on access times.
2023-10-24 03:36:51 +03:00
Alex Shvartzkop
ccc29e9776
Improve bitmap caching performance.
2023-10-24 01:27:53 +03:00
jean-pierre charras
42384bcbd0
OPENGL_GAL: ensure 0 sized rect with thickness is shown (already shown by Cairo)
...
Fixes #15850
https://gitlab.com/kicad/code/kicad/-/issues/15850
2023-10-10 18:31:10 +02:00
Marek Roszko
ee91b550d8
gl_context_mgr and gl_util belong in the gal folder
2023-09-19 23:06:44 -04:00
Alex
66922b3bd2
Add hacks for EGL on Wayland
2023-09-14 03:54:01 +03:00
Alex Shvartzkop
ead44d58a0
Fix bezier curves drawing in schematic/libedit.
2023-09-09 20:28:49 +03:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Marek Roszko
a6a20bf8dc
Evict the Pgm() dependency in GAL
2023-09-06 20:13:46 -04:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Alex Shvartzkop
717ee350c8
Support >180 deg arcs in schematic.
2023-08-07 14:18:38 +03:00
Alex Shvartzkop
6a123e2381
OpenGL GAL: fix reserved vertices calculation in drawSegmentChain.
2023-07-10 09:32:21 +05:00
Alex Shvartzkop
4cb7e92aad
Fix overlapping transparent images covering each other in OpenGL GAL.
2023-07-03 02:15:05 +03:00
Kuba Sunderland-Ober
1edb9bb0ce
Get rid of VECTOR2U.
2023-06-28 20:48:07 +00:00
Alex Shvartzkop
eaf65f7d53
Avoid deadlock when OpenGL context can't be created.
...
Previously, with aContext == nullptr, the mutex would lock, but not unlock.
Then it got deadlocked inside OPENGL_GAL dtor.
2023-06-11 18:59:00 +03:00
Jeff Young
f35a88ce0b
Cache LIB_PIN text extents for performance.
...
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.
And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.
Also reverts using the cache for drawing-sheet text. The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).
And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822
2023-05-27 16:32:11 +01:00
Jeff Young
4ed267394a
Outline font performance improvements.
...
1) Don't fracture font glyphs when generating them; we're going
to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303
2023-05-27 01:35:40 +01:00
jean-pierre charras
31b30cef96
OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps
...
The vertical mirror was not working.
2023-04-23 16:00:05 +02:00
qu1ck
0c049eccc7
Fix a bunch of compiler warnings
2023-04-11 17:01:30 +00:00
Alex
e91b53fc39
opengl_gal: Remove extra padding of bitmap textures.
...
Since the format has been changed to RGBA8, default (UN)PACK_ALIGNMENT = 4
works correctly, so the texture width padding to 4 is not needed anymore.
Fixes https://gitlab.com/kicad/code/kicad/issues/14432
2023-04-07 13:52:43 +03:00
Chartreuse
0d5976c52b
Diff Layer Transparancy Fallback for Low Framebuffer Count
2023-03-20 13:05:24 +00:00
Marek Roszko
d55e2049e5
Silence some warnings with static_casts
2023-02-18 23:36:50 -05:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Seth Hillbrand
823607796b
Additional safety around wks bitmaps
...
Invalid files can create large problems for unloaded PNG data
Fixes https://gitlab.com/kicad/code/kicad/issues/13801
2023-02-07 12:08:39 +01:00
jean-pierre charras
23d0e6b4c0
Fix compil on msys2 (Structured Exception Handling not really supported)
2023-02-05 10:39:25 +01:00
Alex
525d0da126
Move __try into lambda.
2023-02-05 07:55:01 +03:00
Alex
b913e9be1e
Move more of defragment inside the __try block.
2023-02-05 07:45:03 +03:00
Alex
74a242c662
Catch access violation in defragment due to OpenGL drivers on Windows.
2023-02-05 07:03:04 +03:00
jean-pierre charras
e900e472ce
Fix compil and Coverity warnings
2023-01-22 09:40:09 +01:00
Jon Evans
05b578a9bb
Bitmaps: use original size for caching
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13486
2023-01-11 21:15:07 -05:00
Jon Evans
8894b8e669
Implement bitmap rotation and mirroring without texture modification in opengl_gal
2023-01-04 00:26:45 +00:00
Jon Evans
ac3ed02283
Rework bitmap cache and enable it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00