diff options
author | David King <amigadave@amigadave.com> | 2014-10-15 12:51:47 +0100 |
---|---|---|
committer | David King <amigadave@amigadave.com> | 2014-10-15 15:12:15 +0100 |
commit | 8bc82943af163a9fc19308f7481262dae37ed548 (patch) | |
tree | 3b904b67f7f273975063eeb4c79aeb346be5dc19 | |
parent | 6ebe22dbe44ee9cdf3137e9e725991b8dcfa0673 (diff) | |
download | cheese-8bc82943af163a9fc19308f7481262dae37ed548.tar.gz |
Rename UmCropArea to CheeseCropArea
Avoid a crash in the control center by choosing a differen name for the
cropping widget. This is an ABI break, as um_crop_area_get_type() is
exported in libcheese-gtk, so can only go into the master branch.
https://bugzilla.gnome.org/show_bug.cgi?id=697039
-rw-r--r-- | Makefile.am | 10 | ||||
-rw-r--r-- | docs/reference/cheese.types | 1 | ||||
-rw-r--r-- | libcheese/cheese-avatar-chooser.c | 2 | ||||
-rw-r--r-- | libcheese/cheese-avatar-widget.c | 12 | ||||
-rw-r--r-- | libcheese/cheese-crop-area.c (renamed from libcheese/um-crop-area.c) | 140 | ||||
-rw-r--r-- | libcheese/cheese-crop-area.h | 75 | ||||
-rw-r--r-- | libcheese/cheese-gtk.symbols | 2 | ||||
-rw-r--r-- | libcheese/um-crop-area.h | 75 |
8 files changed, 159 insertions, 158 deletions
diff --git a/Makefile.am b/Makefile.am index 2cde675a..62ebd514 100644 --- a/Makefile.am +++ b/Makefile.am @@ -100,20 +100,20 @@ libcheese_gtk_la_LDFLAGS = \ libcheese_gtk_la_SOURCES = \ libcheese/cheese-avatar-chooser.c \ libcheese/cheese-avatar-widget.c \ + libcheese/cheese-crop-area.c \ libcheese/totem-aspect-frame.c \ libcheese/cheese-flash.c \ libcheese/cheese-gtk.c \ - libcheese/cheese-widget.c \ - libcheese/um-crop-area.c + libcheese/cheese-widget.c noinst_libcheese_gtk_headers = \ libcheese/totem-aspect-frame.h \ libcheese/cheese-avatar-chooser.h \ libcheese/cheese-avatar-widget.h \ + libcheese/cheese-crop-area.h \ libcheese/cheese-flash.h \ libcheese/cheese-widget.h \ - libcheese/cheese-widget-private.h \ - libcheese/um-crop-area.h + libcheese/cheese-widget-private.h libcheese_la_CFLAGS = \ $(CHEESE_CFLAGS) \ @@ -416,7 +416,7 @@ check_PROGRAMS = \ tests/test-libcheese-gtk tests_test_libcheese_gtk_SOURCES = \ - libcheese/um-crop-area.c \ + libcheese/cheese-crop-area.c \ tests/test-libcheese-gtk.c tests_test_libcheese_gtk_CPPFLAGS = $(EXAMPLES_CPPFLAGS) tests_test_libcheese_gtk_LDADD = \ diff --git a/docs/reference/cheese.types b/docs/reference/cheese.types index 00f337e4..b1f1d55c 100644 --- a/docs/reference/cheese.types +++ b/docs/reference/cheese.types @@ -3,6 +3,7 @@ cheese_avatar_widget_get_type cheese_camera_device_get_type cheese_camera_device_monitor_get_type cheese_camera_get_type +cheese_crop_area_get_type cheese_effect_get_type cheese_fileutil_get_type cheese_flash_get_type diff --git a/libcheese/cheese-avatar-chooser.c b/libcheese/cheese-avatar-chooser.c index 9cd268e7..32362757 100644 --- a/libcheese/cheese-avatar-chooser.c +++ b/libcheese/cheese-avatar-chooser.c @@ -27,7 +27,7 @@ #include "cheese-flash.h" #include "cheese-avatar-chooser.h" #include "cheese-avatar-widget.h" -#include "um-crop-area.h" +#include "cheese-crop-area.h" /** * SECTION:cheese-avatar-chooser diff --git a/libcheese/cheese-avatar-widget.c b/libcheese/cheese-avatar-widget.c index 9fb4f816..96269369 100644 --- a/libcheese/cheese-avatar-widget.c +++ b/libcheese/cheese-avatar-widget.c @@ -26,7 +26,7 @@ #include "cheese-widget-private.h" #include "cheese-flash.h" #include "cheese-avatar-widget.h" -#include "um-crop-area.h" +#include "cheese-crop-area.h" /** * SECTION:cheese-avatar-widget @@ -88,7 +88,7 @@ cheese_widget_photo_taken_cb (CheeseCamera *camera, gtk_widget_get_allocation (priv->camera, &allocation); gtk_widget_set_size_request (priv->image, allocation.width, allocation.height); - um_crop_area_set_picture (UM_CROP_AREA (priv->image), pixbuf); + cheese_crop_area_set_picture (CHEESE_CROP_AREA (priv->image), pixbuf); gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), IMAGE_PAGE); gtk_widget_set_sensitive (priv->take_button, TRUE); @@ -151,7 +151,7 @@ take_again_button_clicked_cb (GtkButton *button, gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), WIDGET_PAGE); - um_crop_area_set_picture (UM_CROP_AREA (priv->image), NULL); + cheese_crop_area_set_picture (CHEESE_CROP_AREA (priv->image), NULL); g_object_notify_by_pspec (G_OBJECT (widget), properties[PROP_PIXBUF]); } @@ -263,7 +263,7 @@ cheese_avatar_widget_init (CheeseAvatarWidget *widget) gtk_label_new ("webcam")); /* Image tab */ - priv->image = um_crop_area_new (); + priv->image = cheese_crop_area_new (); frame = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (frame), priv->image); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN); @@ -306,7 +306,7 @@ cheese_avatar_widget_get_property (GObject *object, guint prop_id, switch (prop_id) { case PROP_PIXBUF: - g_value_set_object (value, um_crop_area_get_picture (UM_CROP_AREA (priv->image))); + g_value_set_object (value, cheese_crop_area_get_picture (CHEESE_CROP_AREA (priv->image))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -367,5 +367,5 @@ cheese_avatar_widget_get_picture (CheeseAvatarWidget *widget) priv = cheese_avatar_widget_get_instance_private (widget); - return um_crop_area_get_picture (UM_CROP_AREA (priv->image)); + return cheese_crop_area_get_picture (CHEESE_CROP_AREA (priv->image)); } diff --git a/libcheese/um-crop-area.c b/libcheese/cheese-crop-area.c index c25fff8c..48dcafa4 100644 --- a/libcheese/um-crop-area.c +++ b/libcheese/cheese-crop-area.c @@ -27,14 +27,14 @@ #include <glib/gi18n.h> #include <gtk/gtk.h> -#include "um-crop-area.h" +#include "cheese-crop-area.h" /* - * SECTION:um-crop-area + * SECTION:cheese-crop-area * @short_description: A cropping widget for #CheeseAvatarChooser * @stability: Unstable * - * #UmCropArea provides a simple cropping tool, used in #CheeseAvatarChooser to + * #CheeseCropArea provides a simple cropping tool, used in #CheeseAvatarChooser to * crop an avatar from an image taken from a webcam. */ @@ -52,9 +52,9 @@ typedef struct { gint base_width; gint base_height; gdouble aspect; -} UmCropAreaPrivate; +} CheeseCropAreaPrivate; -G_DEFINE_TYPE_WITH_PRIVATE (UmCropArea, um_crop_area, GTK_TYPE_DRAWING_AREA) +G_DEFINE_TYPE_WITH_PRIVATE (CheeseCropArea, cheese_crop_area, GTK_TYPE_DRAWING_AREA) /* * shift_color_byte: @@ -118,15 +118,15 @@ shift_colors (GdkPixbuf *pixbuf, /* * update_pixbufs: - * @area: a #UmCropArea + * @area: a #CheeseCropArea * * Update the #GdkPixbuf objects inside @area, by darkening the regions outside * the current crop area. */ static void -update_pixbufs (UmCropArea *area) +update_pixbufs (CheeseCropArea *area) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gint width; gint height; GtkAllocation allocation; @@ -203,16 +203,16 @@ update_pixbufs (UmCropArea *area) /* * crop_widget: - * @area: a #UmCropArea + * @area: a #CheeseCropArea * @crop: (out caller-allocates): a return location for a #GdkRectangle * * Update the supplied @crop rectangle to the current crop area. */ static void -crop_to_widget (UmCropArea *area, +crop_to_widget (CheeseCropArea *area, GdkRectangle *crop) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); crop->x = priv->image.x + priv->crop.x * priv->scale; crop->y = priv->image.y + priv->crop.y * priv->scale; @@ -249,8 +249,8 @@ typedef enum { } Location; /* - * um_crop_area_draw: - * @widget: a #UmCropArea + * cheese_crop_area_draw: + * @widget: a #CheeseCropArea * @cr: the #cairo_t to draw to * * Handle the #GtkWidget::draw signal and draw the @widget. @@ -258,11 +258,11 @@ typedef enum { * Returns: %FALSE */ static gboolean -um_crop_area_draw (GtkWidget *widget, +cheese_crop_area_draw (GtkWidget *widget, cairo_t *cr) { - UmCropArea *area = UM_CROP_AREA (widget); - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropArea *area = CHEESE_CROP_AREA (widget); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); GdkRectangle crop; gint width, height; @@ -415,7 +415,7 @@ find_location (GdkRectangle *rect, /* * update_cursor: - * @area: a #UmCropArea + * @area: a #CheeseCropArea * @x: x coordinate * @y: y coordinate * @@ -423,11 +423,11 @@ find_location (GdkRectangle *rect, * rectangle the pointer is over. */ static void -update_cursor (UmCropArea *area, +update_cursor (CheeseCropArea *area, gint x, gint y) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gint cursor_type; GdkRectangle crop; gint region; @@ -494,7 +494,7 @@ update_cursor (UmCropArea *area, * * Returns: the value of y * - * @see_also: um_crop_area_motion_notify_event() + * @see_also: cheese_crop_area_motion_notify_event() */ static gint eval_radial_line (gdouble center_x, gdouble center_y, @@ -511,8 +511,8 @@ eval_radial_line (gdouble center_x, gdouble center_y, } /* - * um_crop_area_motion_notify_event: - * @widget: a #UmCropArea + * cheese_crop_area_motion_notify_event: + * @widget: a #CheeseCropArea * @event: the #GdkEventMotion * * Update the cropped region, and redraw it, based on the current cursor @@ -523,11 +523,11 @@ eval_radial_line (gdouble center_x, gdouble center_y, * @see_also: eval_radial_line() */ static gboolean -um_crop_area_motion_notify_event (GtkWidget *widget, +cheese_crop_area_motion_notify_event (GtkWidget *widget, GdkEventMotion *event) { - UmCropArea *area = UM_CROP_AREA (widget); - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropArea *area = CHEESE_CROP_AREA (widget); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gint x, y; gint delta_x, delta_y; gint width, height; @@ -785,8 +785,8 @@ um_crop_area_motion_notify_event (GtkWidget *widget, } /* - * um_crop_area_button_press_event: - * @widget: a #UmCropArea + * cheese_crop_area_button_press_event: + * @widget: a #CheeseCropArea * @event: a #GdkEventButton * * Handle the mouse button being pressed on the widget, by initiating a crop @@ -795,11 +795,11 @@ um_crop_area_motion_notify_event (GtkWidget *widget, * Returns: %FALSE */ static gboolean -um_crop_area_button_press_event (GtkWidget *widget, +cheese_crop_area_button_press_event (GtkWidget *widget, GdkEventButton *event) { - UmCropArea *area = UM_CROP_AREA (widget); - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropArea *area = CHEESE_CROP_AREA (widget); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); GdkRectangle crop; if (priv->browse_pixbuf == NULL) @@ -819,8 +819,8 @@ um_crop_area_button_press_event (GtkWidget *widget, } /* - * um_crop_area_button_release_event: - * @widget: a #UmCropArea + * cheese_crop_area_button_release_event: + * @widget: a #CheeseCropArea * @event: a #GdkEventButton * * Handle the mouse button being released on the widget, by redrawing the @@ -829,11 +829,11 @@ um_crop_area_button_press_event (GtkWidget *widget, * Returns: %FALSE */ static gboolean -um_crop_area_button_release_event (GtkWidget *widget, +cheese_crop_area_button_release_event (GtkWidget *widget, GdkEventButton *event) { - UmCropArea *area = UM_CROP_AREA (widget); - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropArea *area = CHEESE_CROP_AREA (widget); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); GdkRectangle crop; if (priv->browse_pixbuf == NULL) @@ -853,9 +853,9 @@ um_crop_area_button_release_event (GtkWidget *widget, } static void -um_crop_area_finalize (GObject *object) +cheese_crop_area_finalize (GObject *object) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (UM_CROP_AREA (object)); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (CHEESE_CROP_AREA (object)); if (priv->browse_pixbuf) { g_object_unref (priv->browse_pixbuf); @@ -870,26 +870,26 @@ um_crop_area_finalize (GObject *object) priv->color_shifted = NULL; } - G_OBJECT_CLASS (um_crop_area_parent_class)->finalize (object); + G_OBJECT_CLASS (cheese_crop_area_parent_class)->finalize (object); } static void -um_crop_area_class_init (UmCropAreaClass *klass) +cheese_crop_area_class_init (CheeseCropAreaClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - object_class->finalize = um_crop_area_finalize; - widget_class->draw = um_crop_area_draw; - widget_class->button_press_event = um_crop_area_button_press_event; - widget_class->button_release_event = um_crop_area_button_release_event; - widget_class->motion_notify_event = um_crop_area_motion_notify_event; + object_class->finalize = cheese_crop_area_finalize; + widget_class->draw = cheese_crop_area_draw; + widget_class->button_press_event = cheese_crop_area_button_press_event; + widget_class->button_release_event = cheese_crop_area_button_release_event; + widget_class->motion_notify_event = cheese_crop_area_motion_notify_event; } static void -um_crop_area_init (UmCropArea *area) +cheese_crop_area_init (CheeseCropArea *area) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gtk_widget_add_events (GTK_WIDGET (area), GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | @@ -907,21 +907,21 @@ um_crop_area_init (UmCropArea *area) } /* - * um_crop_area_new: + * cheese_crop_area_new: * - * Creates a new #UmCropArea widget. + * Creates a new #CheeseCropArea widget. * - * Returns: a #UmCropArea + * Returns: a #CheeseCropArea */ GtkWidget * -um_crop_area_new (void) +cheese_crop_area_new (void) { - return g_object_new (UM_TYPE_CROP_AREA, NULL); + return g_object_new (CHEESE_TYPE_CROP_AREA, NULL); } /* - * um_crop_area_get_picture: - * @area: a #UmCropArea + * cheese_crop_area_get_picture: + * @area: a #CheeseCropArea * * Returns the cropped image, or the whole image if no crop region has been * set, as a #GdkPixbuf. @@ -929,9 +929,9 @@ um_crop_area_new (void) * Returns: a #GdkPixbuf */ GdkPixbuf * -um_crop_area_get_picture (UmCropArea *area) +cheese_crop_area_get_picture (CheeseCropArea *area) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gint width, height; if (priv->browse_pixbuf == NULL) @@ -949,18 +949,18 @@ um_crop_area_get_picture (UmCropArea *area) } /* - * um_crop_area_set_picture: - * @area: a #UmCropArea + * cheese_crop_area_set_picture: + * @area: a #CheeseCropArea * @pixbuf: (allow-none): the #GdkPixbuf to set, or %NULL to clear the current * picture * * Set the image to be used inside the @area to @pixbuf. */ void -um_crop_area_set_picture (UmCropArea *area, +cheese_crop_area_set_picture (CheeseCropArea *area, GdkPixbuf *pixbuf) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); gint width; gint height; @@ -992,19 +992,19 @@ um_crop_area_set_picture (UmCropArea *area, } /* - * um_crop_area_set_min_size: - * @area: a #UmCropArea + * cheese_crop_area_set_min_size: + * @area: a #CheeseCropArea * @width: a minimum width, in pixels * @height: a minimum height, in pixels * * Sets the minimum size that the cropped image will be allowed to have. */ void -um_crop_area_set_min_size (UmCropArea *area, - gint width, - gint height) +cheese_crop_area_set_min_size (CheeseCropArea *area, + gint width, + gint height) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); priv->base_width = width; priv->base_height = height; @@ -1014,18 +1014,18 @@ um_crop_area_set_min_size (UmCropArea *area, } /* - * um_crop_area_set_constrain_aspect: - * @area: a #UmCropArea + * cheese_crop_area_set_constrain_aspect: + * @area: a #CheeseCropArea * @constrain: whether to constrain the aspect ratio of the cropped image * * Controls whether the aspect ratio of the cropped area of the image should be * constrained. */ void -um_crop_area_set_constrain_aspect (UmCropArea *area, - gboolean constrain) +cheese_crop_area_set_constrain_aspect (CheeseCropArea *area, + gboolean constrain) { - UmCropAreaPrivate *priv = um_crop_area_get_instance_private (area); + CheeseCropAreaPrivate *priv = cheese_crop_area_get_instance_private (area); if (constrain) { priv->aspect = priv->base_width / (gdouble)priv->base_height; diff --git a/libcheese/cheese-crop-area.h b/libcheese/cheese-crop-area.h new file mode 100644 index 00000000..c3937ff7 --- /dev/null +++ b/libcheese/cheese-crop-area.h @@ -0,0 +1,75 @@ +/* + * Copyright © 2009 Bastien Nocera <hadess@hadess.net> + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef CHEESE_CROP_AREA_H_ +#define CHEESE_CROP_AREA_H_ + +#include <glib-object.h> +#include <gtk/gtk.h> + +G_BEGIN_DECLS + +#define CHEESE_TYPE_CROP_AREA (cheese_crop_area_get_type ()) +#define CHEESE_CROP_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHEESE_TYPE_CROP_AREA, \ + CheeseCropArea)) +#define CHEESE_CROP_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHEESE_TYPE_CROP_AREA, \ + CheeseCropAreaClass)) +#define CHEESE_IS_CROP_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHEESE_TYPE_CROP_AREA)) +#define CHEESE_IS_CROP_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHEESE_TYPE_CROP_AREA)) +#define CHEESE_CROP_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHEESE_TYPE_CROP_AREA, \ + CheeseCropAreaClass)) + +typedef struct _CheeseCropAreaClass CheeseCropAreaClass; +typedef struct _CheeseCropArea CheeseCropArea; + +/* + * CheeseCropAreaClass: + * + * Use the accessor functions below. + */ +struct _CheeseCropAreaClass { + /*< private >*/ + GtkDrawingAreaClass parent_class; +}; + +/* + * CheeseCropArea: + * + * Use the accessor functions below. + */ +struct _CheeseCropArea { + /*< private >*/ + GtkDrawingArea parent_instance; +}; + +GType cheese_crop_area_get_type (void); + +GtkWidget *cheese_crop_area_new (void); +GdkPixbuf *cheese_crop_area_get_picture (CheeseCropArea *area); +void cheese_crop_area_set_picture (CheeseCropArea *area, + GdkPixbuf *pixbuf); +void cheese_crop_area_set_min_size (CheeseCropArea *area, + gint width, + gint height); +void cheese_crop_area_set_constrain_aspect (CheeseCropArea *area, + gboolean constrain); + +G_END_DECLS + +#endif /* CHEESE_CROP_AREA_H_ */ diff --git a/libcheese/cheese-gtk.symbols b/libcheese/cheese-gtk.symbols index cd8f29f8..38ebb3a9 100644 --- a/libcheese/cheese-gtk.symbols +++ b/libcheese/cheese-gtk.symbols @@ -13,7 +13,7 @@ cheese_video_format_get_type cheese_avatar_chooser_get_type cheese_avatar_chooser_new cheese_avatar_chooser_get_picture -um_crop_area_get_type +cheese_crop_area_get_type cheese_avatar_widget_get_type cheese_avatar_widget_new cheese_avatar_widget_get_picture diff --git a/libcheese/um-crop-area.h b/libcheese/um-crop-area.h deleted file mode 100644 index d8380f63..00000000 --- a/libcheese/um-crop-area.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright © 2009 Bastien Nocera <hadess@hadess.net> - * - * Licensed under the GNU General Public License Version 2 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef _UM_CROP_AREA_H_ -#define _UM_CROP_AREA_H_ - -#include <glib-object.h> -#include <gtk/gtk.h> - -G_BEGIN_DECLS - -#define UM_TYPE_CROP_AREA (um_crop_area_get_type ()) -#define UM_CROP_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UM_TYPE_CROP_AREA, \ - UmCropArea)) -#define UM_CROP_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UM_TYPE_CROP_AREA, \ - UmCropAreaClass)) -#define UM_IS_CROP_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UM_TYPE_CROP_AREA)) -#define UM_IS_CROP_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UM_TYPE_CROP_AREA)) -#define UM_CROP_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UM_TYPE_CROP_AREA, \ - UmCropAreaClass)) - -typedef struct _UmCropAreaClass UmCropAreaClass; -typedef struct _UmCropArea UmCropArea; - -/* - * UmCropAreaClass: - * - * Use the accessor functions below. - */ -struct _UmCropAreaClass { - /*< private >*/ - GtkDrawingAreaClass parent_class; -}; - -/* - * UmCropArea: - * - * Use the accessor functions below. - */ -struct _UmCropArea { - /*< private >*/ - GtkDrawingArea parent_instance; -}; - -GType um_crop_area_get_type (void); - -GtkWidget *um_crop_area_new (void); -GdkPixbuf *um_crop_area_get_picture (UmCropArea *area); -void um_crop_area_set_picture (UmCropArea *area, - GdkPixbuf *pixbuf); -void um_crop_area_set_min_size (UmCropArea *area, - gint width, - gint height); -void um_crop_area_set_constrain_aspect (UmCropArea *area, - gboolean constrain); - -G_END_DECLS - -#endif /* _UM_CROP_AREA_H_ */ |