コード例 #1
0
ファイル: diapatternselector.c プロジェクト: AmiGanguli/dia
static DiaPattern *
_create_preset_pattern (guint n)
{
  DiaPattern *pat;
  Color       color;

  g_return_val_if_fail (n < G_N_ELEMENTS (_pattern_presets), NULL);
  switch (_pattern_presets[n].type) {
  case DIA_LINEAR_GRADIENT:
    pat = dia_pattern_new (_pattern_presets[n].type, 0, 0.0, 0.0);
    if (_pattern_presets[n].flags != 0)
      dia_pattern_set_point (pat,
			     _pattern_presets[n].flags & LEFT ? 1.0 : 0.0,
			     _pattern_presets[n].flags & DOWN ? 1.0 : 0.0);
    break;
  case DIA_RADIAL_GRADIENT:
    pat = dia_pattern_new (_pattern_presets[n].type, 0, 0.5, 0.5);
    dia_pattern_set_radius (pat, 0.5);
    /* set the focal point to the center */
    dia_pattern_set_point (pat, 0.5, 0.5);
    break;
  default :
    g_assert_not_reached ();
  }

  color = attributes_get_background ();
  dia_pattern_add_color (pat, 0.0, &color);
  color = attributes_get_foreground ();
  dia_pattern_add_color (pat, 1.0, &color);

  return pat; 
}
コード例 #2
0
ファイル: pdf-import.cpp プロジェクト: mpuels/dia
  void updateFillColorStop(GfxState * state, double offset)
  {
    GfxRGB color;
    Color fill = this->fill_color;

    state->getFillRGB(&color);
    fill.red = colToDbl(color.r);
    fill.green = colToDbl(color.g);
    fill.blue = colToDbl(color.b);

    g_return_if_fail (this->pattern != NULL);
    dia_pattern_add_color (this->pattern, offset, &fill);
  }