Commit Graph

534 Commits

Author SHA1 Message Date
stefan schippers aa2d8b1b09 better implementation of previous commit 2025-09-23 02:42:13 +02:00
stefan schippers 9f11ff4924 minimum width of bold waveforms set to 2*tk_scaling, so will be visible even if zoomed out a lot 2025-09-20 21:58:36 +02:00
stefan schippers 987faa1a41 set tk_scaling C variable global, updated in draw(), caching tcl tk_scaling variable, add tk_scaling in threshold expression in find_closest_*() functions 2025-09-15 01:38:10 +02:00
stefan schippers 3efe7bfbec button3 right click on signal names in graphs works now better, no context menu in the way. 2025-09-09 00:09:29 +02:00
stefan schippers e64f76a4fd avoid additional "escape char eating" when rendering symbol texts (translate() + translate3() ) 2025-08-22 00:08:22 +02:00
stefan schippers 28dd3f2013 print_spice_element(): do not substitute "extra" pins in format string (like @body) with body=xxx given in parent symbol instance attributes 2025-05-20 02:51:52 +02:00
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 afc3f1b724 move some X11 dependent code into draw(), circuit example updates 2025-04-20 09:48:40 +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 b2e5a5235e add bus attribute (thick lines) for polygon, fix rubber display of wires and lines with bus=1 (missing rectorder() in XCopyArea) 2025-04-08 01:11:15 +02:00
stefan schippers 514b5be2c2 fix sym_txt (text display/hide) in symbols, add commands to place ipins and opins, move create_plot_cmd to ctrl-shift-X, grouped some menus in Symbol menu 2025-04-07 14:50:28 +02:00
stefan schippers 24f2af8c81 update keybinding documentation; add `/` command to show fullscreen image of keybindings also in Help menu) 2025-04-06 12:58:13 +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 0b266d2bd0 merge in SuperChayan refactoring ( recompute_orthogonal_manhattanline() ) 2025-03-19 00:50:35 +01:00
stefan schippers 33591fa41d applied recent additions from SuperCgayan 2025-03-16 11:35:30 +01:00
stefan schippers a0a5d9876f drawtemp_manhattanline(): use local nl_xx[12] and nl_yy[12] variables, since xctx->nl_xx[12] and xctx->nl_yy[12] are used also in select_rect() which calls draw_selection() which calls drawtemp_manhattanline(). 2025-03-16 05:15:40 +01:00
stefan schippers 08397f7038 merge Chayan Deb changes for manhattan-style move objects and handle_key_press() refactor 2025-03-14 15:25:57 +01:00
stefan schippers f1901e055c clip graph point[].x values to prevent aliasing at absurdly deep zoom in values 2025-03-08 10:53:21 +01:00
stefan schippers d7d812c023 square grid points if grid_point_size is specified 2025-03-07 15:59:43 +01:00
stefan schippers fafd48eb31 new tcl variable grid_point_size to set size of grid points (for 4K+ displays) 2025-03-07 14:45:13 +01:00
stefan schippers efdd45f414 revert wrong fix (fix typo in draw_graph()) not a typo... 2025-02-28 19:19:06 +01:00
stefan schippers be1a0deb89 fix typo in draw_graph() 2025-02-28 18:04:56 +01:00
stefan schippers 0e438829c6 allow locked attached rectangles, so they can not be selected accidentally. Small resize of x/y graph axis labels 2025-02-22 10:33:13 +01:00
stefan schippers dc270aa029 resize a bit graph wave label / axis label sizes 2025-02-21 12:53:04 +01: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 90bb42e7fa fix regression: no dashed graph bbox 2025-02-20 16:52:23 +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 279d24288d proc rel_sym_path: resolve ~/... or relative paths (by prepending HOME or PWD) to input path before calculating relative symbol path. Added command `xschem load_symbol` 2025-02-15 00:50:02 +01:00
stefan schippers 89a8d8b719 same previous fix for resetwin() restore done in ps_embedded_graph() backported also in svg_embedded_graph() (not necessary here but safer) 2025-02-10 17:44:05 +01:00
stefan schippers 724869638e fix max size of graph bitmap calculation in svg_embedded_graph() and ps_embedded_graph() 2025-02-10 01:21:22 +01:00
stefan schippers 188e73cf8b place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3()) 2025-02-09 02:46:45 +01:00
stefan schippers 0b3db90f19 one more argument to translate3() 2025-02-07 14:39:21 +01:00
stefan schippers 40fd937d51 shorted_instance(): fixed a bug: lvs_ignore active disallows evaluation of spice_ignore flags; ps_draw_symbol(): draw in grey or red ignored or shorted devices 2025-01-29 16:22:44 +01:00
stefan schippers 44cc37f013 optimization: comment out a call do dbg() in a deep, deep nested loop in draw_graph(), enable if needed 2025-01-27 15:33:46 +01:00
stefan schippers 0d325f6957 force a crosshair draw at end of draw() (draw_crosshair(7,...)), intuitive interface direct drag of instances: fix some non-working combinations when stretch mode (y) is enabled. 2025-01-27 01:49:06 +01:00
stefan schippers 8086b5581e redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress. 2025-01-26 15:19:22 +01:00
stefan schippers 4700483fa4 draw_crosshair(): more logical what parameter values 2025-01-25 02:13:59 +01:00
stefan schippers 48264c0399 allow `xschem translate -1 string` to translate tokens that do not depend on specific instances; yet another change in wrap detection in graphs, always use simulator sweep-var instead of user specified sweep variable; simulated data will never wrap exactly to first value due to roundoff errors; -fast optionto `xschem hilight_netname` command 2025-01-24 03:52:20 +01:00
stefan schippers 7ee11e8dbc various fixes related to crosshair mouse display 2025-01-21 16:07:23 +01:00
stefan schippers 72d961aacd fix a regression where a mouse wheel zoom or schematic pan unexpectedly end an ongoing wire placement. Add xschemrc variable crosshair_size; if set to 0 draw full crosshair, if set to a small integer draw a small square around the mouse snapped coordinate 2025-01-21 15:38:19 +01:00
stefan schippers 99b0bba5b8 if big_grid_points is not set draw always thin axes and mouse crosshairs; dashed axes 2025-01-21 12:34:14 +01:00
stefan schippers ac8db614c0 infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models. 2025-01-17 17:15:48 +01:00