]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkwidgetprivate.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkwidgetprivate.h
index c5666468f311f8fe0a03395a27afac6242e9ac6a..4542580e41f15ee963ba8612a111ad497461221a 100644 (file)
@@ -8,13 +8,11 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * 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);
@@ -72,26 +45,99 @@ void         _gtk_widget_set_shadowed       (GtkWidget *widget,
 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);
+
+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,
-                                       int       *old_width,
-                                       int       *old_height);
+                                        int        width,
+                                        int        height,
+                                        int       *old_width,
+                                        int       *old_height);
 void _gtk_widget_restore_size_request  (GtkWidget *widget,
-                                       int        old_width,
-                                       int        old_height);
+                                        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);
+                                                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