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 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 * If the device does not recognize or support this filter, | 368 * If the device does not recognize or support this filter, |
369 * it just returns false and leaves result and offset unchanged. | 369 * it just returns false and leaves result and offset unchanged. |
370 */ | 370 */ |
371 virtual bool filterImage(SkImageFilter*, const SkBitmap&, const SkMatrix&, | 371 virtual bool filterImage(SkImageFilter*, const SkBitmap&, const SkMatrix&, |
372 SkBitmap* result, SkIPoint* offset) = 0; | 372 SkBitmap* result, SkIPoint* offset) = 0; |
373 | 373 |
374 // This is equal kBGRA_Premul_Config8888 or kRGBA_Premul_Config8888 if | 374 // This is equal kBGRA_Premul_Config8888 or kRGBA_Premul_Config8888 if |
375 // either is identical to kNative_Premul_Config8888. Otherwise, -1. | 375 // either is identical to kNative_Premul_Config8888. Otherwise, -1. |
376 static const SkCanvas::Config8888 kPMColorAlias; | 376 static const SkCanvas::Config8888 kPMColorAlias; |
377 | 377 |
| 378 protected: |
| 379 /** |
| 380 * Leaky properties are those which the device should be applying but it is
n't. |
| 381 * These properties will be applied by the draw, when and as it can. |
| 382 * If the device does handle a property, that property should be set to the
identity value |
| 383 * for that property, effectively making it non-leaky. |
| 384 */ |
| 385 SkDeviceProperties fLeakyProperties; |
| 386 |
378 private: | 387 private: |
379 friend class SkCanvas; | 388 friend class SkCanvas; |
380 friend struct DeviceCM; //for setMatrixClip | 389 friend struct DeviceCM; //for setMatrixClip |
381 friend class SkDraw; | 390 friend class SkDraw; |
382 friend class SkDrawIter; | 391 friend class SkDrawIter; |
383 friend class SkDeviceFilteredPaint; | 392 friend class SkDeviceFilteredPaint; |
384 friend class SkDeviceImageFilterProxy; | 393 friend class SkDeviceImageFilterProxy; |
385 | 394 |
386 friend class SkSurface_Raster; | 395 friend class SkSurface_Raster; |
387 | 396 |
(...skipping 17 matching lines...) Expand all Loading... |
405 int width, int height, | 414 int width, int height, |
406 bool isOpaque, | 415 bool isOpaque, |
407 Usage usage) = 0; | 416 Usage usage) = 0; |
408 | 417 |
409 /** Causes any deferred drawing to the device to be completed. | 418 /** Causes any deferred drawing to the device to be completed. |
410 */ | 419 */ |
411 virtual void flush() = 0; | 420 virtual void flush() = 0; |
412 | 421 |
413 SkIPoint fOrigin; | 422 SkIPoint fOrigin; |
414 SkMetaData* fMetaData; | 423 SkMetaData* fMetaData; |
415 /** | |
416 * Leaky properties are those which the device should be applying but it is
n't. | |
417 * These properties will be applied by the draw, when and as it can. | |
418 * If the device does handle a property, that property should be set to the
identity value | |
419 * for that property, effectively making it non-leaky. | |
420 */ | |
421 SkDeviceProperties fLeakyProperties; | |
422 | 424 |
423 #ifdef SK_DEBUG | 425 #ifdef SK_DEBUG |
424 bool fAttachedToCanvas; | 426 bool fAttachedToCanvas; |
425 #endif | 427 #endif |
426 | 428 |
427 typedef SkRefCnt INHERITED; | 429 typedef SkRefCnt INHERITED; |
428 }; | 430 }; |
429 | 431 |
430 #endif | 432 #endif |
OLD | NEW |