* 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
-
-/* With GtkWidget, a widget may be requested
- * its width for 2 or maximum 3 heights in one resize
- * (Note this define is limited by the bitfield sizes
- * defined on the SizeRequestCache structure).
- */
-#define GTK_SIZE_REQUEST_CACHED_SIZES (3)
-
-typedef struct
-{
- /* the size this request is for */
- gint for_size;
-
- gint minimum_size;
- gint natural_size;
-} SizeRequest;
-
-typedef struct {
- SizeRequest widths[GTK_SIZE_REQUEST_CACHED_SIZES];
- SizeRequest heights[GTK_SIZE_REQUEST_CACHED_SIZES];
+#include "gtkcsstypesprivate.h"
+#include "gtkwidget.h"
+#include "gactionmuxer.h"
- guint cached_widths : 2;
- guint cached_heights : 2;
- guint last_cached_width : 2;
- guint last_cached_height : 2;
-} 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);
+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,
+ cairo_t *cr,
+ gboolean clip_to_size);
+void _gtk_widget_set_has_default (GtkWidget *widget,
+ gboolean has_default);
+void _gtk_widget_set_has_grab (GtkWidget *widget,
+ gboolean has_grab);
+void _gtk_widget_set_is_toplevel (GtkWidget *widget,
+ gboolean is_toplevel);
+
+void _gtk_widget_grab_notify (GtkWidget *widget,
+ gboolean was_grabbed);
+
+void _gtk_widget_propagate_hierarchy_changed (GtkWidget *widget,
+ GtkWidget *previous_toplevel);
+void _gtk_widget_propagate_screen_changed (GtkWidget *widget,
+ GdkScreen *previous_screen);
+void _gtk_widget_propagate_composited_changed (GtkWidget *widget);
+
+void _gtk_widget_set_device_window (GtkWidget *widget,
+ GdkDevice *device,
+ GdkWindow *pointer_window);
+GdkWindow * _gtk_widget_get_device_window (GtkWidget *widget,
+ GdkDevice *device);
+GList * _gtk_widget_list_devices (GtkWidget *widget);
+
+void _gtk_widget_synthesize_crossing (GtkWidget *from,
+ GtkWidget *to,
+ GdkDevice *device,
+ GdkCrossingMode mode);
+
+gpointer _gtk_widget_peek_request_cache (GtkWidget *widget);
+
+void _gtk_widget_buildable_finish_accelerator (GtkWidget *widget,
+ GtkWidget *toplevel,
+ gpointer user_data);
+GtkStyle * _gtk_widget_get_style (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
#endif /* __GTK_WIDGET_PRIVATE_H__ */