Make interpretation of misc->xpad/ypad consistent with GtkLabel. Do
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
of misc->xpad/ypad consistent with GtkLabel. Do
directional flipping when interpreting misc->xalign/yalign.
Fix off-by-one error for negative x,y. (#67472, reported
by Mathieu Lacage)
This commit is contained in:
parent
7aeb18a51c
commit
6d51fcd95a
10 changed files with 98 additions and 23 deletions
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
|
||||
of misc->xpad/ypad consistent with GtkLabel. Do
|
||||
directional flipping when interpreting misc->xalign/yalign.
|
||||
Fix off-by-one error for negative x,y. (#67472, reported
|
||||
by Mathieu Lacage)
|
||||
|
||||
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include "gtkarrow.h"
|
||||
#include "gtkintl.h"
|
||||
|
||||
|
|
@ -231,6 +232,7 @@ gtk_arrow_expose (GtkWidget *widget,
|
|||
gint width, height;
|
||||
gint x, y;
|
||||
gint extent;
|
||||
gfloat xalign;
|
||||
|
||||
g_return_val_if_fail (widget != NULL, FALSE);
|
||||
g_return_val_if_fail (GTK_IS_ARROW (widget), FALSE);
|
||||
|
|
@ -245,11 +247,18 @@ gtk_arrow_expose (GtkWidget *widget,
|
|||
height = widget->allocation.height - misc->ypad * 2;
|
||||
extent = MIN (width, height);
|
||||
|
||||
x = ((widget->allocation.x + misc->xpad) * (1.0 - misc->xalign) +
|
||||
(widget->allocation.x + widget->allocation.width - extent - misc->xpad) * misc->xalign);
|
||||
y = ((widget->allocation.y + misc->ypad) * (1.0 - misc->yalign) +
|
||||
(widget->allocation.y + widget->allocation.height - extent - misc->ypad) * misc->yalign);
|
||||
|
||||
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
|
||||
xalign = misc->xalign;
|
||||
else
|
||||
xalign = 1.0 - misc->xalign;
|
||||
|
||||
x = floor (widget->allocation.x + misc->xpad
|
||||
+ ((widget->allocation.width - extent) * xalign)
|
||||
+ 0.5);
|
||||
y = floor (widget->allocation.y + misc->ypad
|
||||
+ ((widget->allocation.height - extent) * misc->yalign)
|
||||
+ 0.5);
|
||||
|
||||
shadow_type = arrow->shadow_type;
|
||||
|
||||
if (widget->state == GTK_STATE_ACTIVE)
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include "gtkcontainer.h"
|
||||
#include "gtkimage.h"
|
||||
#include "gtkiconfactory.h"
|
||||
|
|
@ -1202,6 +1203,7 @@ gtk_image_expose (GtkWidget *widget,
|
|||
GtkImage *image;
|
||||
GtkMisc *misc;
|
||||
GdkRectangle area, image_bound;
|
||||
gfloat xalign;
|
||||
gint x, y;
|
||||
GdkBitmap *mask = NULL;
|
||||
GdkPixbuf *stock_pixbuf = NULL;
|
||||
|
|
@ -1209,15 +1211,18 @@ gtk_image_expose (GtkWidget *widget,
|
|||
image = GTK_IMAGE (widget);
|
||||
misc = GTK_MISC (widget);
|
||||
|
||||
x = (widget->allocation.x * (1.0 - misc->xalign) +
|
||||
(widget->allocation.x + widget->allocation.width
|
||||
- (widget->requisition.width - misc->xpad * 2)) *
|
||||
misc->xalign) + 0.5;
|
||||
y = (widget->allocation.y * (1.0 - misc->yalign) +
|
||||
(widget->allocation.y + widget->allocation.height
|
||||
- (widget->requisition.height - misc->ypad * 2)) *
|
||||
misc->yalign) + 0.5;
|
||||
|
||||
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
|
||||
xalign = misc->xalign;
|
||||
else
|
||||
xalign = 1.0 - misc->xalign;
|
||||
|
||||
x = floor (widget->allocation.x + misc->xpad
|
||||
+ ((widget->allocation.width - widget->requisition.width) * xalign)
|
||||
+ 0.5);
|
||||
y = floor (widget->allocation.y + misc->ypad
|
||||
+ ((widget->allocation.height - widget->requisition.height) * misc->yalign)
|
||||
+ 0.5);
|
||||
|
||||
image_bound.x = x;
|
||||
image_bound.y = y;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include "gtkcontainer.h"
|
||||
#include "gtkpixmap.h"
|
||||
|
||||
|
|
@ -190,6 +191,7 @@ gtk_pixmap_expose (GtkWidget *widget,
|
|||
GtkPixmap *pixmap;
|
||||
GtkMisc *misc;
|
||||
gint x, y;
|
||||
gfloat xalign;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_PIXMAP (widget), FALSE);
|
||||
g_return_val_if_fail (event != NULL, FALSE);
|
||||
|
|
@ -199,15 +201,18 @@ gtk_pixmap_expose (GtkWidget *widget,
|
|||
pixmap = GTK_PIXMAP (widget);
|
||||
misc = GTK_MISC (widget);
|
||||
|
||||
x = (widget->allocation.x * (1.0 - misc->xalign) +
|
||||
(widget->allocation.x + widget->allocation.width
|
||||
- (widget->requisition.width - misc->xpad * 2)) *
|
||||
misc->xalign) + 0.5;
|
||||
y = (widget->allocation.y * (1.0 - misc->yalign) +
|
||||
(widget->allocation.y + widget->allocation.height
|
||||
- (widget->requisition.height - misc->ypad * 2)) *
|
||||
misc->yalign) + 0.5;
|
||||
|
||||
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
|
||||
xalign = misc->xalign;
|
||||
else
|
||||
xalign = 1.0 - misc->xalign;
|
||||
|
||||
x = floor (widget->allocation.x + misc->xpad
|
||||
+ ((widget->allocation.width - widget->requisition.width) * xalign)
|
||||
+ 0.5);
|
||||
y = floor (widget->allocation.y + misc->ypad
|
||||
+ ((widget->allocation.height - widget->requisition.height) * misc->yalign)
|
||||
+ 0.5);
|
||||
|
||||
if (pixmap->mask)
|
||||
{
|
||||
gdk_gc_set_clip_mask (widget->style->black_gc, pixmap->mask);
|
||||
|
|
|
|||
Loading…
Reference in a new issue