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

Side by Side Diff: src/core/SkBlitter.h

Issue 1210283002: fix up virtual / override stuff (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 6 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 | « no previous file | src/core/SkCoreBlitters.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 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkBlitter_DEFINED 8 #ifndef SkBlitter_DEFINED
9 #define SkBlitter_DEFINED 9 #define SkBlitter_DEFINED
10 10
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 bool drawCoverage = false); 129 bool drawCoverage = false);
130 130
131 static SkBlitter* ChooseSprite(const SkPixmap& dst, 131 static SkBlitter* ChooseSprite(const SkPixmap& dst,
132 const SkPaint&, 132 const SkPaint&,
133 const SkPixmap& src, 133 const SkPixmap& src,
134 int left, int top, 134 int left, int top,
135 SkTBlitterAllocator*); 135 SkTBlitterAllocator*);
136 ///@} 136 ///@}
137 137
138 protected: 138 protected:
139
140 SkAutoMalloc fBlitMemory; 139 SkAutoMalloc fBlitMemory;
141
142 private:
143 }; 140 };
144 141
145 /** This blitter silently never draws anything. 142 /** This blitter silently never draws anything.
146 */ 143 */
147 class SkNullBlitter : public SkBlitter { 144 class SkNullBlitter : public SkBlitter {
148 public: 145 public:
149 void blitH(int x, int y, int width) override; 146 void blitH(int x, int y, int width) override;
150 virtual void blitAntiH(int x, int y, const SkAlpha[], 147 void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]) override ;
151 const int16_t runs[]) override;
152 void blitV(int x, int y, int height, SkAlpha alpha) override; 148 void blitV(int x, int y, int height, SkAlpha alpha) override;
153 void blitRect(int x, int y, int width, int height) override; 149 void blitRect(int x, int y, int width, int height) override;
154 void blitMask(const SkMask&, const SkIRect& clip) override; 150 void blitMask(const SkMask&, const SkIRect& clip) override;
155 const SkPixmap* justAnOpaqueColor(uint32_t* value) override; 151 const SkPixmap* justAnOpaqueColor(uint32_t* value) override;
156 bool isNullBlitter() const override; 152 bool isNullBlitter() const override;
157 }; 153 };
158 154
159 /** Wraps another (real) blitter, and ensures that the real blitter is only 155 /** Wraps another (real) blitter, and ensures that the real blitter is only
160 called with coordinates that have been clipped by the specified clipRect. 156 called with coordinates that have been clipped by the specified clipRect.
161 This means the caller need not perform the clipping ahead of time. 157 This means the caller need not perform the clipping ahead of time.
162 */ 158 */
163 class SkRectClipBlitter : public SkBlitter { 159 class SkRectClipBlitter : public SkBlitter {
164 public: 160 public:
165 void init(SkBlitter* blitter, const SkIRect& clipRect) { 161 void init(SkBlitter* blitter, const SkIRect& clipRect) {
166 SkASSERT(!clipRect.isEmpty()); 162 SkASSERT(!clipRect.isEmpty());
167 fBlitter = blitter; 163 fBlitter = blitter;
168 fClipRect = clipRect; 164 fClipRect = clipRect;
169 } 165 }
170 166
171 void blitH(int x, int y, int width) override; 167 void blitH(int x, int y, int width) override;
172 virtual void blitAntiH(int x, int y, const SkAlpha[], 168 void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]) override ;
173 const int16_t runs[]) override;
174 void blitV(int x, int y, int height, SkAlpha alpha) override; 169 void blitV(int x, int y, int height, SkAlpha alpha) override;
175 void blitRect(int x, int y, int width, int height) override; 170 void blitRect(int x, int y, int width, int height) override;
176 virtual void blitAntiRect(int x, int y, int width, int height, 171 virtual void blitAntiRect(int x, int y, int width, int height,
177 SkAlpha leftAlpha, SkAlpha rightAlpha) override; 172 SkAlpha leftAlpha, SkAlpha rightAlpha) override;
178 void blitMask(const SkMask&, const SkIRect& clip) override; 173 void blitMask(const SkMask&, const SkIRect& clip) override;
179 const SkPixmap* justAnOpaqueColor(uint32_t* value) override; 174 const SkPixmap* justAnOpaqueColor(uint32_t* value) override;
180 175
181 int requestRowsPreserved() const override { 176 int requestRowsPreserved() const override {
182 return fBlitter->requestRowsPreserved(); 177 return fBlitter->requestRowsPreserved();
183 } 178 }
(...skipping 13 matching lines...) Expand all
197 */ 192 */
198 class SkRgnClipBlitter : public SkBlitter { 193 class SkRgnClipBlitter : public SkBlitter {
199 public: 194 public:
200 void init(SkBlitter* blitter, const SkRegion* clipRgn) { 195 void init(SkBlitter* blitter, const SkRegion* clipRgn) {
201 SkASSERT(clipRgn && !clipRgn->isEmpty()); 196 SkASSERT(clipRgn && !clipRgn->isEmpty());
202 fBlitter = blitter; 197 fBlitter = blitter;
203 fRgn = clipRgn; 198 fRgn = clipRgn;
204 } 199 }
205 200
206 void blitH(int x, int y, int width) override; 201 void blitH(int x, int y, int width) override;
207 virtual void blitAntiH(int x, int y, const SkAlpha[], 202 void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]) override ;
208 const int16_t runs[]) override;
209 void blitV(int x, int y, int height, SkAlpha alpha) override; 203 void blitV(int x, int y, int height, SkAlpha alpha) override;
210 void blitRect(int x, int y, int width, int height) override; 204 void blitRect(int x, int y, int width, int height) override;
211 virtual void blitAntiRect(int x, int y, int width, int height, 205 void blitAntiRect(int x, int y, int width, int height,
212 SkAlpha leftAlpha, SkAlpha rightAlpha) override; 206 SkAlpha leftAlpha, SkAlpha rightAlpha) override;
213 void blitMask(const SkMask&, const SkIRect& clip) override; 207 void blitMask(const SkMask&, const SkIRect& clip) override;
214 const SkPixmap* justAnOpaqueColor(uint32_t* value) override; 208 const SkPixmap* justAnOpaqueColor(uint32_t* value) override;
215 209
216 int requestRowsPreserved() const override { 210 int requestRowsPreserved() const override {
217 return fBlitter->requestRowsPreserved(); 211 return fBlitter->requestRowsPreserved();
218 } 212 }
219 213
220 void* allocBlitMemory(size_t sz) override { 214 void* allocBlitMemory(size_t sz) override {
221 return fBlitter->allocBlitMemory(sz); 215 return fBlitter->allocBlitMemory(sz);
222 } 216 }
(...skipping 12 matching lines...) Expand all
235 SkBlitter* apply(SkBlitter* blitter, const SkRegion* clip, 229 SkBlitter* apply(SkBlitter* blitter, const SkRegion* clip,
236 const SkIRect* bounds = NULL); 230 const SkIRect* bounds = NULL);
237 231
238 private: 232 private:
239 SkNullBlitter fNullBlitter; 233 SkNullBlitter fNullBlitter;
240 SkRectClipBlitter fRectBlitter; 234 SkRectClipBlitter fRectBlitter;
241 SkRgnClipBlitter fRgnBlitter; 235 SkRgnClipBlitter fRgnBlitter;
242 }; 236 };
243 237
244 #endif 238 #endif
OLDNEW
« no previous file with comments | « no previous file | src/core/SkCoreBlitters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698