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

Side by Side Diff: include/core/SkDevice.h

Issue 720213002: Rename onCreateDevice -> onCreateCompatibleDevice (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month 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 | « include/core/SkBitmapDevice.h ('k') | include/device/xps/SkXPSDevice.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 2010 The Android Open Source Project 2 * Copyright 2010 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 SkDevice_DEFINED 8 #ifndef SkDevice_DEFINED
9 #define SkDevice_DEFINED 9 #define SkDevice_DEFINED
10 10
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 const SkColor colors[], SkXfermode* xmode, 229 const SkColor colors[], SkXfermode* xmode,
230 const uint16_t indices[], int indexCount, 230 const uint16_t indices[], int indexCount,
231 const SkPaint& paint) = 0; 231 const SkPaint& paint) = 0;
232 // default implementation unrolls the blob runs. 232 // default implementation unrolls the blob runs.
233 virtual void drawTextBlob(const SkDraw&, const SkTextBlob*, SkScalar x, SkSc alar y, 233 virtual void drawTextBlob(const SkDraw&, const SkTextBlob*, SkScalar x, SkSc alar y,
234 const SkPaint& paint); 234 const SkPaint& paint);
235 // default implementation calls drawVertices 235 // default implementation calls drawVertices
236 virtual void drawPatch(const SkDraw&, const SkPoint cubics[12], const SkColo r colors[4], 236 virtual void drawPatch(const SkDraw&, const SkPoint cubics[12], const SkColo r colors[4],
237 const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint); 237 const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint);
238 /** The SkDevice passed will be an SkDevice which was returned by a call to 238 /** The SkDevice passed will be an SkDevice which was returned by a call to
239 onCreateDevice on this device with kSaveLayer_Usage. 239 onCreateCompatibleDevice on this device with kSaveLayer_Usage.
240 */ 240 */
241 virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, 241 virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
242 const SkPaint&) = 0; 242 const SkPaint&) = 0;
243 243
244 bool readPixels(const SkImageInfo&, void* dst, size_t rowBytes, int x, int y ); 244 bool readPixels(const SkImageInfo&, void* dst, size_t rowBytes, int x, int y );
245 245
246 /////////////////////////////////////////////////////////////////////////// 246 ///////////////////////////////////////////////////////////////////////////
247 247
248 /** Update as needed the pixel value in the bitmap, so that the caller can 248 /** Update as needed the pixel value in the bitmap, so that the caller can
249 access the pixels directly. 249 access the pixels directly.
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 * if all rendering has been done. If false is returned, SkCanvas will 333 * if all rendering has been done. If false is returned, SkCanvas will
334 * perform its own rendering pass. It is acceptable for the backend 334 * perform its own rendering pass. It is acceptable for the backend
335 * to perform some device-specific warm up tasks and then let SkCanvas 335 * to perform some device-specific warm up tasks and then let SkCanvas
336 * perform the main rendering loop (by return false from here). 336 * perform the main rendering loop (by return false from here).
337 */ 337 */
338 virtual bool EXPERIMENTAL_drawPicture(SkCanvas*, const SkPicture*, const SkM atrix*, 338 virtual bool EXPERIMENTAL_drawPicture(SkCanvas*, const SkPicture*, const SkM atrix*,
339 const SkPaint*); 339 const SkPaint*);
340 340
341 void setPixelGeometry(SkPixelGeometry geo); 341 void setPixelGeometry(SkPixelGeometry geo);
342 342
343 struct CreateInfo {
344 CreateInfo(const SkImageInfo& info, Usage usage) : fInfo(info), fUsage(u sage) {}
345
346 SkImageInfo fInfo;
347 Usage fUsage;
348 };
349 virtual SkBaseDevice* onCreateCompatibleDevice(const CreateInfo& cinfo) {
350 return NULL;
351 }
352
343 private: 353 private:
344 friend class SkCanvas; 354 friend class SkCanvas;
345 friend struct DeviceCM; //for setMatrixClip 355 friend struct DeviceCM; //for setMatrixClip
346 friend class SkDraw; 356 friend class SkDraw;
347 friend class SkDrawIter; 357 friend class SkDrawIter;
348 friend class SkDeviceFilteredPaint; 358 friend class SkDeviceFilteredPaint;
349 friend class SkDeviceImageFilterProxy; 359 friend class SkDeviceImageFilterProxy;
350 friend class SkDeferredDevice; // for newSurface 360 friend class SkDeferredDevice; // for newSurface
351 361
352 friend class SkSurface_Raster; 362 friend class SkSurface_Raster;
353 363
354 // used to change the backend's pixels (and possibly config/rowbytes) 364 // used to change the backend's pixels (and possibly config/rowbytes)
355 // but cannot change the width/height, so there should be no change to 365 // but cannot change the width/height, so there should be no change to
356 // any clip information. 366 // any clip information.
357 // TODO: move to SkBitmapDevice 367 // TODO: move to SkBitmapDevice
358 virtual void replaceBitmapBackendForRasterSurface(const SkBitmap&) {} 368 virtual void replaceBitmapBackendForRasterSurface(const SkBitmap&) {}
359 369
360 virtual bool forceConservativeRasterClip() const { return false; } 370 virtual bool forceConservativeRasterClip() const { return false; }
361 371
362 // just called by SkCanvas when built as a layer 372 // just called by SkCanvas when built as a layer
363 void setOrigin(int x, int y) { fOrigin.set(x, y); } 373 void setOrigin(int x, int y) { fOrigin.set(x, y); }
364 // just called by SkCanvas for saveLayer 374 // just called by SkCanvas for saveLayer
365 SkBaseDevice* createCompatibleDeviceForSaveLayer(const SkImageInfo&); 375 SkBaseDevice* createCompatibleDeviceForSaveLayer(const SkImageInfo&);
366 // just called by SkCanvas for imagefilter 376 // just called by SkCanvas for imagefilter
367 SkBaseDevice* createCompatibleDeviceForImageFilter(const SkImageInfo&); 377 SkBaseDevice* createCompatibleDeviceForImageFilter(const SkImageInfo&);
368 378
369 virtual SkBaseDevice* onCreateDevice(const SkImageInfo&, Usage) {
370 return NULL;
371 }
372
373 /** Causes any deferred drawing to the device to be completed. 379 /** Causes any deferred drawing to the device to be completed.
374 */ 380 */
375 virtual void flush() {} 381 virtual void flush() {}
376 382
377 virtual SkImageFilter::Cache* getImageFilterCache() { return NULL; } 383 virtual SkImageFilter::Cache* getImageFilterCache() { return NULL; }
378 384
379 SkIPoint fOrigin; 385 SkIPoint fOrigin;
380 SkMetaData* fMetaData; 386 SkMetaData* fMetaData;
381 SkDeviceProperties* fLeakyProperties; // will always exist. 387 SkDeviceProperties* fLeakyProperties; // will always exist.
382 388
383 #ifdef SK_DEBUG 389 #ifdef SK_DEBUG
384 bool fAttachedToCanvas; 390 bool fAttachedToCanvas;
385 #endif 391 #endif
386 392
387 typedef SkRefCnt INHERITED; 393 typedef SkRefCnt INHERITED;
388 }; 394 };
389 395
390 #endif 396 #endif
OLDNEW
« no previous file with comments | « include/core/SkBitmapDevice.h ('k') | include/device/xps/SkXPSDevice.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698