mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-09-12 21:37:42 +03:00
sch2fig/: display pin numbers
This commit is contained in:
parent
d6b73479ad
commit
6f7463c299
@ -168,6 +168,7 @@ static void draw_pin(const struct comp *comp, const struct pin_obj *pin,
|
|||||||
{
|
{
|
||||||
int x[2], y[2];
|
int x[2], y[2];
|
||||||
int dx = 0, dy = 0;
|
int dx = 0, dy = 0;
|
||||||
|
int ox, oy, sx, sy;
|
||||||
int rot;
|
int rot;
|
||||||
enum text_align hor, vert;
|
enum text_align hor, vert;
|
||||||
|
|
||||||
@ -201,22 +202,47 @@ static void draw_pin(const struct comp *comp, const struct pin_obj *pin,
|
|||||||
y[1] = my(pin->x + dx * pin->length, pin->y + dy * pin->length, m);
|
y[1] = my(pin->x + dx * pin->length, pin->y + dy * pin->length, m);
|
||||||
fig_poly(2, x, y, COLOR_COMP_DWG, COLOR_NONE, LAYER_COMP_DWG);
|
fig_poly(2, x, y, COLOR_COMP_DWG, COLOR_NONE, LAYER_COMP_DWG);
|
||||||
|
|
||||||
dx *= pin->length + comp->name_offset;
|
ox = dx * (pin->length + comp->name_offset);
|
||||||
dy *= pin->length + comp->name_offset;
|
oy = dy * (pin->length + comp->name_offset);
|
||||||
|
|
||||||
struct text txt = {
|
struct text name_txt = {
|
||||||
.s = pin->name,
|
.s = pin->name,
|
||||||
.x = mx(pin->x + dx, pin->y + dy, m),
|
.x = mx(pin->x + ox, pin->y + oy, m),
|
||||||
.y = my(pin->x + dx, pin->y + dy, m),
|
.y = my(pin->x + ox, pin->y + oy, m),
|
||||||
.size = pin->name_size,
|
.size = pin->name_size,
|
||||||
.rot = rot,
|
.rot = rot,
|
||||||
.hor = hor,
|
.hor = hor,
|
||||||
.vert = text_mid,
|
.vert = text_mid,
|
||||||
};
|
};
|
||||||
|
|
||||||
text_rot(&txt, matrix_to_angle(m));
|
text_rot(&name_txt, matrix_to_angle(m));
|
||||||
if (comp->show_pin_name)
|
if (comp->show_pin_name)
|
||||||
text_fig(&txt, COLOR_PIN_NAME, LAYER_PIN_NAME);
|
text_fig(&name_txt, COLOR_PIN_NAME, LAYER_PIN_NAME);
|
||||||
|
|
||||||
|
ox = dx * pin->length / 2;
|
||||||
|
oy = dy * pin->length / 2;
|
||||||
|
|
||||||
|
sx = mxr(-dy * PIN_NUM_OFFSET, dx * PIN_NUM_OFFSET, m);
|
||||||
|
sy = myr(-dy * PIN_NUM_OFFSET, dx * PIN_NUM_OFFSET, m);
|
||||||
|
if (sx > 0)
|
||||||
|
sx = -sx;
|
||||||
|
if (sy > 0)
|
||||||
|
sy = -sy;
|
||||||
|
|
||||||
|
struct text num_txt = {
|
||||||
|
.s = pin->number,
|
||||||
|
.x = mx(pin->x + ox, pin->y + oy, m) + sx,
|
||||||
|
.y = my(pin->x + ox, pin->y + oy, m) + sy,
|
||||||
|
.size = pin->number_size,
|
||||||
|
.rot = rot,
|
||||||
|
.hor = text_mid,
|
||||||
|
.vert = text_min,
|
||||||
|
};
|
||||||
|
|
||||||
|
text_rot(&num_txt, matrix_to_angle(m));
|
||||||
|
if (comp->show_pin_num)
|
||||||
|
text_fig(&num_txt, COLOR_PIN_NUMBER, LAYER_PIN_NUMBER);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,17 +17,30 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
|
||||||
|
static inline int mxr(int x, int y, int m[6])
|
||||||
|
{
|
||||||
|
return x * m[1] + y * m[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline int myr(int x, int y, int m[6])
|
||||||
|
{
|
||||||
|
return x * m[4] + y * m[5];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline int mx(int x, int y, int m[6])
|
static inline int mx(int x, int y, int m[6])
|
||||||
{
|
{
|
||||||
return m[0] + x * m[1] + y * m[2];
|
return m[0] + mxr(x, y, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline int my(int x, int y, int m[6])
|
static inline int my(int x, int y, int m[6])
|
||||||
{
|
{
|
||||||
return m[3] + x * m[4] + y * m[5];
|
return m[3] + myr(x, y, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned matrix_to_angle(int m[6]);
|
unsigned matrix_to_angle(int m[6]);
|
||||||
|
|
||||||
#endif /* !MISC_H */
|
#endif /* !MISC_H */
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#define COLOR_GLABEL COLOR_RED4
|
#define COLOR_GLABEL COLOR_RED4
|
||||||
#define COLOR_FIELD COLOR_CYAN3
|
#define COLOR_FIELD COLOR_CYAN3
|
||||||
#define COLOR_PIN_NAME COLOR_FIELD
|
#define COLOR_PIN_NAME COLOR_FIELD
|
||||||
#define COLOR_PIN_NUMBER COLOR_FIELD
|
#define COLOR_PIN_NUMBER COLOR_RED4
|
||||||
|
|
||||||
#define FONT_HELVETICA_BOLD 18
|
#define FONT_HELVETICA_BOLD 18
|
||||||
|
|
||||||
@ -55,5 +55,6 @@
|
|||||||
#define NOCONN_LEN 25
|
#define NOCONN_LEN 25
|
||||||
|
|
||||||
#define GLABEL_OFFSET 20
|
#define GLABEL_OFFSET 20
|
||||||
|
#define PIN_NUM_OFFSET 15
|
||||||
|
|
||||||
#endif /* !STYLE_H */
|
#endif /* !STYLE_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user