aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* Fonts with cubic outlines are rendered without ClearType by GDI.Gravatar bungeman@google.com2012-10-12
| | | | | | | https://codereview.appspot.com/6643060/ git-svn-id: http://skia.googlecode.com/svn/trunk@5929 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing SkDeferredCanvas to not consider paint as opaque when xfermode source ↵Gravatar junov@chromium.org2012-10-11
| | | | | | | | | | | | | coeff depends on destination pixel value TEST=DeferredCanvas unit test BUG=http://code.google.com/p/chromium/issues/detail?id=154748 git-svn-id: http://skia.googlecode.com/svn/trunk@5907 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a ↵Gravatar bsalomon@google.com2012-10-10
| | | | | | | | | partial revert of r5871 which reverted r5861). Unreviewed Review URL: https://codereview.appspot.com/6631062 git-svn-id: http://skia.googlecode.com/svn/trunk@5881 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
* Adding virtual method to SkDeferredCanvas::NotificationClient for signaling ↵Gravatar junov@google.com2012-10-01
| | | | | | | | | | when commands are skipped due to the skip on clear optimization. TEST=DeferredCanvas unit test BUG=http://code.google.com/p/chromium/issues/detail?id=116840 Review URL: https://codereview.appspot.com/6590050 git-svn-id: http://skia.googlecode.com/svn/trunk@5747 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove deprecated SkOSWindow_wxwidgets.hGravatar tfarina@chromium.org2012-09-27
| | | | | | | | | | It seems we never really supported WxWidgets. R=bsalomon@google.com Review URL: https://codereview.appspot.com/6569062 git-svn-id: http://skia.googlecode.com/svn/trunk@5708 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-09-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5705 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove uses of setBitmapDevice (DEPRECATED)Gravatar reed@google.com2012-09-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5689 2bbb7eff-a529-9590-31e7-b0007b416f81
* Suppress some warnings on linux.Gravatar bsalomon@google.com2012-09-26
| | | | | | | R=reed@google.com Review URL: https://codereview.appspot.com/6572046 git-svn-id: http://skia.googlecode.com/svn/trunk@5687 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make flattenables no longer depend on global static initializers.Gravatar scroggo@google.com2012-09-21
| | | | | | | | | | | | | | | | | Instead, force all builds to call InitializeFlattenables. Remove the make_debugger script, which was created to force rebuilding without global static initializers so that all flattenables would be linked. It is no longer necessary since all flattenables will be linked thanks to InitializeFlattenables, which now can (and must) be called when global static initializers are turned on. BUG=https://code.google.com/p/skia/issues/detail?id=903 BUG=https://code.google.com/p/skia/issues/detail?id=902 Review URL: https://codereview.appspot.com/6548044 git-svn-id: http://skia.googlecode.com/svn/trunk@5642 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding hasPendingCommands API method to SkDeferredCanvasGravatar junov@chromium.org2012-09-20
| | | | | | | BUG=http://code.google.com/p/chromium/issues/detail?id=146178 Review URL: https://codereview.appspot.com/6550050 git-svn-id: http://skia.googlecode.com/svn/trunk@5632 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing how deferred canvas purges itself when a clear is recoreded.Gravatar junov@chromium.org2012-09-20
| | | | | | | | | | | | | | | | | | | | | | This fixes performance because the old code was not reconstructing the clip state correctly. This was causing a major performance degradation in the Galactic IE testdrive demo. This fix also enbles the purge on clear optimization when there is saved state on the matrix/clip stack. The approach taken to solve the problem consists in purging by running the playback silently. The previous approach was tearing down and restarting the gpipe, which required reconstructing state, which is fragile and hard to do correctly, and has the side effect of clearing the bitmap heap and the flattened dictionary. Note: This CL is expected to slightly degrade performance of the deferred_canvas_record bench, which uses the skip on clear optimization. This is because a silent playback takes more time that just destroying the SkGPipe. Correctness trumps performance. BUG=http://code.google.com/p/chromium/issues/detail?id=146178 Review URL: https://codereview.appspot.com/6531048 git-svn-id: http://skia.googlecode.com/svn/trunk@5627 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding a silent playback option to SkGPipeReadGravatar junov@chromium.org2012-09-20
| | | | | | | | | | | Testing state consistency after silent playback in CanvasTest indirectly through SkDeferredCanvas. BUG=http://code.google.com/p/chromium/issues/detail?id=146178 TEST=CanvasTest unit test, and bench with --mode deferredSilent Review URL: https://codereview.appspot.com/6542047 git-svn-id: http://skia.googlecode.com/svn/trunk@5619 2bbb7eff-a529-9590-31e7-b0007b416f81
* first cut at making iOS workGravatar caryclark@google.com2012-09-20
| | | | | | | | | | | | | Replace __arm__ with SK_CPU_ARM add support for iOS simulator and device fix const warning in iOSSampleApp update gyp files https://code.google.com/p/skia/issues/detail?id=900 tracks fixing missing arm assembly Review URL: https://codereview.appspot.com/6552045 git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
* Renaming a couple methods in SkDeferredCanvas.cpp to improve readabilityGravatar junov@chromium.org2012-09-19
| | | | | | Review URL: https://codereview.appspot.com/6536060 git-svn-id: http://skia.googlecode.com/svn/trunk@5599 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-re-land 5578Gravatar reed@google.com2012-09-18
| | | | | | | | will follow w/ new .skp files to keep the waterfall green (I hope) git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 5580Gravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-land 5578 w/ pipe fixGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 5578 -- broke pipeGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. ThisGravatar reed@google.com2012-09-18
| | | | | | | | | | | | | | | | | | allows the client more control over the scaling. Because of virtual overrides and wanting to keep the old call-sites up and running, this CL renames the virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to a non-virtual helper function. The implementation is to use the float-rect for computing the matrix, but still cons-up an integer rect for the purposes of subsetting the original bitmap. We do this by calling float_src->roundOut(&int_src) so that we include all (partially) covered src pixels. No change needed on SkDevice, since that signature is explicitly passed the computed matrix. Review URL: https://codereview.appspot.com/6501140 git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5577 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed unused variable compiler complaintGravatar robertphillips@google.com2012-09-17
| | | | | | | | http://codereview.appspot.com/6496129/ git-svn-id: http://skia.googlecode.com/svn/trunk@5567 2bbb7eff-a529-9590-31e7-b0007b416f81
* Shut up some Mac (xcode 3) warningsGravatar bsalomon@google.com2012-09-05
| | | | | | | | Review URL: http://codereview.appspot.com/6503053/ git-svn-id: http://skia.googlecode.com/svn/trunk@5402 2bbb7eff-a529-9590-31e7-b0007b416f81
* add more details when dumping saveLayerGravatar reed@google.com2012-08-31
| | | | | | | | rework utilitiy toString() functions to always append, so they can be chained together git-svn-id: http://skia.googlecode.com/svn/trunk@5369 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 II of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6474054 git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
* Stop refcounting SkDeferredCanvas::NotificationClientGravatar junov@chromium.org2012-08-20
| | | | | | | | User code (i.e. WebKit) is now responsible for the lifetime scope of the notification client. With http://trac.webkit.org/changeset/125804 skia-side ref counting has become unnecessary and undesirable. Review URL: https://codereview.appspot.com/6443146 git-svn-id: http://skia.googlecode.com/svn/trunk@5169 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleaning up deprecated API in SkDeferredCanvasGravatar junov@chromium.org2012-08-17
| | | | | | Review URL: https://codereview.appspot.com/6461077 git-svn-id: http://skia.googlecode.com/svn/trunk@5152 2bbb7eff-a529-9590-31e7-b0007b416f81
* DirectWrite font host for skia.Gravatar bungeman@google.com2012-08-16
| | | | | | | https://codereview.appspot.com/5417063/ git-svn-id: http://skia.googlecode.com/svn/trunk@5128 2bbb7eff-a529-9590-31e7-b0007b416f81
* Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)Gravatar robertphillips@google.com2012-08-16
| | | | | | | | http://codereview.appspot.com/6453127/ git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing a deferred canvas optimization that purges pending draws when the ↵Gravatar junov@chromium.org2012-08-15
| | | | | | | | | | | | | | | | canvas is cleared It appears that the recording canvas returns a save count of 1 when the save stack is empty. In order to pass Canvas unit tests when a clear occurs, changes to SkGPipe were necessary to allow SkDeferredCanvas to set the device bounds on the SkGPipeCanvas. A positive side effect of this change is that graphics primitives that fall outside of the device bounds will now always be culled at the recording stage (as opposed playback). BUG=http://code.google.com/p/skia/issues/detail?id=782 TEST=deferred_canvas_record bench test Review URL: https://codereview.appspot.com/6454157 git-svn-id: http://skia.googlecode.com/svn/trunk@5117 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clean up most clang warnings outside animator/Gravatar tomhudson@google.com2012-08-14
| | | | | | | | http://codereview.appspot.com/6464058/ git-svn-id: http://skia.googlecode.com/svn/trunk@5079 2bbb7eff-a529-9590-31e7-b0007b416f81
* Augmenting SkDeferredCanvas notification interface to signal flushes and ↵Gravatar junov@chromium.org2012-08-14
| | | | | | | | | | | | memory allocations Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient BUG=http://code.google.com/p/chromium/issues/detail?id=136828 TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost. Review URL: https://codereview.appspot.com/6442108 git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
* Moving DeferredDevice and DeferredGPipeController classes out of the ↵Gravatar junov@chromium.org2012-08-07
| | | | | | | | deferred canvas API header Review URL: https://codereview.appspot.com/6449104 git-svn-id: http://skia.googlecode.com/svn/trunk@4989 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update SkFlattenable buffers to be more modular.Gravatar djsollen@google.com2012-08-07
| | | | | | | | | | | | | | | | | This CL is an effort to stage the conversion to named parameters for all SkFlattenable commands. This particular stage only does the following two things... 1. Move flattenable buffers from SkFlattenable.h into their own header. 2. Update and Add new read write methods for better clarity and convenience. BUG= Review URL: https://codereview.appspot.com/6448095 git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
* Style correction: sprinkling "this->" in SkDeferredCanvas.cppGravatar junov@chromium.org2012-08-07
| | | | | | Unreviewed. git-svn-id: http://skia.googlecode.com/svn/trunk@4976 2bbb7eff-a529-9590-31e7-b0007b416f81
* Removing the SkPicture backend from SkDeferredCanvas codeGravatar junov@chromium.org2012-08-07
| | | | | | Review URL: https://codereview.appspot.com/6446095 git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage ↵Gravatar junov@chromium.org2012-08-07
| | | | | | | | | externally BUG=http://code.google.com/p/chromium/issues/detail?id=136828 Review URL: https://codereview.appspot.com/6454102 git-svn-id: http://skia.googlecode.com/svn/trunk@4971 2bbb7eff-a529-9590-31e7-b0007b416f81
* Prevent deferred canvases from recording draw operations that use an SkPaint ↵Gravatar junov@chromium.org2012-07-31
| | | | | | | | | | | object that indirectly references a GPU resource. The specific case targeted by this patch is SkBitmapProcShaders that use an SkBitmap object that references a GPU texture. BUG=http://code.google.com/p/chromium/issues/detail?id=139204 Review URL: https://codereview.appspot.com/6447068 git-svn-id: http://skia.googlecode.com/svn/trunk@4871 2bbb7eff-a529-9590-31e7-b0007b416f81
* Always store pixels of mutable bitmaps when recording a SkPicture.Gravatar djsollen@google.com2012-07-27
| | | | | | | | | | | | | | | | | | | | | | | Prior to this CL mutable bitmaps only saved a copy of their pixels if a flag was set at recording time. That flag has been removed and the default behavior when recording a mutable bitmap is to make a copy of it's pixels. This is the only way to ensure that the pixels are not manipulated before we playback their contents. However, enabling this behavior breaks the recording of extracted bitmaps in SkPicture. This is because we currently cache bitmaps within a picture based only on their pixelRef. This results in false positive cache hit when drawing an extracted bitmap as it shares a pixelRef with its orginating bitmap. Therefore we must update the index of the bitmap cache to be both the pixelRef AND the size and offset of the bitmap using those pixels. BUG= TEST=extractbitmap.cpp Review URL: https://codereview.appspot.com/6439043 git-svn-id: http://skia.googlecode.com/svn/trunk@4809 2bbb7eff-a529-9590-31e7-b0007b416f81
* rename private animator type SkImage to SkImageBitmapBase, to avoid conflictsGravatar reed@google.com2012-07-27
| | | | | | | | with new public type SkImage git-svn-id: http://skia.googlecode.com/svn/trunk@4807 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.Gravatar scroggo@google.com2012-07-26
| | | | | | | | | | | SkGPipe now has a method to report how much memory is used for its shared heap. BUG=http://code.google.com/p/skia/issues/detail?id=738 TEST=DeferredCanvasTest Review URL: https://codereview.appspot.com/6445046 git-svn-id: http://skia.googlecode.com/svn/trunk@4791 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing canvas writePixels malfunctioning with SkDeferredCanvas with SkGPipe ↵Gravatar junov@chromium.org2012-07-25
| | | | | | | | | backend and GPU rendering BUG=http://code.google.com/p/chromium/issues/detail?id=138935 Review URL: https://codereview.appspot.com/6450045 git-svn-id: http://skia.googlecode.com/svn/trunk@4769 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactoring how SkDeferredCanvas manages mutable bitmapsGravatar junov@chromium.org2012-07-25
| | | | | | | | | | | | | This CL makes the SkGPipe flavor of SkDeferredCanvas properly decide whether to flush or record mutable bitmaps. The flushing is now managed by conditionally switching the canvas to non-deferred mode, which avoids an unnecessary transient copy of the bitmap. BUG=http://code.google.com/p/chromium/issues/detail?id=137884 TEST=DeferredCanvas unit test, sub test TestDeferredCanvasMemoryLimit Review URL: https://codereview.appspot.com/6421060 git-svn-id: http://skia.googlecode.com/svn/trunk@4756 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SkSfntUtils, as it is not longer used.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkSfntUtils should use public types.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix unbound memory consumption problem with run away deferred canvases.Gravatar junov@chromium.org2012-07-23
| | | | | | | | | | | | With this CL, deferred canvases will trigger a flush when then the memory allocated for recording commands (including flattened objects) exceeds 64MB. TEST=DeferredCanvas skia unit test, test step TestDeferredCanvasMemoryLimit BUG=http://code.google.com/p/chromium/issues/detail?id=137884 Review URL: https://codereview.appspot.com/6425053 git-svn-id: http://skia.googlecode.com/svn/trunk@4714 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactoring SkDeferredCanvas to use SkGPipe.Gravatar junov@chromium.org2012-07-18
| | | | | | | | | | Keeping the refactor hidden behind a config macro for now. TEST=covered by existing skia gm tests BUG=https://code.google.com/p/chromium/issues/detail?id=133432 Review URL: https://codereview.appspot.com/6405054 git-svn-id: http://skia.googlecode.com/svn/trunk@4656 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkPath::contains(x, y)Gravatar mike@reedtribe.org2012-07-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4526 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add an SK_PRINTF_LIKE macro, which declares a function to have printf-likeGravatar senorblanco@chromium.org2012-07-09
| | | | | | | | | | | | | semantics, allowing gcc and clang to check the format string against the arguments. Enable its use on SkString (printf, appendf, and prependf). Also define an SK_SIZE_T_SPECIFIER macro so there's a cross-platform way of printing a size_t. Review URL: http://codereview.appspot.com/6375043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4485 2bbb7eff-a529-9590-31e7-b0007b416f81