| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2010 The Android Open Source Project | 3 * Copyright 2010 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #ifndef SkDevice_DEFINED | 10 #ifndef SkDevice_DEFINED |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 * If the bitmap has config kARGB_8888_Config then the config8888 param | 131 * If the bitmap has config kARGB_8888_Config then the config8888 param |
| 132 * will determines how the pixel valuess are intepreted. If the bitmap is | 132 * will determines how the pixel valuess are intepreted. If the bitmap is |
| 133 * not kARGB_8888_Config then this parameter is ignored. | 133 * not kARGB_8888_Config then this parameter is ignored. |
| 134 */ | 134 */ |
| 135 virtual void writePixels(const SkBitmap& bitmap, int x, int y, | 135 virtual void writePixels(const SkBitmap& bitmap, int x, int y, |
| 136 SkCanvas::Config8888 config8888 = SkCanvas::kNative
_Premul_Config8888); | 136 SkCanvas::Config8888 config8888 = SkCanvas::kNative
_Premul_Config8888); |
| 137 #endif | 137 #endif |
| 138 | 138 |
| 139 bool writePixelsDirect(const SkImageInfo&, const void*, size_t rowBytes, int
x, int y); | 139 bool writePixelsDirect(const SkImageInfo&, const void*, size_t rowBytes, int
x, int y); |
| 140 | 140 |
| 141 void* accessPixels(SkImageInfo* info, size_t* rowBytes); |
| 142 |
| 141 /** | 143 /** |
| 142 * Return the device's associated gpu render target, or NULL. | 144 * Return the device's associated gpu render target, or NULL. |
| 143 */ | 145 */ |
| 144 virtual GrRenderTarget* accessRenderTarget() = 0; | 146 virtual GrRenderTarget* accessRenderTarget() = 0; |
| 145 | 147 |
| 146 | 148 |
| 147 /** | 149 /** |
| 148 * Return the device's origin: its offset in device coordinates from | 150 * Return the device's origin: its offset in device coordinates from |
| 149 * the default origin in its canvas' matrix/clip | 151 * the default origin in its canvas' matrix/clip |
| 150 */ | 152 */ |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 | 395 |
| 394 /** | 396 /** |
| 395 * The caller is responsible for "pre-clipping" the src. The impl can assum
e that the src | 397 * The caller is responsible for "pre-clipping" the src. The impl can assum
e that the src |
| 396 * image at the specified x,y offset will fit within the device's bounds. | 398 * image at the specified x,y offset will fit within the device's bounds. |
| 397 * | 399 * |
| 398 * This is explicitly asserted in writePixelsDirect(), the public way to ca
ll this. | 400 * This is explicitly asserted in writePixelsDirect(), the public way to ca
ll this. |
| 399 */ | 401 */ |
| 400 virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int x, i
nt y); | 402 virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int x, i
nt y); |
| 401 | 403 |
| 402 /** | 404 /** |
| 405 * Default impl returns NULL. |
| 406 */ |
| 407 virtual void* onAccessPixels(SkImageInfo* info, size_t* rowBytes); |
| 408 |
| 409 /** |
| 403 * Leaky properties are those which the device should be applying but it is
n't. | 410 * Leaky properties are those which the device should be applying but it is
n't. |
| 404 * These properties will be applied by the draw, when and as it can. | 411 * These properties will be applied by the draw, when and as it can. |
| 405 * If the device does handle a property, that property should be set to the
identity value | 412 * If the device does handle a property, that property should be set to the
identity value |
| 406 * for that property, effectively making it non-leaky. | 413 * for that property, effectively making it non-leaky. |
| 407 */ | 414 */ |
| 408 SkDeviceProperties fLeakyProperties; | 415 SkDeviceProperties fLeakyProperties; |
| 409 | 416 |
| 410 private: | 417 private: |
| 411 friend class SkCanvas; | 418 friend class SkCanvas; |
| 412 friend struct DeviceCM; //for setMatrixClip | 419 friend struct DeviceCM; //for setMatrixClip |
| 413 friend class SkDraw; | 420 friend class SkDraw; |
| 414 friend class SkDrawIter; | 421 friend class SkDrawIter; |
| 415 friend class SkDeviceFilteredPaint; | 422 friend class SkDeviceFilteredPaint; |
| 416 friend class SkDeviceImageFilterProxy; | 423 friend class SkDeviceImageFilterProxy; |
| 417 friend class DeferredDevice; // for newSurface | 424 friend class SkDeferredDevice; // for newSurface |
| 418 | 425 |
| 419 friend class SkSurface_Raster; | 426 friend class SkSurface_Raster; |
| 420 | 427 |
| 421 // used to change the backend's pixels (and possibly config/rowbytes) | 428 // used to change the backend's pixels (and possibly config/rowbytes) |
| 422 // but cannot change the width/height, so there should be no change to | 429 // but cannot change the width/height, so there should be no change to |
| 423 // any clip information. | 430 // any clip information. |
| 424 // TODO: move to SkBitmapDevice | 431 // TODO: move to SkBitmapDevice |
| 425 virtual void replaceBitmapBackendForRasterSurface(const SkBitmap&) = 0; | 432 virtual void replaceBitmapBackendForRasterSurface(const SkBitmap&) = 0; |
| 426 | 433 |
| 427 // just called by SkCanvas when built as a layer | 434 // just called by SkCanvas when built as a layer |
| (...skipping 25 matching lines...) Expand all Loading... |
| 453 SkMetaData* fMetaData; | 460 SkMetaData* fMetaData; |
| 454 | 461 |
| 455 #ifdef SK_DEBUG | 462 #ifdef SK_DEBUG |
| 456 bool fAttachedToCanvas; | 463 bool fAttachedToCanvas; |
| 457 #endif | 464 #endif |
| 458 | 465 |
| 459 typedef SkRefCnt INHERITED; | 466 typedef SkRefCnt INHERITED; |
| 460 }; | 467 }; |
| 461 | 468 |
| 462 #endif | 469 #endif |
| OLD | NEW |