Commit 6b16a90f authored by Murray Cumming's avatar Murray Cumming

Replaced GtkRuler with GimpRuler because GtkRuler was removed from GTK 3.

* glom/utility_widgets/gimpruler/: Added several source files from
gimp, with small changes to make it build for us, to provide the GimpRuler
widget.
* COPYING: Switch to GPL version 3 (instead of 2), because the GIMP source
code uses it.
* Makefile_glom.am:
* glom/glom_developer.glade:
* glom/mode_design/print_layouts/window_print_layout_edit.[cc|cc]: Use
GimpRuler instead of GtkRuler, creating and adding them in code instead of
in the .glade file, to avoid Glade needing to know about that widget.
parent 1ff08e8e
This diff is collapsed.
2010-11-29 Murray Cumming <murrayc@murrayc.com>
Replaced GtkRuler with GimpRuler because GtkRuler was removed from GTK 3.
* glom/utility_widgets/gimpruler/: Added several source files from
gimp, with small changes to make it build for us, to provide the GimpRuler
widget.
* COPYING: Switch to GPL version 3 (instead of 2), because the GIMP source
code uses it.
* Makefile_glom.am:
* glom/glom_developer.glade:
* glom/mode_design/print_layouts/window_print_layout_edit.[cc|cc]: Use
GimpRuler instead of GtkRuler, creating and adding them in code instead of
in the .glade file, to avoid Glade needing to know about that widget.
1.19.2:
2010-11-23 Murray Cumming <murrayc@murrayc.com>
......
......@@ -181,6 +181,9 @@ glom_localedir = $(prefix)/$(DATADIRNAME)/locale
glom_includes = -I$(top_builddir)/glom -I$(top_srcdir)/glom -I$(top_builddir) -I$(top_srcdir)
#Let gimpruler build without changing the paths in its source code:
glom_includes += -I$(top_srcdir)/glom/utility_widgets/gimpruler
# We use += because this is set first in Makefile_tests.am:
glom_defines += \
-DGLOM_DATADIR=\""$(datadir)"\" \
......
......@@ -170,6 +170,17 @@ glom_source_files = \
glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.cc \
glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h \
glom/utility_widgets/eggspreadtablemm/private/eggspreadtablemm_p.h \
glom/utility_widgets/gimpruler/gimpruler.c \
glom/utility_widgets/gimpruler/gimpruler.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpbase.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpbaseenums.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpbasetypes.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpbase-private.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpbase-private.c \
glom/utility_widgets/gimpruler/libgimpbase/gimpparam.h \
glom/utility_widgets/gimpruler/libgimpbase/gimpunit.c \
glom/utility_widgets/gimpruler/libgimpbase/gimpunit.h \
glom/utility_widgets/gimpruler/libgimpmath/gimpmath.h \
glom/utility_widgets/imageglom.cc \
glom/utility_widgets/imageglom.h \
glom/utility_widgets/layoutwidgetbase.cc \
......
......@@ -1959,41 +1959,11 @@
</packing>
</child>
<child>
<object class="GtkTable" id="table1">
<object class="GtkTable" id="table_canvas">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<child>
<object class="GtkVRuler" id="vruler">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="upper">10</property>
<property name="position">5</property>
<property name="max_size">10</property>
<property name="metric">centimeters</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_SHRINK</property>
</packing>
</child>
<child>
<object class="GtkHRuler" id="hruler">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="upper">10</property>
<property name="position">5</property>
<property name="max_size">10</property>
<property name="metric">centimeters</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="y_options">GTK_SHRINK</property>
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox_canvas">
<property name="visible">True</property>
......
......@@ -62,12 +62,23 @@ Window_PrintLayout_Edit::Window_PrintLayout_Edit(BaseObjectType* cobject, const
builder->get_widget("entry_name", m_entry_name);
builder->get_widget("entry_title", m_entry_title);
builder->get_widget("vruler", m_vruler);
builder->get_widget("hruler", m_hruler);
//I'm not sure what set_metric() does, but using Gtk::CENTIMETERS leads to our max being ignored/used-weirdly. murrayc.
m_hruler->set_metric(Gtk::PIXELS);
m_vruler->set_metric(Gtk::PIXELS);
//The rulers are not in the glade file because they use an unusual widget
//that Glade wouldn't usually know about:
m_vruler = GIMP_RULER(gimp_ruler_new(GTK_ORIENTATION_VERTICAL));
gtk_widget_show(GTK_WIDGET(m_vruler));
m_hruler = GIMP_RULER(gimp_ruler_new(GTK_ORIENTATION_HORIZONTAL));
gtk_widget_show(GTK_WIDGET(m_hruler));
//Add the ruler widgets to the table at the left and top:
Gtk::Table* table = 0;
builder->get_widget("table_canvas", table);
gtk_table_attach(table->gobj(), GTK_WIDGET(m_vruler),
0, 1, 1, 2, GTK_SHRINK, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0);
gtk_table_attach(table->gobj(), GTK_WIDGET(m_hruler),
1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_SHRINK, 0, 0);
gimp_ruler_set_unit(m_hruler, GIMP_UNIT_MM);
gimp_ruler_set_unit(m_vruler, GIMP_UNIT_MM);
builder->get_widget("handle_box", m_palette_handle_box);
......@@ -834,16 +845,14 @@ void Window_PrintLayout_Edit::set_ruler_sizes()
//Note: We should use the page size if we decide not to make the canvas bounds == page size.
on_scroll_value_changed();
/*
double x1 = 0;
double y1 = 0;
double x2 = 0;
double y2 = 0;
m_canvas.get_bounds(x1, y1, x2, y2);
m_hruler->set_range(x1, x2, 0, x2);
m_vruler->set_range(y1, y2, 0, y2);
*/
gimp_ruler_set_range(m_hruler, x1, x2, x2);
gimp_ruler_set_range(m_vruler, y1, y2, x2);
}
void Window_PrintLayout_Edit::on_scroll_value_changed()
......@@ -860,8 +869,8 @@ void Window_PrintLayout_Edit::on_scroll_value_changed()
//std::cout << "DEBUG: Calling m_hruler->set_range(" << x << ", " << x + width << ", 0, " << x + width << std::endl;
m_hruler->set_range(x, x + width, 0, x + width);
m_vruler->set_range(y, y + height, 0, y + height);
gimp_ruler_set_range(m_hruler, x, x + width, x + width);
gimp_ruler_set_range(m_vruler, y, y + height, y + height);
}
bool Window_PrintLayout_Edit::on_configure_event(GdkEventConfigure* event)
......
......@@ -31,8 +31,8 @@
#include <gtkmm/entry.h>
#include <gtkmm/label.h>
#include <gtkmm/uimanager.h>
//#include <gtkmm/toggleaction.h>
#include <gtkmm/ruler.h>
//TODO: #include <gtkmm/ruler.h>
#include <glom/utility_widgets/gimpruler/gimpruler.h>
#include <gtkmm/builder.h>
namespace Glom
......@@ -124,8 +124,8 @@ private:
bool m_drag_preview_requested;
Glib::RefPtr<CanvasLayoutItem> m_layout_item_dropping;
Gtk::VRuler* m_vruler;
Gtk::HRuler* m_hruler;
GimpRuler* m_vruler;
GimpRuler* m_hruler;
//Main menu:
Glib::RefPtr<Gtk::ActionGroup> m_action_group;
......
......@@ -106,7 +106,8 @@ sharedptr<PrintLayout> Canvas_PrintLayout::get_print_layout()
//Page Setup:
Glib::KeyFile key_file;
m_page_setup->save_to_key_file(key_file);
if(m_page_setup)
m_page_setup->save_to_key_file(key_file);
Glib::ustring data;
//TODO: Catch an exception
......
This diff is collapsed.
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_RULER_H__
#define __GIMP_RULER_H__
/* This is not in the original gimp source code. */
#include <libgimpbase/gimpunit.h>
G_BEGIN_DECLS
#define GIMP_TYPE_RULER (gimp_ruler_get_type ())
#define GIMP_RULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_RULER, GimpRuler))
#define GIMP_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_RULER, GimpRulerClass))
#define GIMP_IS_RULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_RULER))
#define GIMP_IS_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_RULER))
#define GIMP_RULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_RULER, GimpRulerClass))
/* In the original gimp source code, this is in libgimpwidgets/gimpwidgetstypes.h */
typedef struct _GimpRuler GimpRuler;
typedef struct _GimpRulerClass GimpRulerClass;
struct _GimpRuler
{
GtkWidget parent_instance;
};
struct _GimpRulerClass
{
GtkWidgetClass parent_class;
/* Padding for future expansion */
void (*_gimp_reserved1) (void);
void (*_gimp_reserved2) (void);
void (*_gimp_reserved3) (void);
void (*_gimp_reserved4) (void);
};
GType gimp_ruler_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_ruler_new (GtkOrientation orientation);
void gimp_ruler_set_unit (GimpRuler *ruler,
GimpUnit unit);
GimpUnit gimp_ruler_get_unit (GimpRuler *ruler);
void gimp_ruler_set_position (GimpRuler *ruler,
gdouble position);
gdouble gimp_ruler_get_position (GimpRuler *ruler);
void gimp_ruler_set_range (GimpRuler *ruler,
gdouble lower,
gdouble upper,
gdouble max_size);
void gimp_ruler_get_range (GimpRuler *ruler,
gdouble *lower,
gdouble *upper,
gdouble *max_size);
G_END_DECLS
#endif /* __GIMP_RULER_H__ */
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* gimpbase-private.c
* Copyright (C) 2003 Sven Neumann <sven@gimp.org>
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib-object.h>
#include "libgimpbase/gimpbase.h"
#include "gimpbasetypes.h"
#include "gimpbase-private.h"
GimpUnitVtable _gimp_unit_vtable = { NULL, };
void
gimp_base_init (GimpUnitVtable *vtable)
{
static gboolean gimp_base_initialized = FALSE;
g_return_if_fail (vtable != NULL);
if (gimp_base_initialized)
g_error ("gimp_base_init() must only be called once!");
_gimp_unit_vtable = *vtable;
gimp_base_initialized = TRUE;
}
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* gimpbase-private.h
* Copyright (C) 2003 Sven Neumann <sven@gimp.org>
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_BASE_PRIVATE_H__
#define __GIMP_BASE_PRIVATE_H__
typedef struct _GimpUnitVtable GimpUnitVtable;
struct _GimpUnitVtable
{
gint (* unit_get_number_of_units) (void);
gint (* unit_get_number_of_built_in_units) (void);
GimpUnit (* unit_new) (gchar *identifier,
gdouble factor,
gint digits,
gchar *symbol,
gchar *abbreviation,
gchar *singular,
gchar *plural);
gboolean (* unit_get_deletion_flag) (GimpUnit unit);
void (* unit_set_deletion_flag) (GimpUnit unit,
gboolean deletion_flag);
gdouble (* unit_get_factor) (GimpUnit unit);
gint (* unit_get_digits) (GimpUnit unit);
const gchar * (* unit_get_identifier) (GimpUnit unit);
const gchar * (* unit_get_symbol) (GimpUnit unit);
const gchar * (* unit_get_abbreviation) (GimpUnit unit);
const gchar * (* unit_get_singular) (GimpUnit unit);
const gchar * (* unit_get_plural) (GimpUnit unit);
void (* _reserved_1) (void);
void (* _reserved_2) (void);
void (* _reserved_3) (void);
void (* _reserved_4) (void);
};
extern GimpUnitVtable _gimp_unit_vtable;
G_BEGIN_DECLS
void gimp_base_init (GimpUnitVtable *vtable);
G_END_DECLS
#endif /* __GIMP_BASE_PRIVATE_H__ */
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_BASE_H__
#define __GIMP_BASE_H__
#include <libgimpbase/gimpbasetypes.h>
/* #include <libgimpbase/gimpchecks.h> */
/* #include <libgimpbase/gimpcpuaccel.h> */
/* #include <libgimpbase/gimpdatafiles.h> */
/* #include <libgimpbase/gimpenv.h> */
/* #include <libgimpbase/gimplimits.h> */
/* #include <libgimpbase/gimpmemsize.h> */
/* #include <libgimpbase/gimpparasite.h> */
/* #include <libgimpbase/gimprectangle.h> */
#include <libgimpbase/gimpunit.h>
/* #include <libgimpbase/gimputils.h> */
/* #include <libgimpbase/gimpversion.h> */
/*
#ifndef G_OS_WIN32
#include <libgimpbase/gimpsignal.h>
#endif
*/
#endif /* __GIMP_BASE_H__ */
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_BASE_ENUMS_H__
#define __GIMP_BASE_ENUMS_H__
/**
* SECTION: gimpbaseenums
* @title: gimpbaseenums
* @short_description: Basic GIMP enumeration data types.
*
* Basic GIMP enumeration data types.
**/
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
#define GIMP_TYPE_ADD_MASK_TYPE (gimp_add_mask_type_get_type ())
GType gimp_add_mask_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_ADD_WHITE_MASK, /*< desc="_White (full opacity)" >*/
GIMP_ADD_BLACK_MASK, /*< desc="_Black (full transparency)" >*/
GIMP_ADD_ALPHA_MASK, /*< desc="Layer's _alpha channel" >*/
GIMP_ADD_ALPHA_TRANSFER_MASK, /*< desc="_Transfer layer's alpha channel" >*/
GIMP_ADD_SELECTION_MASK, /*< desc="_Selection" >*/
GIMP_ADD_COPY_MASK, /*< desc="_Grayscale copy of layer" >*/
GIMP_ADD_CHANNEL_MASK /*< desc="C_hannel" >*/
} GimpAddMaskType;
#define GIMP_TYPE_BLEND_MODE (gimp_blend_mode_get_type ())
GType gimp_blend_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_FG_BG_RGB_MODE, /*< desc="FG to BG (RGB)" >*/
GIMP_FG_BG_HSV_MODE, /*< desc="FG to BG (HSV)" >*/
GIMP_FG_TRANSPARENT_MODE, /*< desc="FG to transparent" >*/
GIMP_CUSTOM_MODE /*< desc="Custom gradient" >*/
} GimpBlendMode;
#define GIMP_TYPE_BUCKET_FILL_MODE (gimp_bucket_fill_mode_get_type ())
GType gimp_bucket_fill_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_FG_BUCKET_FILL, /*< desc="FG color fill" >*/
GIMP_BG_BUCKET_FILL, /*< desc="BG color fill" >*/
GIMP_PATTERN_BUCKET_FILL /*< desc="Pattern fill" >*/
} GimpBucketFillMode;
#define GIMP_TYPE_CHANNEL_OPS (gimp_channel_ops_get_type ())
GType gimp_channel_ops_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_CHANNEL_OP_ADD, /*< desc="Add to the current selection" >*/
GIMP_CHANNEL_OP_SUBTRACT, /*< desc="Subtract from the current selection" >*/
GIMP_CHANNEL_OP_REPLACE, /*< desc="Replace the current selection" >*/
GIMP_CHANNEL_OP_INTERSECT /*< desc="Intersect with the current selection" >*/
} GimpChannelOps;
#define GIMP_TYPE_CHANNEL_TYPE (gimp_channel_type_get_type ())
GType gimp_channel_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_RED_CHANNEL, /*< desc="Red" >*/
GIMP_GREEN_CHANNEL, /*< desc="Green" >*/
GIMP_BLUE_CHANNEL, /*< desc="Blue" >*/
GIMP_GRAY_CHANNEL, /*< desc="Gray" >*/
GIMP_INDEXED_CHANNEL, /*< desc="Indexed" >*/
GIMP_ALPHA_CHANNEL /*< desc="Alpha" >*/
} GimpChannelType;
#define GIMP_TYPE_CHECK_SIZE (gimp_check_size_get_type ())
GType gimp_check_size_get_type (void) G_GNUC_CONST;
typedef enum /*< pdb-skip >*/
{
GIMP_CHECK_SIZE_SMALL_CHECKS = 0, /*< desc="Small" >*/
GIMP_CHECK_SIZE_MEDIUM_CHECKS = 1, /*< desc="Medium" >*/
GIMP_CHECK_SIZE_LARGE_CHECKS = 2 /*< desc="Large" >*/
} GimpCheckSize;
#define GIMP_TYPE_CHECK_TYPE (gimp_check_type_get_type ())
GType gimp_check_type_get_type (void) G_GNUC_CONST;
typedef enum /*< pdb-skip >*/
{
GIMP_CHECK_TYPE_LIGHT_CHECKS = 0, /*< desc="Light checks" >*/
GIMP_CHECK_TYPE_GRAY_CHECKS = 1, /*< desc="Mid-tone checks" >*/
GIMP_CHECK_TYPE_DARK_CHECKS = 2, /*< desc="Dark checks" >*/
GIMP_CHECK_TYPE_WHITE_ONLY = 3, /*< desc="White only" >*/
GIMP_CHECK_TYPE_GRAY_ONLY = 4, /*< desc="Gray only" >*/
GIMP_CHECK_TYPE_BLACK_ONLY = 5 /*< desc="Black only" >*/
} GimpCheckType;
#define GIMP_TYPE_CLONE_TYPE (gimp_clone_type_get_type ())
GType gimp_clone_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_IMAGE_CLONE, /*< desc="Image" >*/
GIMP_PATTERN_CLONE /*< desc="Pattern" >*/
} GimpCloneType;
#define GIMP_TYPE_DESATURATE_MODE (gimp_desaturate_mode_get_type ())
GType gimp_desaturate_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_DESATURATE_LIGHTNESS, /*< desc="Lightness" >*/
GIMP_DESATURATE_LUMINOSITY, /*< desc="Luminosity" >*/
GIMP_DESATURATE_AVERAGE /*< desc="Average" >*/
} GimpDesaturateMode;
#define GIMP_TYPE_DODGE_BURN_TYPE (gimp_dodge_burn_type_get_type ())
GType gimp_dodge_burn_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_DODGE, /*< desc="Dodge" >*/
GIMP_BURN /*< desc="Burn" >*/
} GimpDodgeBurnType;
#define GIMP_TYPE_FOREGROUND_EXTRACT_MODE (gimp_foreground_extract_mode_get_type ())
GType gimp_foreground_extract_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_FOREGROUND_EXTRACT_SIOX
} GimpForegroundExtractMode;
#define GIMP_TYPE_GRADIENT_TYPE (gimp_gradient_type_get_type ())
GType gimp_gradient_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_GRADIENT_LINEAR, /*< desc="Linear" >*/
GIMP_GRADIENT_BILINEAR, /*< desc="Bi-linear" >*/
GIMP_GRADIENT_RADIAL, /*< desc="Radial" >*/
GIMP_GRADIENT_SQUARE, /*< desc="Square" >*/
GIMP_GRADIENT_CONICAL_SYMMETRIC, /*< desc="Conical (sym)" >*/
GIMP_GRADIENT_CONICAL_ASYMMETRIC, /*< desc="Conical (asym)" >*/
GIMP_GRADIENT_SHAPEBURST_ANGULAR, /*< desc="Shaped (angular)" >*/
GIMP_GRADIENT_SHAPEBURST_SPHERICAL, /*< desc="Shaped (spherical)">*/
GIMP_GRADIENT_SHAPEBURST_DIMPLED, /*< desc="Shaped (dimpled)" >*/
GIMP_GRADIENT_SPIRAL_CLOCKWISE, /*< desc="Spiral (cw)" >*/
GIMP_GRADIENT_SPIRAL_ANTICLOCKWISE /*< desc="Spiral (ccw)" >*/
} GimpGradientType;
#define GIMP_TYPE_GRID_STYLE (gimp_grid_style_get_type ())
GType gimp_grid_style_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_GRID_DOTS, /*< desc="Intersections (dots)" >*/
GIMP_GRID_INTERSECTIONS, /*< desc="Intersections (crosshairs)" >*/
GIMP_GRID_ON_OFF_DASH, /*< desc="Dashed" >*/
GIMP_GRID_DOUBLE_DASH, /*< desc="Double dashed" >*/
GIMP_GRID_SOLID /*< desc="Solid" >*/
} GimpGridStyle;
#define GIMP_TYPE_ICON_TYPE (gimp_icon_type_get_type ())
GType gimp_icon_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_ICON_TYPE_STOCK_ID, /*< desc="Stock ID" >*/
GIMP_ICON_TYPE_INLINE_PIXBUF, /*< desc="Inline pixbuf" >*/
GIMP_ICON_TYPE_IMAGE_FILE /*< desc="Image file" >*/
} GimpIconType;
#define GIMP_TYPE_IMAGE_BASE_TYPE (gimp_image_base_type_get_type ())
GType gimp_image_base_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_RGB, /*< desc="RGB color" >*/
GIMP_GRAY, /*< desc="Grayscale" >*/
GIMP_INDEXED /*< desc="Indexed color" >*/
} GimpImageBaseType;
#define GIMP_TYPE_IMAGE_TYPE (gimp_image_type_get_type ())
GType gimp_image_type_get_type (void) G_GNUC_CONST;
typedef enum
{