コード例 #1
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
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;
}
コード例 #2
0
ファイル: object.c プロジェクト: yjerem/outbreak
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);
}
コード例 #3
0
ファイル: keyparse.c プロジェクト: uberchicgeekchick/most
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);
}
コード例 #4
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
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);
}
コード例 #5
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
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);
}
コード例 #6
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
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);
}
コード例 #7
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
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;
}
コード例 #8
0
ファイル: draw.c プロジェクト: bgamari/geda-pcb
static void
set_layer_object_color (LayerType *layer, AnyObjectType *obj)
{
  set_object_color (obj, NULL, layer->SelectedColor, PCB->ConnectedColor, PCB->FoundColor, layer->Color);
}