Added an indicator for generated brushes. Pretty straightforward,

2004-09-07  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpviewrendererbrush.c: Added an indicator for
	generated brushes. Pretty straightforward, suggestions for
	improvements are welcome.
This commit is contained in:
Simon Budig 2004-09-06 23:55:24 +00:00 committed by Simon Budig
parent e1673aa84d
commit 20504d16a9
2 changed files with 52 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2004-09-07 Simon Budig <simon@gimp.org>
* app/widgets/gimpviewrendererbrush.c: Added an indicator for
generated brushes. Pretty straightforward, suggestions for
improvements are welcome.
2004-09-06 DindinX <david@dindinx.org>
* plug-ins/common/struc.c: added a preview.

View file

@ -29,6 +29,7 @@
#include "core/gimpbrush.h"
#include "core/gimpbrushpipe.h"
#include "core/gimpbrushgenerated.h"
#include "gimpviewrendererbrush.h"
@ -172,14 +173,16 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
#define INDICATOR_HEIGHT 7
if (renderer->width >= INDICATOR_WIDTH * 2 &&
renderer->height >= INDICATOR_HEIGHT * 2&&
renderer->height >= INDICATOR_HEIGHT * 2 &&
(renderer->width < brush_width ||
renderer->height < brush_height ||
GIMP_IS_BRUSH_PIPE (brush)))
GIMP_IS_BRUSH_PIPE (brush) ||
GIMP_IS_BRUSH_GENERATED (brush)))
{
#define WHT { 255, 255, 255 }
#define BLK { 0, 0, 0 }
#define RED { 255, 127, 127 }
#define BLU { 127, 150, 255 }
static const guchar scale_indicator_bits[7][7][3] =
{
@ -214,9 +217,32 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
{ WHT, RED, RED, RED, RED, RED, RED }
};
static const guchar scale_genbrush_indicator_bits[7][7][3] =
{
{ WHT, WHT, WHT, WHT, WHT, WHT, WHT },
{ WHT, WHT, WHT, BLK, WHT, WHT, BLU },
{ WHT, WHT, WHT, BLK, WHT, BLU, BLU },
{ WHT, BLK, BLK, BLK, BLK, BLK, BLU },
{ WHT, WHT, WHT, BLK, WHT, BLU, BLU },
{ WHT, WHT, BLU, BLK, BLU, BLU, BLU },
{ WHT, WHT, BLU, BLU, BLU, BLU, BLU }
};
static const guchar genbrush_indicator_bits[7][7][3] =
{
{ WHT, WHT, WHT, WHT, WHT, WHT, WHT },
{ WHT, WHT, WHT, WHT, WHT, WHT, BLU },
{ WHT, WHT, WHT, WHT, WHT, BLU, BLU },
{ WHT, WHT, WHT, WHT, BLU, BLU, BLU },
{ WHT, WHT, WHT, BLU, BLU, BLU, BLU },
{ WHT, WHT, BLU, BLU, BLU, BLU, BLU },
{ WHT, BLU, BLU, BLU, BLU, BLU, BLU }
};
#undef WHT
#undef BLK
#undef RED
#undef BLU
guchar *buf;
guchar *b;
@ -225,6 +251,7 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
gint offset_y;
gboolean alpha;
gboolean pipe;
gboolean genbrush;
gboolean scale;
offset_x = renderer->width - INDICATOR_WIDTH;
@ -233,10 +260,11 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
buf = renderer->buffer + (offset_y * renderer->rowstride +
offset_x * renderer->bytes);
pipe = GIMP_IS_BRUSH_PIPE (brush);
scale = (renderer->width < brush_width ||
renderer->height < brush_height);
alpha = (renderer->bytes == 4);
pipe = GIMP_IS_BRUSH_PIPE (brush);
genbrush = GIMP_IS_BRUSH_GENERATED (brush);
scale = (renderer->width < brush_width ||
renderer->height < brush_height);
alpha = (renderer->bytes == 4);
for (y = 0; y < INDICATOR_HEIGHT; y++)
{
@ -252,6 +280,12 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
*b++ = scale_pipe_indicator_bits[y][x][1];
*b++ = scale_pipe_indicator_bits[y][x][2];
}
else if (genbrush)
{
*b++ = scale_genbrush_indicator_bits[y][x][0];
*b++ = scale_genbrush_indicator_bits[y][x][1];
*b++ = scale_genbrush_indicator_bits[y][x][2];
}
else
{
*b++ = scale_indicator_bits[y][x][0];
@ -265,6 +299,12 @@ gimp_view_renderer_brush_render (GimpViewRenderer *renderer,
*b++ = pipe_indicator_bits[y][x][1];
*b++ = pipe_indicator_bits[y][x][2];
}
else if (genbrush)
{
*b++ = genbrush_indicator_bits[y][x][0];
*b++ = genbrush_indicator_bits[y][x][1];
*b++ = genbrush_indicator_bits[y][x][2];
}
if (alpha)
*b++ = 255;