Fixed a mistake in the code which does a pattern clone. Closes bug

2003-07-19  Dave Neary  <bolsh@gimp.org>

	* app/paint/gimpclone.c: Fixed a mistake in the code which does
	a pattern clone. Closes bug #117433.

	* app/widgets/gimpbrushfactoryview.c: Added a tooltip for the
	Spacing slider.
This commit is contained in:
Dave Neary 2003-07-19 10:51:18 +00:00 committed by David Neary
parent 7b56d5efd7
commit cfbde0f301
4 changed files with 28 additions and 13 deletions

View File

@ -1,3 +1,11 @@
2003-07-19 Dave Neary <bolsh@gimp.org>
* app/paint/gimpclone.c: Fixed a mistake in the code which does
a pattern clone. Closes bug #117433.
* app/widgets/gimpbrushfactoryview.c: Added a tooltip for the
Spacing slider.
2003-07-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolornotebook.c: save some space by showing

View File

@ -504,8 +504,11 @@ gimp_clone_line_pattern (GimpImage *dest,
guchar *pat, *p;
GimpImageBaseType color_type;
gint alpha;
gint pat_bytes;
gint i;
pat_bytes = pattern->mask->bytes;
/* Make sure x, y are positive */
while (x < 0)
x += pattern->mask->width;
@ -514,21 +517,21 @@ gimp_clone_line_pattern (GimpImage *dest,
/* Get a pointer to the appropriate scanline of the pattern buffer */
pat = temp_buf_data (pattern->mask) +
(y % pattern->mask->height) * pattern->mask->width * pattern->mask->bytes;
(y % pattern->mask->height) * pattern->mask->width * pat_bytes;
color_type = (pattern->mask->bytes == 3 ||
pattern->mask->bytes == 4) ? GIMP_RGB : GIMP_GRAY;
color_type = (pat_bytes == 3 ||
pat_bytes == 4) ? GIMP_RGB : GIMP_GRAY;
alpha = bytes - 1;
for (i = 0; i < width; i++)
{
p = pat + ((i + x) % pattern->mask->width) * pattern->mask->bytes;
p = pat + ((i + x) % pattern->mask->width) * pat_bytes;
gimp_image_transform_color (dest, drawable, p, d, color_type);
if (pattern->mask->bytes == 2 || pattern->mask->bytes == 4)
d[alpha] = p[alpha];
if (pat_bytes == 2 || pat_bytes == 4)
d[alpha] = p[pat_bytes - 1];
else
d[alpha] = OPAQUE_OPACITY;

View File

@ -504,8 +504,11 @@ gimp_clone_line_pattern (GimpImage *dest,
guchar *pat, *p;
GimpImageBaseType color_type;
gint alpha;
gint pat_bytes;
gint i;
pat_bytes = pattern->mask->bytes;
/* Make sure x, y are positive */
while (x < 0)
x += pattern->mask->width;
@ -514,21 +517,21 @@ gimp_clone_line_pattern (GimpImage *dest,
/* Get a pointer to the appropriate scanline of the pattern buffer */
pat = temp_buf_data (pattern->mask) +
(y % pattern->mask->height) * pattern->mask->width * pattern->mask->bytes;
(y % pattern->mask->height) * pattern->mask->width * pat_bytes;
color_type = (pattern->mask->bytes == 3 ||
pattern->mask->bytes == 4) ? GIMP_RGB : GIMP_GRAY;
color_type = (pat_bytes == 3 ||
pat_bytes == 4) ? GIMP_RGB : GIMP_GRAY;
alpha = bytes - 1;
for (i = 0; i < width; i++)
{
p = pat + ((i + x) % pattern->mask->width) * pattern->mask->bytes;
p = pat + ((i + x) % pattern->mask->width) * pat_bytes;
gimp_image_transform_color (dest, drawable, p, d, color_type);
if (pattern->mask->bytes == 2 || pattern->mask->bytes == 4)
d[alpha] = p[alpha];
if (pat_bytes == 2 || pat_bytes == 4)
d[alpha] = p[pat_bytes - 1];
else
d[alpha] = OPAQUE_OPACITY;

View File

@ -115,7 +115,8 @@ gimp_brush_factory_view_init (GimpBrushFactoryView *view)
_("Spacing:"), -1, -1,
0.0, 1.0, 1000.0, 1.0, 10.0, 1,
TRUE, 0.0, 0.0,
NULL, NULL));
_("Percentage of width of brush"),
NULL));
view->spacing_scale = GIMP_SCALE_ENTRY_SCALE (view->spacing_adjustment);