some fixes from the SGI build log
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -24,6 +24,8 @@ public:
|
|||||||
wxDataFormat( const wxChar *id );
|
wxDataFormat( const wxChar *id );
|
||||||
wxDataFormat( NativeFormat format );
|
wxDataFormat( NativeFormat format );
|
||||||
|
|
||||||
|
wxDataFormat& operator=(const wxDataFormat& format)
|
||||||
|
{ m_type = format.m_type; m_format = format.m_format; return *this; }
|
||||||
wxDataFormat& operator=(NativeFormat format)
|
wxDataFormat& operator=(NativeFormat format)
|
||||||
{ SetId(format); return *this; }
|
{ SetId(format); return *this; }
|
||||||
|
|
||||||
|
@@ -24,6 +24,8 @@ public:
|
|||||||
wxDataFormat( const wxChar *id );
|
wxDataFormat( const wxChar *id );
|
||||||
wxDataFormat( NativeFormat format );
|
wxDataFormat( NativeFormat format );
|
||||||
|
|
||||||
|
wxDataFormat& operator=(const wxDataFormat& format)
|
||||||
|
{ m_type = format.m_type; m_format = format.m_format; return *this; }
|
||||||
wxDataFormat& operator=(NativeFormat format)
|
wxDataFormat& operator=(NativeFormat format)
|
||||||
{ SetId(format); return *this; }
|
{ SetId(format); return *this; }
|
||||||
|
|
||||||
|
@@ -33,7 +33,6 @@ void _GSocket_GDK_Input(gpointer data,
|
|||||||
|
|
||||||
void _GSocket_GUI_Init(GSocket *socket)
|
void _GSocket_GUI_Init(GSocket *socket)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
gint *m_id;
|
gint *m_id;
|
||||||
|
|
||||||
socket->m_gui_dependent = (char *)malloc(sizeof(gint)*2);
|
socket->m_gui_dependent = (char *)malloc(sizeof(gint)*2);
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
// Author: Robert Roebling
|
// Author: Robert Roebling
|
||||||
// Id: $Id$
|
// Id: $Id$
|
||||||
// Copyright: (c) 1998 Robert Roebling
|
// Copyright: (c) 1998 Robert Roebling
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////// */
|
/////////////////////////////////////////////////////////////////////////// */
|
||||||
|
|
||||||
#include "wx/gtk/win_gtk.h"
|
#include "wx/gtk/win_gtk.h"
|
||||||
@@ -48,55 +48,55 @@ static void gtk_pizza_unrealize (GtkWidget *widget);
|
|||||||
static void gtk_pizza_map (GtkWidget *widget);
|
static void gtk_pizza_map (GtkWidget *widget);
|
||||||
|
|
||||||
static void gtk_pizza_size_request (GtkWidget *widget,
|
static void gtk_pizza_size_request (GtkWidget *widget,
|
||||||
GtkRequisition *requisition);
|
GtkRequisition *requisition);
|
||||||
static void gtk_pizza_size_allocate (GtkWidget *widget,
|
static void gtk_pizza_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation);
|
GtkAllocation *allocation);
|
||||||
static void gtk_pizza_draw (GtkWidget *widget,
|
static void gtk_pizza_draw (GtkWidget *widget,
|
||||||
GdkRectangle *area);
|
GdkRectangle *area);
|
||||||
static gint gtk_pizza_expose (GtkWidget *widget,
|
static gint gtk_pizza_expose (GtkWidget *widget,
|
||||||
GdkEventExpose *event);
|
GdkEventExpose *event);
|
||||||
static void gtk_pizza_add (GtkContainer *container,
|
static void gtk_pizza_add (GtkContainer *container,
|
||||||
GtkWidget *widget);
|
GtkWidget *widget);
|
||||||
static void gtk_pizza_remove (GtkContainer *container,
|
static void gtk_pizza_remove (GtkContainer *container,
|
||||||
GtkWidget *widget);
|
GtkWidget *widget);
|
||||||
static void gtk_pizza_forall (GtkContainer *container,
|
static void gtk_pizza_forall (GtkContainer *container,
|
||||||
gboolean include_internals,
|
gboolean include_internals,
|
||||||
GtkCallback callback,
|
GtkCallback callback,
|
||||||
gpointer callback_data);
|
gpointer callback_data);
|
||||||
|
|
||||||
static void gtk_pizza_position_child (GtkPizza *pizza,
|
static void gtk_pizza_position_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child);
|
GtkPizzaChild *child);
|
||||||
static void gtk_pizza_allocate_child (GtkPizza *pizza,
|
static void gtk_pizza_allocate_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child);
|
GtkPizzaChild *child);
|
||||||
static void gtk_pizza_position_children (GtkPizza *pizza);
|
static void gtk_pizza_position_children (GtkPizza *pizza);
|
||||||
|
|
||||||
static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
||||||
gpointer cb_data);
|
gpointer cb_data);
|
||||||
static void gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
static void gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
||||||
gint dx,
|
gint dx,
|
||||||
gint dy);
|
gint dy);
|
||||||
|
|
||||||
|
|
||||||
static void gtk_pizza_expose_area (GtkPizza *pizza,
|
static void gtk_pizza_expose_area (GtkPizza *pizza,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height);
|
gint height);
|
||||||
static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment,
|
static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment,
|
||||||
GtkPizza *pizza);
|
GtkPizza *pizza);
|
||||||
static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
|
|
||||||
static GtkType gtk_pizza_child_type (GtkContainer *container);
|
static GtkType gtk_pizza_child_type (GtkContainer *container);
|
||||||
|
|
||||||
static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
||||||
GtkAdjustment *hadj,
|
GtkAdjustment *hadj,
|
||||||
GtkAdjustment *vadj);
|
GtkAdjustment *vadj);
|
||||||
|
|
||||||
|
|
||||||
static GtkContainerClass *parent_class = NULL;
|
static GtkContainerClass *parent_class = NULL;
|
||||||
@@ -111,12 +111,12 @@ gtk_pizza_get_type ()
|
|||||||
{
|
{
|
||||||
GtkTypeInfo pizza_info =
|
GtkTypeInfo pizza_info =
|
||||||
{
|
{
|
||||||
"GtkPizza",
|
"GtkPizza",
|
||||||
sizeof (GtkPizza),
|
sizeof (GtkPizza),
|
||||||
sizeof (GtkPizzaClass),
|
sizeof (GtkPizzaClass),
|
||||||
(GtkClassInitFunc) gtk_pizza_class_init,
|
(GtkClassInitFunc) gtk_pizza_class_init,
|
||||||
(GtkObjectInitFunc) gtk_pizza_init,
|
(GtkObjectInitFunc) gtk_pizza_init,
|
||||||
/* reserved_1 */ NULL,
|
/* reserved_1 */ NULL,
|
||||||
/* reserved_2 */ NULL,
|
/* reserved_2 */ NULL,
|
||||||
(GtkClassInitFunc) NULL,
|
(GtkClassInitFunc) NULL,
|
||||||
};
|
};
|
||||||
@@ -156,11 +156,11 @@ gtk_pizza_class_init (GtkPizzaClass *klass)
|
|||||||
|
|
||||||
widget_class->set_scroll_adjustments_signal =
|
widget_class->set_scroll_adjustments_signal =
|
||||||
gtk_signal_new ("set_scroll_adjustments",
|
gtk_signal_new ("set_scroll_adjustments",
|
||||||
GTK_RUN_LAST,
|
GTK_RUN_LAST,
|
||||||
object_class->type,
|
object_class->type,
|
||||||
GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments),
|
GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments),
|
||||||
gtk_marshal_NONE__POINTER_POINTER,
|
gtk_marshal_NONE__POINTER_POINTER,
|
||||||
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
|
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkType
|
static GtkType
|
||||||
@@ -203,15 +203,15 @@ gtk_pizza_new ()
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
||||||
GtkAdjustment *hadj,
|
GtkAdjustment *hadj,
|
||||||
GtkAdjustment *vadj)
|
GtkAdjustment *vadj)
|
||||||
{
|
{
|
||||||
/* We handle scrolling in the wxScrolledWindow, not here. */
|
/* We handle scrolling in the wxScrolledWindow, not here. */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
||||||
GtkMyShadowType type)
|
GtkMyShadowType type)
|
||||||
{
|
{
|
||||||
g_return_if_fail (pizza != NULL);
|
g_return_if_fail (pizza != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
||||||
@@ -221,10 +221,10 @@ gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
|||||||
pizza->shadow_type = type;
|
pizza->shadow_type = type;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (pizza))
|
||||||
{
|
{
|
||||||
gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation));
|
gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation));
|
||||||
gtk_widget_queue_draw (GTK_WIDGET (pizza));
|
gtk_widget_queue_draw (GTK_WIDGET (pizza));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,8 +243,8 @@ gtk_pizza_put (GtkPizza *pizza,
|
|||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child_info;
|
GtkPizzaChild *child_info;
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ gtk_pizza_put (GtkPizza *pizza,
|
|||||||
if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget))
|
if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget))
|
||||||
{
|
{
|
||||||
if (GTK_WIDGET_MAPPED (pizza))
|
if (GTK_WIDGET_MAPPED (pizza))
|
||||||
gtk_widget_map (widget);
|
gtk_widget_map (widget);
|
||||||
|
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
}
|
}
|
||||||
@@ -305,24 +305,24 @@ gtk_pizza_move (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->x == x) && (child->y == y))
|
if ((child->x == x) && (child->y == y))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
child->x = x;
|
child->x = x;
|
||||||
child->y = y;
|
child->y = y;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gtk_pizza_resize (GtkPizza *pizza,
|
gtk_pizza_resize (GtkPizza *pizza,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
@@ -339,18 +339,18 @@ gtk_pizza_resize (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->width == width) && (child->height == height))
|
if ((child->width == width) && (child->height == height))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
child->width = width;
|
child->width = width;
|
||||||
child->height = height;
|
child->height = height;
|
||||||
|
|
||||||
gtk_widget_set_usize (widget, width, height);
|
gtk_widget_set_usize (widget, width, height);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -359,12 +359,11 @@ gtk_pizza_set_size (GtkPizza *pizza,
|
|||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
GtkAllocation child_allocation;
|
|
||||||
|
|
||||||
g_return_if_fail (pizza != NULL);
|
g_return_if_fail (pizza != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
||||||
@@ -378,20 +377,20 @@ gtk_pizza_set_size (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->x == x) &&
|
if ((child->x == x) &&
|
||||||
(child->y == y) &&
|
(child->y == y) &&
|
||||||
(child->width == width) &&
|
(child->width == width) &&
|
||||||
(child->height == height)) return;
|
(child->height == height)) return;
|
||||||
|
|
||||||
child->x = x;
|
child->x = x;
|
||||||
child->y = y;
|
child->y = y;
|
||||||
child->width = width;
|
child->width = width;
|
||||||
child->height = height;
|
child->height = height;
|
||||||
|
|
||||||
gtk_widget_set_usize (widget, width, height);
|
gtk_widget_set_usize (widget, width, height);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -418,11 +417,11 @@ gtk_pizza_map (GtkWidget *widget)
|
|||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if ( GTK_WIDGET_VISIBLE (child->widget) &&
|
if ( GTK_WIDGET_VISIBLE (child->widget) &&
|
||||||
!GTK_WIDGET_MAPPED (child->widget) &&
|
!GTK_WIDGET_MAPPED (child->widget) &&
|
||||||
!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gdk_window_show (widget->window);
|
gdk_window_show (widget->window);
|
||||||
@@ -485,7 +484,7 @@ gtk_pizza_realize (GtkWidget *widget)
|
|||||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
|
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
|
||||||
|
|
||||||
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||||
&attributes, attributes_mask);
|
&attributes, attributes_mask);
|
||||||
gdk_window_set_user_data (widget->window, widget);
|
gdk_window_set_user_data (widget->window, widget);
|
||||||
|
|
||||||
attributes.x = 0;
|
attributes.x = 0;
|
||||||
@@ -493,23 +492,23 @@ gtk_pizza_realize (GtkWidget *widget)
|
|||||||
|
|
||||||
attributes.event_mask = gtk_widget_get_events (widget);
|
attributes.event_mask = gtk_widget_get_events (widget);
|
||||||
attributes.event_mask |=
|
attributes.event_mask |=
|
||||||
GDK_EXPOSURE_MASK |
|
GDK_EXPOSURE_MASK |
|
||||||
GDK_POINTER_MOTION_MASK |
|
GDK_POINTER_MOTION_MASK |
|
||||||
GDK_POINTER_MOTION_HINT_MASK |
|
GDK_POINTER_MOTION_HINT_MASK |
|
||||||
GDK_BUTTON_MOTION_MASK |
|
GDK_BUTTON_MOTION_MASK |
|
||||||
GDK_BUTTON1_MOTION_MASK |
|
GDK_BUTTON1_MOTION_MASK |
|
||||||
GDK_BUTTON2_MOTION_MASK |
|
GDK_BUTTON2_MOTION_MASK |
|
||||||
GDK_BUTTON3_MOTION_MASK |
|
GDK_BUTTON3_MOTION_MASK |
|
||||||
GDK_BUTTON_PRESS_MASK |
|
GDK_BUTTON_PRESS_MASK |
|
||||||
GDK_BUTTON_RELEASE_MASK |
|
GDK_BUTTON_RELEASE_MASK |
|
||||||
GDK_KEY_PRESS_MASK |
|
GDK_KEY_PRESS_MASK |
|
||||||
GDK_KEY_RELEASE_MASK |
|
GDK_KEY_RELEASE_MASK |
|
||||||
GDK_ENTER_NOTIFY_MASK |
|
GDK_ENTER_NOTIFY_MASK |
|
||||||
GDK_LEAVE_NOTIFY_MASK |
|
GDK_LEAVE_NOTIFY_MASK |
|
||||||
GDK_FOCUS_CHANGE_MASK;
|
GDK_FOCUS_CHANGE_MASK;
|
||||||
|
|
||||||
pizza->bin_window = gdk_window_new (widget->window,
|
pizza->bin_window = gdk_window_new (widget->window,
|
||||||
&attributes, attributes_mask);
|
&attributes, attributes_mask);
|
||||||
gdk_window_set_user_data (pizza->bin_window, widget);
|
gdk_window_set_user_data (pizza->bin_window, widget);
|
||||||
|
|
||||||
widget->style = gtk_style_attach (widget->style, widget->window);
|
widget->style = gtk_style_attach (widget->style, widget->window);
|
||||||
@@ -554,7 +553,7 @@ gtk_pizza_unrealize (GtkWidget *widget)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_size_request (GtkWidget *widget,
|
gtk_pizza_size_request (GtkWidget *widget,
|
||||||
GtkRequisition *requisition)
|
GtkRequisition *requisition)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -574,9 +573,9 @@ gtk_pizza_size_request (GtkWidget *widget,
|
|||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget))
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_size_request (child->widget, &child_requisition);
|
gtk_widget_size_request (child->widget, &child_requisition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* request very little, I'm not sure if requesting nothing
|
/* request very little, I'm not sure if requesting nothing
|
||||||
@@ -587,13 +586,12 @@ gtk_pizza_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_size_allocate (GtkWidget *widget,
|
gtk_pizza_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation)
|
GtkAllocation *allocation)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
gint border;
|
gint border;
|
||||||
gint x,y,w,h;
|
gint x,y,w,h;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GtkAllocation child_allocation;
|
|
||||||
GList *children;
|
GList *children;
|
||||||
|
|
||||||
g_return_if_fail (widget != NULL);
|
g_return_if_fail (widget != NULL);
|
||||||
@@ -636,7 +634,7 @@ gtk_pizza_size_allocate (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_draw (GtkWidget *widget,
|
gtk_pizza_draw (GtkWidget *widget,
|
||||||
GdkRectangle *area)
|
GdkRectangle *area)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -653,22 +651,22 @@ gtk_pizza_draw (GtkWidget *widget,
|
|||||||
(pizza->clear_on_draw))
|
(pizza->clear_on_draw))
|
||||||
{
|
{
|
||||||
gdk_window_clear_area( pizza->bin_window,
|
gdk_window_clear_area( pizza->bin_window,
|
||||||
area->x, area->y, area->width, area->height);
|
area->x, area->y, area->width, area->height);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
child = children->data;
|
child = children->data;
|
||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if (gtk_widget_intersect (child->widget, area, &child_area))
|
if (gtk_widget_intersect (child->widget, area, &child_area))
|
||||||
gtk_widget_draw (child->widget, &child_area);
|
gtk_widget_draw (child->widget, &child_area);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
gtk_pizza_expose (GtkWidget *widget,
|
gtk_pizza_expose (GtkWidget *widget,
|
||||||
GdkEventExpose *event)
|
GdkEventExpose *event)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -695,17 +693,17 @@ gtk_pizza_expose (GtkWidget *widget,
|
|||||||
children = pizza->children;
|
children = pizza->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
child = children->data;
|
child = children->data;
|
||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
child_event = *event;
|
child_event = *event;
|
||||||
|
|
||||||
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
||||||
GTK_WIDGET_DRAWABLE (child->widget) &&
|
GTK_WIDGET_DRAWABLE (child->widget) &&
|
||||||
gtk_widget_intersect (child->widget, &event->area, &child_event.area))
|
gtk_widget_intersect (child->widget, &event->area, &child_event.area))
|
||||||
{
|
{
|
||||||
gtk_widget_event (child->widget, (GdkEvent*) &child_event);
|
gtk_widget_event (child->widget, (GdkEvent*) &child_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -713,7 +711,7 @@ gtk_pizza_expose (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_add (GtkContainer *container,
|
gtk_pizza_add (GtkContainer *container,
|
||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
{
|
{
|
||||||
g_return_if_fail (container != NULL);
|
g_return_if_fail (container != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (container));
|
g_return_if_fail (GTK_IS_PIZZA (container));
|
||||||
@@ -724,7 +722,7 @@ gtk_pizza_add (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_remove (GtkContainer *container,
|
gtk_pizza_remove (GtkContainer *container,
|
||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -742,23 +740,23 @@ gtk_pizza_remove (GtkContainer *container,
|
|||||||
child = children->data;
|
child = children->data;
|
||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
gtk_widget_unparent (widget);
|
gtk_widget_unparent (widget);
|
||||||
|
|
||||||
/* security checks */
|
/* security checks */
|
||||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
|
|
||||||
pizza->children = g_list_remove_link (pizza->children, children);
|
pizza->children = g_list_remove_link (pizza->children, children);
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
g_free (child);
|
g_free (child);
|
||||||
|
|
||||||
/* security checks */
|
/* security checks */
|
||||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
|
|
||||||
GTK_PRIVATE_UNSET_FLAG (widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_UNSET_FLAG (widget, GTK_IS_OFFSCREEN);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
children = children->next;
|
children = children->next;
|
||||||
}
|
}
|
||||||
@@ -766,9 +764,9 @@ gtk_pizza_remove (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_forall (GtkContainer *container,
|
gtk_pizza_forall (GtkContainer *container,
|
||||||
gboolean include_internals,
|
gboolean include_internals,
|
||||||
GtkCallback callback,
|
GtkCallback callback,
|
||||||
gpointer callback_data)
|
gpointer callback_data)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -796,7 +794,7 @@ gtk_pizza_forall (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_position_child (GtkPizza *pizza,
|
gtk_pizza_position_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child)
|
GtkPizzaChild *child)
|
||||||
{
|
{
|
||||||
gint x;
|
gint x;
|
||||||
gint y;
|
gint y;
|
||||||
@@ -807,28 +805,28 @@ gtk_pizza_position_child (GtkPizza *pizza,
|
|||||||
if (IS_ONSCREEN (x,y))
|
if (IS_ONSCREEN (x,y))
|
||||||
{
|
{
|
||||||
if (GTK_WIDGET_MAPPED (pizza) &&
|
if (GTK_WIDGET_MAPPED (pizza) &&
|
||||||
GTK_WIDGET_VISIBLE (child->widget))
|
GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
if (!GTK_WIDGET_MAPPED (child->widget))
|
if (!GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
if (GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
GTK_PRIVATE_UNSET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_UNSET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
if (!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
GTK_PRIVATE_SET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_SET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
||||||
|
|
||||||
if (GTK_WIDGET_MAPPED (child->widget))
|
if (GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_unmap (child->widget);
|
gtk_widget_unmap (child->widget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_allocate_child (GtkPizza *pizza,
|
gtk_pizza_allocate_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child)
|
GtkPizzaChild *child)
|
||||||
{
|
{
|
||||||
GtkAllocation allocation;
|
GtkAllocation allocation;
|
||||||
GtkRequisition requisition;
|
GtkRequisition requisition;
|
||||||
@@ -859,7 +857,7 @@ gtk_pizza_position_children (GtkPizza *pizza)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
||||||
gpointer cb_data)
|
gpointer cb_data)
|
||||||
{
|
{
|
||||||
GtkPizzaAdjData *data = cb_data;
|
GtkPizzaAdjData *data = cb_data;
|
||||||
|
|
||||||
@@ -869,15 +867,15 @@ gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget))
|
if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget))
|
||||||
{
|
{
|
||||||
gtk_container_forall (GTK_CONTAINER (widget),
|
gtk_container_forall (GTK_CONTAINER (widget),
|
||||||
gtk_pizza_adjust_allocations_recurse,
|
gtk_pizza_adjust_allocations_recurse,
|
||||||
cb_data);
|
cb_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
||||||
gint dx,
|
gint dx,
|
||||||
gint dy)
|
gint dy)
|
||||||
{
|
{
|
||||||
GList *tmp_list;
|
GList *tmp_list;
|
||||||
GtkPizzaAdjData data;
|
GtkPizzaAdjData data;
|
||||||
@@ -895,10 +893,10 @@ gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
|||||||
child->widget->allocation.y += dy;
|
child->widget->allocation.y += dy;
|
||||||
|
|
||||||
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
||||||
GTK_IS_CONTAINER (child->widget))
|
GTK_IS_CONTAINER (child->widget))
|
||||||
gtk_container_forall (GTK_CONTAINER (child->widget),
|
gtk_container_forall (GTK_CONTAINER (child->widget),
|
||||||
gtk_pizza_adjust_allocations_recurse,
|
gtk_pizza_adjust_allocations_recurse,
|
||||||
&data);
|
&data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -908,7 +906,7 @@ gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
|||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
gtk_pizza_expose_area (GtkPizza *pizza,
|
gtk_pizza_expose_area (GtkPizza *pizza,
|
||||||
gint x, gint y, gint width, gint height)
|
gint x, gint y, gint width, gint height)
|
||||||
{
|
{
|
||||||
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
||||||
{
|
{
|
||||||
@@ -935,8 +933,8 @@ gtk_pizza_expose_area (GtkPizza *pizza,
|
|||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
gtk_pizza_expose_predicate (Display *display,
|
gtk_pizza_expose_predicate (Display *display,
|
||||||
XEvent *xevent,
|
XEvent *xevent,
|
||||||
XPointer arg)
|
XPointer arg)
|
||||||
{
|
{
|
||||||
if ((xevent->type == Expose) ||
|
if ((xevent->type == Expose) ||
|
||||||
((xevent->xany.window == *(Window *)arg) &&
|
((xevent->xany.window == *(Window *)arg) &&
|
||||||
@@ -995,86 +993,86 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
if (dx > 0)
|
if (dx > 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_resize (pizza->bin_window,
|
gdk_window_resize (pizza->bin_window,
|
||||||
w + dx,
|
w + dx,
|
||||||
h);
|
h);
|
||||||
gdk_window_move (pizza->bin_window, x-dx, y);
|
gdk_window_move (pizza->bin_window, x-dx, y);
|
||||||
gdk_window_move_resize (pizza->bin_window, x, y, w, h );
|
gdk_window_move_resize (pizza->bin_window, x, y, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
MAX ((gint)w - dx, 0),
|
MAX ((gint)w - dx, 0),
|
||||||
0,
|
0,
|
||||||
MIN (dx, w),
|
MIN (dx, w),
|
||||||
h);
|
h);
|
||||||
}
|
}
|
||||||
else if (dx < 0)
|
else if (dx < 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x + dx,
|
x + dx,
|
||||||
y,
|
y,
|
||||||
w - dx,
|
w - dx,
|
||||||
h);
|
h);
|
||||||
gdk_window_move (pizza->bin_window, x, y);
|
gdk_window_move (pizza->bin_window, x, y);
|
||||||
gdk_window_resize (pizza->bin_window, w, h );
|
gdk_window_resize (pizza->bin_window, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
MIN (-dx, w),
|
MIN (-dx, w),
|
||||||
h);
|
h);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dy > 0)
|
if (dy > 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_resize (pizza->bin_window, w, h + dy);
|
gdk_window_resize (pizza->bin_window, w, h + dy);
|
||||||
gdk_window_move (pizza->bin_window, x, y-dy);
|
gdk_window_move (pizza->bin_window, x, y-dy);
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x, y, w, h );
|
x, y, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
MAX ((gint)h - dy, 0),
|
MAX ((gint)h - dy, 0),
|
||||||
w,
|
w,
|
||||||
MIN (dy, h));
|
MIN (dy, h));
|
||||||
}
|
}
|
||||||
else if (dy < 0)
|
else if (dy < 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x, y+dy, w, h - dy );
|
x, y+dy, w, h - dy );
|
||||||
gdk_window_move (pizza->bin_window, x, y);
|
gdk_window_move (pizza->bin_window, x, y);
|
||||||
gdk_window_resize (pizza->bin_window, w, h );
|
gdk_window_resize (pizza->bin_window, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
w,
|
w,
|
||||||
MIN (-dy, (gint)h));
|
MIN (-dy, (gint)h));
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_position_children (pizza);
|
gtk_pizza_position_children (pizza);
|
||||||
@@ -1092,37 +1090,37 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
|
|
||||||
gdk_flush();
|
gdk_flush();
|
||||||
while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window),
|
while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window),
|
||||||
&xevent,
|
&xevent,
|
||||||
gtk_pizza_expose_predicate,
|
gtk_pizza_expose_predicate,
|
||||||
(XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window)))
|
(XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window)))
|
||||||
{
|
{
|
||||||
GdkEvent event;
|
GdkEvent event;
|
||||||
GtkWidget *event_widget;
|
GtkWidget *event_widget;
|
||||||
|
|
||||||
if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) &&
|
if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) &&
|
||||||
(gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE))
|
(gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (xevent.type == Expose)
|
if (xevent.type == Expose)
|
||||||
{
|
{
|
||||||
event.expose.window = gdk_window_lookup (xevent.xany.window);
|
event.expose.window = gdk_window_lookup (xevent.xany.window);
|
||||||
gdk_window_get_user_data (event.expose.window,
|
gdk_window_get_user_data (event.expose.window,
|
||||||
(gpointer *)&event_widget);
|
(gpointer *)&event_widget);
|
||||||
|
|
||||||
if (event_widget)
|
if (event_widget)
|
||||||
{
|
{
|
||||||
event.expose.type = GDK_EXPOSE;
|
event.expose.type = GDK_EXPOSE;
|
||||||
event.expose.area.x = xevent.xexpose.x;
|
event.expose.area.x = xevent.xexpose.x;
|
||||||
event.expose.area.y = xevent.xexpose.y;
|
event.expose.area.y = xevent.xexpose.y;
|
||||||
event.expose.area.width = xevent.xexpose.width;
|
event.expose.area.width = xevent.xexpose.width;
|
||||||
event.expose.area.height = xevent.xexpose.height;
|
event.expose.area.height = xevent.xexpose.height;
|
||||||
event.expose.count = xevent.xexpose.count;
|
event.expose.count = xevent.xexpose.count;
|
||||||
|
|
||||||
gdk_window_ref (event.expose.window);
|
gdk_window_ref (event.expose.window);
|
||||||
gtk_widget_event (event_widget, &event);
|
gtk_widget_event (event_widget, &event);
|
||||||
gdk_window_unref (event.expose.window);
|
gdk_window_unref (event.expose.window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1138,8 +1136,8 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
*/
|
*/
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
XEvent *xevent;
|
XEvent *xevent;
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
@@ -1151,26 +1149,26 @@ gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
|||||||
{
|
{
|
||||||
case Expose:
|
case Expose:
|
||||||
if (xevent->xexpose.serial == pizza->configure_serial)
|
if (xevent->xexpose.serial == pizza->configure_serial)
|
||||||
{
|
{
|
||||||
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
xevent->xexpose.x += pizza->scroll_x;
|
xevent->xexpose.x += pizza->scroll_x;
|
||||||
xevent->xexpose.y += pizza->scroll_y;
|
xevent->xexpose.y += pizza->scroll_y;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ConfigureNotify:
|
case ConfigureNotify:
|
||||||
if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0))
|
if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0))
|
||||||
{
|
{
|
||||||
pizza->configure_serial = xevent->xconfigure.serial;
|
pizza->configure_serial = xevent->xconfigure.serial;
|
||||||
pizza->scroll_x = xevent->xconfigure.x;
|
pizza->scroll_x = xevent->xconfigure.x;
|
||||||
pizza->scroll_y = xevent->xconfigure.y;
|
pizza->scroll_y = xevent->xconfigure.y;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1183,8 +1181,8 @@ gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
|||||||
*/
|
*/
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
XEvent *xevent;
|
XEvent *xevent;
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
@@ -1195,19 +1193,19 @@ gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
|||||||
if (xevent->type == VisibilityNotify)
|
if (xevent->type == VisibilityNotify)
|
||||||
{
|
{
|
||||||
switch (xevent->xvisibility.state)
|
switch (xevent->xvisibility.state)
|
||||||
{
|
{
|
||||||
case VisibilityFullyObscured:
|
case VisibilityFullyObscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED;
|
pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityPartiallyObscured:
|
case VisibilityPartiallyObscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_PARTIAL;
|
pizza->visibility = GDK_VISIBILITY_PARTIAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityUnobscured:
|
case VisibilityUnobscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_UNOBSCURED;
|
pizza->visibility = GDK_VISIBILITY_UNOBSCURED;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,6 @@ void _GSocket_GDK_Input(gpointer data,
|
|||||||
|
|
||||||
void _GSocket_GUI_Init(GSocket *socket)
|
void _GSocket_GUI_Init(GSocket *socket)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
gint *m_id;
|
gint *m_id;
|
||||||
|
|
||||||
socket->m_gui_dependent = (char *)malloc(sizeof(gint)*2);
|
socket->m_gui_dependent = (char *)malloc(sizeof(gint)*2);
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
// Author: Robert Roebling
|
// Author: Robert Roebling
|
||||||
// Id: $Id$
|
// Id: $Id$
|
||||||
// Copyright: (c) 1998 Robert Roebling
|
// Copyright: (c) 1998 Robert Roebling
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////// */
|
/////////////////////////////////////////////////////////////////////////// */
|
||||||
|
|
||||||
#include "wx/gtk/win_gtk.h"
|
#include "wx/gtk/win_gtk.h"
|
||||||
@@ -48,55 +48,55 @@ static void gtk_pizza_unrealize (GtkWidget *widget);
|
|||||||
static void gtk_pizza_map (GtkWidget *widget);
|
static void gtk_pizza_map (GtkWidget *widget);
|
||||||
|
|
||||||
static void gtk_pizza_size_request (GtkWidget *widget,
|
static void gtk_pizza_size_request (GtkWidget *widget,
|
||||||
GtkRequisition *requisition);
|
GtkRequisition *requisition);
|
||||||
static void gtk_pizza_size_allocate (GtkWidget *widget,
|
static void gtk_pizza_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation);
|
GtkAllocation *allocation);
|
||||||
static void gtk_pizza_draw (GtkWidget *widget,
|
static void gtk_pizza_draw (GtkWidget *widget,
|
||||||
GdkRectangle *area);
|
GdkRectangle *area);
|
||||||
static gint gtk_pizza_expose (GtkWidget *widget,
|
static gint gtk_pizza_expose (GtkWidget *widget,
|
||||||
GdkEventExpose *event);
|
GdkEventExpose *event);
|
||||||
static void gtk_pizza_add (GtkContainer *container,
|
static void gtk_pizza_add (GtkContainer *container,
|
||||||
GtkWidget *widget);
|
GtkWidget *widget);
|
||||||
static void gtk_pizza_remove (GtkContainer *container,
|
static void gtk_pizza_remove (GtkContainer *container,
|
||||||
GtkWidget *widget);
|
GtkWidget *widget);
|
||||||
static void gtk_pizza_forall (GtkContainer *container,
|
static void gtk_pizza_forall (GtkContainer *container,
|
||||||
gboolean include_internals,
|
gboolean include_internals,
|
||||||
GtkCallback callback,
|
GtkCallback callback,
|
||||||
gpointer callback_data);
|
gpointer callback_data);
|
||||||
|
|
||||||
static void gtk_pizza_position_child (GtkPizza *pizza,
|
static void gtk_pizza_position_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child);
|
GtkPizzaChild *child);
|
||||||
static void gtk_pizza_allocate_child (GtkPizza *pizza,
|
static void gtk_pizza_allocate_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child);
|
GtkPizzaChild *child);
|
||||||
static void gtk_pizza_position_children (GtkPizza *pizza);
|
static void gtk_pizza_position_children (GtkPizza *pizza);
|
||||||
|
|
||||||
static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
||||||
gpointer cb_data);
|
gpointer cb_data);
|
||||||
static void gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
static void gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
||||||
gint dx,
|
gint dx,
|
||||||
gint dy);
|
gint dy);
|
||||||
|
|
||||||
|
|
||||||
static void gtk_pizza_expose_area (GtkPizza *pizza,
|
static void gtk_pizza_expose_area (GtkPizza *pizza,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height);
|
gint height);
|
||||||
static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment,
|
static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment,
|
||||||
GtkPizza *pizza);
|
GtkPizza *pizza);
|
||||||
static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
|
|
||||||
static GtkType gtk_pizza_child_type (GtkContainer *container);
|
static GtkType gtk_pizza_child_type (GtkContainer *container);
|
||||||
|
|
||||||
static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
||||||
GtkAdjustment *hadj,
|
GtkAdjustment *hadj,
|
||||||
GtkAdjustment *vadj);
|
GtkAdjustment *vadj);
|
||||||
|
|
||||||
|
|
||||||
static GtkContainerClass *parent_class = NULL;
|
static GtkContainerClass *parent_class = NULL;
|
||||||
@@ -111,12 +111,12 @@ gtk_pizza_get_type ()
|
|||||||
{
|
{
|
||||||
GtkTypeInfo pizza_info =
|
GtkTypeInfo pizza_info =
|
||||||
{
|
{
|
||||||
"GtkPizza",
|
"GtkPizza",
|
||||||
sizeof (GtkPizza),
|
sizeof (GtkPizza),
|
||||||
sizeof (GtkPizzaClass),
|
sizeof (GtkPizzaClass),
|
||||||
(GtkClassInitFunc) gtk_pizza_class_init,
|
(GtkClassInitFunc) gtk_pizza_class_init,
|
||||||
(GtkObjectInitFunc) gtk_pizza_init,
|
(GtkObjectInitFunc) gtk_pizza_init,
|
||||||
/* reserved_1 */ NULL,
|
/* reserved_1 */ NULL,
|
||||||
/* reserved_2 */ NULL,
|
/* reserved_2 */ NULL,
|
||||||
(GtkClassInitFunc) NULL,
|
(GtkClassInitFunc) NULL,
|
||||||
};
|
};
|
||||||
@@ -156,11 +156,11 @@ gtk_pizza_class_init (GtkPizzaClass *klass)
|
|||||||
|
|
||||||
widget_class->set_scroll_adjustments_signal =
|
widget_class->set_scroll_adjustments_signal =
|
||||||
gtk_signal_new ("set_scroll_adjustments",
|
gtk_signal_new ("set_scroll_adjustments",
|
||||||
GTK_RUN_LAST,
|
GTK_RUN_LAST,
|
||||||
object_class->type,
|
object_class->type,
|
||||||
GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments),
|
GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments),
|
||||||
gtk_marshal_NONE__POINTER_POINTER,
|
gtk_marshal_NONE__POINTER_POINTER,
|
||||||
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
|
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkType
|
static GtkType
|
||||||
@@ -203,15 +203,15 @@ gtk_pizza_new ()
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
gtk_pizza_scroll_set_adjustments (GtkPizza *pizza,
|
||||||
GtkAdjustment *hadj,
|
GtkAdjustment *hadj,
|
||||||
GtkAdjustment *vadj)
|
GtkAdjustment *vadj)
|
||||||
{
|
{
|
||||||
/* We handle scrolling in the wxScrolledWindow, not here. */
|
/* We handle scrolling in the wxScrolledWindow, not here. */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
||||||
GtkMyShadowType type)
|
GtkMyShadowType type)
|
||||||
{
|
{
|
||||||
g_return_if_fail (pizza != NULL);
|
g_return_if_fail (pizza != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
||||||
@@ -221,10 +221,10 @@ gtk_pizza_set_shadow_type (GtkPizza *pizza,
|
|||||||
pizza->shadow_type = type;
|
pizza->shadow_type = type;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (pizza))
|
||||||
{
|
{
|
||||||
gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation));
|
gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation));
|
||||||
gtk_widget_queue_draw (GTK_WIDGET (pizza));
|
gtk_widget_queue_draw (GTK_WIDGET (pizza));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,8 +243,8 @@ gtk_pizza_put (GtkPizza *pizza,
|
|||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child_info;
|
GtkPizzaChild *child_info;
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ gtk_pizza_put (GtkPizza *pizza,
|
|||||||
if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget))
|
if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget))
|
||||||
{
|
{
|
||||||
if (GTK_WIDGET_MAPPED (pizza))
|
if (GTK_WIDGET_MAPPED (pizza))
|
||||||
gtk_widget_map (widget);
|
gtk_widget_map (widget);
|
||||||
|
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
}
|
}
|
||||||
@@ -305,24 +305,24 @@ gtk_pizza_move (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->x == x) && (child->y == y))
|
if ((child->x == x) && (child->y == y))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
child->x = x;
|
child->x = x;
|
||||||
child->y = y;
|
child->y = y;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gtk_pizza_resize (GtkPizza *pizza,
|
gtk_pizza_resize (GtkPizza *pizza,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
@@ -339,18 +339,18 @@ gtk_pizza_resize (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->width == width) && (child->height == height))
|
if ((child->width == width) && (child->height == height))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
child->width = width;
|
child->width = width;
|
||||||
child->height = height;
|
child->height = height;
|
||||||
|
|
||||||
gtk_widget_set_usize (widget, width, height);
|
gtk_widget_set_usize (widget, width, height);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -359,12 +359,11 @@ gtk_pizza_set_size (GtkPizza *pizza,
|
|||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height)
|
gint height)
|
||||||
{
|
{
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GList *children;
|
GList *children;
|
||||||
GtkAllocation child_allocation;
|
|
||||||
|
|
||||||
g_return_if_fail (pizza != NULL);
|
g_return_if_fail (pizza != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
g_return_if_fail (GTK_IS_PIZZA (pizza));
|
||||||
@@ -378,20 +377,20 @@ gtk_pizza_set_size (GtkPizza *pizza,
|
|||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
if ((child->x == x) &&
|
if ((child->x == x) &&
|
||||||
(child->y == y) &&
|
(child->y == y) &&
|
||||||
(child->width == width) &&
|
(child->width == width) &&
|
||||||
(child->height == height)) return;
|
(child->height == height)) return;
|
||||||
|
|
||||||
child->x = x;
|
child->x = x;
|
||||||
child->y = y;
|
child->y = y;
|
||||||
child->width = width;
|
child->width = width;
|
||||||
child->height = height;
|
child->height = height;
|
||||||
|
|
||||||
gtk_widget_set_usize (widget, width, height);
|
gtk_widget_set_usize (widget, width, height);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza))
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -418,11 +417,11 @@ gtk_pizza_map (GtkWidget *widget)
|
|||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if ( GTK_WIDGET_VISIBLE (child->widget) &&
|
if ( GTK_WIDGET_VISIBLE (child->widget) &&
|
||||||
!GTK_WIDGET_MAPPED (child->widget) &&
|
!GTK_WIDGET_MAPPED (child->widget) &&
|
||||||
!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gdk_window_show (widget->window);
|
gdk_window_show (widget->window);
|
||||||
@@ -485,7 +484,7 @@ gtk_pizza_realize (GtkWidget *widget)
|
|||||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
|
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
|
||||||
|
|
||||||
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||||
&attributes, attributes_mask);
|
&attributes, attributes_mask);
|
||||||
gdk_window_set_user_data (widget->window, widget);
|
gdk_window_set_user_data (widget->window, widget);
|
||||||
|
|
||||||
attributes.x = 0;
|
attributes.x = 0;
|
||||||
@@ -493,23 +492,23 @@ gtk_pizza_realize (GtkWidget *widget)
|
|||||||
|
|
||||||
attributes.event_mask = gtk_widget_get_events (widget);
|
attributes.event_mask = gtk_widget_get_events (widget);
|
||||||
attributes.event_mask |=
|
attributes.event_mask |=
|
||||||
GDK_EXPOSURE_MASK |
|
GDK_EXPOSURE_MASK |
|
||||||
GDK_POINTER_MOTION_MASK |
|
GDK_POINTER_MOTION_MASK |
|
||||||
GDK_POINTER_MOTION_HINT_MASK |
|
GDK_POINTER_MOTION_HINT_MASK |
|
||||||
GDK_BUTTON_MOTION_MASK |
|
GDK_BUTTON_MOTION_MASK |
|
||||||
GDK_BUTTON1_MOTION_MASK |
|
GDK_BUTTON1_MOTION_MASK |
|
||||||
GDK_BUTTON2_MOTION_MASK |
|
GDK_BUTTON2_MOTION_MASK |
|
||||||
GDK_BUTTON3_MOTION_MASK |
|
GDK_BUTTON3_MOTION_MASK |
|
||||||
GDK_BUTTON_PRESS_MASK |
|
GDK_BUTTON_PRESS_MASK |
|
||||||
GDK_BUTTON_RELEASE_MASK |
|
GDK_BUTTON_RELEASE_MASK |
|
||||||
GDK_KEY_PRESS_MASK |
|
GDK_KEY_PRESS_MASK |
|
||||||
GDK_KEY_RELEASE_MASK |
|
GDK_KEY_RELEASE_MASK |
|
||||||
GDK_ENTER_NOTIFY_MASK |
|
GDK_ENTER_NOTIFY_MASK |
|
||||||
GDK_LEAVE_NOTIFY_MASK |
|
GDK_LEAVE_NOTIFY_MASK |
|
||||||
GDK_FOCUS_CHANGE_MASK;
|
GDK_FOCUS_CHANGE_MASK;
|
||||||
|
|
||||||
pizza->bin_window = gdk_window_new (widget->window,
|
pizza->bin_window = gdk_window_new (widget->window,
|
||||||
&attributes, attributes_mask);
|
&attributes, attributes_mask);
|
||||||
gdk_window_set_user_data (pizza->bin_window, widget);
|
gdk_window_set_user_data (pizza->bin_window, widget);
|
||||||
|
|
||||||
widget->style = gtk_style_attach (widget->style, widget->window);
|
widget->style = gtk_style_attach (widget->style, widget->window);
|
||||||
@@ -554,7 +553,7 @@ gtk_pizza_unrealize (GtkWidget *widget)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_size_request (GtkWidget *widget,
|
gtk_pizza_size_request (GtkWidget *widget,
|
||||||
GtkRequisition *requisition)
|
GtkRequisition *requisition)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -574,9 +573,9 @@ gtk_pizza_size_request (GtkWidget *widget,
|
|||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (child->widget))
|
if (GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
gtk_widget_size_request (child->widget, &child_requisition);
|
gtk_widget_size_request (child->widget, &child_requisition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* request very little, I'm not sure if requesting nothing
|
/* request very little, I'm not sure if requesting nothing
|
||||||
@@ -587,13 +586,12 @@ gtk_pizza_size_request (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_size_allocate (GtkWidget *widget,
|
gtk_pizza_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation)
|
GtkAllocation *allocation)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
gint border;
|
gint border;
|
||||||
gint x,y,w,h;
|
gint x,y,w,h;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
GtkAllocation child_allocation;
|
|
||||||
GList *children;
|
GList *children;
|
||||||
|
|
||||||
g_return_if_fail (widget != NULL);
|
g_return_if_fail (widget != NULL);
|
||||||
@@ -636,7 +634,7 @@ gtk_pizza_size_allocate (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_draw (GtkWidget *widget,
|
gtk_pizza_draw (GtkWidget *widget,
|
||||||
GdkRectangle *area)
|
GdkRectangle *area)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -653,22 +651,22 @@ gtk_pizza_draw (GtkWidget *widget,
|
|||||||
(pizza->clear_on_draw))
|
(pizza->clear_on_draw))
|
||||||
{
|
{
|
||||||
gdk_window_clear_area( pizza->bin_window,
|
gdk_window_clear_area( pizza->bin_window,
|
||||||
area->x, area->y, area->width, area->height);
|
area->x, area->y, area->width, area->height);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
child = children->data;
|
child = children->data;
|
||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
if (gtk_widget_intersect (child->widget, area, &child_area))
|
if (gtk_widget_intersect (child->widget, area, &child_area))
|
||||||
gtk_widget_draw (child->widget, &child_area);
|
gtk_widget_draw (child->widget, &child_area);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
gtk_pizza_expose (GtkWidget *widget,
|
gtk_pizza_expose (GtkWidget *widget,
|
||||||
GdkEventExpose *event)
|
GdkEventExpose *event)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -695,17 +693,17 @@ gtk_pizza_expose (GtkWidget *widget,
|
|||||||
children = pizza->children;
|
children = pizza->children;
|
||||||
while (children)
|
while (children)
|
||||||
{
|
{
|
||||||
child = children->data;
|
child = children->data;
|
||||||
children = children->next;
|
children = children->next;
|
||||||
|
|
||||||
child_event = *event;
|
child_event = *event;
|
||||||
|
|
||||||
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
||||||
GTK_WIDGET_DRAWABLE (child->widget) &&
|
GTK_WIDGET_DRAWABLE (child->widget) &&
|
||||||
gtk_widget_intersect (child->widget, &event->area, &child_event.area))
|
gtk_widget_intersect (child->widget, &event->area, &child_event.area))
|
||||||
{
|
{
|
||||||
gtk_widget_event (child->widget, (GdkEvent*) &child_event);
|
gtk_widget_event (child->widget, (GdkEvent*) &child_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -713,7 +711,7 @@ gtk_pizza_expose (GtkWidget *widget,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_add (GtkContainer *container,
|
gtk_pizza_add (GtkContainer *container,
|
||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
{
|
{
|
||||||
g_return_if_fail (container != NULL);
|
g_return_if_fail (container != NULL);
|
||||||
g_return_if_fail (GTK_IS_PIZZA (container));
|
g_return_if_fail (GTK_IS_PIZZA (container));
|
||||||
@@ -724,7 +722,7 @@ gtk_pizza_add (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_remove (GtkContainer *container,
|
gtk_pizza_remove (GtkContainer *container,
|
||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -742,23 +740,23 @@ gtk_pizza_remove (GtkContainer *container,
|
|||||||
child = children->data;
|
child = children->data;
|
||||||
|
|
||||||
if (child->widget == widget)
|
if (child->widget == widget)
|
||||||
{
|
{
|
||||||
gtk_widget_unparent (widget);
|
gtk_widget_unparent (widget);
|
||||||
|
|
||||||
/* security checks */
|
/* security checks */
|
||||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
|
|
||||||
pizza->children = g_list_remove_link (pizza->children, children);
|
pizza->children = g_list_remove_link (pizza->children, children);
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
g_free (child);
|
g_free (child);
|
||||||
|
|
||||||
/* security checks */
|
/* security checks */
|
||||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
|
|
||||||
GTK_PRIVATE_UNSET_FLAG (widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_UNSET_FLAG (widget, GTK_IS_OFFSCREEN);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
children = children->next;
|
children = children->next;
|
||||||
}
|
}
|
||||||
@@ -766,9 +764,9 @@ gtk_pizza_remove (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_forall (GtkContainer *container,
|
gtk_pizza_forall (GtkContainer *container,
|
||||||
gboolean include_internals,
|
gboolean include_internals,
|
||||||
GtkCallback callback,
|
GtkCallback callback,
|
||||||
gpointer callback_data)
|
gpointer callback_data)
|
||||||
{
|
{
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
GtkPizzaChild *child;
|
GtkPizzaChild *child;
|
||||||
@@ -796,7 +794,7 @@ gtk_pizza_forall (GtkContainer *container,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_position_child (GtkPizza *pizza,
|
gtk_pizza_position_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child)
|
GtkPizzaChild *child)
|
||||||
{
|
{
|
||||||
gint x;
|
gint x;
|
||||||
gint y;
|
gint y;
|
||||||
@@ -807,28 +805,28 @@ gtk_pizza_position_child (GtkPizza *pizza,
|
|||||||
if (IS_ONSCREEN (x,y))
|
if (IS_ONSCREEN (x,y))
|
||||||
{
|
{
|
||||||
if (GTK_WIDGET_MAPPED (pizza) &&
|
if (GTK_WIDGET_MAPPED (pizza) &&
|
||||||
GTK_WIDGET_VISIBLE (child->widget))
|
GTK_WIDGET_VISIBLE (child->widget))
|
||||||
{
|
{
|
||||||
if (!GTK_WIDGET_MAPPED (child->widget))
|
if (!GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_map (child->widget);
|
gtk_widget_map (child->widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
if (GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
GTK_PRIVATE_UNSET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_UNSET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
if (!GTK_WIDGET_IS_OFFSCREEN (child->widget))
|
||||||
GTK_PRIVATE_SET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
GTK_PRIVATE_SET_FLAG (child->widget, GTK_IS_OFFSCREEN);
|
||||||
|
|
||||||
if (GTK_WIDGET_MAPPED (child->widget))
|
if (GTK_WIDGET_MAPPED (child->widget))
|
||||||
gtk_widget_unmap (child->widget);
|
gtk_widget_unmap (child->widget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_allocate_child (GtkPizza *pizza,
|
gtk_pizza_allocate_child (GtkPizza *pizza,
|
||||||
GtkPizzaChild *child)
|
GtkPizzaChild *child)
|
||||||
{
|
{
|
||||||
GtkAllocation allocation;
|
GtkAllocation allocation;
|
||||||
GtkRequisition requisition;
|
GtkRequisition requisition;
|
||||||
@@ -859,7 +857,7 @@ gtk_pizza_position_children (GtkPizza *pizza)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
||||||
gpointer cb_data)
|
gpointer cb_data)
|
||||||
{
|
{
|
||||||
GtkPizzaAdjData *data = cb_data;
|
GtkPizzaAdjData *data = cb_data;
|
||||||
|
|
||||||
@@ -869,15 +867,15 @@ gtk_pizza_adjust_allocations_recurse (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget))
|
if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget))
|
||||||
{
|
{
|
||||||
gtk_container_forall (GTK_CONTAINER (widget),
|
gtk_container_forall (GTK_CONTAINER (widget),
|
||||||
gtk_pizza_adjust_allocations_recurse,
|
gtk_pizza_adjust_allocations_recurse,
|
||||||
cb_data);
|
cb_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
||||||
gint dx,
|
gint dx,
|
||||||
gint dy)
|
gint dy)
|
||||||
{
|
{
|
||||||
GList *tmp_list;
|
GList *tmp_list;
|
||||||
GtkPizzaAdjData data;
|
GtkPizzaAdjData data;
|
||||||
@@ -895,10 +893,10 @@ gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
|||||||
child->widget->allocation.y += dy;
|
child->widget->allocation.y += dy;
|
||||||
|
|
||||||
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
if (GTK_WIDGET_NO_WINDOW (child->widget) &&
|
||||||
GTK_IS_CONTAINER (child->widget))
|
GTK_IS_CONTAINER (child->widget))
|
||||||
gtk_container_forall (GTK_CONTAINER (child->widget),
|
gtk_container_forall (GTK_CONTAINER (child->widget),
|
||||||
gtk_pizza_adjust_allocations_recurse,
|
gtk_pizza_adjust_allocations_recurse,
|
||||||
&data);
|
&data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -908,7 +906,7 @@ gtk_pizza_adjust_allocations (GtkPizza *pizza,
|
|||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
gtk_pizza_expose_area (GtkPizza *pizza,
|
gtk_pizza_expose_area (GtkPizza *pizza,
|
||||||
gint x, gint y, gint width, gint height)
|
gint x, gint y, gint width, gint height)
|
||||||
{
|
{
|
||||||
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
||||||
{
|
{
|
||||||
@@ -935,8 +933,8 @@ gtk_pizza_expose_area (GtkPizza *pizza,
|
|||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
gtk_pizza_expose_predicate (Display *display,
|
gtk_pizza_expose_predicate (Display *display,
|
||||||
XEvent *xevent,
|
XEvent *xevent,
|
||||||
XPointer arg)
|
XPointer arg)
|
||||||
{
|
{
|
||||||
if ((xevent->type == Expose) ||
|
if ((xevent->type == Expose) ||
|
||||||
((xevent->xany.window == *(Window *)arg) &&
|
((xevent->xany.window == *(Window *)arg) &&
|
||||||
@@ -995,86 +993,86 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
if (dx > 0)
|
if (dx > 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_resize (pizza->bin_window,
|
gdk_window_resize (pizza->bin_window,
|
||||||
w + dx,
|
w + dx,
|
||||||
h);
|
h);
|
||||||
gdk_window_move (pizza->bin_window, x-dx, y);
|
gdk_window_move (pizza->bin_window, x-dx, y);
|
||||||
gdk_window_move_resize (pizza->bin_window, x, y, w, h );
|
gdk_window_move_resize (pizza->bin_window, x, y, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
MAX ((gint)w - dx, 0),
|
MAX ((gint)w - dx, 0),
|
||||||
0,
|
0,
|
||||||
MIN (dx, w),
|
MIN (dx, w),
|
||||||
h);
|
h);
|
||||||
}
|
}
|
||||||
else if (dx < 0)
|
else if (dx < 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x + dx,
|
x + dx,
|
||||||
y,
|
y,
|
||||||
w - dx,
|
w - dx,
|
||||||
h);
|
h);
|
||||||
gdk_window_move (pizza->bin_window, x, y);
|
gdk_window_move (pizza->bin_window, x, y);
|
||||||
gdk_window_resize (pizza->bin_window, w, h );
|
gdk_window_resize (pizza->bin_window, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
MIN (-dx, w),
|
MIN (-dx, w),
|
||||||
h);
|
h);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dy > 0)
|
if (dy > 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_resize (pizza->bin_window, w, h + dy);
|
gdk_window_resize (pizza->bin_window, w, h + dy);
|
||||||
gdk_window_move (pizza->bin_window, x, y-dy);
|
gdk_window_move (pizza->bin_window, x, y-dy);
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x, y, w, h );
|
x, y, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
MAX ((gint)h - dy, 0),
|
MAX ((gint)h - dy, 0),
|
||||||
w,
|
w,
|
||||||
MIN (dy, h));
|
MIN (dy, h));
|
||||||
}
|
}
|
||||||
else if (dy < 0)
|
else if (dy < 0)
|
||||||
{
|
{
|
||||||
if (gravity_works)
|
if (gravity_works)
|
||||||
{
|
{
|
||||||
gdk_window_move_resize (pizza->bin_window,
|
gdk_window_move_resize (pizza->bin_window,
|
||||||
x, y+dy, w, h - dy );
|
x, y+dy, w, h - dy );
|
||||||
gdk_window_move (pizza->bin_window, x, y);
|
gdk_window_move (pizza->bin_window, x, y);
|
||||||
gdk_window_resize (pizza->bin_window, w, h );
|
gdk_window_resize (pizza->bin_window, w, h );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
}
|
}
|
||||||
gtk_pizza_expose_area (pizza,
|
gtk_pizza_expose_area (pizza,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
w,
|
w,
|
||||||
MIN (-dy, (gint)h));
|
MIN (-dy, (gint)h));
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_pizza_position_children (pizza);
|
gtk_pizza_position_children (pizza);
|
||||||
@@ -1092,37 +1090,37 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
|
|
||||||
gdk_flush();
|
gdk_flush();
|
||||||
while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window),
|
while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window),
|
||||||
&xevent,
|
&xevent,
|
||||||
gtk_pizza_expose_predicate,
|
gtk_pizza_expose_predicate,
|
||||||
(XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window)))
|
(XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window)))
|
||||||
{
|
{
|
||||||
GdkEvent event;
|
GdkEvent event;
|
||||||
GtkWidget *event_widget;
|
GtkWidget *event_widget;
|
||||||
|
|
||||||
if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) &&
|
if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) &&
|
||||||
(gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE))
|
(gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (xevent.type == Expose)
|
if (xevent.type == Expose)
|
||||||
{
|
{
|
||||||
event.expose.window = gdk_window_lookup (xevent.xany.window);
|
event.expose.window = gdk_window_lookup (xevent.xany.window);
|
||||||
gdk_window_get_user_data (event.expose.window,
|
gdk_window_get_user_data (event.expose.window,
|
||||||
(gpointer *)&event_widget);
|
(gpointer *)&event_widget);
|
||||||
|
|
||||||
if (event_widget)
|
if (event_widget)
|
||||||
{
|
{
|
||||||
event.expose.type = GDK_EXPOSE;
|
event.expose.type = GDK_EXPOSE;
|
||||||
event.expose.area.x = xevent.xexpose.x;
|
event.expose.area.x = xevent.xexpose.x;
|
||||||
event.expose.area.y = xevent.xexpose.y;
|
event.expose.area.y = xevent.xexpose.y;
|
||||||
event.expose.area.width = xevent.xexpose.width;
|
event.expose.area.width = xevent.xexpose.width;
|
||||||
event.expose.area.height = xevent.xexpose.height;
|
event.expose.area.height = xevent.xexpose.height;
|
||||||
event.expose.count = xevent.xexpose.count;
|
event.expose.count = xevent.xexpose.count;
|
||||||
|
|
||||||
gdk_window_ref (event.expose.window);
|
gdk_window_ref (event.expose.window);
|
||||||
gtk_widget_event (event_widget, &event);
|
gtk_widget_event (event_widget, &event);
|
||||||
gdk_window_unref (event.expose.window);
|
gdk_window_unref (event.expose.window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1138,8 +1136,8 @@ gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy)
|
|||||||
*/
|
*/
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
XEvent *xevent;
|
XEvent *xevent;
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
@@ -1151,26 +1149,26 @@ gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
|||||||
{
|
{
|
||||||
case Expose:
|
case Expose:
|
||||||
if (xevent->xexpose.serial == pizza->configure_serial)
|
if (xevent->xexpose.serial == pizza->configure_serial)
|
||||||
{
|
{
|
||||||
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED)
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
xevent->xexpose.x += pizza->scroll_x;
|
xevent->xexpose.x += pizza->scroll_x;
|
||||||
xevent->xexpose.y += pizza->scroll_y;
|
xevent->xexpose.y += pizza->scroll_y;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ConfigureNotify:
|
case ConfigureNotify:
|
||||||
if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0))
|
if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0))
|
||||||
{
|
{
|
||||||
pizza->configure_serial = xevent->xconfigure.serial;
|
pizza->configure_serial = xevent->xconfigure.serial;
|
||||||
pizza->scroll_x = xevent->xconfigure.x;
|
pizza->scroll_x = xevent->xconfigure.x;
|
||||||
pizza->scroll_y = xevent->xconfigure.y;
|
pizza->scroll_y = xevent->xconfigure.y;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1183,8 +1181,8 @@ gtk_pizza_filter (GdkXEvent *gdk_xevent,
|
|||||||
*/
|
*/
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
XEvent *xevent;
|
XEvent *xevent;
|
||||||
GtkPizza *pizza;
|
GtkPizza *pizza;
|
||||||
@@ -1195,19 +1193,19 @@ gtk_pizza_main_filter (GdkXEvent *gdk_xevent,
|
|||||||
if (xevent->type == VisibilityNotify)
|
if (xevent->type == VisibilityNotify)
|
||||||
{
|
{
|
||||||
switch (xevent->xvisibility.state)
|
switch (xevent->xvisibility.state)
|
||||||
{
|
{
|
||||||
case VisibilityFullyObscured:
|
case VisibilityFullyObscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED;
|
pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityPartiallyObscured:
|
case VisibilityPartiallyObscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_PARTIAL;
|
pizza->visibility = GDK_VISIBILITY_PARTIAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityUnobscured:
|
case VisibilityUnobscured:
|
||||||
pizza->visibility = GDK_VISIBILITY_UNOBSCURED;
|
pizza->visibility = GDK_VISIBILITY_UNOBSCURED;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
WXDIR = $(WXWIN)
|
WXDIR = $(WXWIN)
|
||||||
!include $(WXDIR)\src\makeb32.env
|
!include $(WXDIR)\src\makeb32.env
|
||||||
|
|
||||||
LIBS=$(WXLIB) $(EXTRALIBS) cw32mt import32 ole2w32 winpng zlib jpeg odbc32
|
LIBS=$(WXLIB) $(EXTRALIBS) cw32mt import32 ole2w32 winpng zlib jpeg xpm tiff odbc32
|
||||||
|
|
||||||
!if "$(FINAL)" == "0"
|
!if "$(FINAL)" == "0"
|
||||||
LINKFLAGS=/v /c /Tpe /L$(WXLIBDIR);$(BCCDIR)\lib $(EXTRALINKFLAGS)
|
LINKFLAGS=/v /c /Tpe /L$(WXLIBDIR);$(BCCDIR)\lib $(EXTRALINKFLAGS)
|
||||||
|
Reference in New Issue
Block a user