Required changes for version change to 0.99.4

Sun Mar  1 15:18:38 PST 1998 Shawn T. Amundson <amundson@gimp.org>

        * Required changes for version change to 0.99.4

        * gtk/gtktree.[ch]: patch from J. Bolliet to correct some bugs
        * gtk/testgtk.c: added test here from J. Bolliet, removed testtree

        * gtk/clist: gtk-abilleira-981602-0, allows gtk_clist_set_pixmap
          and gtk_clist_set_pixtext to not require a mask

        * gdk/gdkdraw.c,gdk.h: gtk-trow-980217-0
          adds gdk_draw_lines and fixes some things about
          gdk_draw_polygon
This commit is contained in:
PST 1998 Shawn T. Amundson
1998-03-02 00:32:52 +00:00
committed by Shawn Amundson
parent 80fd0a0c00
commit f6f1ce01c6
24 changed files with 1452 additions and 299 deletions

View File

@ -986,7 +986,9 @@ gtk_clist_set_pixmap (GtkCList * clist,
clist_row = (g_list_nth (clist->row_list, row))->data;
gdk_pixmap_ref (pixmap);
gdk_pixmap_ref (mask);
if (mask) gdk_pixmap_ref (mask);
cell_set_pixmap (clist, clist_row, column, pixmap, mask);
/* redraw the list if it's not frozen */
@ -1019,9 +1021,11 @@ gtk_clist_get_pixmap (GtkCList * clist,
return 0;
if (pixmap)
{
*pixmap = GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap;
if (mask)
// mask can be NULL
*mask = GTK_CELL_PIXMAP (clist_row->cell[column])->mask;
}
return 1;
}
@ -1047,7 +1051,7 @@ gtk_clist_set_pixtext (GtkCList * clist,
clist_row = (g_list_nth (clist->row_list, row))->data;
gdk_pixmap_ref (pixmap);
gdk_pixmap_ref (mask);
if (mask) gdk_pixmap_ref (mask);
cell_set_pixtext (clist, clist_row, column, text, spacing, pixmap, mask);
/* redraw the list if it's not frozen */
@ -1087,8 +1091,9 @@ gtk_clist_get_pixtext (GtkCList * clist,
*spacing = GTK_CELL_PIXTEXT (clist_row->cell[column])->spacing;
if (pixmap)
*pixmap = GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap;
if (mask)
*mask = GTK_CELL_PIXTEXT (clist_row->cell[column])->mask;
// mask can be NULL
*mask = GTK_CELL_PIXTEXT (clist_row->cell[column])->mask;
return 1;
}
@ -2536,9 +2541,11 @@ draw_row (GtkCList * clist,
ydest = (clip_rectangle.y + (clip_rectangle.height / 2)) - height / 2 +
clist_row->cell[i].vertical;
gdk_gc_set_clip_mask (fg_gc, GTK_CELL_PIXMAP (clist_row->cell[i])->mask);
gdk_gc_set_clip_origin (fg_gc, xdest, ydest);
if (GTK_CELL_PIXMAP (clist_row->cell[i])->mask)
{
gdk_gc_set_clip_mask (fg_gc, GTK_CELL_PIXMAP (clist_row->cell[i])->mask);
gdk_gc_set_clip_origin (fg_gc, xdest, ydest);
}
gdk_draw_pixmap (clist->clist_window,
fg_gc,
GTK_CELL_PIXMAP (clist_row->cell[i])->pixmap,
@ -2547,8 +2554,11 @@ draw_row (GtkCList * clist,
ydest,
pixmap_width, height);
gdk_gc_set_clip_origin (fg_gc, 0, 0);
gdk_gc_set_clip_mask (fg_gc, NULL);
if (GTK_CELL_PIXMAP (clist_row->cell[i])->mask)
{
gdk_gc_set_clip_origin (fg_gc, 0, 0);
gdk_gc_set_clip_mask (fg_gc, NULL);
}
break;
case GTK_CELL_PIXTEXT:
@ -2559,9 +2569,12 @@ draw_row (GtkCList * clist,
ydest = (clip_rectangle.y + (clip_rectangle.height / 2)) - height / 2 +
clist_row->cell[i].vertical;
gdk_gc_set_clip_mask (fg_gc, GTK_CELL_PIXTEXT (clist_row->cell[i])->mask);
gdk_gc_set_clip_origin (fg_gc, xdest, ydest);
if (GTK_CELL_PIXTEXT (clist_row->cell[i])->mask)
{
gdk_gc_set_clip_mask (fg_gc, GTK_CELL_PIXTEXT (clist_row->cell[i])->mask);
gdk_gc_set_clip_origin (fg_gc, xdest, ydest);
}
gdk_draw_pixmap (clist->clist_window,
fg_gc,
GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap,
@ -3495,13 +3508,15 @@ cell_empty (GtkCList * clist,
case GTK_CELL_PIXMAP:
gdk_pixmap_unref (GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap);
gdk_bitmap_unref (GTK_CELL_PIXMAP (clist_row->cell[column])->mask);
if (GTK_CELL_PIXMAP (clist_row->cell[column])->mask)
gdk_bitmap_unref (GTK_CELL_PIXMAP (clist_row->cell[column])->mask);
break;
case GTK_CELL_PIXTEXT:
g_free (GTK_CELL_PIXTEXT (clist_row->cell[column])->text);
gdk_pixmap_unref (GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap);
gdk_bitmap_unref (GTK_CELL_PIXTEXT (clist_row->cell[column])->mask);
if (GTK_CELL_PIXTEXT (clist_row->cell[column])->mask)
gdk_bitmap_unref (GTK_CELL_PIXTEXT (clist_row->cell[column])->mask);
break;
case GTK_CELL_WIDGET:
@ -3539,10 +3554,11 @@ cell_set_pixmap (GtkCList * clist,
{
cell_empty (clist, clist_row, column);
if (pixmap && mask)
if (pixmap)
{
clist_row->cell[column].type = GTK_CELL_PIXMAP;
GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap = pixmap;
// We set the mask even if it is NULL
GTK_CELL_PIXMAP (clist_row->cell[column])->mask = mask;
}
}
@ -3558,7 +3574,7 @@ cell_set_pixtext (GtkCList * clist,
{
cell_empty (clist, clist_row, column);
if (text && pixmap && mask)
if (text && pixmap)
{
clist_row->cell[column].type = GTK_CELL_PIXTEXT;
GTK_CELL_PIXTEXT (clist_row->cell[column])->text = g_strdup (text);