aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkDraw.h
Commit message (Collapse)AuthorAge
* pass dst-rect through from drawBitmapRect for better precisionGravatar reed2014-12-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/797963002
* Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of ↵Gravatar fmalita2014-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/609223003/) Reason for revert: Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/) Original issue's description: > Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/) > > Reason for revert: > Breaking the Chrome builds with the error: > > [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions > [14:54:14.318022] virtual void drawPosText(const SkDraw& draw, > [14:54:14.318082] ^ > > Original issue's description: > > Fix SkTextBlob offset semantics. > > > > Implement proper x/y drawTextBlob() handling by plumbing a > > drawPosText() offset parameter (to act as an additional glyph pos > > translation) throughout the device layer. > > > > The new offset superceeds the existing constY, with a minor semantic > > tweak: whereas previous implementations were ignoring constY in 2D > > positioning mode (scalarsPerGlyph == 2), now the offset is always > > observed, in all positioning modes. We can do this because existing > > drawPosText() clients always pass constY == 0 for full positioning mode. > > > > R=reed@google.com, jvanverth@google.com, robertphillips@google.com > > > > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2 > > TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9 R=jvanverth@google.com, reed@google.com, bsalomon@google.com, robertphillips@google.com TBR=bsalomon@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/607413003
* Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of ↵Gravatar robertphillips2014-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/605533002/) Reason for revert: Breaking the Chrome builds with the error: [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions [14:54:14.318022] virtual void drawPosText(const SkDraw& draw, [14:54:14.318082] ^ Original issue's description: > Fix SkTextBlob offset semantics. > > Implement proper x/y drawTextBlob() handling by plumbing a > drawPosText() offset parameter (to act as an additional glyph pos > translation) throughout the device layer. > > The new offset superceeds the existing constY, with a minor semantic > tweak: whereas previous implementations were ignoring constY in 2D > positioning mode (scalarsPerGlyph == 2), now the offset is always > observed, in all positioning modes. We can do this because existing > drawPosText() clients always pass constY == 0 for full positioning mode. > > R=reed@google.com, jvanverth@google.com, robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2 R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/609223003
* Fix SkTextBlob offset semantics.Gravatar Florin Malita2014-09-26
| | | | | | | | | | | | | | | | Implement proper x/y drawTextBlob() handling by plumbing a drawPosText() offset parameter (to act as an additional glyph pos translation) throughout the device layer. The new offset superceeds the existing constY, with a minor semantic tweak: whereas previous implementations were ignoring constY in 2D positioning mode (scalarsPerGlyph == 2), now the offset is always observed, in all positioning modes. We can do this because existing drawPosText() clients always pass constY == 0 for full positioning mode. R=reed@google.com, jvanverth@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/605533002
* Allow custom blitters to be passed to SkDraw::drawPathGravatar krajcevski2014-08-06
| | | | | | | | R=reed@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/444003004
* remove SkBounder -- unused and unlovedGravatar reed2014-06-03
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/312553006
* Move distance field font code into GrDistanceFieldTextContext.Gravatar commit-bot@chromium.org2013-12-19
| | | | | | | | | | | | | | This avoids the SkDraw path and renders the distance field glyphs directly from GrDistanceFieldTextContext. It also disables LCD, subpixel and autohinting, and removes the supporting code when rendering DF fonts. R=reed@google.com, bsalomon@google.com, robertphillips@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/85653004 git-svn-id: http://skia.googlecode.com/svn/trunk@12770 2bbb7eff-a529-9590-31e7-b0007b416f81
* drawPosTextOnPath is now deprecated, removing all overrides and implsGravatar reed@google.com2013-11-13
| | | | | | | | | BUG= R=djsollen@google.com Review URL: https://codereview.chromium.org/61743017 git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add ability to ninepatch blurred rounded rectangleGravatar scroggo@google.com2013-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Speed up drawing large blurry round rectangles by converting them to nine patches. SkDraw: Add drawRRect. SkBitmapDevice: Call SkDraw::drawRRect instead of converting SkRRect to an SkPath. SkMaskFilter/SkBlurMaskFilter: Create a nine patch of a blurred round rect and draw it instead of drawing the entire thing. SkPDFDevice: Override drawRRect to perform the old behavior in SkBitmapDevice::drawRect. Depends on https://codereview.chromium.org/52703003 Tests are in https://codereview.chromium.org/52793005 BUG=https://b.corp.google.com/issue?id=11174385 R=reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/48623006 git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that ↵Gravatar reed@google.com2013-11-07
| | | | | | | | | | | | blits the path's coverage directly into an A8 target, regardless of the previous pixel values."" This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8. BUG= Review URL: https://codereview.chromium.org/50673005 git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "speed up A8 by creating a new entry-point in SkDraw that blits the ↵Gravatar reed@google.com2013-11-04
| | | | | | | | | | | | | | | | path's coverage directly into an A8 target, regardless of the previous pixel values." This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a. Revert "must initialize SkDraw.fClip" This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d. BUG= Review URL: https://codereview.chromium.org/57883006 git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
* speed up A8 by creating a new entry-point in SkDraw that blits the path's ↵Gravatar reed@google.com2013-11-04
| | | | | | | | | | coverage directly into an A8 target, regardless of the previous pixel values. R=bsalomon@google.com, mtklein@google.com Review URL: https://codereview.chromium.org/56453002 git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten ↵Gravatar commit-bot@chromium.org2013-10-14
| | | | | | | | | | | | | | | the path and the text when we have perspective. prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag add comments where we are supposed to flatten other features (paint, shaders, ... ) R=reed@google.com, bungeman@google.com, scroggo@google.com, vandebo@chromium.org, bsalomon@google.com Author: edisonn@google.com Review URL: https://codereview.chromium.org/24811002 git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice into SkBaseDevice and SkBitmapDeviceGravatar robertphillips@google.com2013-08-29
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get ↵Gravatar robertphillips@google.com2013-08-20
| | | | | | Chromium ready. git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice out of SkBitmapDeviceGravatar robertphillips@google.com2013-08-20
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-06-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9440 2bbb7eff-a529-9590-31e7-b0007b416f81
* add size limit for using glyphcache. above that, draw using pathsGravatar reed@google.com2013-06-04
| | | | | | | | | BUG= R=bungeman@google.com Review URL: https://codereview.chromium.org/16336024 git-svn-id: http://skia.googlecode.com/svn/trunk@9429 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkDraw.h #include cleanupGravatar tomhudson@google.com2013-04-03
| | | | | | | | | | | | Removal of SkAutoKern header was already done in r8495; this just lands the replacement of #includes with forward declarations for incremental compile speed. https://codereview.appspot.com/8109043/ git-svn-id: http://skia.googlecode.com/svn/trunk@8504 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused header declaration.Gravatar commit-bot@chromium.org2013-04-02
| | | | | | | | | | | | | BUG=1179 Author: djsollen@google.com Reviewed By: reed@google.com,tomhudson@chromium.org Review URL: https://chromiumcodereview.appspot.com/13097005 git-svn-id: http://skia.googlecode.com/svn/trunk@8495 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
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7385 2bbb7eff-a529-9590-31e7-b0007b416f81
* add optional cull-rect to patheffects, so they can do less work if their resultsGravatar reed@google.com2013-01-24
| | | | | | | lie outside of the current clip-bounds (the cull rect). Review URL: https://codereview.appspot.com/7206044 git-svn-id: http://skia.googlecode.com/svn/trunk@7378 2bbb7eff-a529-9590-31e7-b0007b416f81
* change SkMaskFilter methods to const, in preparation for making the class asGravatar reed@google.com2012-12-18
| | | | | | | immutable and re-entrant safe. Review URL: https://codereview.appspot.com/6944069 git-svn-id: http://skia.googlecode.com/svn/trunk@6881 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove external matrix feature.Gravatar bsalomon@google.com2012-10-08
| | | | | | | | | We haven't been testing this for nearly two years. R=reed@google.com Review URL: https://codereview.appspot.com/6640044 git-svn-id: http://skia.googlecode.com/svn/trunk@5857 2bbb7eff-a529-9590-31e7-b0007b416f81
* move SkTextToPathIter into private headerGravatar reed@google.com2012-08-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4977 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing the drawing of blurred shodows for hairline paths with software renderingGravatar junov@chromium.org2012-04-04
| | | | | | | | | BUG=http://code.google.com/p/chromium/issues/detail?id=121251 REVIEW=http://codereview.appspot.com/5981053/ git-svn-id: http://skia.googlecode.com/svn/trunk@3592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix scaling issue when drawing text on a path.Gravatar djsollen@google.com2012-03-20
| | | | | | | | If the paint is stroked and the font size is small we were incorrectly rendering the sample text. Review URL: https://codereview.appspot.com/5844060 git-svn-id: http://skia.googlecode.com/svn/trunk@3437 2bbb7eff-a529-9590-31e7-b0007b416f81
* have paint's measure calls respect verticalGravatar reed@google.com2011-11-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2660 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
* enable soft clipping (yikes)Gravatar reed@google.com2011-10-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* export SkDraw::ComputeRectType() and share that with SkGpuDeviceGravatar reed@google.com2011-04-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1055 2bbb7eff-a529-9590-31e7-b0007b416f81
* add dox for drawPath, describing how to interpret the prePathMatrix.Gravatar reed@google.com2011-03-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1006 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstreaming changes from android.Gravatar djsollen@google.com2011-03-14
| | | | | | | | | | - fix compile warnings in the GPU code - upstream android specific code (ifdef protected) - fail gracefully when a custom allocator fails git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
* add fClipStack optional field to SkDraw (it is always set by canvas)Gravatar reed@google.com2011-02-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@844 2bbb7eff-a529-9590-31e7-b0007b416f81
* merge with changes for GPU backendGravatar reed@android.com2010-12-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix SkDraw::validate to work with vector Devices.Gravatar vandebo@chromium.org2010-10-26
| | | | | | | | Vector devices don't have a (valid) fBitmap, so pass in width and height. Review URL: http://codereview.appspot.com/2718041 git-svn-id: http://skia.googlecode.com/svn/trunk@616 2bbb7eff-a529-9590-31e7-b0007b416f81
* first cut at event-based test appGravatar reed@android.com2008-12-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81