static int rat_callback (const BoxType * b, void *cl) { RatType *rat = (RatType *)b; set_object_color ((AnyObjectType *) rat, NULL, PCB->RatSelectedColor, PCB->ConnectedColor, PCB->FoundColor, PCB->RatColor); if (Settings.RatThickness < 100) rat->Thickness = pixel_slop * Settings.RatThickness; /* rats.c set VIAFLAG if this rat goes to a containing poly: draw a donut */ if (TEST_FLAG(VIAFLAG, rat)) { int w = rat->Thickness; if (TEST_FLAG (THINDRAWFLAG, PCB)) gui->graphics->set_line_width (Output.fgGC, 0); else gui->graphics->set_line_width (Output.fgGC, w); gui->graphics->draw_arc (Output.fgGC, rat->Point1.X, rat->Point1.Y, w * 2, w * 2, 0, 360); } else gui->graphics->draw_pcb_line (Output.fgGC, (LineType *) rat); return 1; }
void init_object(void * object) { set_object_position(object, 0, 0); set_object_velocity(object, 0, 0); set_object_acceleration(object, 0, 0); set_object_size(object, 1, 1); set_object_color(object, BACKGROUND_COLOR); set_object_image(object, NULL); }
static int color_fun (int argc, SLcmd_Cmd_Table_Type *table) { char *what = table->string_args[1]; char *fg = table->string_args[2]; char *bg = table->string_args[3]; (void) argc; return set_object_color (what, fg, bg); }
static void draw_via (PinType *via, bool draw_hole) { if (doing_pinout) gui->graphics->set_color (Output.fgGC, PCB->ViaColor); else set_object_color ((AnyObjectType *)via, PCB->WarnColor, PCB->ViaSelectedColor, PCB->ConnectedColor, PCB->FoundColor, PCB->ViaColor); _draw_pv (via, draw_hole); }
static void draw_pin (PinType *pin, bool draw_hole) { if (doing_pinout) gui->graphics->set_color (Output.fgGC, PCB->PinColor); else set_object_color ((AnyObjectType *)pin, PCB->WarnColor, PCB->PinSelectedColor, PCB->ConnectedColor, PCB->FoundColor, PCB->PinColor); _draw_pv (pin, draw_hole); }
static void draw_pad (PadType *pad) { if (doing_pinout) gui->graphics->set_color (Output.fgGC, PCB->PinColor); else set_object_color ((AnyObjectType *)pad, PCB->WarnColor, PCB->PinSelectedColor, PCB->ConnectedColor, PCB->FoundColor, FRONT (pad) ? PCB->PinColor : PCB->InvisibleObjectsColor); _draw_pad (Output.fgGC, pad, false, false); if (doing_pinout || TEST_FLAG (DISPLAYNAMEFLAG, pad)) draw_pad_name (pad); }
static int hole_callback (const BoxType * b, void *cl) { PinType *pv = (PinType *) b; int plated = cl ? *(int *) cl : -1; if ((plated == 0 && !TEST_FLAG (HOLEFLAG, pv)) || (plated == 1 && TEST_FLAG (HOLEFLAG, pv))) return 1; if (TEST_FLAG (THINDRAWFLAG, PCB)) { if (!TEST_FLAG (HOLEFLAG, pv)) { gui->graphics->set_line_cap (Output.fgGC, Round_Cap); gui->graphics->set_line_width (Output.fgGC, 0); gui->graphics->draw_arc (Output.fgGC, pv->X, pv->Y, pv->DrillingHole / 2, pv->DrillingHole / 2, 0, 360); } } else gui->graphics->fill_circle (Output.bgGC, pv->X, pv->Y, pv->DrillingHole / 2); if (TEST_FLAG (HOLEFLAG, pv)) { set_object_color ((AnyObjectType *) pv, PCB->WarnColor, PCB->ViaSelectedColor, NULL, NULL, Settings.BlackColor); gui->graphics->set_line_cap (Output.fgGC, Round_Cap); gui->graphics->set_line_width (Output.fgGC, 0); gui->graphics->draw_arc (Output.fgGC, pv->X, pv->Y, pv->DrillingHole / 2, pv->DrillingHole / 2, 0, 360); } return 1; }
static void set_layer_object_color (LayerType *layer, AnyObjectType *obj) { set_object_color (obj, NULL, layer->SelectedColor, PCB->ConnectedColor, PCB->FoundColor, layer->Color); }