Commit 7b5763fd authored by Lars Hamann's avatar Lars Hamann

small fix for border drawing bug

* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
  bug
parent 0e7cab34
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
Tue Jul 28 00:03:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
bug
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org> Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually * docs/gdk.sgml: new format for GDK documentation. Eventually
......
...@@ -1662,6 +1662,8 @@ gtk_notebook_paint (GtkWidget *widget, ...@@ -1662,6 +1662,8 @@ gtk_notebook_paint (GtkWidget *widget,
} }
else else
{ {
gint i = 0;
switch (notebook->tab_pos) switch (notebook->tab_pos)
{ {
case GTK_POS_TOP: case GTK_POS_TOP:
...@@ -1675,90 +1677,141 @@ gtk_notebook_paint (GtkWidget *widget, ...@@ -1675,90 +1677,141 @@ gtk_notebook_paint (GtkWidget *widget,
width -= notebook->cur_page->allocation.width; width -= notebook->cur_page->allocation.width;
break; break;
} }
switch (notebook->tab_pos) switch (notebook->tab_pos)
{ {
case GTK_POS_TOP: case GTK_POS_TOP:
points[0].x = notebook->cur_page->allocation.x; if (x != notebook->cur_page->allocation.x)
points[0].y = y; {
points[1].x = x; points[i].x = notebook->cur_page->allocation.x;
points[1].y = y; points[i++].y = y;
points[2].x = x; }
points[2].y = y + height - 1;
points[3].x = x + width - 1; points[i].x = x;
points[3].y = y + height - 1; points[i++].y = y;
points[4].x = x + width - 1; points[i].x = x;
points[4].y = y; points[i++].y = y + height - 1;
points[5].x = (notebook->cur_page->allocation.x + points[i].x = x + width - 1;
notebook->cur_page->allocation.width - points[i++].y = y + height - 1;
widget->style->klass->xthickness); points[i].x = x + width - 1;
points[5].y = y; points[i++].y = y;
if (points[5].x == (x + width)) if ((notebook->cur_page->allocation.x +
points[5].x -= 1; notebook->cur_page->allocation.width -
widget->style->klass->xthickness) <
x + width - widget->style->klass->xthickness)
{
points[i].x = (notebook->cur_page->allocation.x +
notebook->cur_page->allocation.width -
widget->style->klass->xthickness);
if (points[i].x == (x + width))
points[i].x -= 1;
points[i++].y = y;
}
break; break;
case GTK_POS_BOTTOM: case GTK_POS_BOTTOM:
points[0].x = (notebook->cur_page->allocation.x + if ((notebook->cur_page->allocation.x +
notebook->cur_page->allocation.width - notebook->cur_page->allocation.width -
widget->style->klass->xthickness); widget->style->klass->xthickness) <
points[0].y = y + height - 1; x + width - widget->style->klass->xthickness)
points[1].x = x + width - 1; {
points[1].y = y + height - 1; points[i].x = (notebook->cur_page->allocation.x +
points[2].x = x + width - 1; notebook->cur_page->allocation.width -
points[2].y = y; widget->style->klass->xthickness);
points[3].x = x;
points[3].y = y; if (points[i].x == (x + width))
points[4].x = x; points[i].x -= 1;
points[4].y = y + height - 1;
points[5].x = notebook->cur_page->allocation.x; points[i++].y = y + height - 1;
points[5].y = y + height - 1; }
if (points[0].x == (x + width)) points[i].x = x + width - 1;
points[0].x -= 1; points[i++].y = y + height - 1;
points[i].x = x + width - 1;
points[i++].y = y;
points[i].x = x;
points[i++].y = y;
points[i].x = x;
points[i++].y = y + height - 1;
if (notebook->cur_page->allocation.x != x)
{
points[i].x = notebook->cur_page->allocation.x;
points[i++].y = y + height - 1;
}
break; break;
case GTK_POS_LEFT: case GTK_POS_LEFT:
points[0].x = x; if ((notebook->cur_page->allocation.y +
points[0].y = (notebook->cur_page->allocation.y + notebook->cur_page->allocation.height -
notebook->cur_page->allocation.height - widget->style->klass->ythickness) <
widget->style->klass->ythickness); y + height - widget->style->klass->ythickness)
points[1].x = x; {
points[1].y = y + height - 1; points[i].x = x;
points[2].x = x + width - 1; points[i++].y = notebook->cur_page->allocation.y +
points[2].y = y + height - 1; notebook->cur_page->allocation.height -
points[3].x = x + width - 1; widget->style->klass->ythickness;
points[3].y = y;
points[4].x = x; if (points[0].y == (y + height))
points[4].y = y; points[0].y -= 1;
points[5].x = x; }
points[5].y = notebook->cur_page->allocation.y;
points[i].x = x;
if (points[0].y == (y + height)) points[i++].y = y + height - 1;
points[0].y -= 1; points[i].x = x + width - 1;
points[i++].y = y + height - 1;
points[i].x = x + width - 1;
points[i++].y = y;
points[i].x = x;
points[i++].y = y;
if (notebook->cur_page->allocation.y != y)
{
points[i].x = x;
points[i++].y = notebook->cur_page->allocation.y;
}
break; break;
case GTK_POS_RIGHT: case GTK_POS_RIGHT:
points[0].x = x + width - 1; if (notebook->cur_page->allocation.y != y)
points[0].y = notebook->cur_page->allocation.y; {
points[1].x = x + width - 1; points[i].x = x + width - 1;
points[1].y = y; points[i++].y = notebook->cur_page->allocation.y;
points[2].x = x; }
points[2].y = y;
points[3].x = x; points[i].x = x + width - 1;
points[3].y = y + height - 1; points[i++].y = y;
points[4].x = x + width - 1; points[i].x = x;
points[4].y = y + height - 1; points[i++].y = y;
points[5].x = x + width - 1; points[i].x = x;
points[5].y = (notebook->cur_page->allocation.y + points[i++].y = y + height - 1;
notebook->cur_page->allocation.height - points[i].x = x + width - 1;
widget->style->klass->ythickness); points[i++].y = y + height - 1;
if (points[5].y == (y + height)) if ((notebook->cur_page->allocation.y +
points[5].y -= 1; notebook->cur_page->allocation.height -
widget->style->klass->ythickness) <
y + height - widget->style->klass->ythickness)
{
points[i].x = x + width - 1;
points[i++].y = notebook->cur_page->allocation.y +
notebook->cur_page->allocation.height -
widget->style->klass->ythickness;
if (points[i - 1].y == (y + height))
points[i - 1].y -= 1;
}
break; break;
} }
gtk_draw_polygon (widget->style, widget->window, gtk_draw_polygon (widget->style, widget->window,
GTK_STATE_NORMAL, GTK_SHADOW_OUT, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
points, 6, FALSE); points, i, FALSE);
} }
children = g_list_last (notebook->children); children = g_list_last (notebook->children);
showarrow = FALSE; showarrow = FALSE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment