[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: PCB: Pad description obsolete?
> > The canonical list of flag names is in src/strflags.c in the
> > flagbits[] array. Descriptions of the flags are in src/const.h under
> > "object flags".
> >
> I don't know C so it is useless for me...
It can't be *that* useless:
{ PINFLAG, N("pin"), ALL_TYPES },
{ VIAFLAG, N("via"), ALL_TYPES },
{ FOUNDFLAG, N("found"), ALL_TYPES },
{ HOLEFLAG, N("hole"), PIN_TYPES },
{ RATFLAG, N("rat"), RATLINE_TYPE },
{ PININPOLYFLAG, N("pininpoly"), PIN_TYPES | PAD_TYPE },
{ CLEARPOLYFLAG, N("clearpoly"), POLYGON_TYPE },
{ HIDENAMEFLAG, N("hidename"), ELEMENT_TYPE },
{ DISPLAYNAMEFLAG, N("showname"), ELEMENT_TYPE },
{ CLEARLINEFLAG, N("clearline"), LINE_TYPE },
{ SELECTEDFLAG, N("selected"), ALL_TYPES },
{ ONSOLDERFLAG, N("onsolder"), ELEMENT_TYPE },
{ AUTOFLAG, N("auto"), ALL_TYPES },
{ SQUAREFLAG, N("square"), PIN_TYPES | PAD_TYPE },
{ RUBBERENDFLAG, N("rubberend"), LINE_TYPE },
{ WARNFLAG, N("warn"), PIN_TYPES | PAD_TYPE },
{ USETHERMALFLAG, N("usetherm"), PIN_TYPES | PAD_TYPE },
{ OCTAGONFLAG, N("octagon"), PIN_TYPES | PAD_TYPE },
{ DRCFLAG, N("drc"), ALL_TYPES },
{ LOCKFLAG, N("lock"), ALL_TYPES },
{ EDGE2FLAG, N("edge2"), ALL_TYPES }
#define NOFLAG 0x0000
#define PINFLAG 0x0001 /* is a pin */
#define VIAFLAG 0x0002 /* is a via */
#define FOUNDFLAG 0x0004 /* used by 'FindConnection()' */
#define HOLEFLAG 0x0008 /* pin or via is only a hole */
#define RATFLAG 0x0010 /* indicates line is a rat line */
#define PININPOLYFLAG 0x0010 /* pin found inside poly - same as */
/* rat line since not used on lines */
#define CLEARPOLYFLAG 0x0010 /* pins/vias clear these polygons */
#define HIDENAMEFLAG 0x0010 /* hide the element name */
#define DISPLAYNAMEFLAG 0x0020 /* display the names of pins/pads */
/* of an element */
#define CLEARLINEFLAG 0x0020 /* line doesn't touch polygons */
#define SELECTEDFLAG 0x0040 /* object has been selected */
#define ONSOLDERFLAG 0x0080 /* element is on bottom side */
#define AUTOFLAG 0x0080 /* line/via created by auto-router */
#define SQUAREFLAG 0x0100 /* pin is square, not round */
#define RUBBERENDFLAG 0x0200 /* indicates one end already rubber */
/* banding same as warn flag*/
/* since pins/pads won't use it */
#define WARNFLAG 0x0200 /* Warning for pin/via/pad */
#define USETHERMALFLAG 0x0400 /* draw pin, via with thermal fingers */
#define ONSILKFLAG 0x0400 /* old files use this to indicate silk */
#define OCTAGONFLAG 0x0800 /* draw pin/via as octagon instead of round */
#define DRCFLAG 0x1000 /* flag like FOUND flag for DRC checking */
#define LOCKFLAG 0x2000 /* object locked in place */
#define EDGE2FLAG 0x4000 /* Padr.Point2 is closer to outside edge */
/* also pinout text for pins is vertical */
#define NO_TYPE 0x0000 /* no object */
#define VIA_TYPE 0x0001
#define ELEMENT_TYPE 0x0002
#define LINE_TYPE 0x0004
#define POLYGON_TYPE 0x0008
#define TEXT_TYPE 0x0010
#define RATLINE_TYPE 0x0020
#define PIN_TYPE 0x0100 /* objects that are part */
#define PAD_TYPE 0x0200 /* 'pin' of SMD element */
#define ELEMENTNAME_TYPE 0x0400 /* of others */
#define POLYGONPOINT_TYPE 0x0800
#define LINEPOINT_TYPE 0x1000
#define ELEMENTLINE_TYPE 0x2000
#define ARC_TYPE 0x4000
#define ELEMENTARC_TYPE 0x8000
#define PIN_TYPES (VIA_TYPE | PIN_TYPE)
#define LOCK_TYPES (VIA_TYPE | LINE_TYPE | ARC_TYPE | POLYGON_TYPE | ELEMENT_TYPE \
| TEXT_TYPE | ELEMENTNAME_TYPE)
#define ALL_TYPES (~0) /* all bits set */