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

Side by Side Diff: ppapi/thunk/ppb_image_data_api.h

Issue 10790063: PPAPI/NaCl: Make ImageData for NaCl just use shared memory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make PPB_ImageData_API base non-exported Created 8 years, 4 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 | « ppapi/proxy/resource_creation_proxy.cc ('k') | ppapi/thunk/resource_creation_api.h » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 PPAPI_THUNK_PPB_IMAGE_DATA_API_H_ 5 #ifndef PPAPI_THUNK_PPB_IMAGE_DATA_API_H_
6 #define PPAPI_THUNK_PPB_IMAGE_DATA_API_H_ 6 #define PPAPI_THUNK_PPB_IMAGE_DATA_API_H_
7 7
8 #include "ppapi/c/pp_bool.h" 8 #include "ppapi/c/pp_bool.h"
9 #include "ppapi/c/ppb_image_data.h" 9 #include "ppapi/c/ppb_image_data.h"
10 10
11 namespace skia { 11 namespace skia {
12 class PlatformCanvas; 12 class PlatformCanvas;
13 } 13 }
14 14
15 class SkCanvas;
16
15 namespace ppapi { 17 namespace ppapi {
16 namespace thunk { 18 namespace thunk {
17 19
18 class PPB_ImageData_API { 20 class PPB_ImageData_API {
19 public: 21 public:
20 virtual ~PPB_ImageData_API() {} 22 virtual ~PPB_ImageData_API() {}
21 23
22 virtual PP_Bool Describe(PP_ImageDataDesc* desc) = 0; 24 virtual PP_Bool Describe(PP_ImageDataDesc* desc) = 0;
23 virtual void* Map() = 0; 25 virtual void* Map() = 0;
24 virtual void Unmap() = 0; 26 virtual void Unmap() = 0;
25 27
26 // Trusted inteface. 28 // Trusted inteface.
27 virtual int32_t GetSharedMemory(int* handle, uint32_t* byte_count) = 0; 29 virtual int32_t GetSharedMemory(int* handle, uint32_t* byte_count) = 0;
28 30
29 // The canvas will be NULL if the image is not mapped and under Native 31 // Get the platform-specific canvas that backs this ImageData, if there is
30 // Client (which does not have skia). 32 // one.
33 // The canvas will be NULL:
34 // * If the image is not mapped.
35 // * Within untrusted code (which does not have skia).
36 // * If the ImageData is not backed by a platform-specific image buffer.
37 // This will be the case for ImageDatas created for use in NaCl.
38 // For this last reason, you should prefer GetCanvas any time you don't need
39 // a platform-specific canvas (e.g., for use with platform-specific APIs).
40 // Anything that relies on having a PlatformCanvas will not work for ImageDat
41 // objects created from NaCl.
31 virtual skia::PlatformCanvas* GetPlatformCanvas() = 0; 42 virtual skia::PlatformCanvas* GetPlatformCanvas() = 0;
43
44 // Get the canvas that backs this ImageData, if there is one.
45 // The canvas will be NULL:
46 // * If the image is not mapped.
47 // * Within untrusted code (which does not have skia).
48 virtual SkCanvas* GetCanvas() = 0;
32 }; 49 };
33 50
34 } // namespace thunk 51 } // namespace thunk
35 } // namespace ppapi 52 } // namespace ppapi
36 53
37 #endif // PPAPI_THUNK_PPB_IMAGE_DATA_API_H_ 54 #endif // PPAPI_THUNK_PPB_IMAGE_DATA_API_H_
OLDNEW
« no previous file with comments | « ppapi/proxy/resource_creation_proxy.cc ('k') | ppapi/thunk/resource_creation_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698