gtkwidgetprivate.h 9.78 KB
Newer Older
Emmanuele Bassi's avatar
Emmanuele Bassi committed
1 2 3 4 5 6 7 8 9 10
/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Emmanuele Bassi's avatar
Emmanuele Bassi committed
12 13 14
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
Javier Jardón's avatar
Javier Jardón committed
15
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
Emmanuele Bassi's avatar
Emmanuele Bassi committed
16 17 18 19 20 21 22 23 24 25 26 27
 */

/*
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 */

#ifndef __GTK_WIDGET_PRIVATE_H__
#define __GTK_WIDGET_PRIVATE_H__

28 29
#include "gtkcsstypesprivate.h"
#include "gtkwidget.h"
Matthias Clasen's avatar
Matthias Clasen committed
30
#include "gtkeventcontroller.h"
31
#include "gtkactionmuxer.h"
32

Emmanuele Bassi's avatar
Emmanuele Bassi committed
33 34
G_BEGIN_DECLS

35
GtkCssNode *  gtk_widget_get_css_node       (GtkWidget *widget);
Emmanuele Bassi's avatar
Emmanuele Bassi committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49
void         _gtk_widget_set_visible_flag   (GtkWidget *widget,
                                             gboolean   visible);
gboolean     _gtk_widget_get_in_reparent    (GtkWidget *widget);
void         _gtk_widget_set_in_reparent    (GtkWidget *widget,
                                             gboolean   in_reparent);
gboolean     _gtk_widget_get_anchored       (GtkWidget *widget);
void         _gtk_widget_set_anchored       (GtkWidget *widget,
                                             gboolean   anchored);
gboolean     _gtk_widget_get_shadowed       (GtkWidget *widget);
void         _gtk_widget_set_shadowed       (GtkWidget *widget,
                                             gboolean   shadowed);
gboolean     _gtk_widget_get_alloc_needed   (GtkWidget *widget);
void         _gtk_widget_set_alloc_needed   (GtkWidget *widget,
                                             gboolean   alloc_needed);
50 51
void         _gtk_widget_draw               (GtkWidget *widget,
					     cairo_t   *cr);
52 53
void          _gtk_widget_scale_changed     (GtkWidget *widget);

Emmanuele Bassi's avatar
Emmanuele Bassi committed
54

55 56 57 58 59 60
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);

61 62 63 64 65
void         _gtk_widget_add_attached_window    (GtkWidget    *widget,
                                                 GtkWindow    *window);
void         _gtk_widget_remove_attached_window (GtkWidget    *widget,
                                                 GtkWindow    *window);

Emmanuele Bassi's avatar
Emmanuele Bassi committed
66
void _gtk_widget_override_size_request (GtkWidget *widget,
67 68 69 70
                                        int        width,
                                        int        height,
                                        int       *old_width,
                                        int       *old_height);
Emmanuele Bassi's avatar
Emmanuele Bassi committed
71
void _gtk_widget_restore_size_request  (GtkWidget *widget,
72 73
                                        int        old_width,
                                        int        old_height);
74 75 76 77
void _gtk_widget_get_preferred_size_for_size   (GtkWidget         *widget,
                                                GtkOrientation     orientation,
                                                gint               size,
                                                gint              *minimum,
78 79 80
                                                gint              *natural,
                                                gint              *minimum_baseline,
                                                gint              *natural_baseline);
81 82 83 84 85
void _gtk_widget_get_preferred_size_and_baseline(GtkWidget        *widget,
                                                GtkRequisition    *minimum_size,
                                                GtkRequisition    *natural_size,
                                                gint              *minimum_baseline,
                                                gint              *natural_baseline);
86
gboolean _gtk_widget_has_baseline_support (GtkWidget *widget);
Emmanuele Bassi's avatar
Emmanuele Bassi committed
87

88
gboolean _gtk_widget_get_translation_to_window (GtkWidget      *widget,
89 90 91 92
                                                GdkWindow      *window,
                                                int            *x,
                                                int            *y);

93 94 95
const gchar*      _gtk_widget_get_accel_path               (GtkWidget *widget,
                                                            gboolean  *locked);

96 97
AtkObject *       _gtk_widget_peek_accessible              (GtkWidget *widget);

98
GdkWindow *       _gtk_cairo_get_event_window              (cairo_t *cr);
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
GdkEventExpose *  _gtk_cairo_get_event                     (cairo_t *cr);

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);
134
GtkStyleContext * _gtk_widget_peek_style_context           (GtkWidget *widget);
135 136 137
GtkStyle *        _gtk_widget_get_style                    (GtkWidget *widget);
void              _gtk_widget_set_style                    (GtkWidget *widget,
                                                            GtkStyle  *style);
138
gboolean          _gtk_widget_supports_clip                (GtkWidget *widget);
139 140
void              _gtk_widget_set_simple_clip              (GtkWidget *widget,
                                                            GtkAllocation *content_clip);
141

142 143 144 145 146 147 148
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);
149

150
GtkWidgetPath *   _gtk_widget_create_path                  (GtkWidget    *widget);
151
void              gtk_widget_clear_path                    (GtkWidget    *widget);
152 153 154
void              _gtk_widget_invalidate_style_context     (GtkWidget    *widget,
                                                            GtkCssChange  change);
void              _gtk_widget_style_context_invalidated    (GtkWidget    *widget);
155

156
void              _gtk_widget_update_parent_muxer          (GtkWidget    *widget);
157 158
GtkActionMuxer *  _gtk_widget_get_action_muxer             (GtkWidget    *widget,
                                                            gboolean      create);
159

160
void              _gtk_widget_add_controller               (GtkWidget           *widget,
161
                                                            GtkEventController  *controller);
162 163
void              _gtk_widget_remove_controller            (GtkWidget           *widget,
                                                            GtkEventController  *controller);
164 165
GList *           _gtk_widget_list_controllers             (GtkWidget           *widget,
                                                            GtkPropagationPhase  phase);
166 167
gboolean          _gtk_widget_consumes_motion              (GtkWidget           *widget,
                                                            GdkEventSequence    *sequence);
168

169
gboolean          gtk_widget_has_tick_callback             (GtkWidget *widget);
170

171 172 173
void              gtk_widget_set_csd_input_shape           (GtkWidget            *widget,
                                                            const cairo_region_t *region);

Emmanuele Bassi's avatar
Emmanuele Bassi committed
174 175 176
G_END_DECLS

#endif /* __GTK_WIDGET_PRIVATE_H__ */