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

Side by Side Diff: ppapi/cpp/graphics_2d.h

Issue 12989006: Move HiDPI-related Pepper interfaces to stable (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 8 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/c/ppb_view.h ('k') | ppapi/cpp/graphics_2d.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) 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_CPP_GRAPHICS_2D_H_ 5 #ifndef PPAPI_CPP_GRAPHICS_2D_H_
6 #define PPAPI_CPP_GRAPHICS_2D_H_ 6 #define PPAPI_CPP_GRAPHICS_2D_H_
7 7
8 #include "ppapi/c/pp_stdint.h" 8 #include "ppapi/c/pp_stdint.h"
9 #include "ppapi/cpp/resource.h" 9 #include "ppapi/cpp/resource.h"
10 #include "ppapi/cpp/size.h" 10 #include "ppapi/cpp/size.h"
(...skipping 23 matching lines...) Expand all
34 Graphics2D(const Graphics2D& other); 34 Graphics2D(const Graphics2D& other);
35 35
36 /// A constructor allocating a new 2D graphics context with the given size 36 /// A constructor allocating a new 2D graphics context with the given size
37 /// in the browser, resulting object will be is_null() if the allocation 37 /// in the browser, resulting object will be is_null() if the allocation
38 /// failed. 38 /// failed.
39 /// 39 ///
40 /// @param[in] instance The instance with which this resource will be 40 /// @param[in] instance The instance with which this resource will be
41 /// associated. 41 /// associated.
42 /// 42 ///
43 /// @param[in] size The size of the 2D graphics context in the browser, 43 /// @param[in] size The size of the 2D graphics context in the browser,
44 /// measured in device pixels. 44 /// measured in pixels. See <code>SetScale()</code> for more information.
45 /// 45 ///
46 /// @param[in] is_always_opaque Set the <code>is_always_opaque</code> flag 46 /// @param[in] is_always_opaque Set the <code>is_always_opaque</code> flag
47 /// to true if you know that you will be painting only opaque data to this 47 /// to true if you know that you will be painting only opaque data to this
48 /// context. This option will disable blending when compositing the module 48 /// context. This option will disable blending when compositing the module
49 /// with the web page, which might give higher performance on some computers. 49 /// with the web page, which might give higher performance on some computers.
50 /// 50 ///
51 /// If you set <code>is_always_opaque</code>, your alpha channel should 51 /// If you set <code>is_always_opaque</code>, your alpha channel should
52 /// always be set to 0xFF or there may be painting artifacts. The alpha values 52 /// always be set to 0xFF or there may be painting artifacts. The alpha values
53 /// overwrite the destination alpha values without blending when 53 /// overwrite the destination alpha values without blending when
54 /// <code>is_always_opaque</code> is true. 54 /// <code>is_always_opaque</code> is true.
(...skipping 12 matching lines...) Expand all
67 /// of the other 2D graphics context while decrementing the reference counter 67 /// of the other 2D graphics context while decrementing the reference counter
68 /// of this 2D graphics context. 68 /// of this 2D graphics context.
69 /// 69 ///
70 /// @param[in] other An other 2D graphics context. 70 /// @param[in] other An other 2D graphics context.
71 /// 71 ///
72 /// @return A new Graphics2D context. 72 /// @return A new Graphics2D context.
73 Graphics2D& operator=(const Graphics2D& other); 73 Graphics2D& operator=(const Graphics2D& other);
74 74
75 /// Getter function for returning size of the 2D graphics context. 75 /// Getter function for returning size of the 2D graphics context.
76 /// 76 ///
77 /// @return The size of the 2D graphics context measured in device pixels. 77 /// @return The size of the 2D graphics context measured in pixels.
78 const Size& size() const { return size_; } 78 const Size& size() const { return size_; }
79 79
80 /// PaintImageData() enqueues a paint command of the given image into 80 /// PaintImageData() enqueues a paint command of the given image into
81 /// the context. This command has no effect until you call Flush(). As a 81 /// the context. This command has no effect until you call Flush(). As a
82 /// result, what counts is the contents of the bitmap when you call Flush, 82 /// result, what counts is the contents of the bitmap when you call Flush,
83 /// not when you call this function. 83 /// not when you call this function.
84 /// 84 ///
85 /// The provided image will be placed at <code>top_left</code> from the top 85 /// The provided image will be placed at <code>top_left</code> from the top
86 /// left of the context's internal backing store. This version of 86 /// left of the context's internal backing store. This version of
87 /// PaintImageData paints the entire image. Refer to the other version of 87 /// PaintImageData paints the entire image. Refer to the other version of
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 /// not issued its callback yet. In the failure case, nothing will be 253 /// not issued its callback yet. In the failure case, nothing will be
254 /// updated and no callback will be scheduled. 254 /// updated and no callback will be scheduled.
255 255
256 // TODO(darin): We should ensure that the completion callback always runs, so 256 // TODO(darin): We should ensure that the completion callback always runs, so
257 // that it is easier for consumers to manage memory referenced by a callback. 257 // that it is easier for consumers to manage memory referenced by a callback.
258 258
259 // TODO(): Add back in the synchronous mode description once we have support 259 // TODO(): Add back in the synchronous mode description once we have support
260 // for it. 260 // for it.
261 int32_t Flush(const CompletionCallback& cc); 261 int32_t Flush(const CompletionCallback& cc);
262 262
263 /// SetScale() sets the scale factor that will be applied when painting the
264 /// graphics context onto the output device. Typically, if rendering at device
265 /// resolution is desired, the context would be created with the width and
266 /// height scaled up by the view's GetDeviceScale and SetScale called with a
267 /// scale of 1.0 / GetDeviceScale(). For example, if the view resource passed
268 /// to DidChangeView has a rectangle of (w=200, h=100) and a device scale of
269 /// 2.0, one would call Create with a size of (w=400, h=200) and then call
270 /// SetScale with 0.5. One would then treat each pixel in the context as a
271 /// single device pixel.
272 ///
273 /// @param[in] scale The scale to apply when painting.
274 ///
275 /// @return Returns <code>true</code> on success or <code>false</code>
276 /// if the resource is invalid or the scale factor is 0 or less.
277 bool SetScale(float scale);
278
279 /// GetScale() gets the scale factor that will be applied when painting the
280 /// graphics context onto the output device.
281 ///
282 /// @return Returns the scale factor for the graphics context. If the resource
283 /// is invalid, 0.0 will be returned. The default scale for a graphics context
284 /// is 1.0.
285 float GetScale();
286
263 private: 287 private:
264 Size size_; 288 Size size_;
265 }; 289 };
266 290
267 } // namespace pp 291 } // namespace pp
268 292
269 #endif // PPAPI_CPP_GRAPHICS_2D_H_ 293 #endif // PPAPI_CPP_GRAPHICS_2D_H_
OLDNEW
« no previous file with comments | « ppapi/c/ppb_view.h ('k') | ppapi/cpp/graphics_2d.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698