app: add more accessors to GimpGrid and use them instead of grid->foo
This commit is contained in:
@ -226,6 +226,37 @@ gimp_grid_set_property (GObject *object,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
GimpGridStyle
|
||||
gimp_grid_get_style (GimpGrid *grid)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_GRID (grid), GIMP_GRID_SOLID);
|
||||
|
||||
return grid->style;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_grid_get_fgcolor (GimpGrid *grid,
|
||||
GimpRGB *fgcolor)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_GRID (grid));
|
||||
g_return_if_fail (fgcolor != NULL);
|
||||
|
||||
*fgcolor = grid->fgcolor;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_grid_get_bgcolor (GimpGrid *grid,
|
||||
GimpRGB *bgcolor)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_GRID (grid));
|
||||
g_return_if_fail (bgcolor != NULL);
|
||||
|
||||
*bgcolor = grid->bgcolor;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_grid_get_spacing (GimpGrid *grid,
|
||||
gdouble *xspacing,
|
||||
|
@ -59,6 +59,13 @@ struct _GimpGridClass
|
||||
|
||||
GType gimp_grid_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GimpGridStyle gimp_grid_get_style (GimpGrid *grid);
|
||||
|
||||
void gimp_grid_get_fgcolor (GimpGrid *grid,
|
||||
GimpRGB *fgcolor);
|
||||
void gimp_grid_get_bgcolor (GimpGrid *grid,
|
||||
GimpRGB *bgcolor);
|
||||
|
||||
void gimp_grid_get_spacing (GimpGrid *grid,
|
||||
gdouble *xspacing,
|
||||
gdouble *yspacing);
|
||||
|
@ -122,13 +122,18 @@ gimp_canvas_set_grid_style (GtkWidget *canvas,
|
||||
cairo_t *cr,
|
||||
GimpGrid *grid)
|
||||
{
|
||||
GimpRGB fg;
|
||||
GimpRGB bg;
|
||||
|
||||
g_return_if_fail (GTK_IS_WIDGET (canvas));
|
||||
g_return_if_fail (cr != NULL);
|
||||
g_return_if_fail (GIMP_IS_GRID (grid));
|
||||
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
|
||||
switch (grid->style)
|
||||
gimp_grid_get_fgcolor (grid, &fg);
|
||||
|
||||
switch (gimp_grid_get_style (grid))
|
||||
{
|
||||
cairo_pattern_t *pattern;
|
||||
|
||||
@ -136,17 +141,15 @@ gimp_canvas_set_grid_style (GtkWidget *canvas,
|
||||
case GIMP_GRID_DOUBLE_DASH:
|
||||
if (grid->style == GIMP_GRID_DOUBLE_DASH)
|
||||
{
|
||||
pattern = gimp_cairo_stipple_pattern_create (&grid->fgcolor,
|
||||
&grid->bgcolor,
|
||||
0);
|
||||
gimp_grid_get_bgcolor (grid, &bg);
|
||||
|
||||
pattern = gimp_cairo_stipple_pattern_create (&fg, &bg, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
GimpRGB bg = { 0.0, 0.0, 0.0, 0.0 };
|
||||
gimp_rgba_set (&bg, 0.0, 0.0, 0.0, 0.0);
|
||||
|
||||
pattern = gimp_cairo_stipple_pattern_create (&grid->fgcolor,
|
||||
&bg,
|
||||
0);
|
||||
pattern = gimp_cairo_stipple_pattern_create (&fg, &bg, 0);
|
||||
}
|
||||
|
||||
cairo_set_source (cr, pattern);
|
||||
@ -156,7 +159,7 @@ gimp_canvas_set_grid_style (GtkWidget *canvas,
|
||||
case GIMP_GRID_DOTS:
|
||||
case GIMP_GRID_INTERSECTIONS:
|
||||
case GIMP_GRID_SOLID:
|
||||
gimp_cairo_set_source_rgb (cr, &grid->fgcolor);
|
||||
gimp_cairo_set_source_rgb (cr, &fg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ gimp_canvas_grid_draw (GimpCanvasItem *item,
|
||||
while (yoffset > 0)
|
||||
yoffset -= yspacing;
|
||||
|
||||
switch (private->grid->style)
|
||||
switch (gimp_grid_get_style (private->grid))
|
||||
{
|
||||
case GIMP_GRID_DOTS:
|
||||
for (x = xoffset; x <= width; x += xspacing)
|
||||
|
Reference in New Issue
Block a user