scf_logw("j: %ld, c->id: %ld, n_pins: %ld, ", j, c->id, c->n_pins);
- for (k = 0; k < c->n_pins; k++) {
- p = c->pins[k];
-
- printf("p[%ld]: %d,%d, ", k, p->x, p->y);
-
- if (0 == k)
- cairo_move_to(cr, p->x, p->y);
- else
- cairo_line_to(cr, p->x, p->y);
- }
-
switch (c->type) {
case SCF_EDA_Battery:
cairo_move_to(cr, c->x - 7, c->y + 5);
cairo_line_to(cr, c->x + 7, c->y + 5);
}
+
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
+ p = c->pins[SCF_EDA_Battery_NEG];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
break;
case SCF_EDA_Resistor:
cairo_rectangle(cr, c->x - 5, c->y - 5, 10, 10);
+
+ p = c->pins[0];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
+ p = c->pins[1];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
break;
case SCF_EDA_Diode:
cairo_line_to(cr, c->x, c->y - 3);
cairo_line_to(cr, c->x + 5, c->y + 5);
}
+
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
+ p = c->pins[SCF_EDA_Diode_NEG];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
break;
+
+ case SCF_EDA_Transistor:
+ cairo_arc(cr, c->x, c->y, 5, 0, 2 * M_PI);
+
+ p = c->pins[SCF_EDA_Transistor_E];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
+ p = c->pins[SCF_EDA_Transistor_C];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
+ p = c->pins[SCF_EDA_Transistor_B];
+ cairo_move_to(cr, c->x, c->y);
+ cairo_line_to(cr, p->x, p->y);
+
default:
break;
};