* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
#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,
gpointer group);
GSList *_gtk_widget_get_sizegroups (GtkWidget *widget);
+void _gtk_widget_add_attached_window (GtkWidget *widget,
+ GtkWindow *window);
+void _gtk_widget_remove_attached_window (GtkWidget *widget,
+ GtkWindow *window);
+
void _gtk_widget_override_size_request (GtkWidget *widget,
int width,
int height,
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);
+AtkObject * _gtk_widget_peek_accessible (GtkWidget *widget);
+
GdkEventExpose * _gtk_cairo_get_event (cairo_t *cr);
void _gtk_widget_draw_internal (GtkWidget *widget,
void _gtk_widget_set_style (GtkWidget *widget,
GtkStyle *style);
+typedef gboolean (*GtkCapturedEventHandler) (GtkWidget *widget, GdkEvent *event);
+
+void _gtk_widget_set_captured_event_handler (GtkWidget *widget,
+ GtkCapturedEventHandler handler);
+
+gboolean _gtk_widget_captured_event (GtkWidget *widget,
+ GdkEvent *event);
+
+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