33
34
/* public functions */
36
gimp_image_add_hguide (GimpImage *gimage,
42
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
43
g_return_val_if_fail (position >= 0 && position <= gimage->height, NULL);
45
guide = g_new0 (GimpGuide, 1);
49
guide->orientation = GIMP_ORIENTATION_HORIZONTAL;
50
guide->guide_ID = gimage->gimp->next_guide_ID++;
53
gimp_image_undo_push_image_guide (gimage, _("Add Horizontal Guide"),
56
gimp_image_add_guide (gimage, guide, position);
57
gimp_image_guide_unref (guide);
63
gimp_image_add_vguide (GimpImage *gimage,
69
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
70
g_return_val_if_fail (position >= 0 && position <= gimage->width, NULL);
72
guide = g_new0 (GimpGuide, 1);
76
guide->orientation = GIMP_ORIENTATION_VERTICAL;
77
guide->guide_ID = gimage->gimp->next_guide_ID++;
80
gimp_image_undo_push_image_guide (gimage, _("Add Vertical Guide"),
83
gimp_image_add_guide (gimage, guide, position);
84
gimp_image_guide_unref (guide);
90
gimp_image_guide_ref (GimpGuide *guide)
92
g_return_val_if_fail (guide != NULL, NULL);
100
gimp_image_guide_unref (GimpGuide *guide)
102
g_return_if_fail (guide != NULL);
106
if (guide->ref_count < 1)
111
gimp_image_add_guide (GimpImage *gimage,
37
gimp_image_add_hguide (GimpImage *image,
43
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
44
g_return_val_if_fail (position >= 0 && position <= image->height, NULL);
46
guide = gimp_guide_new (GIMP_ORIENTATION_HORIZONTAL,
47
image->gimp->next_guide_ID++);
50
gimp_image_undo_push_guide (image, _("Add Horizontal Guide"), guide);
52
gimp_image_add_guide (image, guide, position);
53
g_object_unref (G_OBJECT (guide));
59
gimp_image_add_vguide (GimpImage *image,
65
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
66
g_return_val_if_fail (position >= 0 && position <= image->width, NULL);
68
guide = gimp_guide_new (GIMP_ORIENTATION_VERTICAL,
69
image->gimp->next_guide_ID++);
72
gimp_image_undo_push_guide (image, _("Add Vertical Guide"), guide);
74
gimp_image_add_guide (image, guide, position);
75
g_object_unref (G_OBJECT (guide));
81
gimp_image_add_guide (GimpImage *image,
115
g_return_if_fail (GIMP_IS_IMAGE (gimage));
116
g_return_if_fail (guide != NULL);
85
g_return_if_fail (GIMP_IS_IMAGE (image));
86
g_return_if_fail (GIMP_IS_GUIDE (guide));
117
87
g_return_if_fail (position >= 0);
119
if (guide->orientation == GIMP_ORIENTATION_HORIZONTAL)
120
g_return_if_fail (position <= gimage->height);
89
if (gimp_guide_get_orientation (guide) == GIMP_ORIENTATION_HORIZONTAL)
90
g_return_if_fail (position <= image->height);
122
g_return_if_fail (position <= gimage->width);
124
gimage->guides = g_list_prepend (gimage->guides, guide);
126
guide->position = position;
127
gimp_image_guide_ref (guide);
129
gimp_image_update_guide (gimage, guide);
92
g_return_if_fail (position <= image->width);
94
image->guides = g_list_prepend (image->guides, guide);
96
gimp_guide_set_position (guide, position);
97
g_object_ref (G_OBJECT (guide));
99
gimp_image_update_guide (image, guide);
133
gimp_image_remove_guide (GimpImage *gimage,
103
gimp_image_remove_guide (GimpImage *image,
135
105
gboolean push_undo)
137
g_return_if_fail (GIMP_IS_IMAGE (gimage));
138
g_return_if_fail (guide != NULL);
107
g_return_if_fail (GIMP_IS_IMAGE (image));
108
g_return_if_fail (GIMP_IS_GUIDE (guide));
140
gimp_image_update_guide (gimage, guide);
110
gimp_image_update_guide (image, guide);
143
gimp_image_undo_push_image_guide (gimage, _("Remove Guide"), guide);
145
gimage->guides = g_list_remove (gimage->guides, guide);
147
guide->position = -1;
148
gimp_image_guide_unref (guide);
113
gimp_image_undo_push_guide (image, _("Remove Guide"), guide);
115
image->guides = g_list_remove (image->guides, guide);
116
gimp_guide_removed (guide);
118
gimp_guide_set_position (guide, -1);
119
g_object_unref (G_OBJECT (guide));
152
gimp_image_move_guide (GimpImage *gimage,
123
gimp_image_move_guide (GimpImage *image,
153
124
GimpGuide *guide,
155
126
gboolean push_undo)
157
g_return_if_fail (GIMP_IS_IMAGE (gimage));
158
g_return_if_fail (guide != NULL);
128
g_return_if_fail (GIMP_IS_IMAGE (image));
129
g_return_if_fail (GIMP_IS_GUIDE (guide));
159
130
g_return_if_fail (position >= 0);
161
if (guide->orientation == GIMP_ORIENTATION_HORIZONTAL)
162
g_return_if_fail (position <= gimage->height);
132
if (gimp_guide_get_orientation (guide) == GIMP_ORIENTATION_HORIZONTAL)
133
g_return_if_fail (position <= image->height);
164
g_return_if_fail (position <= gimage->width);
135
g_return_if_fail (position <= image->width);
167
gimp_image_undo_push_image_guide (gimage, _("Move Guide"), guide);
169
gimp_image_update_guide (gimage, guide);
170
guide->position = position;
171
gimp_image_update_guide (gimage, guide);
175
gimp_image_find_guide (GimpImage *gimage,
138
gimp_image_undo_push_guide (image, _("Move Guide"), guide);
140
gimp_image_update_guide (image, guide);
141
gimp_guide_set_position (guide, position);
142
gimp_image_update_guide (image, guide);
146
gimp_image_get_guide (GimpImage *image,
151
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
153
for (guides = image->guides; guides; guides = g_list_next (guides))
155
GimpGuide *guide = guides->data;
157
if (gimp_guide_get_ID (guide) == id &&
158
gimp_guide_get_position (guide) >= 0)
166
gimp_image_get_next_guide (GimpImage *image,
168
gboolean *guide_found)
172
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
173
g_return_val_if_fail (guide_found != NULL, NULL);
178
*guide_found = FALSE;
180
for (guides = image->guides; guides; guides = g_list_next (guides))
182
GimpGuide *guide = guides->data;
184
if (gimp_guide_get_position (guide) < 0)
187
if (*guide_found) /* this is the first guide after the found one */
190
if (gimp_guide_get_ID (guide) == id) /* found it, next one will be returned */
198
gimp_image_find_guide (GimpImage *image,
178
201
gdouble epsilon_x,