20
20
#define __GIMP_EDIT_SELECTION_TOOL_H__
23
#include "gimpdrawtool.h"
26
#define GIMP_TYPE_EDIT_SELECTION_TOOL (gimp_edit_selection_tool_get_type ())
27
#define GIMP_EDIT_SELECTION_TOOL(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_EDIT_SELECTION_TOOL, GimpEditSelectionTool))
28
#define GIMP_EDIT_SELECTION_TOOL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_EDIT_SELECTION_TOOL, GimpEditSelectionToolClass))
29
#define GIMP_IS_EDIT_SELECTION_TOOL(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_EDIT_SELECTION_TOOL))
30
#define GIMP_IS_EDIT_SELECTION_TOOL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_EDIT_SELECTION_TOOL))
33
typedef struct _GimpEditSelectionTool GimpEditSelectionTool;
34
typedef struct _GimpEditSelectionToolClass GimpEditSelectionToolClass;
36
struct _GimpEditSelectionTool
38
GimpDrawTool parent_instance;
40
gint origx, origy; /* Last x and y coords */
41
gint cumlx, cumly; /* Cumulative changes to x and yed */
42
gint x, y; /* Current x and y coords */
43
gint num_segs_in; /* Num seg in selection boundary */
44
gint num_segs_out; /* Num seg in selection boundary */
45
BoundSeg *segs_in; /* Pointer to the channel sel. segs */
46
BoundSeg *segs_out; /* Pointer to the channel sel. segs */
48
gint x1, y1; /* Bounding box of selection mask */
51
GimpTranslateMode edit_mode; /* Translate the mask or layer? */
53
gboolean first_move; /* Don't push undos after the first */
55
gboolean propagate_release;
58
struct _GimpEditSelectionToolClass
60
GimpDrawToolClass parent_class;
64
GType gimp_edit_selection_tool_get_type (void) G_GNUC_CONST;
23
66
void gimp_edit_selection_tool_start (GimpTool *parent_tool,
25
68
GimpCoords *coords,
26
69
GimpTranslateMode edit_mode,
27
70
gboolean propagate_release);
30
72
gboolean gimp_edit_selection_tool_key_press (GimpTool *tool,
31
73
GdkEventKey *kevent,
74
GimpDisplay *display);
75
gboolean gimp_edit_selection_tool_translate (GimpTool *tool,
77
GimpTransformType translate_type,
78
GimpDisplay *display);
35
81
#endif /* __GIMP_EDIT_SELECTION_TOOL_H__ */