diff options
Diffstat (limited to 'app/tools/gimptoolcontrol.h')
-rw-r--r-- | app/tools/gimptoolcontrol.h | 254 |
1 files changed, 254 insertions, 0 deletions
diff --git a/app/tools/gimptoolcontrol.h b/app/tools/gimptoolcontrol.h new file mode 100644 index 0000000..8551806 --- /dev/null +++ b/app/tools/gimptoolcontrol.h @@ -0,0 +1,254 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995-2002 Spencer Kimball, Peter Mattis and others + * + * 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_TOOL_CONTROL_H__ +#define __GIMP_TOOL_CONTROL_H__ + + +#include "core/gimpobject.h" + + +#define GIMP_TYPE_TOOL_CONTROL (gimp_tool_control_get_type ()) +#define GIMP_TOOL_CONTROL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_TOOL_CONTROL, GimpToolControl)) +#define GIMP_TOOL_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_TOOL_CONTROL, GimpToolControlClass)) +#define GIMP_IS_TOOL_CONTROL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_TOOL_CONTROL)) +#define GIMP_IS_TOOL_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_TOOL_CONTROL)) +#define GIMP_TOOL_CONTROL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_TOOL_CONTROL, GimpToolControlClass)) + + +typedef struct _GimpToolControlClass GimpToolControlClass; + + +struct _GimpToolControl +{ + GimpObject parent_instance; + + gboolean active; /* state of tool activity */ + gint paused_count; /* paused control count */ + + gboolean preserve; /* Preserve this tool across * + * drawable changes */ + GSList *preserve_stack; /* for push/pop preserve */ + + gboolean scroll_lock; /* allow scrolling or not */ + gboolean handle_empty_image; /* invoke the tool on images * + * without active drawable */ + GimpDirtyMask dirty_mask; /* if preserve is FALSE, stop * + * the tool on these events */ + GimpToolAction dirty_action; /* use this action to stop the * + * tool when one of the dirty * + * events occurs */ + GimpMotionMode motion_mode; /* how to process motion events * + * before they go to the tool */ + gboolean auto_snap_to; /* snap to guides automatically */ + gint snap_offset_x; + gint snap_offset_y; + gint snap_width; + gint snap_height; + + GimpCursorPrecision precision; + + gboolean wants_click; /* wants click detection */ + gboolean wants_double_click; + gboolean wants_triple_click; + gboolean wants_all_key_events; + + GimpToolActiveModifiers active_modifiers; + + gboolean toggled; + + GimpCursorType cursor; + GimpToolCursorType tool_cursor; + GimpCursorModifier cursor_modifier; + + GimpCursorType toggle_cursor; + GimpToolCursorType toggle_tool_cursor; + GimpCursorModifier toggle_cursor_modifier; + + gchar *action_opacity; + gchar *action_size; + gchar *action_aspect; + gchar *action_angle; + gchar *action_spacing; + gchar *action_hardness; + gchar *action_force; + gchar *action_object_1; + gchar *action_object_2; +}; + +struct _GimpToolControlClass +{ + GimpObjectClass parent_class; +}; + + +GType gimp_tool_control_get_type (void) G_GNUC_CONST; + +void gimp_tool_control_activate (GimpToolControl *control); +void gimp_tool_control_halt (GimpToolControl *control); +gboolean gimp_tool_control_is_active (GimpToolControl *control); + +void gimp_tool_control_pause (GimpToolControl *control); +void gimp_tool_control_resume (GimpToolControl *control); +gboolean gimp_tool_control_is_paused (GimpToolControl *control); + +void gimp_tool_control_set_preserve (GimpToolControl *control, + gboolean preserve); +gboolean gimp_tool_control_get_preserve (GimpToolControl *control); + +void gimp_tool_control_push_preserve (GimpToolControl *control, + gboolean preserve); +void gimp_tool_control_pop_preserve (GimpToolControl *control); + +void gimp_tool_control_set_scroll_lock (GimpToolControl *control, + gboolean scroll_lock); +gboolean gimp_tool_control_get_scroll_lock (GimpToolControl *control); + +void gimp_tool_control_set_handle_empty_image + (GimpToolControl *control, + gboolean handle_empty); +gboolean gimp_tool_control_get_handle_empty_image + (GimpToolControl *control); + +void gimp_tool_control_set_dirty_mask (GimpToolControl *control, + GimpDirtyMask dirty_mask); +GimpDirtyMask gimp_tool_control_get_dirty_mask (GimpToolControl *control); + +void gimp_tool_control_set_dirty_action (GimpToolControl *control, + GimpToolAction action); +GimpToolAction gimp_tool_control_get_dirty_action (GimpToolControl *control); + +void gimp_tool_control_set_motion_mode (GimpToolControl *control, + GimpMotionMode motion_mode); +GimpMotionMode gimp_tool_control_get_motion_mode (GimpToolControl *control); + +void gimp_tool_control_set_snap_to (GimpToolControl *control, + gboolean snap_to); +gboolean gimp_tool_control_get_snap_to (GimpToolControl *control); + +void gimp_tool_control_set_wants_click (GimpToolControl *control, + gboolean wants_click); +gboolean gimp_tool_control_get_wants_click (GimpToolControl *control); + +void gimp_tool_control_set_wants_double_click + (GimpToolControl *control, + gboolean wants_double_click); +gboolean gimp_tool_control_get_wants_double_click + (GimpToolControl *control); + +void gimp_tool_control_set_wants_triple_click + (GimpToolControl *control, + gboolean wants_double_click); +gboolean gimp_tool_control_get_wants_triple_click + (GimpToolControl *control); + +void gimp_tool_control_set_wants_all_key_events + (GimpToolControl *control, + gboolean wants_key_events); +gboolean gimp_tool_control_get_wants_all_key_events + (GimpToolControl *control); + +void gimp_tool_control_set_active_modifiers + (GimpToolControl *control, + GimpToolActiveModifiers active_modifiers); +GimpToolActiveModifiers + gimp_tool_control_get_active_modifiers + (GimpToolControl *control); + +void gimp_tool_control_set_snap_offsets (GimpToolControl *control, + gint offset_x, + gint offset_y, + gint width, + gint height); +void gimp_tool_control_get_snap_offsets (GimpToolControl *control, + gint *offset_x, + gint *offset_y, + gint *width, + gint *height); + +void gimp_tool_control_set_precision (GimpToolControl *control, + GimpCursorPrecision precision); +GimpCursorPrecision + gimp_tool_control_get_precision (GimpToolControl *control); + +void gimp_tool_control_set_toggled (GimpToolControl *control, + gboolean toggled); +gboolean gimp_tool_control_get_toggled (GimpToolControl *control); + +void gimp_tool_control_set_cursor (GimpToolControl *control, + GimpCursorType cursor); +void gimp_tool_control_set_tool_cursor (GimpToolControl *control, + GimpToolCursorType cursor); +void gimp_tool_control_set_cursor_modifier + (GimpToolControl *control, + GimpCursorModifier modifier); +void gimp_tool_control_set_toggle_cursor (GimpToolControl *control, + GimpCursorType cursor); +void gimp_tool_control_set_toggle_tool_cursor + (GimpToolControl *control, + GimpToolCursorType cursor); +void gimp_tool_control_set_toggle_cursor_modifier + (GimpToolControl *control, + GimpCursorModifier modifier); + +GimpCursorType + gimp_tool_control_get_cursor (GimpToolControl *control); + +GimpToolCursorType + gimp_tool_control_get_tool_cursor (GimpToolControl *control); + +GimpCursorModifier + gimp_tool_control_get_cursor_modifier (GimpToolControl *control); + +void gimp_tool_control_set_action_opacity (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_opacity (GimpToolControl *control); + +void gimp_tool_control_set_action_size (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_size (GimpToolControl *control); + +void gimp_tool_control_set_action_aspect (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_aspect (GimpToolControl *control); + +void gimp_tool_control_set_action_angle (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_angle (GimpToolControl *control); + +void gimp_tool_control_set_action_spacing (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_spacing (GimpToolControl *control); + +void gimp_tool_control_set_action_hardness (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_hardness (GimpToolControl *control); + +void gimp_tool_control_set_action_force (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_force (GimpToolControl *control); + +void gimp_tool_control_set_action_object_1 (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_object_1 (GimpToolControl *control); + +void gimp_tool_control_set_action_object_2 (GimpToolControl *control, + const gchar *action); +const gchar * gimp_tool_control_get_action_object_2 (GimpToolControl *control); + + +#endif /* __GIMP_TOOL_CONTROL_H__ */ |