#ifndef __GTK_WIDGET_PRIVATE_H__
#define __GTK_WIDGET_PRIVATE_H__
-G_BEGIN_DECLS
+#include "gtkcsstypesprivate.h"
+#include "gtkwidget.h"
+#include "gactionmuxer.h"
-/* Cache as many ranges of height-for-width
- * (or width-for-height) as can be rational
- * for a said widget to have, if a label can
- * only wrap to 3 lines, only 3 caches will
- * ever be allocated for it.
- */
-#define GTK_SIZE_REQUEST_CACHED_SIZES (5)
-
-typedef struct {
- gint minimum_size;
- gint natural_size;
-} CachedSize;
-
-typedef struct
-{
- gint lower_for_size; /* The minimum for_size with the same result */
- gint upper_for_size; /* The maximum for_size with the same result */
- CachedSize cached_size;
-} SizeRequest;
-
-typedef struct {
- SizeRequest **widths;
- SizeRequest **heights;
-
- CachedSize cached_width;
- CachedSize cached_height;
-
- guint cached_widths : 3;
- guint cached_heights : 3;
- guint last_cached_width : 3;
- guint last_cached_height : 3;
- guint cached_base_width : 1;
- guint cached_base_height : 1;
-} SizeRequestCache;
+G_BEGIN_DECLS
void _gtk_widget_set_visible_flag (GtkWidget *widget,
gboolean visible);
-gboolean _gtk_widget_get_resize_pending (GtkWidget *widget);
-void _gtk_widget_set_resize_pending (GtkWidget *widget,
- gboolean resize_pending);
gboolean _gtk_widget_get_in_reparent (GtkWidget *widget);
void _gtk_widget_set_in_reparent (GtkWidget *widget,
gboolean in_reparent);
gboolean _gtk_widget_get_alloc_needed (GtkWidget *widget);
void _gtk_widget_set_alloc_needed (GtkWidget *widget,
gboolean alloc_needed);
-gboolean _gtk_widget_get_width_request_needed (GtkWidget *widget);
-void _gtk_widget_set_width_request_needed (GtkWidget *widget,
- gboolean width_request_needed);
-gboolean _gtk_widget_get_height_request_needed (GtkWidget *widget);
-void _gtk_widget_set_height_request_needed (GtkWidget *widget,
- gboolean height_request_needed);
-
-gboolean _gtk_widget_get_sizegroup_visited (GtkWidget *widget);
-void _gtk_widget_set_sizegroup_visited (GtkWidget *widget,
- gboolean visited);
-gboolean _gtk_widget_get_sizegroup_bumping (GtkWidget *widget);
-void _gtk_widget_set_sizegroup_bumping (GtkWidget *widget,
- gboolean bumping);
+
void _gtk_widget_add_sizegroup (GtkWidget *widget,
gpointer group);
void _gtk_widget_remove_sizegroup (GtkWidget *widget,
void _gtk_widget_restore_size_request (GtkWidget *widget,
int old_width,
int old_height);
+void _gtk_widget_compute_size_for_orientation (GtkWidget *widget,
+ GtkOrientation orientation,
+ gint for_size,
+ gint *minimum_size,
+ gint *natural_size);
gboolean _gtk_widget_get_translation_to_window (GtkWidget *widget,
GdkWindow *window,
int *x,
int *y);
-void _gtk_widget_free_cached_sizes (GtkWidget *widget);
const gchar* _gtk_widget_get_accel_path (GtkWidget *widget,
gboolean *locked);
gboolean _gtk_widget_captured_event (GtkWidget *widget,
GdkEvent *event);
-void _gtk_widget_style_context_invalidated (GtkWidget *widget);
+GtkWidgetPath * _gtk_widget_create_path (GtkWidget *widget);
+void _gtk_widget_invalidate_style_context (GtkWidget *widget,
+ GtkCssChange change);
+void _gtk_widget_style_context_invalidated (GtkWidget *widget);
+
+void _gtk_widget_update_parent_muxer (GtkWidget *widget);
+GActionMuxer * _gtk_widget_get_action_muxer (GtkWidget *widget);
G_END_DECLS