Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dorota Czaplejewicz
gtk
Commits
cf51750b
Commit
cf51750b
authored
Oct 06, 2010
by
Benjamin Otte
Browse files
API: x11: gdk_drawable_get_xid => gdk_window_get_xid
Also moves the function implementations to gtkwindow-x11.c.
parent
86390c99
Changes
8
Hide whitespace changes
Inline
Side-by-side
docs/reference/gdk/gdk3-sections.txt
View file @
cf51750b
...
...
@@ -1007,7 +1007,7 @@ gdk_x11_display_error_trap_pop_ignored
gdk_x11_display_set_cursor_theme
gdk_x11_register_standard_event_type
gdk_x11_drawable_get_xdisplay
gdk_x11_
drawable
_get_xid
gdk_x11_
window
_get_xid
gdk_x11_get_default_root_xwindow
gdk_x11_get_default_screen
gdk_x11_get_default_xdisplay
...
...
docs/reference/gtk/migrating-ClientSideWindows.sgml
View file @
cf51750b
...
...
@@ -13,7 +13,7 @@
longer correct to assume that each window has an associated XID.
Code that makes this assumption can sometimes be fixed by calling
gdk_window_ensure_native() on the windows in question.
Calling gdk_x11_
drawable
_get_xid() (or GDK_WINDOW_XID()) from the
Calling gdk_x11_
window
_get_xid() (or GDK_WINDOW_XID()) from the
X11-specific API on a non-native window will explicitly call
gdk_window_ensure_native(), so old code using this will continue to
work. A small gotcha is that the GDK_WINDOW_XID() call is no longer a
...
...
docs/tools/shooter.c
View file @
cf51750b
...
...
@@ -224,7 +224,7 @@ int main (int argc, char **argv)
gtk_main_iteration
();
}
id
=
gdk_x11_
drawable
_get_xid
(
GDK_DRAWABLE
(
window
)
)
;
id
=
gdk_x11_
window
_get_xid
(
window
);
screenshot
=
take_window_shot
(
id
,
info
->
include_decorations
);
filename
=
g_strdup_printf
(
"./%s.png"
,
info
->
name
);
gdk_pixbuf_save
(
screenshot
,
filename
,
"png"
,
NULL
,
NULL
);
...
...
gdk/gdk.symbols
View file @
cf51750b
...
...
@@ -548,7 +548,6 @@ gdk_x11_display_set_cursor_theme
gdk_x11_display_set_startup_notification_id
gdk_x11_display_ungrab
gdk_x11_drawable_get_xdisplay
gdk_x11_drawable_get_xid
gdk_x11_get_default_root_xwindow
gdk_x11_get_default_screen
gdk_x11_get_default_xdisplay
...
...
@@ -569,6 +568,7 @@ gdk_x11_screen_supports_net_wm_hint
gdk_x11_ungrab_server
gdk_x11_visual_get_xvisual
gdk_x11_window_get_drawable_impl
gdk_x11_window_get_xid
gdk_x11_window_move_to_current_desktop
gdk_x11_window_set_user_time
gdk_x11_xatom_to_atom
...
...
gdk/gdkwindow.c
View file @
cf51750b
...
...
@@ -9606,7 +9606,7 @@ gdk_window_print (GdkWindowObject *window,
if
(
gdk_window_has_impl
(
window
))
{
#ifdef GDK_WINDOWING_X11
g_print
(
" impl(0x%lx)"
,
gdk_x11_
drawable
_get_xid
(
GDK_DRAWABLE
(
window
))
)
;
g_print
(
" impl(0x%lx)"
,
gdk_x11_
window
_get_xid
(
window
));
#endif
}
...
...
gdk/x11/gdkdrawable-x11.c
View file @
cf51750b
...
...
@@ -134,52 +134,6 @@ gdk_x11_drawable_get_xdisplay (GdkDrawable *drawable)
return
GDK_SCREEN_XDISPLAY
(
GDK_DRAWABLE_IMPL_X11
(
get_impl_drawable
(
drawable
))
->
screen
);
}
/**
* gdk_x11_drawable_get_xid:
* @drawable: a #GdkDrawable.
*
* Returns the X resource (window) belonging to a #GdkDrawable.
*
* Return value: the ID of @drawable's X resource.
**/
XID
gdk_x11_drawable_get_xid
(
GdkDrawable
*
drawable
)
{
GdkDrawable
*
impl
;
if
(
GDK_IS_WINDOW
(
drawable
))
{
GdkWindow
*
window
=
(
GdkWindow
*
)
drawable
;
/* Try to ensure the window has a native window */
if
(
!
_gdk_window_has_impl
(
window
))
{
gdk_window_ensure_native
(
window
);
/* We sync here to ensure the window is created in the Xserver when
* this function returns. This is required because the returned XID
* for this window must be valid immediately, even with another
* connection to the Xserver */
gdk_display_sync
(
gdk_window_get_display
(
window
));
}
if
(
!
GDK_WINDOW_IS_X11
(
window
))
{
g_warning
(
G_STRLOC
" drawable is not a native X11 window"
);
return
None
;
}
impl
=
((
GdkWindowObject
*
)
drawable
)
->
impl
;
}
else
{
g_warning
(
G_STRLOC
" drawable is not a window"
);
return
None
;
}
return
((
GdkDrawableImplX11
*
)
impl
)
->
xid
;
}
GdkDrawable
*
gdk_x11_window_get_drawable_impl
(
GdkWindow
*
window
)
{
...
...
gdk/x11/gdkwindow-x11.c
View file @
cf51750b
...
...
@@ -5584,3 +5584,40 @@ gdk_x11_get_server_time (GdkWindow *window)
return
xevent
.
xproperty
.
time
;
}
/**
* gdk_x11_window_get_xid:
* @window: a native #GdkWindow.
*
* Returns the X resource (window) belonging to a #GdkWindow.
*
* Return value: the ID of @drawable's X resource.
**/
XID
gdk_x11_window_get_xid
(
GdkWindow
*
window
)
{
GdkDrawable
*
impl
;
/* Try to ensure the window has a native window */
if
(
!
_gdk_window_has_impl
(
window
))
{
gdk_window_ensure_native
(
window
);
/* We sync here to ensure the window is created in the Xserver when
* this function returns. This is required because the returned XID
* for this window must be valid immediately, even with another
* connection to the Xserver */
gdk_display_sync
(
gdk_window_get_display
(
window
));
}
if
(
!
GDK_WINDOW_IS_X11
(
window
))
{
g_warning
(
G_STRLOC
" drawable is not a native X11 window"
);
return
None
;
}
impl
=
((
GdkWindowObject
*
)
window
)
->
impl
;
return
((
GdkDrawableImplX11
*
)
impl
)
->
xid
;
}
gdk/x11/gdkx.h
View file @
cf51750b
...
...
@@ -56,7 +56,7 @@ G_BEGIN_DECLS
Display
*
gdk_x11_drawable_get_xdisplay
(
GdkDrawable
*
drawable
);
XID
gdk_x11_
drawable
_get_xid
(
Gdk
Drawable
*
drawable
);
Window
gdk_x11_
window
_get_xid
(
Gdk
Window
*
window
);
GdkDrawable
*
gdk_x11_window_get_drawable_impl
(
GdkWindow
*
window
);
Display
*
gdk_x11_cursor_get_xdisplay
(
GdkCursor
*
cursor
);
Cursor
gdk_x11_cursor_get_xcursor
(
GdkCursor
*
cursor
);
...
...
@@ -186,16 +186,16 @@ gint gdk_x11_get_default_screen (void);
*
* Returns: the Xlib <type>Window</type> of @win.
*/
#define GDK_WINDOW_XID(win) (gdk_x11_
drawable
_get_xid (win))
#define GDK_WINDOW_XID(win) (gdk_x11_
window
_get_xid (win))
/**
* GDK_WINDOW_XWINDOW:
*
* Another name for GDK_DRAWABLE_XID().
*/
#define GDK_WINDOW_XWINDOW(win) (gdk_x11_
drawable
_get_xid (win))
#define GDK_WINDOW_XWINDOW(win) (gdk_x11_
window
_get_xid (win))
#define GDK_DRAWABLE_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win))
#define GDK_DRAWABLE_XID(win) (gdk_x11_
drawable
_get_xid (win))
#define GDK_DRAWABLE_XID(win) (gdk_x11_
window
_get_xid (win))
#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen)))
#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment