aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDevice.cpp
Commit message (Collapse)AuthorAge
* ARM Skia NEON patches - 08 - Cleaning / possible fixGravatar commit-bot@chromium.org2013-07-15
| | | | | | | | | | | | | | | | | | | | Misc: use SK_PMCOLOR_BYTE_ORDER where appropriate Before SK_PMCOLOR_BYTE_ORDER was introduced, I had written my own macro for the same purpose. I had at the time spotted these two places where it seemed to be useful. The change in SkCreateCGImageRef.cpp may be a bugfix or a bug for the second occurrence, I'm not sure... BUG= R=djsollen@google.com, caryclark@google.com, reed@google.com, tomhudson@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18024003 git-svn-id: http://skia.googlecode.com/svn/trunk@10071 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-06-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9738 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove dst/rendertarget support for kARGB_4444_ConfigGravatar reed@google.com2013-06-21
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/17335008 git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GPU support for roundrectsGravatar commit-bot@chromium.org2013-04-25
| | | | | | | | | | | | | | | This uses the OvalRenderer to render roundrects as "stretched ovals." It adds an additional shader that handles the straight edges of ellipsoid roundrects better, and uses the circle shader for roundrects where the two radii are the same. Only axis-aligned, simple roundrects are supported. Handles fill, stroke and hairline. R=bsalomon@google.com, robertphillips@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://chromiumcodereview.appspot.com/13852049 git-svn-id: http://skia.googlecode.com/svn/trunk@8859 2bbb7eff-a529-9590-31e7-b0007b416f81
* PDF: add support for named destinations.Gravatar epoger@google.com2013-03-08
| | | | | | | Landing patchset 7 from https://codereview.appspot.com/7374052 for dml@google.com Review URL: https://codereview.chromium.org/12533009 git-svn-id: http://skia.googlecode.com/svn/trunk@8034 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r8000 due to failures on some buildbotsGravatar epoger@google.com2013-03-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8001 2bbb7eff-a529-9590-31e7-b0007b416f81
* PDF: add support for named destinations Gravatar epoger@google.com2013-03-06
| | | | | | | Imported from https://codereview.appspot.com/7374052/ on behalf of dml@google.com Review URL: https://codereview.chromium.org/12466008 git-svn-id: http://skia.googlecode.com/svn/trunk@8000 2bbb7eff-a529-9590-31e7-b0007b416f81
* call through to to the virtual drawPath from drawOval, for subclasses (e.g. pdf)Gravatar reed@google.com2013-02-12
| | | | | | | | that don't choose to override drawOval. git-svn-id: http://skia.googlecode.com/svn/trunk@7701 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* Expose geometry and gamma on device.Gravatar bungeman@google.com2013-01-22
| | | | | | | https://codereview.appspot.com/6499101/ git-svn-id: http://skia.googlecode.com/svn/trunk@7317 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GPU support for axis-aligned ovals:Gravatar jvanverth@google.com2013-01-22
| | | | | | | | | | | | | | | - Add drawOval base function to SkDevice, and override in SkGpuDevice - Move isSimilarityMatrix to SkMatrix (renamed to isSimilarity) and fixed up unit test - Since both SkGpuDevice::drawOval() and GrContext::drawPath() can try to draw ovals, added GrContext::canDrawOval() and GrContext::internalDrawOval() to avoid duplicate code - Hooked in axis-aligned oval fill shader - Enabled GPU stroked circles - Added stroked circle bench test Review URL: https://codereview.appspot.com/7137050 git-svn-id: http://skia.googlecode.com/svn/trunk@7304 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove legacy build-flags for drawBitmapRectGravatar reed@google.com2013-01-16
| | | | | | | add SkRect::isetWH() Review URL: https://codereview.appspot.com/7127045 git-svn-id: http://skia.googlecode.com/svn/trunk@7221 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7215 2bbb7eff-a529-9590-31e7-b0007b416f81
* Have drawBitmapRectToRect devolve to drawBitmap if it can (to avoid creatingGravatar reed@google.com2013-01-15
| | | | | | | | | a bitmap-shader, which is slower when the matrix is nearly translate-only). SK_IGNORE_DRAWBITMAPRECT_AS_DRAWBITMAP will disable this if needed. Review URL: https://codereview.appspot.com/7100058 git-svn-id: http://skia.googlecode.com/svn/trunk@7208 2bbb7eff-a529-9590-31e7-b0007b416f81
* Defining new color constat for transparent colorGravatar junov@google.com2012-12-06
| | | | | | Review URL: https://codereview.appspot.com/6901044 git-svn-id: http://skia.googlecode.com/svn/trunk@6696 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r5861 (remove gainfocus and setMatixClip) due to Chrome ↵Gravatar robertphillips@google.com2012-10-09
| | | | | | compilation issues git-svn-id: http://skia.googlecode.com/svn/trunk@5871 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove gainFocus() and setMatrixClip() virtuals from SkDevice.Gravatar bsalomon@google.com2012-10-09
| | | | | | | R=reed@google.com,robertphillips@google.com Review URL: https://codereview.appspot.com/6636050 git-svn-id: http://skia.googlecode.com/svn/trunk@5861 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-09-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5721 2bbb7eff-a529-9590-31e7-b0007b416f81
* allow chrome to use old drawBitmapRect beahvior for now, using ↵Gravatar reed@google.com2012-09-27
| | | | | | SK_SUPPORT_INT_SRCRECT_DRAWBITMAPRECT git-svn-id: http://skia.googlecode.com/svn/trunk@5710 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-09-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5678 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reimplement drawBitmapRectToRect to correctly handle fraction srcRect.Gravatar reed@google.com2012-09-25
| | | | | | | | | | | | | | | | | | | | | | | | The prev impl relied on drawBitmap "deducing" the destination rect by applying the computed matrix to the bitmap's bounds. This cannot be done if the srcRect is fractional, and therefore not representable w/ a bitmap. The new impl computes the same matrix, but calls down to the device via drawRect + a bitmap_shader. This allows us to specfiy the dstRect explicitly. The possible down-side is that we now rely on the device subclass to efficiently handle draRect+shader, instead of calling its drawBitmap entry-point. To give the device the chance to handle this differently, I now call through to a new device virtual: drawBitmapRect. The default impl is to create the shader and call drawRect, but a subclass can intercept that. For now, the GPU override of drawBitmapRect is mimicing the old behavior (by rounding the srcRect to an iRect). This preserves its ability to call drawBitmap which handles very-large textures, but shows some gittering/imprecision, due to the rounding. ... this is the same GPU behavior we have before this CL. Review URL: https://codereview.appspot.com/6542065 git-svn-id: http://skia.googlecode.com/svn/trunk@5663 2bbb7eff-a529-9590-31e7-b0007b416f81
* In which a series of things around attachToCanvas and writePixels are fixedGravatar bsalomon@google.com2012-08-29
| | | | | | | | Review URL: https://codereview.appspot.com/6506051/ git-svn-id: http://skia.googlecode.com/svn/trunk@5341 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add caching of the snapshot image form a surfaceGravatar reed@google.com2012-08-28
| | | | | | | | | Notify the surface when the canvas draws into it, so it can invalidate the cached image, and (if needed) perform a copy-on-write on the surface if it was being shared with the image. Review URL: https://codereview.appspot.com/6441115 git-svn-id: http://skia.googlecode.com/svn/trunk@5306 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added SkDevice onAttachToCanvas & onDetachFromCanvas methodsGravatar robertphillips@google.com2012-07-13
| | | | | | | | http://codereview.appspot.com/6348100/ git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
* idea: add annotation to SkPaintGravatar reed@google.com2012-07-11
| | | | | | Review URL: https://codereview.appspot.com/6355050 git-svn-id: http://skia.googlecode.com/svn/trunk@4555 2bbb7eff-a529-9590-31e7-b0007b416f81
* Expanded distribution of instance countingGravatar robertphillips@google.com2012-06-21
| | | | | | | | http://codereview.appspot.com/6300114/ git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
* apply imagefilter to all draw callsGravatar reed@google.com2012-03-23
| | | | | | Review URL: https://codereview.appspot.com/5856048 git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use nested template expansions to implement Config8888 conversions.Gravatar bsalomon@google.com2012-02-22
| | | | | | Review URL: https://codereview.appspot.com/5690068 git-svn-id: http://skia.googlecode.com/svn/trunk@3230 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing backing store access in SkDeferredCanvas.Gravatar junov@chromium.org2012-02-07
| | | | | | | | | | | | Chromium CL required for rolling skia DEPS past this change is posted here: https://chromiumcodereview.appspot.com/9341003/ BUG=http://code.google.com/p/skia/issues/detail?id=475 REVIEW=http://codereview.appspot.com/5626047/ TEST=DeferredCanvas unit test git-svn-id: http://skia.googlecode.com/svn/trunk@3147 2bbb7eff-a529-9590-31e7-b0007b416f81
* Formatting cleanup: remove extra whitespaceGravatar vandebo@chromium.org2012-01-28
| | | | | | | | Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/ Review URL: https://codereview.appspot.com/5594043 git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
* add allowImageFilter() so a device can allow/disallow filtersGravatar reed@google.com2012-01-06
| | | | | | | | (esp. for printing) git-svn-id: http://skia.googlecode.com/svn/trunk@2981 2bbb7eff-a529-9590-31e7-b0007b416f81
* add filterImage() entry-point to SkDevice, to allow it to specialize on ↵Gravatar reed@google.com2012-01-05
| | | | | | | | | | subclasses of SkImageFilter. If that returns false, then the filter itself is invoked. git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
* initial impl of SkImageFilters : virtual signature will change!Gravatar reed@google.com2011-12-20
| | | | | | | | Do not invest too much in other subclasses until this API solidifies. git-svn-id: http://skia.googlecode.com/svn/trunk@2903 2bbb7eff-a529-9590-31e7-b0007b416f81
* enable shadermask optimization all the timeGravatar reed@google.com2011-11-30
| | | | | | | | | update gm for shadermask fix bugs in lcd_blend math git-svn-id: http://skia.googlecode.com/svn/trunk@2761 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkXfermode::IsMode() and use that in SkDeviceGravatar mike@reedtribe.org2011-11-17
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2703 2bbb7eff-a529-9590-31e7-b0007b416f81
* disable reduced checks if we're not enabling fast shadermaskGravatar reed@google.com2011-11-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2692 2bbb7eff-a529-9590-31e7-b0007b416f81
* support blitMask+shader natively (1.75x faster for AA, and now we can supportGravatar reed@google.com2011-11-15
| | | | | | | | LCD at all with a shader.) git-svn-id: http://skia.googlecode.com/svn/trunk@2689 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add config8888 support to writePixelsGravatar bsalomon@google.com2011-11-10
| | | | | | | | Review URL: http://codereview.appspot.com/5374052/ git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update files to use SK_BUILD_FOR_ANDROID.Gravatar djsollen@google.com2011-11-08
| | | | | | | | This CL also removes any unecessary references to the ANDROID definition. Review URL: http://codereview.appspot.com/5354049 git-svn-id: http://skia.googlecode.com/svn/trunk@2629 2bbb7eff-a529-9590-31e7-b0007b416f81
* Override 32BPP format in SkCanvas::readPixelsGravatar bsalomon@google.com2011-11-03
| | | | | | | | Review URL: http://codereview.appspot.com/5330073/ git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkDevice::onReadPixels take a const& rather than const*Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
* Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | (gpu code doesn't work in general in fixed pt). git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2584 (new test fails in fixed pt builds)Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changes the SkCanvas::readPixels API. Allows caller to read into prealloced ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | | | | | bitmap pixels. Changes how clipping to device bounds is handled. Review URL: http://codereview.appspot.com/5307077/ git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't autoset forceaa (yet), but require the caller to do that. In the futureGravatar reed@google.com2011-09-30
| | | | | | | | | | we may add an explicit flag on Bitmap/Device which will say "disable LCD for me" in which case we would want to set the forceaa flag (meaning the caller wanted LCD, but we couldn't do it) git-svn-id: http://skia.googlecode.com/svn/trunk@2390 2bbb7eff-a529-9590-31e7-b0007b416f81
* disable auto-detection of non-opaque devices for LCD for nowGravatar reed@google.com2011-09-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2389 2bbb7eff-a529-9590-31e7-b0007b416f81
* Detect that we're drawing to a device that has per-pixel alpha, and if so,Gravatar reed@google.com2011-09-30
| | | | | | | | | | | disable LCD text. Add experimental flag to force AA in fontscaler (windows-only). Hope to remove this later. git-svn-id: http://skia.googlecode.com/svn/trunk@2387 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy useGravatar tomhudson@google.com2011-09-13
| | | | | | | | of those functions in a way we're not yet ready to clean up. git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replaces SkDevice::setMatrixClip() with markMatrixDirty() and markClipDirty(),Gravatar tomhudson@google.com2011-09-12
| | | | | | | | | | | which require no arguments and so may be called without requiring the matrix and clip to be completely evaluated. De-inlines virtual functions in SkDevice interface. git-svn-id: http://skia.googlecode.com/svn/trunk@2250 2bbb7eff-a529-9590-31e7-b0007b416f81