OLD | NEW |
| (Empty) |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CC_QUADS_IO_SURFACE_DRAW_QUAD_H_ | |
6 #define CC_QUADS_IO_SURFACE_DRAW_QUAD_H_ | |
7 | |
8 #include "base/memory/scoped_ptr.h" | |
9 #include "cc/quads/draw_quad.h" | |
10 #include "ui/gfx/geometry/size.h" | |
11 | |
12 namespace cc { | |
13 | |
14 class IOSurfaceDrawQuad : public DrawQuad { | |
15 public: | |
16 enum Orientation { | |
17 FLIPPED, | |
18 UNFLIPPED, | |
19 ORIENTATION_LAST = UNFLIPPED | |
20 }; | |
21 | |
22 IOSurfaceDrawQuad(); | |
23 | |
24 void SetNew(const SharedQuadState* shared_quad_state, | |
25 const gfx::Rect& rect, | |
26 const gfx::Rect& opaque_rect, | |
27 const gfx::Rect& visible_rect, | |
28 const gfx::Size& io_surface_size, | |
29 unsigned io_surface_resource_id, | |
30 Orientation orientation); | |
31 | |
32 void SetAll(const SharedQuadState* shared_quad_state, | |
33 const gfx::Rect& rect, | |
34 const gfx::Rect& opaque_rect, | |
35 const gfx::Rect& visible_rect, | |
36 bool needs_blending, | |
37 const gfx::Size& io_surface_size, | |
38 unsigned io_surface_resource_id, | |
39 Orientation orientation); | |
40 | |
41 gfx::Size io_surface_size; | |
42 unsigned io_surface_resource_id; | |
43 Orientation orientation; | |
44 | |
45 void IterateResources(const ResourceIteratorCallback& callback) override; | |
46 | |
47 static const IOSurfaceDrawQuad* MaterialCast(const DrawQuad*); | |
48 | |
49 private: | |
50 void ExtendValue(base::trace_event::TracedValue* value) const override; | |
51 }; | |
52 | |
53 } // namespace cc | |
54 | |
55 #endif // CC_QUADS_IO_SURFACE_DRAW_QUAD_H_ | |
OLD | NEW |