skia2/samplecode
Cary Clark 1ad81981b0 efficiently dash very large rectangles and very long lines
Speed up dashing when lines and rects are absurdly large.

Prior to this CL, only horizontal lines were detected.

The onOnceBeforeDraw changes are there to make debugging easier.

Also folded in a change to handle dashing of zero length lines.

R=reed@google.com, egdaniel@google.com
Bug: skia:7311
Change-Id: Ia16fb124c7a78a5cc639e612fae29c879a37da1a
Reviewed-on: https://skia-review.googlesource.com/84862
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-12-19 14:51:26 +00:00
..
ClockFaceView.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
DecodeFile.h use unique_ptr for codec factories 2017-07-25 15:35:23 +00:00
PerlinPatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
Sample2PtRadial.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleAAClip.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleAAGeometry.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleAARectModes.cpp Use SkBlendMode_Name rather than one-off tables 2017-03-15 16:52:49 +00:00
SampleAARects.cpp efficiently dash very large rectangles and very long lines 2017-12-19 14:51:26 +00:00
SampleAll.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleAndroidShadows.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleAnimatedText.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleAnimator.cpp SkFontData to use smart pointers. 2016-09-16 06:24:20 -07:00
SampleAnimBlur.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
SampleArc.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleAtlas.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleBigBlur.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
SampleBigGradient.cpp turn on extended Clang warnings on Windows too 2017-12-04 19:29:51 +00:00
SampleBitmapRect.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleBlur.cpp remove unneeded code for index8 imagse 2017-07-03 19:07:25 +00:00
SampleCamera.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleCCPRGeometry.cpp CCPR: Don't use instanced draw calls with geometry shaders 2017-12-11 17:27:38 +00:00
SampleChart.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleChineseFling.cpp resources: resource identifiers don't begin with leading slash 2017-12-08 20:03:18 +00:00
SampleCircle.cpp Factor code to rotate a canvas about a point. 2016-07-12 15:01:19 -07:00
SampleClamp.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleClip.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleClipDrawMatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleClock.cpp Add samples to Viewer. 2016-06-16 09:52:35 -07:00
SampleCode.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleCode.h Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleColorFilter.cpp remove xfermode from public api 2016-10-28 20:06:17 +00:00
SampleComplexClip.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleConcavePaths.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleCowboy.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleDash.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleDegenerateTwoPtRadials.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleDither.cpp efficiently dash very large rectangles and very long lines 2017-12-19 14:51:26 +00:00
SampleEffects.cpp Alloc glyph image correctly for SkMask::k3D_Format. 2017-11-14 17:38:34 +00:00
SampleEmboss.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SampleFatBits.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleFillType.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleFilter2.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleFilterFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleFilterQuality.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleFontCache.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleFontScalerTest.cpp Remove internal use of SkTypeface::Style. 2017-07-27 21:30:45 +00:00
SampleFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleGradients.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleHairCurves.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleHairline.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleHairModes.cpp Use SkBlendMode_Name rather than one-off tables 2017-03-15 16:52:49 +00:00
SampleHT.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleIdentityScale.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleLayerMask.cpp Revert "Revert "Reland: Remove SkLights include from SkCanvas.h"" 2017-05-03 19:17:11 +00:00
SampleLayers.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleLCD.cpp Rein in the use of SkDevice.h 2016-04-20 05:29:51 -07:00
SampleLines.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleLua.cpp Fix SampleLua build 2017-12-11 17:15:40 +00:00
SampleManyRects.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleMeasure.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleMegaStroke.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SamplePatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathClip.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathEffects.cpp begin to hide details of SkPathEffect 2017-02-26 18:36:11 +00:00
SamplePathFill.cpp stop using SkScalarMul 2017-02-14 19:45:24 +00:00
SamplePathFinder.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathOverstroke.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathText.cpp Add analytic clip FPs that read from the CCPR atlas 2017-12-05 18:06:18 +00:00
SamplePdfFileViewer.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SamplePoints.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SamplePolyToPoly.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleQuadStroker.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleRectanizer.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleRegion.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleRepeatTile.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShaders.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShaderText.cpp use Make instead of Create to return a shared shader 2016-03-08 18:50:00 -08:00
SampleShadowColor.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShadowReference.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleShadowUtils.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShip.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleSlides.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStringArt.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStrokePath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStrokeRect.cpp Rein in the use of SkDevice.h 2016-04-20 05:29:51 -07:00
SampleSubpixelTranslate.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleSVGFile.cpp Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
SampleSVGPong.cpp Fix SVGPong slide crash in Viewer 2017-12-03 01:15:32 +00:00
SampleText.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextAlpha.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextBox.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextOnPath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextureDomain.cpp hide lockpixels api behind flag 2017-04-17 15:33:36 +00:00
SampleTiling.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleUnpremul.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleVertices.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleWritePixels.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleXfer.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleXfermodesBlur.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
vertexdump.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00