Commit Graph

832 Commits

Author SHA1 Message Date
Alex Shvartzkop f60b76696a Cairo GAL: improve alignment between arcs and segments and of odd-width lines. 2024-06-10 21:21:13 +03:00
Jeff Young c6215b08ed Use wxWidgets to track DPI.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17981

(cherry picked from commit 931de12072)
2024-06-03 18:47:43 +01:00
Alex Shvartzkop c7dd993439 Add OpenGL info to About.
(cherry picked from commit 5e14ae9698)
2024-05-05 21:58:10 +03:00
Alex Shvartzkop bac0820864 Improve moving, rendering and plotting of very small angle arcs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17110


(cherry picked from commit b905b4eac8)
2024-04-02 21:41:09 +00:00
Yon Uriarte 4e8d6de1de Responsive: OPENGL_GAL::DrawArc reserve linequads to reduce drawing time
(cherry picked from commit 77576e1a80)
2024-03-15 09:45:09 -04:00
Alex Shvartzkop 50dd6185bb 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

(cherry picked from commit bf6ff5b805)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop c4a7af8a47 Cairo GAL: fix endianness check. 2024-02-28 04:11:02 +03:00
Alex Shvartzkop d359fb8ab9 Cairo GAL: reduce buffer allocation sizes.
cairo_format_stride_for_width() result is in bytes.
Also removes unneeded extra width.
2024-02-28 03:50:17 +03:00
Alex Shvartzkop 5618a6925d Cairo GAL: improve empty canvas performance (-80% CPU) 2024-02-28 03:50:17 +03:00
Jeff Young 162e8962f7 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
2024-02-22 23:36:16 +00: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
Marek Roszko 21647f54e9 Rename the `gal` output to `kigal` 2024-01-13 11:35:59 -05: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 4746bde4b3 gal as a shared lib, gaasl! 2023-09-26 22:31:31 -04:00
Marek Roszko 37479c4154 HIDPI_GL_3D_CANVAS needs CAMERA so move it over 2023-09-23 20:06:57 -04:00
Marek Roszko f8e33be07f Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
Marek Roszko ee91b550d8 gl_context_mgr and gl_util belong in the gal folder 2023-09-19 23:06:44 -04:00
Marek Roszko 43a59275c3 Remove unused header 2023-09-19 21:14:26 -04:00
Marek Roszko 4a53c8f330 newstroke_font can live in kicommon
Turns out, gal doesnt even use newstroke_font.h anymore, stop bleeding it everywhere due to the gal header
2023-09-18 07:40:02 -04:00
Marek Roszko 2b90607dcd Shuffle color4d into kicommon since its used many places 2023-09-16 19:12:55 -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 19db0f943f Restore gal recursive link to common 2023-09-06 21:59:01 -04:00
Marek Roszko 81c069c1a3 Lets see if any platform barfs dropping gal's link to common 2023-09-06 20:33:51 -04:00
Marek Roszko 67b031adab Painter base class should just live in gal instead of being in denial 2023-09-06 20:23:19 -04:00
Marek Roszko a6a20bf8dc Evict the Pgm() dependency in GAL 2023-09-06 20:13:46 -04:00
Marek Roszko a7a642e090 Remove one errant gal dependency on python 2023-09-06 18:41:13 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Alex Shvartzkop 16c35857bf Fix arcs drawing in Cairo. 2023-08-25 00:09:56 +03: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
Rastersoft 5936960c1e Allow to reverse the mouse wheel movement
This MR adds a CheckBox in the preferences window to reverse the
horizontal pan direction
2023-08-17 19:17:50 +00:00
Rastersoft 43fe1eec84 Unify mouse movements 2023-08-17 18:20:22 +00:00
Alex Shvartzkop 717ee350c8 Support >180 deg arcs in schematic. 2023-08-07 14:18:38 +03:00
Jeff Young 5e112ca78e ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
Alex Shvartzkop 6a123e2381 OpenGL GAL: fix reserved vertices calculation in drawSegmentChain. 2023-07-10 09:32:21 +05:00
jean-pierre charras 27072e52f7 Fix a compil and Coverity warnings 2023-07-07 10:28:01 +02:00