コード例 #1
0
ファイル: gimptext.c プロジェクト: davidyang5405/gimp
static void
gimp_text_class_init (GimpTextClass *klass)
{
  GObjectClass    *object_class      = G_OBJECT_CLASS (klass);
  GimpObjectClass *gimp_object_class = GIMP_OBJECT_CLASS (klass);
  GimpRGB          black;
  GimpMatrix2      identity;
  gchar           *language;

  text_signals[CHANGED] =
    g_signal_new ("changed",
                  G_TYPE_FROM_CLASS (klass),
                  G_SIGNAL_RUN_FIRST,
                  G_STRUCT_OFFSET (GimpTextClass, changed),
                  NULL, NULL,
                  gimp_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);

  object_class->finalize                    = gimp_text_finalize;
  object_class->get_property                = gimp_text_get_property;
  object_class->set_property                = gimp_text_set_property;
  object_class->dispatch_properties_changed = gimp_text_dispatch_properties_changed;

  gimp_object_class->get_memsize            = gimp_text_get_memsize;

  gimp_rgba_set (&black, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
  gimp_matrix2_identity (&identity);

  language = gimp_get_default_language (NULL);

  GIMP_CONFIG_INSTALL_PROP_STRING (object_class, PROP_TEXT,
                                   "text", NULL,
                                   NULL,
                                   GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_STRING (object_class, PROP_MARKUP,
                                   "markup", NULL,
                                   NULL,
                                   GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_STRING (object_class, PROP_FONT,
                                   "font", NULL,
                                   "Sans-serif",
                                   GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_FONT_SIZE,
                                   "font-size", NULL,
                                   0.0, 8192.0, 24.0,
                                   GIMP_PARAM_STATIC_STRINGS);
  /*
   *  We use the name "font-size-unit" for backward compatibility.
   *  The unit is also used for other sizes in the text object.
   */
  GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_UNIT,
                                 "font-size-unit", NULL,
                                 TRUE, FALSE, GIMP_UNIT_PIXEL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_ANTIALIAS,
                                    "antialias", NULL,
                                    TRUE,
                                    GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_HINT_STYLE,
                                "hint-style", NULL,
                                 GIMP_TYPE_TEXT_HINT_STYLE,
                                 GIMP_TEXT_HINT_STYLE_MEDIUM,
                                 GIMP_PARAM_STATIC_STRINGS |
                                 GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_KERNING,
                                    "kerning", NULL,
                                    FALSE,
                                    GIMP_PARAM_STATIC_STRINGS |
                                    GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_STRING (object_class, PROP_LANGUAGE,
                                   "language", NULL,
                                   language,
                                   GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_BASE_DIR,
                                "base-direction", NULL,
                                 GIMP_TYPE_TEXT_DIRECTION,
                                 GIMP_TEXT_DIRECTION_LTR,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_COLOR,
                                "color", NULL,
                                FALSE, &black,
                                GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_OUTLINE,
                                "outline", NULL,
                                 GIMP_TYPE_TEXT_OUTLINE,
                                 GIMP_TEXT_OUTLINE_NONE,
                                 GIMP_PARAM_STATIC_STRINGS |
                                 GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_JUSTIFICATION,
                                "justify", NULL,
                                 GIMP_TYPE_TEXT_JUSTIFICATION,
                                 GIMP_TEXT_JUSTIFY_LEFT,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_INDENTATION,
                                   "indent", NULL,
                                   -8192.0, 8192.0, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_LINE_SPACING,
                                   "line-spacing", NULL,
                                   -8192.0, 8192.0, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_LETTER_SPACING,
                                   "letter-spacing", NULL,
                                   -8192.0, 8192.0, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_BOX_MODE,
                                "box-mode",
                                 NULL,
                                 GIMP_TYPE_TEXT_BOX_MODE,
                                 GIMP_TEXT_BOX_DYNAMIC,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_BOX_WIDTH,
                                   "box-width", NULL,
                                   0.0, GIMP_MAX_IMAGE_SIZE, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_BOX_HEIGHT,
                                   "box-height", NULL,
                                   0.0, GIMP_MAX_IMAGE_SIZE, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_BOX_UNIT,
                                 "box-unit", NULL,
                                 TRUE, FALSE, GIMP_UNIT_PIXEL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_MATRIX2 (object_class, PROP_TRANSFORMATION,
                                    "transformation", NULL,
                                    &identity,
                                    GIMP_PARAM_STATIC_STRINGS |
                                    GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_OFFSET_X,
                                   "offset-x", NULL,
                                   -G_MAXDOUBLE, G_MAXDOUBLE, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);
  GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_OFFSET_Y,
                                   "offset-y", NULL,
                                   -G_MAXDOUBLE, G_MAXDOUBLE, 0.0,
                                   GIMP_PARAM_STATIC_STRINGS |
                                   GIMP_CONFIG_PARAM_DEFAULTS);

  /*  border does only exist to implement the old text API  */
  g_object_class_install_property (object_class, PROP_BORDER,
                                   g_param_spec_int ("border", NULL, NULL,
                                                     0, GIMP_MAX_IMAGE_SIZE, 0,
                                                     G_PARAM_CONSTRUCT |
                                                     GIMP_PARAM_WRITABLE));

  /*  the old hinting options have been replaced by 'hint-style'  */
  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_HINTING,
                                    "hinting", NULL,
                                    TRUE,
                                    GIMP_PARAM_STATIC_STRINGS);

  g_free (language);
}
コード例 #2
0
static void
gimp_color_config_class_init (GimpColorConfigClass *klass)
{
  GObjectClass *object_class = G_OBJECT_CLASS (klass);
  GimpRGB       color;

  gimp_rgba_set_uchar (&color, 0x80, 0x80, 0x80, 0xff);

  object_class->finalize     = gimp_color_config_finalize;
  object_class->set_property = gimp_color_config_set_property;
  object_class->get_property = gimp_color_config_get_property;

  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_MODE,
                                 "mode", COLOR_MANAGEMENT_MODE_BLURB,
                                 GIMP_TYPE_COLOR_MANAGEMENT_MODE,
                                 GIMP_COLOR_MANAGEMENT_DISPLAY,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_RGB_PROFILE,
                                 "rgb-profile", RGB_PROFILE_BLURB,
                                 GIMP_CONFIG_PATH_FILE, NULL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_CMYK_PROFILE,
                                 "cmyk-profile", CMYK_PROFILE_BLURB,
                                 GIMP_CONFIG_PATH_FILE, NULL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_DISPLAY_PROFILE,
                                 "display-profile", DISPLAY_PROFILE_BLURB,
                                 GIMP_CONFIG_PATH_FILE, NULL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DISPLAY_PROFILE_FROM_GDK,
                                    "display-profile-from-gdk",
                                    DISPLAY_PROFILE_FROM_GDK_BLURB,
                                    FALSE,
                                    GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_PRINTER_PROFILE,
                                 "printer-profile", PRINTER_PROFILE_BLURB,
                                 GIMP_CONFIG_PATH_FILE, NULL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_DISPLAY_RENDERING_INTENT,
                                 "display-rendering-intent",
                                 DISPLAY_RENDERING_INTENT_BLURB,
                                 GIMP_TYPE_COLOR_RENDERING_INTENT,
                                 GIMP_COLOR_RENDERING_INTENT_PERCEPTUAL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_SIMULATION_RENDERING_INTENT,
                                 "simulation-rendering-intent",
                                 SIMULATION_RENDERING_INTENT_BLURB,
                                 GIMP_TYPE_COLOR_RENDERING_INTENT,
                                 GIMP_COLOR_RENDERING_INTENT_PERCEPTUAL,
                                 GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SIMULATION_GAMUT_CHECK,
                                    "simulation-gamut-check",
                                    SIMULATION_GAMUT_CHECK_BLURB,
                                    FALSE,
                                    GIMP_PARAM_STATIC_STRINGS);
  GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_OUT_OF_GAMUT_COLOR,
                                "out-of-gamut-color",
                                OUT_OF_GAMUT_COLOR_BLURB,
                                FALSE, &color,
                                GIMP_PARAM_STATIC_STRINGS);

  GIMP_CONFIG_INSTALL_PROP_STRING (object_class, PROP_DISPLAY_MODULE,
                                   "display-module", NULL,
                                   "CdisplayLcms",
                                   GIMP_PARAM_STATIC_STRINGS);
}
コード例 #3
0
ファイル: gimpgrid.c プロジェクト: jdburton/gimp-osx
static void
gimp_grid_class_init (GimpGridClass *klass)
{
    GObjectClass *object_class = G_OBJECT_CLASS (klass);
    GimpRGB       black;
    GimpRGB       white;

    object_class->get_property = gimp_grid_get_property;
    object_class->set_property = gimp_grid_set_property;

    gimp_rgba_set (&black, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
    gimp_rgba_set (&white, 1.0, 1.0, 1.0, GIMP_OPACITY_OPAQUE);

    GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_STYLE,
                                   "style",
                                   N_("Line style used for the grid."),
                                   GIMP_TYPE_GRID_STYLE,
                                   GIMP_GRID_SOLID,
                                   GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_FGCOLOR,
                                  "fgcolor",
                                  N_("The foreground color of the grid."),
                                  TRUE, &black,
                                  GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_BGCOLOR,
                                  "bgcolor",
                                  N_("The background color of the grid; "
                                     "only used in double dashed line style."),
                                  TRUE, &white,
                                  GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_XSPACING,
                                     "xspacing",
                                     N_("Horizontal spacing of grid lines."),
                                     1.0, GIMP_MAX_IMAGE_SIZE, 10.0,
                                     GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_YSPACING,
                                     "yspacing",
                                     N_("Vertical spacing of grid lines."),
                                     1.0, GIMP_MAX_IMAGE_SIZE, 10.0,
                                     GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_SPACING_UNIT,
                                   "spacing-unit", NULL,
                                   FALSE, FALSE, GIMP_UNIT_INCH,
                                   GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_XOFFSET,
                                     "xoffset",
                                     N_("Horizontal offset of the first grid "
                                        "line; this may be a negative number."),
                                     - GIMP_MAX_IMAGE_SIZE,
                                     GIMP_MAX_IMAGE_SIZE, 0.0,
                                     GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_YOFFSET,
                                     "yoffset",
                                     N_("Vertical offset of the first grid "
                                        "line; this may be a negative number."),
                                     - GIMP_MAX_IMAGE_SIZE,
                                     GIMP_MAX_IMAGE_SIZE, 0.0,
                                     GIMP_PARAM_STATIC_STRINGS);
    GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_OFFSET_UNIT,
                                   "offset-unit", NULL,
                                   FALSE, FALSE, GIMP_UNIT_INCH,
                                   GIMP_PARAM_STATIC_STRINGS);
}