diff options
Diffstat (limited to 'app/widgets/gimpoverlaychild.h')
-rw-r--r-- | app/widgets/gimpoverlaychild.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/app/widgets/gimpoverlaychild.h b/app/widgets/gimpoverlaychild.h new file mode 100644 index 0000000..a5c0987 --- /dev/null +++ b/app/widgets/gimpoverlaychild.h @@ -0,0 +1,81 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995 Spencer Kimball and Peter Mattis + * + * gimpoverlaychild.h + * Copyright (C) 2009 Michael Natterer <mitch@gimp.org> + * + * 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 3 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 <https://www.gnu.org/licenses/>. + */ + +#ifndef __GIMP_OVERLAY_CHILD_H__ +#define __GIMP_OVERLAY_CHILD_H__ + + +typedef struct _GimpOverlayChild GimpOverlayChild; + +struct _GimpOverlayChild +{ + GtkWidget *widget; + GdkWindow *window; + + gboolean has_position; + gdouble xalign; + gdouble yalign; + gdouble x; + gdouble y; + + gdouble angle; + gdouble opacity; + + /* updated in size_allocate */ + cairo_matrix_t matrix; +}; + + +GimpOverlayChild * gimp_overlay_child_new (GimpOverlayBox *box, + GtkWidget *widget, + gdouble xalign, + gdouble yalign, + gdouble angle, + gdouble opacity); +void gimp_overlay_child_free (GimpOverlayBox *box, + GimpOverlayChild *child); + +GimpOverlayChild * gimp_overlay_child_find (GimpOverlayBox *box, + GtkWidget *widget); + +void gimp_overlay_child_realize (GimpOverlayBox *box, + GimpOverlayChild *child); +void gimp_overlay_child_unrealize (GimpOverlayBox *box, + GimpOverlayChild *child); +void gimp_overlay_child_size_request (GimpOverlayBox *box, + GimpOverlayChild *child); +void gimp_overlay_child_size_allocate (GimpOverlayBox *box, + GimpOverlayChild *child); +gboolean gimp_overlay_child_expose (GimpOverlayBox *box, + GimpOverlayChild *child, + GdkEventExpose *event); +gboolean gimp_overlay_child_damage (GimpOverlayBox *box, + GimpOverlayChild *child, + GdkEventExpose *event); + +void gimp_overlay_child_invalidate (GimpOverlayBox *box, + GimpOverlayChild *child); +gboolean gimp_overlay_child_pick (GimpOverlayBox *box, + GimpOverlayChild *child, + gdouble box_x, + gdouble box_y); + + +#endif /* __GIMP_OVERLAY_CHILD_H__ */ |