forked from AuroraMiddleware/gtk
Move code around
gdk_window_set_state is now an ordinary (private) setter, so it should live in gdkwindow.c.
This commit is contained in:
parent
11a946df39
commit
bcf570cc16
@ -1937,56 +1937,6 @@ gdk_get_show_events (void)
|
|||||||
return (_gdk_debug_flags & GDK_DEBUG_EVENTS) != 0;
|
return (_gdk_debug_flags & GDK_DEBUG_EVENTS) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_gdk_set_window_state (GdkWindow *window,
|
|
||||||
GdkWindowState new_state)
|
|
||||||
{
|
|
||||||
GdkDisplay *display = gdk_window_get_display (window);
|
|
||||||
GdkWindowState old;
|
|
||||||
|
|
||||||
g_return_if_fail (window != NULL);
|
|
||||||
|
|
||||||
if (new_state == window->state)
|
|
||||||
return; /* No actual work to do, nothing changed. */
|
|
||||||
|
|
||||||
/* Actually update the field in GdkWindow, this is sort of an odd
|
|
||||||
* place to do it, but seems like the safest since it ensures we expose no
|
|
||||||
* inconsistent state to the user.
|
|
||||||
*/
|
|
||||||
|
|
||||||
window->state = new_state;
|
|
||||||
|
|
||||||
_gdk_window_update_viewable (window);
|
|
||||||
|
|
||||||
/* We only really send the event to toplevels, since
|
|
||||||
* all the window states don't apply to non-toplevels.
|
|
||||||
* Non-toplevels do use the GDK_WINDOW_STATE_WITHDRAWN flag
|
|
||||||
* internally so we needed to update window->state.
|
|
||||||
*/
|
|
||||||
switch (window->window_type)
|
|
||||||
{
|
|
||||||
case GDK_WINDOW_TOPLEVEL:
|
|
||||||
case GDK_WINDOW_TEMP: /* ? */
|
|
||||||
g_object_notify (G_OBJECT (window), "state");
|
|
||||||
break;
|
|
||||||
case GDK_WINDOW_FOREIGN:
|
|
||||||
case GDK_WINDOW_ROOT:
|
|
||||||
case GDK_WINDOW_CHILD:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
gdk_synthesize_window_state (GdkWindow *window,
|
|
||||||
GdkWindowState unset_flags,
|
|
||||||
GdkWindowState set_flags)
|
|
||||||
{
|
|
||||||
g_return_if_fail (window != NULL);
|
|
||||||
|
|
||||||
_gdk_set_window_state (window, (window->state | set_flags) & ~unset_flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
static GdkEventSequence *
|
static GdkEventSequence *
|
||||||
gdk_event_sequence_copy (GdkEventSequence *sequence)
|
gdk_event_sequence_copy (GdkEventSequence *sequence)
|
||||||
{
|
{
|
||||||
|
@ -311,7 +311,7 @@ void _gdk_windowing_event_data_copy (const GdkEvent *src,
|
|||||||
GdkEvent *dst);
|
GdkEvent *dst);
|
||||||
void _gdk_windowing_event_data_free (GdkEvent *event);
|
void _gdk_windowing_event_data_free (GdkEvent *event);
|
||||||
|
|
||||||
void _gdk_set_window_state (GdkWindow *window,
|
void gdk_window_set_state (GdkWindow *window,
|
||||||
GdkWindowState new_state);
|
GdkWindowState new_state);
|
||||||
|
|
||||||
gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface,
|
gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface,
|
||||||
|
@ -7230,3 +7230,48 @@ gdk_window_supports_edge_constraints (GdkWindow *window)
|
|||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gdk_window_set_state (GdkWindow *window,
|
||||||
|
GdkWindowState new_state)
|
||||||
|
{
|
||||||
|
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||||
|
|
||||||
|
if (new_state == window->state)
|
||||||
|
return; /* No actual work to do, nothing changed. */
|
||||||
|
|
||||||
|
/* Actually update the field in GdkWindow, this is sort of an odd
|
||||||
|
* place to do it, but seems like the safest since it ensures we expose no
|
||||||
|
* inconsistent state to the user.
|
||||||
|
*/
|
||||||
|
|
||||||
|
window->state = new_state;
|
||||||
|
|
||||||
|
_gdk_window_update_viewable (window);
|
||||||
|
|
||||||
|
/* We only really send the event to toplevels, since
|
||||||
|
* all the window states don't apply to non-toplevels.
|
||||||
|
* Non-toplevels do use the GDK_WINDOW_STATE_WITHDRAWN flag
|
||||||
|
* internally so we needed to update window->state.
|
||||||
|
*/
|
||||||
|
switch (window->window_type)
|
||||||
|
{
|
||||||
|
case GDK_WINDOW_TOPLEVEL:
|
||||||
|
case GDK_WINDOW_TEMP: /* ? */
|
||||||
|
g_object_notify (G_OBJECT (window), "state");
|
||||||
|
break;
|
||||||
|
case GDK_WINDOW_FOREIGN:
|
||||||
|
case GDK_WINDOW_ROOT:
|
||||||
|
case GDK_WINDOW_CHILD:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gdk_synthesize_window_state (GdkWindow *window,
|
||||||
|
GdkWindowState unset_flags,
|
||||||
|
GdkWindowState set_flags)
|
||||||
|
{
|
||||||
|
gdk_window_set_state (window, (window->state | set_flags) & ~unset_flags);
|
||||||
|
}
|
||||||
|
@ -1385,7 +1385,7 @@ xdg_surface_configure (void *data,
|
|||||||
(new_state & GDK_WINDOW_STATE_FOCUSED) ? " focused" : "",
|
(new_state & GDK_WINDOW_STATE_FOCUSED) ? " focused" : "",
|
||||||
(new_state & GDK_WINDOW_STATE_TILED) ? " tiled" : ""));
|
(new_state & GDK_WINDOW_STATE_TILED) ? " tiled" : ""));
|
||||||
|
|
||||||
_gdk_set_window_state (window, new_state);
|
gdk_window_set_state (window, new_state);
|
||||||
zxdg_surface_v6_ack_configure (xdg_surface, serial);
|
zxdg_surface_v6_ack_configure (xdg_surface, serial);
|
||||||
if (impl->hint != GDK_WINDOW_TYPE_HINT_DIALOG &&
|
if (impl->hint != GDK_WINDOW_TYPE_HINT_DIALOG &&
|
||||||
new_state & GDK_WINDOW_STATE_FOCUSED)
|
new_state & GDK_WINDOW_STATE_FOCUSED)
|
||||||
|
Loading…
Reference in New Issue
Block a user