diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-21 01:48:32 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-21 01:48:32 +0000 |
commit | a0b1c513361089833a7b2ecdc5483eff0d944d60 (patch) | |
tree | 5ac22957699f58a2feda8620a420d4ad186507d6 /chrome/common/x11_util.h | |
parent | 6d85f696f637775ef241d74b5733d477f52ccbe7 (diff) | |
download | chromium_src-a0b1c513361089833a7b2ecdc5483eff0d944d60.zip chromium_src-a0b1c513361089833a7b2ecdc5483eff0d944d60.tar.gz chromium_src-a0b1c513361089833a7b2ecdc5483eff0d944d60.tar.bz2 |
I managed to break test_shell. Reverting. I'll fix tomorrow.
Reverts r14075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14080 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/x11_util.h')
-rw-r--r-- | chrome/common/x11_util.h | 95 |
1 files changed, 34 insertions, 61 deletions
diff --git a/chrome/common/x11_util.h b/chrome/common/x11_util.h index aef133f..4800a69 100644 --- a/chrome/common/x11_util.h +++ b/chrome/common/x11_util.h @@ -11,75 +11,48 @@ // we use a void* for Visual*). The Xlib headers are highly polluting so we try // hard to limit their spread into the rest of the code. -typedef struct _GdkDrawable GdkWindow; typedef struct _GtkWidget GtkWidget; typedef unsigned long XID; typedef struct _XDisplay Display; -namespace base { -class Thread; -} - namespace gfx { class Size; } namespace x11_util { - -// These functions use the GDK default display and this /must/ be called from -// the UI thread. Thus, they don't support multiple displays. - -// These functions cache their results. - -// Return an X11 connection for the current, primary display. -Display* GetXDisplay(); -// Return true iff the connection supports X shared memory -bool QuerySharedMemorySupport(Display* dpy); -// Return true iff the display supports Xrender -bool QueryRenderSupport(Display* dpy); -// Return the default screen number for the display -int GetDefaultScreen(Display* display); - -// These functions do not cache their results - -// Get the X window id for the default root window -XID GetX11RootWindow(); -// Get the X window id for the given GTK widget. -XID GetX11WindowFromGtkWidget(GtkWidget*); -XID GetX11WindowFromGdkWindow(GdkWindow*); -// Get a Visual from the given widget. Since we don't include the Xlib -// headers, this is returned as a void*. -void* GetVisualFromGtkWidget(GtkWidget*); -// Return the number of bits-per-pixel for a pixmap of the given depth -int BitsPerPixelForPixmapDepth(Display*, int depth); - -// Return a handle to a server side pixmap. |shared_memory_key| is a SysV -// IPC key. The shared memory region must contain 32-bit pixels. -XID AttachSharedMemory(Display* display, int shared_memory_support); -void DetachSharedMemory(Display* display, XID shmseg); - -// Return a handle to an XRender picture where |pixmap| is a handle to a -// pixmap containing Skia ARGB data. -XID CreatePictureFromSkiaPixmap(Display* display, XID pixmap); - -void FreePicture(Display* display, XID picture); -void FreePixmap(Display* display, XID pixmap); - -// These functions are for performing X opertions outside of the UI thread. - -// Return the Display for the secondary X connection. We keep a second -// connection around for making X requests outside of the UI thread. -// This function may only be called from the BACKGROUND_X11 thread. -Display* GetSecondaryDisplay(); - -// Since one cannot include both WebKit header and Xlib headers in the same -// file (due to collisions), we wrap all the Xlib functions that we need here. -// These functions must be called on the BACKGROUND_X11 thread since they -// reference GetSecondaryDisplay(). - -void GetWindowGeometry(int* x, int* y, unsigned* width, unsigned* height, - XID window); - -} // namespace x11_util + // These functions cache their results and must be called from the UI thread. + // Currently they don't support multiple screens/displays. + + // Return an X11 connection for the current, primary display. + Display* GetXDisplay(); + // Return true iff the connection supports X shared memory + bool QuerySharedMemorySupport(Display* dpy); + // Return true iff the display supports Xrender + bool QueryRenderSupport(Display* dpy); + + // These functions do not cache their results + + // Get the X window id for the default root window + XID GetX11RootWindow(); + // Get the X window id for the given GTK widget. + XID GetX11WindowFromGtkWidget(GtkWidget*); + // Get a Visual from the given widget. Since we don't include the Xlib + // headers, this is returned as a void*. + void* GetVisualFromGtkWidget(GtkWidget*); + // Return the number of bits-per-pixel for a pixmap of the given depth + int BitsPerPixelForPixmapDepth(Display*, int depth); + + // Return a handle to a server side pixmap. |shared_memory_key| is a SysV + // IPC key. The shared memory region must contain 32-bit pixels. + XID AttachSharedMemory(Display* display, int shared_memory_support); + void DetachSharedMemory(Display* display, XID shmseg); + + // Return a handle to an XRender picture where |pixmap| is a handle to a + // pixmap containing Skia ARGB data. + XID CreatePictureFromSkiaPixmap(Display* display, XID pixmap); + + void FreePicture(Display* display, XID picture); + void FreePixmap(Display* display, XID pixmap); +}; #endif // CHROME_COMMON_X11_UTIL_H_ |