Index: trunk/src/libcschem/Makefile.dep =================================================================== --- trunk/src/libcschem/Makefile.dep (revision 366) +++ trunk/src/libcschem/Makefile.dep (revision 367) @@ -1,22 +1,51 @@ ### Generated file, do not edit, run make dep ### +io_lihata.o: ../plugins/io_lihata/io_lihata.c ../libcschem/config.h \ + ../libcschem/plug_io.h ../libcschem/concrete.h \ + ../libcschem/common_types.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h ../libcschem/TODO.h \ + ../plugins/io_lihata/read.h +read.o: ../plugins/io_lihata/read.c ../libcschem/config.h \ + ../plugins/io_lihata/read.h ../libcschem/concrete.h \ + ../libcschem/common_types.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h ../libcschem/TODO.h compile.o: compile.c abstract.h ../libcschem/common_types.h \ - ../../src_3rd/genht/htip.h ../../src_3rd/genht/ht.h TODO.h concrete.h \ - ../libcschem/rtree.h ../../src_3rd/genrtree/genrtree_api.h \ - ../../src_3rd/genht/htsp.h concrete_line.h ../libcschem/concrete.h \ - concrete_arc.h concrete_poly.h ../libcschem/vtcoutline.h \ - ../libcschem/concrete_arc.h ../libcschem/concrete_line.h \ + ../libcschem/config.h ../../src_3rd/genht/htip.h \ + ../../src_3rd/genht/ht.h TODO.h concrete.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + concrete_line.h ../libcschem/concrete.h concrete_arc.h concrete_poly.h \ + ../libcschem/vtcoutline.h ../libcschem/concrete_arc.h \ + ../libcschem/concrete_line.h ../../src_3rd/genvector/genvector_impl.h \ + ../../src_3rd/genvector/genvector_undef.h concrete_bitmap.h \ + concrete_conn.h ../libcschem/vtoid.h concrete_grp.h concrete_pen.h +concrete.o: concrete.c ../../src_3rd/genht/hash.h concrete.h \ + ../libcschem/common_types.h ../libcschem/config.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h TODO.h +plug_io.o: plug_io.c config.h ../../src_3rd/genvector/vtp0.h \ ../../src_3rd/genvector/genvector_impl.h \ - ../../src_3rd/genvector/genvector_undef.h concrete_bitmap.h \ - concrete_conn.h ../libcschem/vtoid.h concrete_grp.h + ../../src_3rd/genvector/genvector_undef.h plug_io.h \ + ../libcschem/concrete.h ../libcschem/common_types.h \ + ../libcschem/config.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h ../libcschem/TODO.h \ + ../../src_3rd/genvector/genvector_impl.c +project.o: project.c project.h ../libcschem/concrete.h \ + ../libcschem/common_types.h ../libcschem/config.h ../libcschem/rtree.h \ + ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ + ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h ../libcschem/TODO.h \ + ../../src_3rd/genvector/vtp0.h ../../src_3rd/genvector/genvector_impl.h \ + ../../src_3rd/genvector/genvector_undef.h ../../src_3rd/genvector/vts0.h rtree.o: rtree.c rtree.h ../libcschem/common_types.h \ - ../../src_3rd/genrtree/genrtree_api.h \ + ../libcschem/config.h ../../src_3rd/genrtree/genrtree_api.h \ ../../src_3rd/genrtree/genrtree_impl.h \ ../../src_3rd/genrtree/genrtree_search.h \ ../../src_3rd/genrtree/genrtree_delete.h \ ../../src_3rd/genrtree/genrtree_debug.h vtcoutline.o: vtcoutline.c vtcoutline.h ../libcschem/concrete.h \ - ../libcschem/common_types.h ../libcschem/rtree.h \ + ../libcschem/common_types.h ../libcschem/config.h ../libcschem/rtree.h \ ../../src_3rd/genrtree/genrtree_api.h ../../src_3rd/genht/htsp.h \ ../../src_3rd/genht/ht.h ../../src_3rd/genht/htip.h ../libcschem/TODO.h \ ../libcschem/concrete_arc.h ../libcschem/concrete_line.h \ @@ -24,6 +53,6 @@ ../../src_3rd/genvector/genvector_undef.h \ ../../src_3rd/genvector/genvector_impl.c vtoid.o: vtoid.c vtoid.h ../libcschem/common_types.h \ - ../../src_3rd/genvector/genvector_impl.h \ + ../libcschem/config.h ../../src_3rd/genvector/genvector_impl.h \ ../../src_3rd/genvector/genvector_undef.h \ ../../src_3rd/genvector/genvector_impl.c Index: trunk/src/libcschem/compile.c =================================================================== --- trunk/src/libcschem/compile.c (revision 366) +++ trunk/src/libcschem/compile.c (revision 367) @@ -33,3 +33,4 @@ #include "concrete_bitmap.h" #include "concrete_conn.h" #include "concrete_grp.h" +#include "concrete_pen.h" Index: trunk/src/libcschem/concrete.h =================================================================== --- trunk/src/libcschem/concrete.h (revision 366) +++ trunk/src/libcschem/concrete.h (revision 367) @@ -62,7 +62,10 @@ unsigned removed:1; } csch_chdr_t; +/* Forward declare basic types other objects depend on */ +typedef struct csch_pen_s csch_cpen_t; + /* Standard low level object operations; when int, return 0 for success */ typedef struct csch_cop_s { csch_chdr_t *(*remove)(csch_sheet_t *dst, csch_chdr_t *obj); Index: trunk/src/libcschem/concrete_arc.h =================================================================== --- trunk/src/libcschem/concrete_arc.h (revision 366) +++ trunk/src/libcschem/concrete_arc.h (revision 367) @@ -33,7 +33,8 @@ typedef struct csch_arc_s { csch_chdr_t hdr; - csch_oid_t pen; + csch_oid_t pen_id; + csch_cpen_t *pen; /* cached */ double sang, dang; csch_coord_t cx, cy, rx, ry, sx, sy, ex, ey; unsigned svalid:1; Index: trunk/src/libcschem/concrete_line.h =================================================================== --- trunk/src/libcschem/concrete_line.h (revision 366) +++ trunk/src/libcschem/concrete_line.h (revision 367) @@ -33,7 +33,8 @@ typedef struct csch_cline_s { csch_chdr_t hdr; - csch_oid_t pen; + csch_oid_t pen_id; + csch_cpen_t *pen; /* cached */ csch_coord_t x1, y1, x2, y2; } csch_cline_t; Index: trunk/src/libcschem/concrete_pen.h =================================================================== --- trunk/src/libcschem/concrete_pen.h (nonexistent) +++ trunk/src/libcschem/concrete_pen.h (revision 367) @@ -0,0 +1,47 @@ +/* + * COPYRIGHT + * + * cschem - modular/flexible schematics editor - libcschem (core library) + * Copyright (C) 2018 Tibor 'Igor2' Palinkas + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version.* + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Contact: + * Project page: http://repo.hu/projects/cschem + * lead developer: email to cschem (at) igor2.repo.hu + * mailing list: cschem (at) list.repo.hu (send "subscribe") + */ + + +#ifndef CSCH_CONCRETE_PEN_H +#define CSCH_CONCRETE_PEN_H +#include "libcschem/concrete.h" + +/* type=CSCH_CTYPE_PEN */ + +typedef enum csch_pen_shape_e { + CSCH_PSHP_ROUND, + CSCH_PSHP_SQUARE +} csch_pen_shape_t; + +struct csch_pen_s { + csch_chdr_t hdr; + csch_pen_shape_t shape; + csch_coord_t size; /* diameter or edge length */ + csch_pixel_t color; + unsigned int dash; +}; + +#endif Index: trunk/src/libcschem/concrete_poly.h =================================================================== --- trunk/src/libcschem/concrete_poly.h (revision 366) +++ trunk/src/libcschem/concrete_poly.h (revision 367) @@ -34,7 +34,8 @@ typedef struct csch_cpoly_s { csch_chdr_t hdr; - csch_oid_t pen; + csch_oid_t pen_id; + csch_cpen_t *pen; /* cached */ csch_vtcoutline_t outline; } csch_cpoly_t;