> > 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 */

Reply via email to