Allocation/ requisition accessors in KatzeThrobber
This commit is contained in:
parent
42cf028781
commit
ff97ec6232
1 changed files with 12 additions and 4 deletions
|
@ -16,6 +16,10 @@
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
#if !GTK_CHECK_VERSION (2, 18, 0)
|
||||||
|
#define gtk_widget_get_allocation (wdgt, alloc) *alloc = wdgt->allocation
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _KatzeThrobber
|
struct _KatzeThrobber
|
||||||
{
|
{
|
||||||
GtkMisc parent_instance;
|
GtkMisc parent_instance;
|
||||||
|
@ -793,16 +797,20 @@ katze_throbber_aligned_coords (GtkWidget* widget,
|
||||||
{
|
{
|
||||||
gfloat xalign, yalign;
|
gfloat xalign, yalign;
|
||||||
gint xpad, ypad;
|
gint xpad, ypad;
|
||||||
|
GtkAllocation allocation;
|
||||||
|
GtkRequisition requisition;
|
||||||
|
|
||||||
gtk_misc_get_alignment (GTK_MISC (widget), &xalign, &yalign);
|
gtk_misc_get_alignment (GTK_MISC (widget), &xalign, &yalign);
|
||||||
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
|
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
|
||||||
xalign = 1.0f - xalign;
|
xalign = 1.0f - xalign;
|
||||||
gtk_misc_get_padding (GTK_MISC (widget), &xpad, &ypad);
|
gtk_misc_get_padding (GTK_MISC (widget), &xpad, &ypad);
|
||||||
|
|
||||||
*ax = floor (widget->allocation.x + xpad
|
gtk_widget_get_allocation (widget, &allocation);
|
||||||
+ ((widget->allocation.width - widget->requisition.width) * xalign));
|
gtk_widget_size_request (widget, &requisition);
|
||||||
*ay = floor (widget->allocation.y + ypad
|
*ax = floor (allocation.x + xpad
|
||||||
+ ((widget->allocation.height - widget->requisition.height) * yalign));
|
+ ((allocation.width - requisition.width) * xalign));
|
||||||
|
*ay = floor (allocation.y + ypad
|
||||||
|
+ ((allocation.height - requisition.height) * yalign));
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
Loading…
Reference in a new issue