summaryrefslogtreecommitdiff
path: root/kicad
diff options
context:
space:
mode:
authorWerner Almesberger <werner@almesberger.net>2016-08-23 16:02:45 -0300
committerWerner Almesberger <werner@almesberger.net>2016-08-23 16:02:45 -0300
commit136b276c30fb1ca3d9724ca51799de60416b7b4b (patch)
treec0d389bfe7ca7edb665ceda31a6a583851e172d6 /kicad
parent9eefd8b0787ca70a284be5a13cd54189f91012c8 (diff)
downloadeeshow-136b276c30fb1ca3d9724ca51799de60416b7b4b.tar.gz
eeshow-136b276c30fb1ca3d9724ca51799de60416b7b4b.tar.bz2
eeshow-136b276c30fb1ca3d9724ca51799de60416b7b4b.zip
kicad/sch-render.c (sch_render_extra): access to lib_render_extra
Diffstat (limited to 'kicad')
-rw-r--r--kicad/sch-render.c27
-rw-r--r--kicad/sch.h1
2 files changed, 28 insertions, 0 deletions
diff --git a/kicad/sch-render.c b/kicad/sch-render.c
index 69faf8b..265181e 100644
--- a/kicad/sch-render.c
+++ b/kicad/sch-render.c
@@ -178,3 +178,30 @@ void sch_render(const struct sheet *sheet)
BUG("invalid object type \"%d\"", obj->type);
}
}
+
+
+void sch_render_extra(const struct sheet *sheet)
+{
+ struct sch_obj *obj;
+
+ for (obj = sheet->objs; obj; obj = obj->next)
+ switch (obj->type) {
+ case sch_obj_wire:
+ case sch_obj_junction:
+ case sch_obj_noconn:
+ case sch_obj_glabel:
+ case sch_obj_text:
+ case sch_obj_sheet:
+ break;
+ case sch_obj_comp:
+ {
+ const struct sch_comp *comp = &obj->u.comp;
+
+ lib_render_extra(comp->comp, comp->unit,
+ comp->convert, comp->m);
+ }
+ break;
+ default:
+ BUG("invalid object type \"%d\"", obj->type);
+ }
+}
diff --git a/kicad/sch.h b/kicad/sch.h
index 117ce16..06d9684 100644
--- a/kicad/sch.h
+++ b/kicad/sch.h
@@ -132,6 +132,7 @@ struct sch_ctx {
void decode_alignment(struct text *txt, char hor, char vert);
void sch_render(const struct sheet *sheet);
+void sch_render_extra(const struct sheet *sheet);
bool sch_parse(struct sch_ctx *ctx, struct file *file, const struct lib *lib,
const struct sch_ctx *prev);
void sch_init(struct sch_ctx *ctx, bool recurse);