Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2109)

Unified Diff: chrome/browser/renderer_host/backing_store.h

Issue 27227: Linux: support displays without Xrender support. (Closed)
Patch Set: ... Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/renderer_host/backing_store_x.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/renderer_host/backing_store.h
diff --git a/chrome/browser/renderer_host/backing_store.h b/chrome/browser/renderer_host/backing_store.h
index a74fe5d00a46d7cd82db779f35ab938130146c0e..14d1e3811d75c4dbe177e794e3852bba9488b798 100644
--- a/chrome/browser/renderer_host/backing_store.h
+++ b/chrome/browser/renderer_host/backing_store.h
@@ -37,9 +37,11 @@ class BackingStore {
// depth: the depth of the X window which will be drawn into
// visual: An Xlib Visual describing the format of the target window
// root_window: The X id of the root window
+ // use_render: if true, the X server supports Xrender
// use_shared_memory: if true, the X server is local
BackingStore(const gfx::Size& size, Display* x_connection, int depth,
- void* visual, XID root_window, bool use_shared_memory);
+ void* visual, XID root_window, bool use_render,
+ bool use_shared_memory);
// This is for unittesting only. An object constructed using this constructor
// will silently ignore all paints
explicit BackingStore(const gfx::Size& size);
@@ -98,11 +100,22 @@ class BackingStore {
#elif defined(OS_MACOSX)
skia::PlatformCanvas canvas_;
#elif defined(OS_LINUX)
+ // Paints the bitmap from the renderer onto the backing store without
+ // using Xrender to composite the pixmaps.
+ void PaintRectWithoutXrender(TransportDIB* bitmap,
+ const gfx::Rect& bitmap_rect);
+
// This is the connection to the X server where this backing store will be
// displayed.
Display *const display_;
// If this is true, then |connection_| is good for MIT-SHM (X shared memory).
const bool use_shared_memory_;
+ // If this is true, then we can use Xrender to composite our pixmaps.
+ const bool use_render_;
+ // If |use_render_| is false, this is the number of bits-per-pixel for |depth|
+ int pixmap_bpp_;
+ // This is the depth of the target window.
+ const int visual_depth_;
// The parent window (probably a GtkDrawingArea) for this backing store.
const XID root_window_;
// This is a handle to the server side pixmap which is our backing store.
« no previous file with comments | « no previous file | chrome/browser/renderer_host/backing_store_x.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698