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

Side by Side Diff: ui/compositor/paint_context.h

Issue 2849953004: SV Test
Patch Set: Created 3 years, 7 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
« no previous file with comments | « ui/compositor/layer.cc ('k') | ui/compositor/paint_context.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_COMPOSITOR_PAINT_CONTEXT_H_ 5 #ifndef UI_COMPOSITOR_PAINT_CONTEXT_H_
6 #define UI_COMPOSITOR_PAINT_CONTEXT_H_ 6 #define UI_COMPOSITOR_PAINT_CONTEXT_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 void Visited(void* visited) const { 58 void Visited(void* visited) const {
59 if (!root_visited_) 59 if (!root_visited_)
60 root_visited_ = visited; 60 root_visited_ = visited;
61 } 61 }
62 void* RootVisited() const { return root_visited_; } 62 void* RootVisited() const { return root_visited_; }
63 const gfx::Vector2d& PaintOffset() const { return offset_; } 63 const gfx::Vector2d& PaintOffset() const { return offset_; }
64 #endif 64 #endif
65 65
66 const gfx::Rect& InvalidationForTesting() const { return invalidation_; } 66 const gfx::Rect& InvalidationForTesting() const { return invalidation_; }
67 67
68 float device_scale_factor() const { return device_scale_factor_; }
69
70 gfx::Rect GetPixelBounds(const gfx::Rect& bounds) const;
71
72 gfx::Vector2dF CanvasScale() const;
73
74 void UpdateSizeAndDSF(const gfx::Size& pixel_size, const gfx::Size& size);
75
76 const gfx::Size& pixel_size() const { return pixel_size_; }
77
78 const gfx::Size& size() const { return size_; }
79
68 private: 80 private:
69 // The Recorder classes need access to the internal canvas and friends, but we 81 // The Recorder classes need access to the internal canvas and friends, but we
70 // don't want to expose them on this class so that people must go through the 82 // don't want to expose them on this class so that people must go through the
71 // recorders to access them. 83 // recorders to access them.
72 friend class ClipRecorder; 84 friend class ClipRecorder;
73 friend class CompositingRecorder; 85 friend class CompositingRecorder;
74 friend class PaintRecorder; 86 friend class PaintRecorder;
75 friend class TransformRecorder; 87 friend class TransformRecorder;
76 // The Cache class also needs to access the DisplayItemList to append its 88 // The Cache class also needs to access the DisplayItemList to append its
77 // cache contents. 89 // cache contents.
78 friend class PaintCache; 90 friend class PaintCache;
79 91
80 // Returns a rect with the given size in the space of the context's 92 // Returns a rect with the given size in the space of the context's
81 // containing layer. 93 // containing layer.
82 gfx::Rect ToLayerSpaceBounds(const gfx::Size& size_in_context) const; 94 gfx::Rect ToLayerSpaceBounds(const gfx::Size& size_in_context) const;
83 95
84 // Returns the given rect translated by the layer space offset. 96 // Returns the given rect translated by the layer space offset.
85 gfx::Rect ToLayerSpaceRect(const gfx::Rect& rect) const; 97 gfx::Rect ToLayerSpaceRect(const gfx::Rect& rect) const;
86 98
87 cc::DisplayItemList* list_; 99 cc::DisplayItemList* list_;
88 std::unique_ptr<cc::PaintRecorder> owned_recorder_; 100 std::unique_ptr<cc::PaintRecorder> owned_recorder_;
89 // A pointer to the |owned_recorder_| in this PaintContext, or in another one 101 // A pointer to the |owned_recorder_| in this PaintContext, or in another one
90 // which this was copied from. We expect a copied-from PaintContext to outlive 102 // which this was copied from. We expect a copied-from PaintContext to outlive
91 // copies made from it. 103 // copies made from it.
92 cc::PaintRecorder* recorder_; 104 cc::PaintRecorder* recorder_;
93 // The device scale of the frame being painted. Used to determine which bitmap
94 // resources to use in the frame.
95 float device_scale_factor_;
96 // Invalidation in the space of the paint root (ie the space of the layer 105 // Invalidation in the space of the paint root (ie the space of the layer
97 // backing the paint taking place). 106 // backing the paint taking place).
98 gfx::Rect invalidation_; 107 gfx::Rect invalidation_;
99 // Offset from the PaintContext to the space of the paint root and the 108 // Offset from the PaintContext to the space of the paint root and the
100 // |invalidation_|. 109 // |invalidation_|.
101 gfx::Vector2d offset_; 110 gfx::Vector2d offset_;
102 111
112 gfx::Size pixel_size_;
113 gfx::Size size_;
114
115 // The device scale of the frame being painted. Used to determine which bitmap
116 // resources to use in the frame.
117 float device_scale_factor_;
118
103 #if DCHECK_IS_ON() 119 #if DCHECK_IS_ON()
104 // Used to verify that the |invalidation_| is only used to compare against 120 // Used to verify that the |invalidation_| is only used to compare against
105 // rects in the same space. 121 // rects in the same space.
106 mutable void* root_visited_; 122 mutable void* root_visited_;
107 // Used to verify that paint recorders are not nested. True while a paint 123 // Used to verify that paint recorders are not nested. True while a paint
108 // recorder is active. 124 // recorder is active.
109 mutable bool inside_paint_recorder_; 125 mutable bool inside_paint_recorder_;
110 #endif 126 #endif
111 127
112 DISALLOW_COPY_AND_ASSIGN(PaintContext); 128 DISALLOW_COPY_AND_ASSIGN(PaintContext);
113 }; 129 };
114 130
115 } // namespace ui 131 } // namespace ui
116 132
117 #endif // UI_COMPOSITOR_PAINT_CONTEXT_H_ 133 #endif // UI_COMPOSITOR_PAINT_CONTEXT_H_
OLDNEW
« no previous file with comments | « ui/compositor/layer.cc ('k') | ui/compositor/paint_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698