Commit Graph

128 Commits

Author SHA1 Message Date
stefan schippers 0f49e3cda7 Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues) 2025-05-01 23:52:53 +02:00
stefan schippers 6b12969d6d complete change `draw text at end as done in draw() fo preserve stacking order of objects`, in draw_symbol(), svg_draw_symbol() and ps_draw_symbol() 2025-04-21 11:35:18 +02:00
stefan schippers d2e40a8605 fix missing label text highlights in symbols. still to handle if highlight layer set to last 2025-04-21 00:36:07 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers 29ad1e06e1 reduce size of ps exports by avoiding redundant set_ps_colors() calls 2025-04-16 16:25:38 +02:00
stefan schippers 1417c05658 fix possible unitialized value for c_for_text in draw_symbol(), ps_draw_symbol(), svg_draw_symbol(), fix ps/pdf export full (missing / wrong resetwin() calls) 2025-04-16 15:01:51 +02:00
stefan schippers cf3fa993bd fix some regressions in text bbox calculation in no cairo mode 2025-04-16 02:54:56 +02:00
stefan schippers b74c0f4ac4 Honor `bus` attribute on lines / wires / polygons in svg and pdf exports 2025-04-14 12:31:59 +02:00
stefan schippers 70aed29f7f fix ps/svg export of highlighted instances (text color) 2025-04-06 13:02:28 +02:00
stefan schippers 834d2c9757 draw_symbol(): draw text at end as done in draw() fo preserve stacking order of objects 2025-04-05 11:27:45 +02:00
stefan schippers 34fd430c13 svg_embedded_graph() and ps_embedded_graph() do not do a full redraw prior to graph rasterizing, draw only the current graph area. This avoid `overstrike` problems with superimposed text objects 2025-02-21 11:12:27 +01:00
stefan schippers 821aa77b0a fix svg fill rules 2025-02-18 02:45:24 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers 9eb012e6a3 fix image in symbols rotation/flip for svg exports 2025-02-17 17:53:49 +01:00
stefan schippers 4623b1c869 add ellipses/ellipse_arcs rendering in svg export 2025-02-17 16:10:44 +01:00
stefan schippers ee750099e3 svgdraw(): draw in grey or red ignored or shorted devices, some fixes in ps_print() 2025-01-29 18:52:38 +01:00
stefan schippers 20359ed43e update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions 2024-11-12 20:23:18 +01:00
stefan schippers c342a1c41f update svgdraw and psprint to recognize svg embedded images. svgdraw exports it as embedded svg 2024-10-28 18:55:13 +01:00
stefan schippers bb1a1557bc svg and ps/pdf export: do not include data for offscreen graphs or images to reduce file size 2024-09-24 11:10:30 +02:00
stefan schippers 2372828c22 svgdraw and psprint: draw text after images as done in draw.c. Correct postscript / pdf image zoom factor from 0.97 to 1.0 to match scaling with other xschem elements. 2024-09-24 00:50:10 +02:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +02:00
stefan schippers 391464bab9 fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval() 2024-09-06 22:19:36 +02:00
stefan schippers 882f7f7434 fix memory leaks introduced since introduction of my_expand() 2024-09-06 18:33:09 +02:00
stefan schippers 17bf6f3efb handle TABs in draw_string() (also ps and svg draw_string()), tcl var tabstop (default = 8) sets the tab positions. 2024-05-23 00:57:45 +02:00
Stefan Schippers faee6bbc89 apply cairo_font_scale also for nocairo fonts (in addition to nocairo_[xy]_font_scale) 2024-03-24 20:36:19 +01:00
Stefan Schippers 3186270548 apply cairo_font_scale to svg and ps/pdf exports 2024-03-24 19:59:28 +01:00
stefan schippers 6405ac4c09 simplified alpha removal and inversion in ps_embedded_image() 2024-03-18 11:53:51 +01:00
Stefan Schippers b46828ae3e fix a typo in simconf, fix embedding of jpeg inside svg images 2024-03-17 20:16:48 +01:00
stefan schippers 9b8015b437 in_memory cairo_ctx for better font rendering when no X available 2024-03-12 11:48:18 +01:00
stefan schippers 65ba2e1cc4 svg_draw(): if xschem started with -x but cairo is available use a temporary X connection (if X available) to create a cairo context so we get more precise font metricx for text bbox calculations 2024-03-12 02:36:32 +01:00
Stefan Schippers 64bfb94b86 svgdraw: add fill=3 (full) handling 2024-03-09 20:07:47 +01:00
stefan schippers e897aee1c4 added bezier export in svg and postscript code 2024-03-01 17:23:49 +01:00
stefan schippers e946a729f8 add ability to click and drag directly polygon/bezier points 2024-03-01 00:12:44 +01:00
stefan schippers a176f99db5 svgdraw.c: avoid setting stroke-width to excessively small (invisible) values; print_spice_element(): in format string if @param is given and in instance atttributes param=value@tag do a round of resolution of @tag looking in instance attributes, then in parent symbol instance attributes (in case of per-instance implementation (schematic=... attr) and finally in parent symbol template string. Doc udpades 2024-02-16 16:44:33 +01:00
stefan schippers 8c55f3a99e add `hide=instance` attribute for in-symbol text objects (in addition to hide=true or hide=false). If set the text is invisible in instantiated symbols, but is visible if descending into the symbol 2024-01-08 15:47:01 +01:00
stefan schippers 6648652ae5 allow instance attribute `text_n_size=s` (where s is a double and n is an integer) to set symbol text item `n` to size `s` 2023-12-03 12:26:18 +01:00
stefan schippers e282abb5f1 optimized XCopyArea for draw_graph(flags & 1), removed redundant OUTSIDE macro 2023-10-30 18:03:52 +01:00
stefan schippers c23f38e10b export ps/pdf, png, svg functions now use custom file chooser widget (as Save As does) to enable creation of new folders 2023-08-30 00:42:09 +02:00
stefan schippers 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +02:00
stefan schippers ee1979b8b2 low level functions for floaters and floater text caches is implemented 2023-05-13 13:13:35 +02:00
stefan schippers 9ea93e9938 hide_texts=true attribute added on instance will avoid the display of all symbol texts (will be probably used when using floater symbol texts) 2023-05-12 12:09:20 +02:00
stefan schippers a8aaf996e7 use pre-increment where expression is not used 2023-02-18 09:44:11 +01:00
stefan schippers 42c3024eda remove debug allocation IDs 2023-02-09 21:06:27 +01:00
stefan schippers 3be9a66aed fix memory leak in table_read() 2023-02-09 21:04:22 +01:00
stefan schippers 1da5e47d4a remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk 2023-01-23 15:42:15 +01:00
Stefan Frederik ca8ffafe8a code refactoring (update_conn_cues()) 2022-11-07 14:23:57 +01:00
Stefan Frederik 153929806b fill attribute on rectangles to override layer fill style: fill=false will not fill 2022-10-29 23:49:00 +02:00
Stefan Frederik f286b376f7 do not show bboxes of hidden texts while moving objects if global option "show hidden texts" is not set; documentation updates 2022-09-16 13:19:26 +02:00
Stefan Frederik f644ce58a6 graphs are now rendered (as detailed png bitmaps) in svg exports 2022-09-15 19:39:16 +02:00