mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-11-23 09:30:18 +02:00
sch2fig/: slight cleanup
This commit is contained in:
parent
da22f1cc57
commit
1bab610e9e
@ -45,6 +45,9 @@ static inline float pt(int x)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Library items ----------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
void fig_rect(int sx, int sy, int ex, int ey)
|
void fig_rect(int sx, int sy, int ex, int ey)
|
||||||
{
|
{
|
||||||
// Type Thick Depth StyleV Rad
|
// Type Thick Depth StyleV Rad
|
||||||
@ -76,7 +79,8 @@ void fig_poly(int points, int x[points], int y[points])
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define OFF 20
|
/* ----- Schematics items -------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
void fig_glabel(int x, int y, const char *s, int dir, int dim,
|
void fig_glabel(int x, int y, const char *s, int dir, int dim,
|
||||||
enum fig_shape shape)
|
enum fig_shape shape)
|
||||||
@ -93,7 +97,7 @@ void fig_glabel(int x, int y, const char *s, int dir, int dim,
|
|||||||
int n = 6;
|
int n = 6;
|
||||||
int vx[5];
|
int vx[5];
|
||||||
int vy[5];
|
int vy[5];
|
||||||
int half = (dim >> 1) + OFF;
|
int half = (dim >> 1) + GLABEL_OFFSET;
|
||||||
|
|
||||||
switch (dir) {
|
switch (dir) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -106,21 +110,29 @@ void fig_glabel(int x, int y, const char *s, int dir, int dim,
|
|||||||
|
|
||||||
switch (shape) {
|
switch (shape) {
|
||||||
case fig_in:
|
case fig_in:
|
||||||
text_shift(&txt, txt.hor, text_mid, -OFF - half, 0);
|
text_shift(&txt, txt.hor, text_mid, -GLABEL_OFFSET - half, 0);
|
||||||
text_rel(&txt, text_min, text_min, -OFF, OFF, vx + 1, vy + 1);
|
text_rel(&txt, text_min, text_min,
|
||||||
text_rel(&txt, text_max, text_min, OFF, OFF, vx + 2, vy + 2);
|
-GLABEL_OFFSET, GLABEL_OFFSET, vx + 1, vy + 1);
|
||||||
text_rel(&txt, text_max, text_mid, OFF + half, 0,
|
text_rel(&txt, text_max, text_min,
|
||||||
|
GLABEL_OFFSET, GLABEL_OFFSET, vx + 2, vy + 2);
|
||||||
|
text_rel(&txt, text_max, text_mid, GLABEL_OFFSET + half, 0,
|
||||||
vx + 3, vy + 3);
|
vx + 3, vy + 3);
|
||||||
text_rel(&txt, text_max, text_max, OFF, -OFF, vx + 4, vy + 4);
|
text_rel(&txt, text_max, text_max,
|
||||||
text_rel(&txt, text_min, text_max, -OFF, -OFF, vx + 5, vy + 5);
|
GLABEL_OFFSET, -GLABEL_OFFSET, vx + 4, vy + 4);
|
||||||
|
text_rel(&txt, text_min, text_max,
|
||||||
|
-GLABEL_OFFSET, -GLABEL_OFFSET, vx + 5, vy + 5);
|
||||||
break;
|
break;
|
||||||
case fig_out:
|
case fig_out:
|
||||||
text_shift(&txt, txt.hor, text_mid, -OFF, 0);
|
text_shift(&txt, txt.hor, text_mid, -GLABEL_OFFSET, 0);
|
||||||
text_rel(&txt, text_min, text_min, -OFF, OFF, vx + 1, vy + 1);
|
text_rel(&txt, text_min, text_min,
|
||||||
text_rel(&txt, text_max, text_min, OFF, OFF, vx + 2, vy + 2);
|
-GLABEL_OFFSET, GLABEL_OFFSET, vx + 1, vy + 1);
|
||||||
text_rel(&txt, text_max, text_max, OFF, -OFF, vx + 3, vy + 3);
|
text_rel(&txt, text_max, text_min,
|
||||||
text_rel(&txt, text_min, text_max, -OFF, -OFF, vx + 4, vy + 4);
|
GLABEL_OFFSET, GLABEL_OFFSET, vx + 2, vy + 2);
|
||||||
text_rel(&txt, text_min, text_mid, -OFF - half, 0,
|
text_rel(&txt, text_max, text_max,
|
||||||
|
GLABEL_OFFSET, -GLABEL_OFFSET, vx + 3, vy + 3);
|
||||||
|
text_rel(&txt, text_min, text_max,
|
||||||
|
-GLABEL_OFFSET, -GLABEL_OFFSET, vx + 4, vy + 4);
|
||||||
|
text_rel(&txt, text_min, text_mid, -GLABEL_OFFSET- half, 0,
|
||||||
vx + 5, vy + 5);
|
vx + 5, vy + 5);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -168,6 +180,9 @@ void fig_line(int sx, int sy, int ex, int ey)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- General items ----------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
void fig_text(int x, int y, const char *s, unsigned size,
|
void fig_text(int x, int y, const char *s, unsigned size,
|
||||||
enum text_align align, int rot, unsigned color, unsigned layer)
|
enum text_align align, int rot, unsigned color, unsigned layer)
|
||||||
{
|
{
|
||||||
@ -180,6 +195,9 @@ void fig_text(int x, int y, const char *s, unsigned size,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- FIG file header --------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
void fig_init(void)
|
void fig_init(void)
|
||||||
{
|
{
|
||||||
printf("#FIG 3.2\n");
|
printf("#FIG 3.2\n");
|
||||||
|
@ -91,6 +91,9 @@ struct comp {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Drawing ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
static struct comp *comps = NULL;
|
static struct comp *comps = NULL;
|
||||||
static struct comp **next_comp = &comps;
|
static struct comp **next_comp = &comps;
|
||||||
static struct obj **next_obj;
|
static struct obj **next_obj;
|
||||||
@ -206,6 +209,9 @@ found:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Text -------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
static enum text_style decode_style(const char *s)
|
static enum text_style decode_style(const char *s)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, "Normal"))
|
if (!strcmp(s, "Normal"))
|
||||||
@ -214,6 +220,9 @@ static enum text_style decode_style(const char *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Polygons ---------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
static bool parse_poly(struct obj *obj, const char *line, int points)
|
static bool parse_poly(struct obj *obj, const char *line, int points)
|
||||||
{
|
{
|
||||||
int i, n;
|
int i, n;
|
||||||
@ -233,6 +242,9 @@ static bool parse_poly(struct obj *obj, const char *line, int points)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Library parser ---------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
bool lib_parse(struct lib_ctx *ctx, const char *line)
|
bool lib_parse(struct lib_ctx *ctx, const char *line)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
#include "sch.h"
|
#include "sch.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- (Global) Labels --------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
static enum fig_shape do_decode_shape(const char *s)
|
static enum fig_shape do_decode_shape(const char *s)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, "UnSpc"))
|
if (!strcmp(s, "UnSpc"))
|
||||||
@ -50,6 +53,9 @@ static enum fig_shape decode_shape(const char *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Text -------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
static void draw_text(int x, int y, const char *s, int dir, int dim,
|
static void draw_text(int x, int y, const char *s, int dir, int dim,
|
||||||
enum fig_shape shape)
|
enum fig_shape shape)
|
||||||
{
|
{
|
||||||
@ -57,6 +63,9 @@ static void draw_text(int x, int y, const char *s, int dir, int dim,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Component fields -------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
struct sch_field {
|
struct sch_field {
|
||||||
struct text txt;
|
struct text txt;
|
||||||
struct sch_field *next;
|
struct sch_field *next;
|
||||||
@ -179,6 +188,9 @@ static void dump_fields(struct sch_field *fields, int m[6])
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- Schematics parser ------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
bool sch_parse(struct sch_ctx *ctx, const char *line)
|
bool sch_parse(struct sch_ctx *ctx, const char *line)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
@ -42,4 +42,6 @@
|
|||||||
|
|
||||||
#define JUNCTION_R 40
|
#define JUNCTION_R 40
|
||||||
|
|
||||||
|
#define GLABEL_OFFSET 20
|
||||||
|
|
||||||
#endif /* !STYLE_H */
|
#endif /* !STYLE_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user