Stefan Frederik
|
5880e23f94
|
added hierarchical ps/pdf export (File menu)
|
2021-06-13 23:55:17 +02:00 |
Stefan Frederik
|
ddaa431144
|
make_sym_lcc.awk: declare "value" as local variable inside process_box_line() to avoid clashes with global "value"
|
2021-06-05 08:58:38 +02:00 |
Stefan Frederik
|
bda3d9d426
|
Added new feature "Make schematic and symbol from selected components" with command "xschem make_sch_from_sel" and function make_schematic(..)
added proc make_symbol_lcc and make_symbol_lcc.awk
sch and sym components to specially process dash in prop_ptr.
|
2021-05-29 00:45:01 +02:00 |
Stefan Frederik
|
ce5d9e40a6
|
pdf and png export: handle filenames with spaces in output filters
|
2021-04-16 16:27:32 +02:00 |
Stefan Frederik
|
c5adb8a312
|
export images: seed text box with filename taking current schematic name; mkdir option in file / save dialog box; search dialog box: if token not found just repeat
|
2021-03-18 16:28:09 +01:00 |
Stefan Frederik
|
906dc4212e
|
windows png/pdf export
|
2021-01-28 23:09:37 +01:00 |
Stefan Frederik
|
acb1c28921
|
find_inst_to_be_redrawn() fix speed issue when auto-net name showing is enabled: evaluate out of any operation loop, using hash table of changed nodes
|
2021-01-07 16:35:57 +01:00 |
Stefan Frederik
|
3528634124
|
Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe
|
2021-01-02 18:56:42 +01:00 |
Stefan Frederik
|
a5c4bf8aae
|
adjust comments
|
2020-12-31 18:06:54 +01:00 |
Stefan Frederik
|
a9d7d93e40
|
caching simulation data into "simdata" struct for performance
|
2020-12-31 03:08:24 +01:00 |
Stefan Frederik
|
47ed76374e
|
fix value for "non hilight condition" on instance .color field as small negatives are used for simulation
|
2020-12-28 04:47:26 +01:00 |
Stefan Frederik
|
9e9cac0516
|
remember last directory in export png/svg/pdf/ps, added missing symbols
|
2020-12-27 22:59:15 +01:00 |
Stefan Frederik
|
9604b8cc82
|
removed redundant code in calc_drawing_bbox(),removed trim_wires, push & pop undo in print export routines, exported images should be wysiwyg
|
2020-12-25 21:31:15 +01:00 |
Stefan Frederik
|
582863f825
|
added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed.
|
2020-12-25 04:37:53 +01:00 |
Stefan Frederik
|
6e8486bbf2
|
add mising parameter in text_bbox() needed if compiling without cairo, tedax_netlist updated to be in line with other backends.
|
2020-12-24 12:23:48 +01:00 |
Stefan Frederik
|
d0fb5f94e0
|
eliminated some global vars
|
2020-12-23 05:07:39 +01:00 |
Stefan Frederik
|
c58645b8e6
|
fix connection bubbles not updated when adding "2 segment manhattan lines" , svg export draws highlighed nets if any
|
2020-12-23 02:14:27 +01:00 |
Stefan Frederik
|
26b5b67262
|
code formatting
|
2020-12-22 22:37:39 +01:00 |
Stefan Frederik
|
1cfea4d1d3
|
svg_draw(): do not print unused layer stylesheets, error check when opening file for printing
|
2020-12-22 18:31:08 +01:00 |
Stefan Frederik
|
779c789100
|
better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation
|
2020-12-22 00:13:25 +01:00 |
Stefan Frederik
|
4ddc9654e8
|
add xschem commands for specifying image size for png and pdf: xschem print svg file.svg 800 600; svg background color taken from svg_colors variable so it can be changed like any other color
|
2020-12-21 04:38:57 +01:00 |
Stefan Frederik
|
35efb0228a
|
speed up draw selection for big datasets, make "drill_hilight" work again after hilight infrastructure changes, fix hilight elements with errors after netlisting, after hilight changes
|
2020-12-20 19:48:37 +01:00 |
Stefan Frederik
|
f3a3c2d10d
|
clean up of search() function (removed spaghetti drawing code, use available functions)
|
2020-12-19 19:58:30 +01:00 |
Stefan Frederik
|
bcedaa6bc5
|
various drawing optimizations to speed up full zoom views
|
2020-12-19 17:12:46 +01:00 |
Stefan Frederik
|
a837682731
|
caching "lab" and "highlight" attributes for speed
|
2020-12-19 03:22:38 +01:00 |
Stefan Frederik
|
821ebf06f2
|
optimizations in instance (connected to wires/net labels) highlights
|
2020-12-18 19:22:08 +01:00 |
Stefan Frederik
|
03c42d3ecd
|
code formatting
|
2020-12-12 22:48:25 +01:00 |
Stefan Frederik
|
a3e1564c48
|
option for variable-width grid points for better visibility on hyper-resolution monitors
|
2020-12-12 13:36:39 +01:00 |
Stefan Frederik
|
89da7d9ffd
|
use #if HAS_CAIRO!=1 indtead of HAS_CAIRO==0
|
2020-12-07 20:12:52 +01:00 |
Stefan Frederik
|
bb64297b6e
|
better #if/#endif configuration of various xrender/xcb/cairo combinations
|
2020-12-07 20:04:57 +01:00 |
Stefan Frederik
|
e80896dbf9
|
added render_format assignment that got deleted after xinit code refactoring
|
2020-12-07 18:51:15 +01:00 |
Stefan Frederik
|
17124c761c
|
each schematic windows has its own "current later" (rectcolor)
|
2020-12-06 16:40:08 +01:00 |
Stefan Frederik
|
e7e5ad190b
|
more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now
|
2020-12-06 02:10:53 +01:00 |
Stefan Frederik
|
fe1f7c57a7
|
"lazy man" (good enough for schematics) aproximated polygon clipping using the underlying xorg 16 bit integer poly clipping engine, by projecting outer vertices to the 16 bit signed coordinate system edges
|
2020-12-05 13:58:44 +01:00 |
Stefan Frederik
|
780b994aeb
|
use short data type for small integer data: rot, flip, dash, bus etc...
|
2020-12-05 03:16:01 +01:00 |
Stefan Frederik
|
e6d522bf69
|
xschem() tcl extension function (scheduler.c) command lookup made much faster by ordering command strings
|
2020-12-05 00:01:09 +01:00 |
Stefan Frederik
|
2b7e31e0d6
|
add utility functions to create new schematic window
|
2020-12-03 23:17:13 +01:00 |
Stefan Frederik
|
3732bd8d01
|
put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change)
|
2020-12-03 18:21:23 +01:00 |
Stefan Frederik
|
66a73e4e99
|
cleanup in preview code
|
2020-12-03 11:49:29 +01:00 |
Stefan Frederik
|
4322101f9b
|
cleanup in preview code
|
2020-12-03 11:46:00 +01:00 |
Stefan Frederik
|
9588a859da
|
cleanup in preview code
|
2020-12-03 11:42:06 +01:00 |
Stefan Frederik
|
a64d69ed7a
|
some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel
|
2020-12-03 04:20:05 +01:00 |
Stefan Frederik
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +01:00 |
Stefan Frederik
|
d93826f61c
|
wrap long lines in source code, set default direction of pins to "B"(idirectional) if not specified in spice netlist (no *.PININFO information)
|
2020-11-22 00:51:24 +01:00 |
Stefan Frederik
|
0d59d01170
|
allow to pass down to tcl evaluation (via tcleval( ....) wrap) instance parameters: example of a mos transistor : name=m1 w=2 l=0.13 model=net ad="tcleval([expr @W * 0.29])" --> in netlist: m1 d g s b nfet w=2 l=0.13 ... ad=0.58
|
2020-11-20 18:46:27 +01:00 |
Stefan Schippers
|
71fd1bcb68
|
comments about color handling in source code, set_cairo_color() function
|
2020-11-19 15:08:40 +01:00 |
Stefan Schippers
|
4f53cd8dbd
|
remove noop code after cleanups
|
2020-11-18 18:54:41 +01:00 |
Stefan Schippers
|
bf183f0d20
|
Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render.
|
2020-11-18 18:29:14 +01:00 |
Stefan Schippers
|
3c86f4ec64
|
more consistent function parameter names in svgdraw.c and draw.c
|
2020-11-18 12:46:57 +01:00 |
Stefan Schippers
|
fac9cfe26b
|
folded long lines
|
2020-11-16 12:33:06 +01:00 |
Stefan Schippers
|
d22b4c9ea0
|
guard against extended ascii characters in nocairo/svgdraw/psprint function
|
2020-11-13 12:54:07 +01:00 |
Stefan Schippers
|
957b9888d1
|
Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources
|
2020-11-03 12:10:55 +01:00 |
Stefan Schippers
|
55723e9429
|
line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview.
|
2020-10-17 00:53:19 +02:00 |
Stefan Schippers
|
e7928727d6
|
all xctx context is now a dynamically allocated structure; no observable performace impact
|
2020-10-15 17:39:21 +02:00 |
Stefan Schippers
|
0eb706a67e
|
removed changes in strings due to variable refactoring
|
2020-10-15 17:05:30 +02:00 |
Stefan Schippers
|
c87f44a441
|
added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname"
|
2020-10-15 15:37:06 +02:00 |
Stefan Schippers
|
8ea275013e
|
updated print_spice_subckt() to reflect updates done in print_spice_element(); abs_sym_path recognize ././././, ./., other strange paths., use $env(PWD) for current_dirname on startup instead of getcwd() if possible, to avoid dereferencing symlinks
|
2020-10-13 16:23:48 +02:00 |
Stefan Schippers
|
64c0abc58e
|
code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively
|
2020-10-12 13:13:31 +02:00 |
Stefan Schippers
|
051b20c014
|
code formating, use some intermediate variables for code readability, line length limited to 124 chars
|
2020-10-04 23:55:43 +02:00 |
Stefan Schippers
|
3060217aec
|
simplified complex logical expressions on symbol type by using macros
|
2020-10-04 19:53:09 +02:00 |
Stefan Schippers
|
8807c7250d
|
various graphic rendering fixes for the new "view instance pin net names" function. Fixed some errors in merge schematic in callback.c and paste.c
|
2020-10-02 03:21:22 +02:00 |
Stefan Schippers
|
d706e45987
|
set max width of .c files <=130 chars; Fix netlist regression: if no "lab=value" is given in instance attributes get lab from symbol "template=" string. This was commented out recently and now reverted back. "View->Enable show net names on symbol pins" global menu added: if unset no symbol pin net names will be shown regardless of instance/symbol "net_name=true" and pin @#n:net_name attributes.
|
2020-09-30 23:55:07 +02:00 |
Stefan Schippers
|
91e74fadcb
|
"@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols
|
2020-09-30 00:30:48 +02:00 |
Stefan Schippers
|
5e85a87545
|
Alt-b command toggles bounding box view: 0: view all, 1: bbox view for subcircuits, 2: bbox view for all symbols.
|
2020-09-25 00:23:34 +02:00 |
Stefan Schippers
|
b7d724dcab
|
apply visible layers (View->Symbol visible layers) to any object (lines. arcs, text etc),better bounding box calculation for slant text
|
2020-09-23 22:13:39 +02:00 |
Stefan Schippers
|
5bab41e28b
|
add attributes "weight=bold", "slant=italic", "slant=oblique" on text objects for bold/italic/oblique texts, doc updates.
|
2020-09-23 18:15:26 +02:00 |
Stefan Schippers
|
a9013fc4d9
|
use layer 4 instead of 5 for symbol bounding-box-only view
|
2020-09-07 23:02:30 +02:00 |
Stefan Schippers
|
f61c17a27b
|
fix line edit property when bus and dash are given
|
2020-09-07 14:13:07 +02:00 |
Stefan Schippers
|
ae4821a12c
|
better thick lines drawing
|
2020-09-07 13:14:50 +02:00 |
Stefan Schippers
|
fde072720d
|
enable "bus=true" attribute for lines as wellas for wires. As a side effect LCC schematics with bussed wires will display thick buses
|
2020-09-07 13:12:34 +02:00 |
Stefan Schippers
|
ac911ca1f1
|
show instance pins even if in "show only instance bounding box" mode.
|
2020-09-05 01:43:27 +02:00 |
Stefan Schippers
|
8626a8a11b
|
added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle displaying instance detals / only bounding box.
|
2020-09-05 00:58:56 +02:00 |
Stefan Schippers
|
05651fd701
|
dashed objects in svg export
|
2020-09-04 02:25:45 +02:00 |
Stefan Schippers
|
1a2500291d
|
dash attribute for arcs
|
2020-09-02 23:59:58 +02:00 |
Stefan Schippers
|
a44302a7fd
|
better join/end style for dashed objects, some dashed objects in example schematics/symbols
|
2020-09-02 19:21:51 +02:00 |
Stefan Schippers
|
3107c5b12a
|
added "dash=n" (n=integer) attribute for lines, polygons, rectangles to set dashed line style. n is the dash length in pixels.
|
2020-09-02 18:28:20 +02:00 |
Stefan Schippers
|
a73cb11412
|
if image size is not changed by user when doing a png export do not zoom_full() png image
|
2020-09-02 13:23:40 +02:00 |
Stefan Schippers
|
6608230df9
|
fix segfault when instantiating LCC schematics if sub-schematic attribute translate()s to empty string: draw_string() tries to modify const char * returned from translate(); set more const attributes in function string params to catch more such errors
|
2020-08-31 02:25:41 +02:00 |
Stefan Schippers
|
7ce7654748
|
fix some race conditions (xevents) when doing a png export from cmdline options; fix svg light colorscheme background (was always black)
|
2020-08-30 23:58:51 +02:00 |
Stefan Schippers
|
858eac08fa
|
ask "wxh" size of png export image
|
2020-08-30 15:15:18 +02:00 |
Stefan Schippers
|
a419b6aa63
|
aligned pdf hardcopy colors to xschem light colorscheme, pdf and svg exports use the enable_layer[] array to display/hide layers as does draw().
|
2020-08-30 10:38:29 +02:00 |
Stefan Schippers
|
316ca11e3a
|
removed (draw|filled).*(.*BEGIN, .*) everywhere as it is not needed (just flush graphics with END is enough)
|
2020-08-29 12:59:27 +02:00 |
Stefan Schippers
|
f26a0c737e
|
Use text layer (color) attribute for text objects also in no-CAIRO builds
|
2020-08-29 11:58:50 +02:00 |
Stefan Schippers
|
d076952bff
|
implemented text attributes "hcenter=true" (center text in reading direction) and "vcenter=true" (center text in direction perpendicular to reading direction). these can both be set for full centered text block.
|
2020-08-24 15:23:37 +02:00 |
Stefan Schippers
|
1fa99bd840
|
added hcenter and vcenter fields and function parameters for centered text (still to be implemented though); When using edit property combobox token selector multiple times update all changed token values in attribute string (instead of only last changed token value), thanks to Joanne Low for pointing out the issue
|
2020-08-24 08:36:47 +02:00 |
schippes
|
9570439e16
|
made edit_symbol_property and tcl edit_prop procedure much simpler when user clicks another instance while edit_prop dialog still open
|
2020-08-16 03:34:45 +02:00 |
Stefan SChippers
|
5e8df730a0
|
populating xschem git repo
|
2020-08-08 15:47:34 +02:00 |