jean-pierre charras
c07ac8b3db
Gerbview: seriously speed up the calculation time to draw polygons on OpenGL.
...
Mainly CacheTriangulation() was creating triangles using partition mode.
But this mode is optimized for Pcbnew and Gerbview and different internal units.
Now CacheTriangulation() is used in no partition, much faster in GERBVIEW_PAINTER.
From Master branch
2022-05-13 18:33:53 +02:00
jean-pierre charras
511e862cfe
Gerbview export to kicad_pcb file: remove calls to Simplify and Fracture.
...
They are not needed to export polygons because they are already
fractured, and these calls are very time consuming.
From Master branch
2022-05-06 13:06:41 +02:00
jean-pierre charras
2de1bd7a4a
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
...
From Master branch.
2022-04-14 15:06:17 +02:00
Marek Roszko
fe11bc8330
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
2022-04-11 20:39:08 -04:00
Seth Hillbrand
c2d72180f8
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 651f50a26d
.
2022-04-11 11:03:19 -07:00
Marek Roszko
651f50a26d
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:40:58 -04:00
jean-pierre charras
375a7303c5
Gerbview: Fix incorrect rendering of aperture macros combining polygons.
...
A aperture macro can have polygons with holes, and/or many polygons.
When combining polygons holes can be created. So ensure the resulting polygon
is fractured before drawing it.
From Master branch
Fixes #11218
https://gitlab.com/kicad/code/kicad/issues/11218
2022-03-23 20:56:57 +01:00
jean-pierre charras
08bc14ccf2
Gerbview: fix missing handling of ID_GRID_SETTINGS event.
...
Fixes #10885
https://gitlab.com/kicad/code/kicad/issues/10885
2022-02-18 12:30:44 +01:00
jean-pierre charras
6b6d97e726
Gerbview: fix a long standing issue: negative objects are now correctly printed.
2022-02-12 11:57:14 +01:00
Seth Hillbrand
d937abb5b8
Fix float scaling to use single fn
...
Function `scaletoIU` was updated in a8c275ae5d
but this missed other
conversion points that re-implemented the same routine. This unifies
the scaling for both ReadIJCoord and ReadXYCoord to use the same routine
as calls from am_primitive
Fixes https://gitlab.com/kicad/code/kicad/issues/10800
2022-02-10 12:36:10 -08:00
jean-pierre charras
ab878cc257
gerbview: fix incorrect render of regions defined by a 360 deg arcd (a circle)
...
these regions were missing.
2022-02-10 09:52:14 +01:00
Seth Hillbrand
a8c275ae5d
Fix relative return with nullptr condition
...
Previous fix for CVE munged return conditions for gerber files in some
cases. This restores the proper order where a nullptr will return 0,0
in the relative case and the current coordinate in others
Also fixes incorrect scale factor for inches/mils conversion to mm
2022-02-09 13:09:19 -08:00
Seth Hillbrand
861589d837
Use wxEmptyString instead of wxT( "" )
...
Also fixes places where ternaries did autopromotion instead of returning
an empty wxString
2022-02-09 10:33:52 -08:00
Jeff Young
3af606a020
Wide string decls for gerbview.
2022-02-05 19:59:29 +00:00
Seth Hillbrand
927afe313d
Review ReadXY/ReadIJ to avoid static char arrays
...
Tighten up the code a bit, removing extra calls and loops. Removes
unchecked use of stack char array
Fixes https://gitlab.com/kicad/code/kicad/issues/10719
2022-02-02 17:16:30 -08:00
Seth Hillbrand
a7fbdfe918
Fix overflow vulnerability in Gerbview
...
Corrects an unguarded read that could lead to arbitrary code execution
in specifically crafted gerber files.
Fixes https://gitlab.com/kicad/code/kicad/issues/10700
(cherry picked from commit 54b20cb049
)
2022-02-02 08:31:15 -08:00
Marek Roszko
67fe8904c0
Add win32 VERSION_INFO resource blocks for the DLLs
...
(cherry picked from commit 3f711b8958
)
2021-12-29 04:56:26 +00:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Seth Hillbrand
36e07639e0
Trainling -> Trailing
2021-11-08 15:56:51 -08:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
jean-pierre charras
0a152f98ac
GERBVIEW_INSPECTION_TOOL: fix not working "show source..." tool.
2021-10-30 12:56:32 +02:00
Jeff Young
c9d858eaf5
Add status bar message for constraint mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Ian McInerney
69509c9dd1
gerbview: Remove empty strings from PCB layer number combobox
2021-10-13 23:49:52 +01:00
jean-pierre charras
7715d6d396
Gerbview: Minot fix: allows 32 copper layers in Export to Pcbnew.
...
Fixes #9376
https://gitlab.com/kicad/code/kicad/issues/9376
2021-10-13 18:47:52 +02:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
jean-pierre charras
c504b5165d
Try to fix use of a non const method in a const method (created by commit 5abe257
)
...
(not detected by my compil).
2021-09-14 14:05:33 +02:00
jean-pierre charras
5abe2572b9
Gerbview: fix incorrect bounding box of lines drawn with a rectangular aperture.
...
Fixes #9152
https://gitlab.com/kicad/code/kicad/issues/9152
2021-09-14 10:44:40 +02:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
Seth Hillbrand
d8bc7f1bd4
Fix Gerbview extension display
2021-09-09 10:33:52 -07: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
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07: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
Seth Hillbrand
db5ce824af
Use wildcard routine for extension matching
...
Move STEP export dialog wildcard to extension matching
2021-08-20 17:24:05 -07:00
Seth Hillbrand
4cd9278041
Remove most wxFilepicker wildcards from translations
...
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
jean-pierre charras
928225e467
Gerbview, Cairo engine: slightly better handling of negative objects.
...
However, OpenGL engine is much better.
2021-08-19 10:01:31 +02:00
jean-pierre charras
a9aae9b3f7
Gerbview: Polygon shape: store its drawing coordinates to avoid rebuild them.
...
Previously, draw coordinates (and especially cache triangulation) were rebuild
each time the polygon was redraw. They are now cached. This is a significant
speed up, especially when a polygon is highlighted.
2021-08-18 10:01:29 +02:00
Mike Williams
905a8366c5
Gerbview: keep highlighted and selected layers above active layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7201
2021-08-18 06:39:05 +00:00
jean-pierre charras
24a41559ca
Gerbview: select 360 deg circular mode (G75) as default
2021-08-17 19:50:49 +02:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Julian Fellinger
cc99323c86
Gerbview: use native tab widget
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8903
2021-08-08 19:44:58 +00:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
jean-pierre charras
210671b10a
Gerbview, Excellon reader: add preference to configure default coordinates format. In Excellon drill files, the coordinate format is not specified, and sometimes units and zero option are even not specified, so some drill files cannot be read. In Preferences, default setting options are now added to specify by hand missing info.
2021-08-02 12:55:41 +02:00
Mike Williams
f2241d25c6
Gerbview: implement ;FILE_FORMAT parsing
...
Apparently Altium likes to output drill files with a specific header
setting the number format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7519
2021-08-02 08:48:15 +00:00