Mark Roszko
22288e02a2
Fix cairo rendering on windows under wx 3.3
2025-09-08 12:32:12 -04:00
Seth Hillbrand
3ef862f7b6
Specialize the pad wall drawing
...
Avoids slowdown when zoom/pan with many THTs as everything remains
cached. Still slow in Cairo but this is expected
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-08-24 11:25:50 -07:00
Seth Hillbrand
26f0c03e61
ADDED: support for 45 degree crosshairs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6047
2025-08-23 06:20:00 -07:00
Seth Hillbrand
d02358da2f
Make fullscreen cursor actually fullscreen
...
Very wide screens could see the edge of the cursor :)
2025-08-23 06:20:00 -07:00
Seth Hillbrand
66f37beff7
Move canvas selection to common
...
Makes all canvases obey the same rendering parameter. Also keeps the
canvas selection with the anti-alias selection, which makes logical
sense. Reduce the antialias selection to a single choice rather than
two different choices for different canvases
2025-07-27 20:22:59 -07:00
Jeff Young
66921b5026
Fix copy/pastas.
2025-07-12 16:39:40 +01:00
Jeff Young
c09fc59ba5
It's too late to flag these at render time.
...
(And we don't control what kind of nonsense fonts
have either.)
2025-07-12 16:08:45 +01:00
Alex Shvartzkop
d928e3c4fe
Support wxCursorBundle on wx 3.3+
...
See https://gitlab.com/kicad/code/kicad/-/issues/16231
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16224
2025-06-15 10:24:49 +03:00
Wayne Stambaugh
5c8f4697ca
Common folder housekeeping part 1.
2025-01-12 12:06:45 -05:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Alex Shvartzkop
55ca13e7cf
Revert "Support hidpi in Cairo GAL canvas; performance improvements."
...
This reverts commit 8e90063258cb457f43db78334ba5bf52ad78e083.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19150
2024-12-02 22:44:20 +03:00
Seth Hillbrand
9e72d426db
Remove C macro in favor of class template
2024-11-21 18:04:23 -08:00
Jeff Young
b549c4feec
Drawing sheet can't share glyph cache entries with editors.
...
(They use different internal units.)
Also fixes a fialure of CAIRO_GAL to reset the fill
and stroke after drawing outline glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18579
2024-08-22 12:23:21 -06:00
Alex Shvartzkop
d40bbed591
Cairo GAL: improve alignment between arcs and segments and of odd-width lines.
...
(cherry picked from commit f60b76696a8bb40aa0df6e35c552e8533eec491e)
2024-06-10 21:26:17 +03:00
Alex Shvartzkop
8f8a68229c
Handle touchscreen gesture events for zoom/pan.
2024-06-08 16:00:34 +03:00
Alex Shvartzkop
8e90063258
Support hidpi in Cairo GAL canvas; performance improvements.
...
We now draw onto wxBitmap directly, reducing the amount of copying.
Also moves the bitmap blit into paint event handler.
Modifies ClearScreen to work universally between Cairo/OpenGL backends.
2024-06-08 12:51:27 +03:00
Seth Hillbrand
ab0426d620
Detect if HiDPI cursors are needed
...
HiDPI cursors are twice as large as regular cursors, allowing them to be
more easily seen on a HiDPI system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16231
2024-05-26 07:51:15 -07:00
Alex Shvartzkop
97e3139505
Cairo GAL: fix endianness check.
...
(cherry picked from commit c4a7af8a47bea303a2e1492a8d69f864c3c849c3)
2024-02-28 01:11:27 +00:00
Alex Shvartzkop
3582edb185
Cairo GAL: reduce buffer allocation sizes.
...
cairo_format_stride_for_width() result is in bytes.
Also removes unneeded extra width.
(cherry picked from commit d359fb8ab90937d3a5b4dc4cfbabf7dc04da2952)
2024-02-28 00:53:56 +00:00
Alex Shvartzkop
4fed2e849f
Cairo GAL: improve empty canvas performance (-80% CPU)
...
(cherry picked from commit 5618a6925d002107d97db8f0c21186f45a618cf7)
2024-02-28 00:53:51 +00:00
Alex Shvartzkop
16c35857bf
Fix arcs drawing in Cairo.
2023-08-25 00:09:56 +03: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
jean-pierre charras
27072e52f7
Fix a compil and Coverity warnings
2023-07-07 10:28:01 +02:00
Alex Shvartzkop
f286015bc7
Fix bitmap transparency in Cairo GAL.
...
Cairo ARGB32 format needs alpha pre-multiplied with color.
2023-07-03 02:15:05 +03:00
Marek Roszko
6e468c5ce9
Fix more warnings
...
Needless const and out of order initializer
2023-05-29 23:01:58 -04:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
dsa-t
bd8b737c44
GAL: Do better job at reserving vertices.
2022-09-14 16:07:47 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jeff Young
4a05b36bc6
Prefer EDA_ANGLE to naked radians.
2022-01-20 21:10:04 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young
04c76f10e9
Performance enhancements for fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
8e4a4306c7
Go back to using inter-character spacing from the stroke font.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1078
2022-01-04 00:46:08 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
Tomasz Wlostowski
b59ee13fcc
GAL: made Begin/EndDrawing calls public to have more control over timing of rendering context creation/destruction
2021-11-29 23:30:10 +01:00
jean-pierre charras
19fc8c6d98
CAIRO_GAL: fix incorrect display of segments in outline mode in flipped board view
...
Fixes #9633
https://gitlab.com/kicad/code/kicad/issues/9633
2021-11-15 10:12:10 +01:00
Seth Hillbrand
52bbfb9109
Remove dependency of dot size on linear mils
...
Changes a dot to be a square pixel (linewidth x linewidth). This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen. Also makes sure that cairo is setting the current linewidth
during its stroke routines
Fixes https://gitlab.com/kicad/code/kicad/issues/9362
2021-10-10 09:40:26 -07:00
jean-pierre charras
5aea7b8123
Cairo: fix incorrect handling of arcs with angle >= 360 deg in some cases.
...
Fixes #9231
https://gitlab.com/kicad/code/kicad/issues/9231
2021-09-25 09:06:09 +02:00
Wayne Stambaugh
3b16c38756
Coverity issue fixes.
...
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Mike Williams
30987cebfe
Gerbview: fix cairo negative items and implement real differential mode
...
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.
Differential layers are basically the same thing only they use a
different copying operation onto the layers below.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
Jeff Young
e62969d007
Move zone fracture display mode to AdvancedCfg, and add triangulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Ian McInerney
e08387ce3d
Make the GAL responsible for the native cursor management
...
The native cursor must be set on the GAL canvas wx object,
not its frame (otherwise on GTK the cursor is only set
when we get a request for it from the WM and not immediately).
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2021-04-05 02:36:12 +01:00
Jeff Young
812d38736e
Naming conventions.
2021-03-19 23:06:19 +00:00
Wayne Stambaugh
e7227a4f21
GAL code cleaning.
2021-02-16 17:25:27 -05:00