case SCF_EDA_Diode:
p = c->pins[SCF_EDA_Diode_POS];
- if (p->y < c->y) {
- cairo_move_to(cr, c->x - 5, c->y - 5);
- cairo_line_to(cr, c->x + 5, c->y - 5);
- cairo_line_to(cr, c->x, c->y + 3);
- cairo_line_to(cr, c->x - 5, c->y - 5);
- } else {
- cairo_move_to(cr, c->x - 5, c->y + 5);
- cairo_line_to(cr, c->x + 5, c->y + 5);
- cairo_line_to(cr, c->x, c->y - 3);
- cairo_line_to(cr, c->x - 5, c->y + 5);
- }
+ vertical(&dx0, &dy0, c->x - p->x, c->y - p->y, 6);
+ vertical(&dx1, &dy1, c->x - p->x, c->y - p->y, -6);
+ vertical(&dx2, &dy2, c->x - p->x, c->y - p->y, -12);
+ forward (&dx3, &dy3, c->x - p->x, c->y - p->y, 12);
- cairo_move_to(cr, c->x, c->y);
- cairo_line_to(cr, p->x, p->y);
+ cairo_move_to(cr, p->x, p->y);
+ cairo_line_to(cr, c->x, c->y);
+
+ cairo_rel_move_to(cr, dx0, dy0);
+ cairo_rel_line_to(cr, dx2, dy2);
+ cairo_line_to (cr, c->x + dx3, c->y + dy3);
+ cairo_line_to (cr, c->x + dx0, c->y + dy0);
p = c->pins[SCF_EDA_Diode_NEG];
- cairo_move_to(cr, c->x, c->y);
+ cairo_move_to(cr, c->x + dx3, c->y + dy3);
cairo_line_to(cr, p->x, p->y);
break;
ses_lines_same_components(f);
- int ret = ses_layout_function(f, 25, x + 30, y + 30, w - 40, h - 40);
+ int ret = ses_layout_function(f, 30, x + 30, y + 30, w - 40, h - 40);
if (ret < 0) {
scf_loge("\n");
return ret;