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

Side by Side Diff: ui/gfx/surface/transport_dib.h

Issue 7981034: Compile gl/ and surface/ on Android. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/surface/surface.gyp ('k') | ui/gfx/surface/transport_dib_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GFX_SURFACE_TRANSPORT_DIB_H_ 5 #ifndef UI_GFX_SURFACE_TRANSPORT_DIB_H_
6 #define UI_GFX_SURFACE_TRANSPORT_DIB_H_ 6 #define UI_GFX_SURFACE_TRANSPORT_DIB_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "ui/gfx/surface/surface_export.h" 10 #include "ui/gfx/surface/surface_export.h"
11 11
12 #if defined(OS_WIN) || defined(OS_MACOSX) 12 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_ANDROID)
13 #include "base/shared_memory.h" 13 #include "base/shared_memory.h"
14 #endif 14 #endif
15 15
16 #if defined(OS_WIN) 16 #if defined(OS_WIN)
17 #include <windows.h> 17 #include <windows.h>
18 #elif defined(USE_X11) 18 #elif defined(USE_X11)
19 #include "ui/base/x/x11_util.h" 19 #include "ui/base/x/x11_util.h"
20 #endif 20 #endif
21 21
22 namespace skia { 22 namespace skia {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 // Returns a default, invalid handle, that is meant to indicate a missing 111 // Returns a default, invalid handle, that is meant to indicate a missing
112 // Transport DIB. 112 // Transport DIB.
113 static Handle DefaultHandleValue() { return -1; } 113 static Handle DefaultHandleValue() { return -1; }
114 114
115 // Returns a value that is ONLY USEFUL FOR TESTS WHERE IT WON'T BE 115 // Returns a value that is ONLY USEFUL FOR TESTS WHERE IT WON'T BE
116 // ACTUALLY USED AS A REAL HANDLE. 116 // ACTUALLY USED AS A REAL HANDLE.
117 static Handle GetFakeHandleForTest() { 117 static Handle GetFakeHandleForTest() {
118 static int fake_handle = 10; 118 static int fake_handle = 10;
119 return fake_handle++; 119 return fake_handle++;
120 } 120 }
121 #elif defined(OS_ANDROID)
122 typedef base::SharedMemoryHandle Handle;
123 typedef base::SharedMemoryHandle Id;
124
125 // Returns a default, invalid handle, that is meant to indicate a missing
126 // Transport DIB.
127 static Handle DefaultHandleValue() { return Handle(); }
128
129 // Returns a value that is ONLY USEFUL FOR TESTS WHERE IT WON'T BE
130 // ACTUALLY USED AS A REAL HANDLE.
131 static Handle GetFakeHandleForTest() {
132 static int fake_handle = 10;
133 return Handle(fake_handle++, false);
134 }
121 #endif 135 #endif
122 136
123 // Create a new TransportDIB, returning NULL on failure. 137 // Create a new TransportDIB, returning NULL on failure.
124 // 138 //
125 // The size is the minimum size in bytes of the memory backing the transport 139 // The size is the minimum size in bytes of the memory backing the transport
126 // DIB (we may actually allocate more than that to give us better reuse when 140 // DIB (we may actually allocate more than that to give us better reuse when
127 // cached). 141 // cached).
128 // 142 //
129 // The sequence number is used to uniquely identify the transport DIB. It 143 // The sequence number is used to uniquely identify the transport DIB. It
130 // should be unique for all transport DIBs ever created in the same 144 // should be unique for all transport DIBs ever created in the same
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 Handle handle() const; 192 Handle handle() const;
179 193
180 #if defined(USE_X11) 194 #if defined(USE_X11)
181 // Map the shared memory into the X server and return an id for the shared 195 // Map the shared memory into the X server and return an id for the shared
182 // segment. 196 // segment.
183 XID MapToX(Display* connection); 197 XID MapToX(Display* connection);
184 #endif 198 #endif
185 199
186 private: 200 private:
187 TransportDIB(); 201 TransportDIB();
188 #if defined(OS_WIN) || defined(OS_MACOSX) 202 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_ANDROID)
189 explicit TransportDIB(base::SharedMemoryHandle dib); 203 explicit TransportDIB(base::SharedMemoryHandle dib);
190 base::SharedMemory shared_memory_; 204 base::SharedMemory shared_memory_;
191 uint32 sequence_num_; 205 uint32 sequence_num_;
192 #elif defined(USE_X11) 206 #elif defined(USE_X11)
193 Id key_; // SysV shared memory id 207 Id key_; // SysV shared memory id
194 void* address_; // mapped address 208 void* address_; // mapped address
195 XSharedMemoryId x_shm_; // X id for the shared segment 209 XSharedMemoryId x_shm_; // X id for the shared segment
196 Display* display_; // connection to the X server 210 Display* display_; // connection to the X server
197 #endif 211 #endif
198 size_t size_; // length, in bytes 212 size_t size_; // length, in bytes
199 213
200 DISALLOW_COPY_AND_ASSIGN(TransportDIB); 214 DISALLOW_COPY_AND_ASSIGN(TransportDIB);
201 }; 215 };
202 216
203 #endif // UI_GFX_SURFACE_TRANSPORT_DIB_H_ 217 #endif // UI_GFX_SURFACE_TRANSPORT_DIB_H_
OLDNEW
« no previous file with comments | « ui/gfx/surface/surface.gyp ('k') | ui/gfx/surface/transport_dib_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698