guint clamp_allocation : 1;
};
-struct _GtkWindowPrivate
+typedef struct
{
GtkMnemonicHash *mnemonic_hash;
GskRenderer *renderer;
GList *foci;
-};
+} GtkWindowPrivate;
#ifdef GDK_WINDOWING_X11
static const char *dnd_dest_targets [] = {
int *natural_baseline)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *child = gtk_bin_get_child (GTK_BIN (widget));
gboolean has_size_request = gtk_widget_has_size_request (widget);
int title_min_size = 0;
gdouble y)
{
GtkWindow *window = GTK_WINDOW (widget);
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *popovers;
- for (popovers = window->priv->popovers.tail; popovers; popovers = popovers->prev)
+ for (popovers = priv->popovers.tail; popovers; popovers = popovers->prev)
{
GtkWindowPopover *popover = popovers->data;
int dest_x, dest_y;
gboolean
gtk_window_is_maximized (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
void
_gtk_window_toggle_maximized (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->maximized)
gtk_window_unmaximize (window);
void
gtk_window_close (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
if (!_gtk_widget_get_realized (GTK_WIDGET (window)))
return;
- if (window->priv->in_emit_close_request)
+ if (priv->in_emit_close_request)
return;
g_object_ref (window);
gdouble offset_y,
GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gint double_click_distance;
GtkSettings *settings;
gpointer user_data)
{
GtkWindow *window = user_data;
- GList *l = window->priv->foci, *cur;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+ GList *l = priv->foci, *cur;
while (l)
{
if (focus->device == device)
{
- window->priv->foci =
- g_list_delete_link (window->priv->foci, cur);
+ priv->foci = g_list_delete_link (priv->foci, cur);
gtk_pointer_focus_unref (focus);
}
}
gint y,
GdkSurfaceEdge edge)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkAllocation allocation;
GtkStyleContext *context;
gint handle_v, handle_h;
static void
gtk_window_init (GtkWindow *window)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GtkCssNode *widget_node;
GdkSeat *seat;
widget = GTK_WIDGET (window);
- window->priv = gtk_window_get_instance_private (window);
- priv = window->priv;
-
gtk_widget_set_has_surface (widget, TRUE);
_gtk_widget_set_is_toplevel (widget, TRUE);
_gtk_widget_set_anchored (widget, TRUE);
gtk_window_constructed (GObject *object)
{
GtkWindow *window = GTK_WINDOW (object);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
G_OBJECT_CLASS (gtk_window_parent_class)->constructed (object);
GParamSpec *pspec)
{
GtkWindow *window = GTK_WINDOW (object);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
switch (prop_id)
{
GParamSpec *pspec)
{
GtkWindow *window = GTK_WINDOW (object);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
switch (prop_id)
{
const GValue *value)
{
GtkWindow *window = GTK_WINDOW (buildable);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (strcmp (name, "visible") == 0 && g_value_get_boolean (value))
priv->builder_visible = TRUE;
GtkBuilder *builder)
{
GtkWindow *window = GTK_WINDOW (buildable);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GObject *object;
GSList *accels, *l;
const gchar *title,
gboolean update_titlebar)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
char *new_title;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
widget = GTK_WIDGET (window);
new_title = g_strdup (title);
const gchar *
gtk_window_get_title (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->title;
+ return priv->title;
}
/**
gtk_window_set_role (GtkWindow *window,
const gchar *role)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
char *new_role;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
widget = GTK_WIDGET (window);
new_role = g_strdup (role);
gtk_window_set_startup_id (GtkWindow *window,
const gchar *startup_id)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
widget = GTK_WIDGET (window);
g_free (priv->startup_id);
const gchar *
gtk_window_get_role (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->wm_role;
+ return priv->wm_role;
}
/**
_gtk_window_internal_set_focus (GtkWindow *window,
GtkWidget *focus)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
priv->initial_focus = NULL;
if ((priv->focus_widget != focus) ||
(focus && !gtk_widget_has_focus (focus)))
gtk_window_set_default (GtkWindow *window,
GtkWidget *default_widget)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
if (default_widget)
g_return_if_fail (gtk_widget_get_can_default (default_widget));
GtkWidget *
gtk_window_get_default_widget (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->default_widget;
+ return priv->default_widget;
}
static gboolean
handle_keys_changed (gpointer data)
{
GtkWindow *window = GTK_WINDOW (data);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->keys_changed_handler)
{
void
_gtk_window_notify_keys_changed (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (!priv->keys_changed_handler)
{
gtk_window_get_mnemonic_hash (GtkWindow *window,
gboolean create)
{
- GtkWindowPrivate *private = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- if (!private->mnemonic_hash && create)
- private->mnemonic_hash = _gtk_mnemonic_hash_new ();
+ if (!priv->mnemonic_hash && create)
+ priv->mnemonic_hash = _gtk_mnemonic_hash_new ();
- return private->mnemonic_hash;
+ return priv->mnemonic_hash;
}
/**
guint keyval,
GdkModifierType modifier)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- priv = window->priv;
-
if (priv->mnemonic_modifier == (modifier & gtk_accelerator_get_default_mod_mask ()))
{
GtkMnemonicHash *mnemonic_hash = gtk_window_get_mnemonic_hash (window, FALSE);
gtk_window_set_mnemonic_modifier (GtkWindow *window,
GdkModifierType modifier)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail ((modifier & ~GDK_MODIFIER_MASK) == 0);
- priv = window->priv;
-
priv->mnemonic_modifier = modifier;
_gtk_window_notify_keys_changed (window);
}
GdkModifierType
gtk_window_get_mnemonic_modifier (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), 0);
- return window->priv->mnemonic_modifier;
+ return priv->mnemonic_modifier;
}
/**
gtk_window_set_position (GtkWindow *window,
GtkWindowPosition position)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
if (position == GTK_WIN_POS_CENTER_ALWAYS ||
priv->position == GTK_WIN_POS_CENTER_ALWAYS)
{
gboolean
gtk_window_activate_focus (GtkWindow *window)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- priv = window->priv;
-
if (priv->focus_widget && gtk_widget_is_sensitive (priv->focus_widget))
return gtk_widget_activate (priv->focus_widget);
GtkWidget *
gtk_window_get_focus (GtkWindow *window)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- priv = window->priv;
-
if (priv->initial_focus)
return priv->initial_focus;
else
gboolean
gtk_window_activate_default (GtkWindow *window)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- priv = window->priv;
-
if (priv->default_widget && gtk_widget_is_sensitive (priv->default_widget) &&
(!priv->focus_widget || !gtk_widget_get_receives_default (priv->focus_widget)))
return gtk_widget_activate (priv->default_widget);
gtk_window_set_modal (GtkWindow *window,
gboolean modal)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
modal = modal != FALSE;
if (priv->modal == modal)
return;
gboolean
gtk_window_get_modal (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->modal;
+ return priv->modal;
}
/**
static void
remove_attach_widget (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->attach_widget)
{
gtk_window_dispose (GObject *object)
{
GtkWindow *window = GTK_WINDOW (object);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_list_free_full (priv->foci, (GDestroyNotify) gtk_pointer_focus_unref);
priv->foci = NULL;
static void
connect_parent_destroyed (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->transient_parent)
{
static void
disconnect_parent_destroyed (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->transient_parent)
{
GParamSpec *pspec,
GtkWindow *window)
{
- gtk_window_set_display (window, parent->priv->display);
+ GtkWindowPrivate *parent_priv = gtk_window_get_instance_private (parent);
+
+ gtk_window_set_display (window, parent_priv->display);
}
static void
gtk_window_unset_transient_for (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->transient_parent)
{
gtk_window_set_transient_for (GtkWindow *window,
GtkWindow *parent)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (parent == NULL || GTK_IS_WINDOW (parent));
g_return_if_fail (window != parent);
- priv = window->priv;
-
if (priv->transient_parent)
{
if (_gtk_widget_get_realized (GTK_WIDGET (window)) &&
if (parent)
{
+ GtkWindowPrivate *parent_priv = gtk_window_get_instance_private (parent);
g_signal_connect (parent, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&priv->transient_parent);
G_CALLBACK (gtk_window_transient_parent_display_changed),
window);
- gtk_window_set_display (window, parent->priv->display);
+ gtk_window_set_display (window, parent_priv->display);
if (priv->destroy_with_parent)
connect_parent_destroyed (window);
gtk_window_transient_parent_realized (GTK_WIDGET (parent),
GTK_WIDGET (window));
- if (parent->priv->group)
+ if (parent_priv->group)
{
- gtk_window_group_add_window (parent->priv->group, window);
+ gtk_window_group_add_window (parent_priv->group, window);
priv->transient_parent_group = TRUE;
}
}
GtkWindow *
gtk_window_get_transient_for (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->transient_parent;
+ return priv->transient_parent;
}
/**
GtkWidget *attach_widget)
{
GtkStyleContext *context;
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (GTK_WIDGET (window) != attach_widget);
- priv = window->priv;
-
if (priv->attach_widget == attach_widget)
return;
GtkWidget *
gtk_window_get_attached_to (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->attach_widget;
+ return priv->attach_widget;
}
/**
GtkApplication *
gtk_window_get_application (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
- return window->priv->application;
+ return priv->application;
}
static void
gtk_window_release_application (GtkWindow *window)
{
- if (window->priv->application)
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ if (priv->application)
{
GtkApplication *application;
/* steal reference into temp variable */
- application = window->priv->application;
- window->priv->application = NULL;
+ application = priv->application;
+ priv->application = NULL;
gtk_application_remove_window (application, window);
g_object_unref (application);
gtk_window_set_application (GtkWindow *window,
GtkApplication *application)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
if (priv->application != application)
{
gtk_window_release_application (window);
gtk_window_set_type_hint (GtkWindow *window,
GdkSurfaceTypeHint hint)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *surface;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
if (priv->type_hint == hint)
return;
GdkSurfaceTypeHint
gtk_window_get_type_hint (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), GDK_SURFACE_TYPE_HINT_NORMAL);
- return window->priv->type_hint;
+ return priv->type_hint;
}
/**
gtk_window_set_skip_taskbar_hint (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->skips_taskbar != setting)
gboolean
gtk_window_get_skip_taskbar_hint (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->skips_taskbar;
+ return priv->skips_taskbar;
}
/**
gtk_window_set_skip_pager_hint (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->skips_pager != setting)
gboolean
gtk_window_get_skip_pager_hint (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->skips_pager;
+ return priv->skips_pager;
}
/**
gtk_window_set_urgency_hint (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->urgent != setting)
gboolean
gtk_window_get_urgency_hint (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->urgent;
+ return priv->urgent;
}
/**
gtk_window_set_accept_focus (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->accept_focus != setting)
gboolean
gtk_window_get_accept_focus (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->accept_focus;
+ return priv->accept_focus;
}
/**
gtk_window_set_focus_on_map (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->focus_on_map != setting)
gboolean
gtk_window_get_focus_on_map (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->focus_on_map;
+ return priv->focus_on_map;
}
/**
gtk_window_set_destroy_with_parent (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
if (priv->destroy_with_parent == (setting != FALSE))
return;
gboolean
gtk_window_get_destroy_with_parent (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->destroy_with_parent;
+ return priv->destroy_with_parent;
}
/**
gtk_window_set_hide_on_close (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
gboolean
gtk_window_get_hide_on_close (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->hide_on_close;
+ return priv->hide_on_close;
}
static GtkWindowGeometryInfo*
gtk_window_get_geometry_info (GtkWindow *window,
gboolean create)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowGeometryInfo *info;
info = priv->geometry_info;
static void
unset_titlebar (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->title_box != NULL)
{
static gboolean
gtk_window_supports_client_shadow (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkDisplay *display;
- display = window->priv->display;
+ display = priv->display;
if (!gdk_display_is_rgba (display))
return FALSE;
static void
gtk_window_enable_csd (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget = GTK_WIDGET (window);
/* We need a visual with alpha for client shadows */
GtkWidget *titlebar)
{
GtkWidget *widget = GTK_WIDGET (window);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gboolean was_mapped;
g_return_if_fail (GTK_IS_WINDOW (window));
GtkWidget *
gtk_window_get_titlebar (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
gboolean
_gtk_window_titlebar_shows_app_menu (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (GTK_IS_HEADER_BAR (priv->title_box))
return _gtk_header_bar_shows_app_menu (GTK_HEADER_BAR (priv->title_box));
gtk_window_set_decorated (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *surface;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (setting == priv->decorated)
gboolean
gtk_window_get_decorated (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), TRUE);
- return window->priv->decorated;
+ return priv->decorated;
}
/**
gtk_window_set_deletable (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *surface;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (setting == priv->deletable)
gboolean
gtk_window_get_deletable (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), TRUE);
- return window->priv->deletable;
+ return priv->deletable;
}
static GtkWindowIconInfo*
icon_list_from_theme (GtkWindow *window,
const gchar *name)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *list;
GtkStyleContext *context;
GtkCssValue *value;
static void
gtk_window_realize_icon (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GtkWindowIconInfo *info;
GdkSurface *surface;
gtk_window_get_icon_for_size (GtkWindow *window,
int size)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowIconInfo *info;
const gchar *name;
gint *height,
gint apply)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkBorder window_border = { 0 };
gint w, h;
gint *root_y,
gint apply)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->type != GTK_WINDOW_TOPLEVEL)
return;
gint *root_x,
gint *root_y)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GdkSurface *surface;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
widget = GTK_WIDGET (window);
surface = _gtk_widget_get_surface (widget);
gtk_window_destroy (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gtk_window_release_application (window);
static gboolean
gtk_window_close_request (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->hide_on_close)
{
gtk_window_finalize (GObject *object)
{
GtkWindow *window = GTK_WINDOW (object);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkMnemonicHash *mnemonic_hash;
g_free (priv->title);
static gboolean
update_csd_visibility (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gboolean visible;
if (priv->title_box == NULL)
static void
update_window_buttons (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (!update_csd_visibility (window))
return;
static GtkWidget *
create_titlebar (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *titlebar;
GtkStyleContext *context;
void
_gtk_window_request_csd (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
priv->csd_requested = TRUE;
}
static gboolean
gtk_window_should_use_csd (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
const gchar *csd_env;
if (priv->csd_requested)
create_decoration (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
priv->use_client_shadow = gtk_window_supports_client_shadow (window);
if (!priv->use_client_shadow)
gtk_window_show (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkContainer *container = GTK_CONTAINER (window);
if (!_gtk_widget_is_toplevel (GTK_WIDGET (widget)))
gtk_window_hide (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (!_gtk_widget_is_toplevel (GTK_WIDGET (widget)))
{
{
GtkWidget *child;
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *surface;
if (!_gtk_widget_is_toplevel (widget))
GTK_WIDGET_CLASS (gtk_window_parent_class)->map (widget);
- child = gtk_bin_get_child (&(window->bin));
+ child = gtk_bin_get_child (GTK_BIN (window));
if (child != NULL && gtk_widget_get_visible (child))
gtk_widget_map (child);
gtk_window_unmap (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *child;
GtkWindowGeometryInfo *info;
GdkSurface *surface;
if (priv->title_box != NULL)
gtk_widget_unmap (priv->title_box);
- child = gtk_bin_get_child (&(window->bin));
+ child = gtk_bin_get_child (GTK_BIN (window));
if (child != NULL)
gtk_widget_unmap (child);
}
static void
check_scale_changed (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget = GTK_WIDGET (window);
int old_scale;
get_shadow_width (GtkWindow *window,
GtkBorder *shadow_width)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkBorder border = { 0 };
GtkBorder d = { 0 };
GtkBorder margin;
update_csd_shape (GtkWindow *window)
{
GtkWidget *widget = (GtkWidget *)window;
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
cairo_region_t *region;
cairo_rectangle_int_t rect;
GtkBorder border, tmp;
GtkStyleContext *context,
GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
cairo_rectangle_int_t rect;
- gtk_style_context_save_to_node (context, window->priv->decoration_node);
+ gtk_style_context_save_to_node (context, priv->decoration_node);
corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS));
rect.x = extents->x;
GtkAllocation *child_allocation,
GtkBorder *window_border)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (!_gtk_widget_is_toplevel (GTK_WIDGET (window)))
return;
static void
gtk_window_realize (GtkWidget *widget)
{
+ GtkWindow *window = GTK_WINDOW (widget);
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkAllocation allocation;
GtkAllocation child_allocation;
- GtkWindow *window;
GdkSurface *surface;
GtkBorder window_border;
- GtkWindowPrivate *priv;
-
- window = GTK_WINDOW (widget);
- priv = window->priv;
if (!priv->client_decorated && gtk_window_should_use_csd (window))
create_decoration (widget);
gtk_window_unrealize (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowGeometryInfo *info;
/* On unrealize, we reset the size of the window such
static void
update_window_style_classes (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkStyleContext *context;
guint edge_constraints;
GtkAllocation *allocation_out)
{
GtkWidget *widget = (GtkWidget *)window;
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkAllocation child_allocation;
GtkBorder window_border = { 0 };
GList *link;
{
GtkAllocation allocation;
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
check_scale_changed (window);
update_edge_constraints (GtkWindow *window,
GdkSurfaceState state)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
priv->edge_constraints = (state & GDK_SURFACE_STATE_TOP_TILED) |
(state & GDK_SURFACE_STATE_TOP_RESIZABLE) |
surface_state_changed (GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurfaceState new_surface_state;
GdkSurfaceState changed_mask;
guint accel_key,
GdkModifierType accel_mods)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- priv = window->priv;
-
/* movement keys are considered locked accels */
if (!accel_mods)
{
gtk_window_propagate_key_event (GtkWindow *window,
GdkEventKey *event)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gboolean handled = FALSE;
GtkWidget *widget, *focus;
static GtkWindowRegion
get_active_region_type (GtkWindow *window, gint x, gint y)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkAllocation allocation;
gint i;
{
GdkEventType event_type = gdk_event_get_event_type (event);
gboolean retval = GDK_EVENT_PROPAGATE;
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (event_type == GDK_BUTTON_PRESS || event_type == GDK_BUTTON_RELEASE ||
event_type == GDK_TOUCH_BEGIN || event_type == GDK_TOUCH_UPDATE ||
event_type == GDK_MOTION_NOTIFY || event_type == GDK_TOUCH_END)
{
- priv = window->priv;
-
if (run_drag && priv->drag_gesture)
retval |= controller_handle_wm_event (priv->drag_gesture,
(const GdkEvent*) event);
if (!GTK_IS_WINDOW (widget))
return GDK_EVENT_PROPAGATE;
- priv = GTK_WINDOW (widget)->priv;
+ priv = gtk_window_get_instance_private (GTK_WINDOW (widget));
if (!priv->multipress_gesture)
return GDK_EVENT_PROPAGATE;
static gboolean
gtk_window_has_mnemonic_modifier_pressed (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *seats, *s;
gboolean retval = FALSE;
- if (!window->priv->mnemonic_modifier)
+ if (!priv->mnemonic_modifier)
return FALSE;
seats = gdk_display_list_seats (gtk_widget_get_display (GTK_WIDGET (window)));
gdk_device_get_state (dev, _gtk_widget_get_surface (GTK_WIDGET (window)),
NULL, &mask);
- if (window->priv->mnemonic_modifier == (mask & gtk_accelerator_get_default_mod_mask ()))
+ if (priv->mnemonic_modifier == (mask & gtk_accelerator_get_default_mod_mask ()))
{
retval = TRUE;
break;
_gtk_window_has_popover (GtkWindow *window,
GtkWidget *widget)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *link;
for (link = priv->popovers.head; link; link = link->next)
static void
gtk_window_remove (GtkContainer *container,
- GtkWidget *widget)
+ GtkWidget *widget)
{
GtkWindow *window = GTK_WINDOW (container);
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- if (widget == window->priv->title_box)
+ if (widget == priv->title_box)
unset_titlebar (window);
else if (_gtk_window_has_popover (window, widget))
_gtk_window_remove_popover (window, widget);
gpointer callback_data)
{
GtkWindow *window = GTK_WINDOW (container);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *child;
child = gtk_bin_get_child (GTK_BIN (container));
gtk_window_focus (GtkWidget *widget,
GtkDirectionType direction)
{
- GtkWindowPrivate *priv;
+ GtkWindow *window = GTK_WINDOW (widget);
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkBin *bin;
- GtkWindow *window;
GtkContainer *container;
GtkWidget *child;
GtkWidget *old_focus_child;
return GTK_WIDGET_CLASS (gtk_window_parent_class)->focus (widget, direction);
container = GTK_CONTAINER (widget);
- window = GTK_WINDOW (widget);
- priv = window->priv;
bin = GTK_BIN (widget);
old_focus_child = gtk_widget_get_focus_child (widget);
gtk_window_real_set_focus (GtkWindow *window,
GtkWidget *focus)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *old_focus = priv->focus_widget;
gboolean had_default = FALSE;
gboolean focus_had_default = FALSE;
GtkStateFlags previous_state)
{
GtkWindow *window = GTK_WINDOW (widget);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkStateFlags state;
state = gtk_widget_get_state_flags (widget);
GtkWidget *widget)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *child;
GtkWidget *parent;
popup_menu_detach (GtkWidget *widget,
GtkMenu *menu)
{
- GTK_WINDOW (widget)->priv->popup_menu = NULL;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (GTK_WINDOW (widget));
+
+ priv->popup_menu = NULL;
}
static GdkSurfaceState
gpointer user_data)
{
GtkWindow *window = GTK_WINDOW (user_data);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurfaceState state;
if (priv->maximized)
gpointer user_data)
{
GtkWindow *window = GTK_WINDOW (user_data);
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
/* Turns out, we can't iconify a maximized window */
if (priv->maximized)
gpointer user_data)
{
GtkWindow *window = (GtkWindow *)user_data;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- gtk_window_set_keep_above (window, !window->priv->above_initially);
+ gtk_window_set_keep_above (window, !priv->above_initially);
}
static void
gtk_window_do_popup_fallback (GtkWindow *window,
GdkEventButton *event)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *menuitem;
GdkSurfaceState state;
gboolean maximized, iconified;
gint *width,
gint *height)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowGeometryInfo *info;
int w, h;
static GtkWindowPosition
get_effective_position (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowPosition pos = priv->position;
if (pos == GTK_WIN_POS_CENTER_ON_PARENT &&
static GdkMonitor *
get_center_monitor_of_window (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkDisplay *display;
/* We could try to sort out the relative positions of the monitors and
* stuff, or we could just be losers and assume you have a row
* or column of monitors.
*/
- display = window->priv->display;
+ display = priv->display;
return gdk_display_get_monitor (display, gdk_display_get_n_monitors (display) / 2);
}
static GdkMonitor *
get_monitor_containing_pointer (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
gint px, py;
GdkDevice *pointer;
GdkGeometry *geometry,
guint *flags)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkGeometry new_geometry;
guint new_flags;
int w, h;
gint *x,
gint *y)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
/* See long comments in gtk_window_move_resize()
* on when it's safe to call this function.
* If GTK_WIN_POS_CENTER_ALWAYS is active, we constrain
* the position request to be centered.
*/
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GtkWindowGeometryInfo *info;
GdkGeometry new_geometry;
gint *new_width,
gint *new_height)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
guint geometry_flags;
/* ignore size increments for windows that fit in a fixed space */
gint new_width,
gint new_height)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowGeometryInfo *info;
gboolean has_size_request;
GdkGeometry *new_geometry,
guint *new_flags)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GtkRequisition requisition;
gtk_window_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
- GtkWindowPrivate *priv = GTK_WINDOW (widget)->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (GTK_WINDOW (widget));
GtkStyleContext *context;
GtkBorder window_border;
gint title_height;
gtk_window_present_with_time (GtkWindow *window,
guint32 timestamp)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GdkSurface *surface;
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
widget = GTK_WIDGET (window);
if (gtk_widget_get_visible (widget))
void
gtk_window_iconify (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->iconify_initially = TRUE;
+ priv->iconify_initially = TRUE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_deiconify (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->iconify_initially = FALSE;
+ priv->iconify_initially = FALSE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_stick (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->stick_initially = TRUE;
+ priv->stick_initially = TRUE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_unstick (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->stick_initially = FALSE;
+ priv->stick_initially = FALSE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_maximize (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->maximize_initially = TRUE;
+ priv->maximize_initially = TRUE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_unmaximize (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->maximize_initially = FALSE;
+ priv->maximize_initially = FALSE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
void
gtk_window_fullscreen (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->fullscreen_initially = TRUE;
+ priv->fullscreen_initially = TRUE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
static void
unset_fullscreen_monitor (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
if (priv->initial_fullscreen_monitor)
{
gtk_window_fullscreen_on_monitor (GtkWindow *window,
GdkMonitor *monitor)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GdkSurface *toplevel;
g_return_if_fail (GDK_IS_MONITOR (monitor));
g_return_if_fail (gdk_monitor_is_valid (monitor));
- priv = window->priv;
widget = GTK_WIDGET (window);
gtk_window_set_display (window, gdk_monitor_get_display (monitor));
void
gtk_window_unfullscreen (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
unset_fullscreen_monitor (window);
- window->priv->fullscreen_initially = FALSE;
+ priv->fullscreen_initially = FALSE;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
gtk_window_set_keep_above (GtkWindow *window,
gboolean setting)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
setting = setting != FALSE;
- window->priv->above_initially = setting;
- window->priv->below_initially &= !setting;
+ priv->above_initially = setting;
+ priv->below_initially &= !setting;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
gtk_window_set_keep_below (GtkWindow *window,
gboolean setting)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *toplevel;
g_return_if_fail (GTK_IS_WINDOW (window));
setting = setting != FALSE;
- window->priv->below_initially = setting;
- window->priv->above_initially &= !setting;
+ priv->below_initially = setting;
+ priv->above_initially &= !setting;
toplevel = _gtk_widget_get_surface (GTK_WIDGET (window));
gtk_window_set_resizable (GtkWindow *window,
gboolean resizable)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
resizable = (resizable != FALSE);
if (priv->resizable != resizable)
gboolean
gtk_window_get_resizable (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->resizable;
+ return priv->resizable;
}
/**
gtk_window_set_gravity (GtkWindow *window,
GdkGravity gravity)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
if (gravity != priv->gravity)
{
priv->gravity = gravity;
GdkGravity
gtk_window_get_gravity (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), 0);
- return window->priv->gravity;
+ return priv->gravity;
}
/**
gtk_window_set_display (GtkWindow *window,
GdkDisplay *display)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWidget *widget;
GdkDisplay *previous_display;
gboolean was_mapped;
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (GDK_IS_DISPLAY (display));
- priv = window->priv;
-
if (display == priv->display)
return;
gtk_window_set_theme_variant (GtkWindow *window)
{
#ifdef GDK_WINDOWING_X11
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GdkSurface *surface;
gboolean dark_theme_requested;
- g_object_get (gtk_settings_get_for_display (window->priv->display),
+ g_object_get (gtk_settings_get_for_display (priv->display),
"gtk-application-prefer-dark-theme", &dark_theme_requested,
NULL);
GParamSpec *pspec,
GtkWindow *window)
{
- if (window->priv->type == GTK_WINDOW_TOPLEVEL)
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ if (priv->type == GTK_WINDOW_TOPLEVEL)
gtk_window_set_theme_variant (window);
}
#endif
GdkDisplay *
gtk_window_get_display (GtkWindow *window)
{
- return window->priv->display;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ return priv->display;
}
/**
gboolean
gtk_window_is_active (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->is_active;
+ return priv->is_active;
}
/**
GtkWindowGroup *
gtk_window_get_group (GtkWindow *window)
{
- if (window && window->priv->group)
- return window->priv->group;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ if (window && priv->group)
+ return priv->group;
else
{
static GtkWindowGroup *default_group = NULL;
gboolean
gtk_window_has_group (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->group != NULL;
+ return priv->group != NULL;
}
GtkWindowGroup *
_gtk_window_get_window_group (GtkWindow *window)
{
- return window->priv->group;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ return priv->group;
}
void
_gtk_window_set_window_group (GtkWindow *window,
GtkWindowGroup *group)
{
- window->priv->group = group;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ priv->group = group;
}
static gboolean
gtk_window_activate_menubar (GtkWindow *window,
GdkEventKey *event)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
guint keyval = 0;
GdkModifierType mods = 0;
GtkWindowKeysForeachFunc func;
gpointer func_data;
} *info = data;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (info->window);
- (*info->func) (info->window, keyval, info->window->priv->mnemonic_modifier, TRUE, info->func_data);
+ (*info->func) (info->window, keyval, priv->mnemonic_modifier, TRUE, info->func_data);
}
static void
GtkWindowKeysForeachFunc func,
gpointer func_data)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GSList *groups;
GtkMnemonicHash *mnemonic_hash;
groups = groups->next;
}
- if (window->priv->application)
+ if (priv->application)
{
GtkApplicationAccels *app_accels;
- app_accels = gtk_application_get_application_accels (window->priv->application);
+ app_accels = gtk_application_get_application_accels (priv->application);
gtk_application_accels_foreach_key (app_accels, window, func, func_data);
}
}
static GtkKeyHash *
gtk_window_get_key_hash (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkKeyHash *key_hash = g_object_get_qdata (G_OBJECT (window), quark_gtk_window_key_hash);
if (key_hash)
return key_hash;
- key_hash = _gtk_key_hash_new (gdk_display_get_keymap (window->priv->display),
+ key_hash = _gtk_key_hash_new (gdk_display_get_keymap (priv->display),
(GDestroyNotify)window_key_entry_destroy);
_gtk_window_keys_foreach (window, add_to_key_hash, key_hash);
g_object_set_qdata (G_OBJECT (window), quark_gtk_window_key_hash, key_hash);
gtk_window_activate_key (GtkWindow *window,
GdkEventKey *event)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkKeyHash *key_hash;
GtkWindowKeyEntry *found_entry = NULL;
gboolean enable_accels;
if (gtk_accel_groups_activate (G_OBJECT (window), found_entry->keyval, found_entry->modifiers))
return TRUE;
- if (window->priv->application)
+ if (priv->application)
{
GtkWidget *focused_widget;
GtkActionMuxer *muxer;
if (muxer == NULL)
return FALSE;
- app_accels = gtk_application_get_application_accels (window->priv->application);
+ app_accels = gtk_application_get_application_accels (priv->application);
return gtk_application_accels_activate (app_accels,
G_ACTION_GROUP (muxer),
found_entry->keyval, found_entry->modifiers);
_gtk_window_set_is_active (GtkWindow *window,
gboolean is_active)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
is_active = is_active != FALSE;
if (is_active != priv->is_active)
GtkWindowType
gtk_window_get_window_type (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), GTK_WINDOW_TOPLEVEL);
- return window->priv->type;
+ return priv->type;
}
/**
gboolean
gtk_window_get_mnemonics_visible (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->mnemonics_visible;
+ return priv->mnemonics_visible;
}
/**
gtk_window_set_mnemonics_visible (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->mnemonics_visible != setting)
schedule_mnemonics_visible_cb (gpointer data)
{
GtkWindow *window = data;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- window->priv->mnemonics_display_timeout_id = 0;
+ priv->mnemonics_display_timeout_id = 0;
gtk_window_set_mnemonics_visible (window, TRUE);
void
_gtk_window_schedule_mnemonics_visible (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_if_fail (GTK_IS_WINDOW (window));
- if (window->priv->mnemonics_display_timeout_id)
+ if (priv->mnemonics_display_timeout_id)
return;
- window->priv->mnemonics_display_timeout_id =
+ priv->mnemonics_display_timeout_id =
g_timeout_add (MNEMONICS_DELAY, schedule_mnemonics_visible_cb, window);
- g_source_set_name_by_id (window->priv->mnemonics_display_timeout_id, "[gtk+] schedule_mnemonics_visible_cb");
+ g_source_set_name_by_id (priv->mnemonics_display_timeout_id, "[gtk+] schedule_mnemonics_visible_cb");
}
/**
gboolean
gtk_window_get_focus_visible (GtkWindow *window)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
- return window->priv->focus_visible;
+ return priv->focus_visible;
}
/**
gtk_window_set_focus_visible (GtkWindow *window,
gboolean setting)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
- priv = window->priv;
-
setting = setting != FALSE;
if (priv->focus_visible != setting)
gtk_window_set_has_user_ref_count (GtkWindow *window,
gboolean setting)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
g_return_if_fail (GTK_IS_WINDOW (window));
- window->priv->has_user_ref_count = setting;
+ priv->has_user_ref_count = setting;
}
static void
GtkWidget *parent,
gboolean clamp_allocation)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowPopover *data;
AtkObject *accessible;
g_return_if_fail (_gtk_widget_get_parent (popover) == NULL);
g_return_if_fail (gtk_widget_is_ancestor (parent, GTK_WIDGET (window)));
- priv = window->priv;
-
if (_gtk_window_has_popover (window, popover))
return;
_gtk_window_remove_popover (GtkWindow *window,
GtkWidget *popover)
{
- GtkWindowPrivate *priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkWindowPopover *data;
AtkObject *accessible;
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (GTK_IS_WIDGET (popover));
- priv = window->priv;
-
data = _gtk_window_has_popover (window, popover);
if (!data)
_gtk_window_raise_popover (GtkWindow *window,
GtkWidget *widget)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *link;
for (link = priv->popovers.head; link; link = link->next)
gtk_window_set_use_subsurface (GtkWindow *window,
gboolean use_subsurface)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (!_gtk_widget_get_realized (GTK_WIDGET (window)));
gtk_window_set_hardcoded_surface (GtkWindow *window,
GdkSurface *surface)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
g_return_if_fail (GTK_IS_WINDOW (window));
g_return_if_fail (!_gtk_widget_get_realized (GTK_WIDGET (window)));
GskRenderer *
gtk_window_get_renderer (GtkWindow *window)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
return priv->renderer;
}
gtk_window_add_pointer_focus (GtkWindow *window,
GtkPointerFocus *focus)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
priv->foci = g_list_prepend (priv->foci, gtk_pointer_focus_ref (focus));
}
gtk_window_remove_pointer_focus (GtkWindow *window,
GtkPointerFocus *focus)
{
- GtkWindowPrivate *priv = window->priv;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *pos;
pos = g_list_find (priv->foci, focus);
GdkDevice *device,
GdkEventSequence *sequence)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *l;
- for (l = window->priv->foci; l; l = l->next)
+ for (l = priv->foci; l; l = l->next)
{
GtkPointerFocus *focus = l->data;
gtk_window_update_pointer_focus_on_state_change (GtkWindow *window,
GtkWidget *widget)
{
- GList *l = window->priv->foci, *cur;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+ GList *l = priv->foci, *cur;
while (l)
{
GdkDevice *device,
GtkWidget *grab_widget)
{
- GList *l = window->priv->foci, *cur;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+ GList *l = priv->foci, *cur;
while (l)
{
GtkWidget *widget,
GdkDevice *device)
{
- GList *l = window->priv->foci;
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+ GList *l;
- for (l = window->priv->foci; l; l = l->next)
+ for (l = priv->foci; l; l = l->next)
{
GtkPointerFocus *focus = l->data;
GtkWidget *grab_widget, *target;