897c9937636c2287bb217c76da9a56afb43050ac |
|
20-Nov-2015 |
jvanverth <jvanverth@google.com> |
Pack and align SkStrokeRec to 4-byte boundary. The new key for the distance field path cache will contain an SkStrokeRec. This change guarantees that we don't have any hidden padding that has garbage values, thereby preventing apparently equal keys from hashing to two different values. This also has the nice effect of reducing the size of SkStrokeRec from 24 bytes to 16 bytes. Review URL: https://codereview.chromium.org/1465773003
/external/skia/src/core/SkStrokeRec.cpp
|
a76b7a3b04bc0e937921a1eb38d713c619e60e4e |
|
22-May-2015 |
caryclark <caryclark@google.com> |
remove SK_LEGACY_STROKE_CURVES The change in Chrome has been landed so this guard is no longer needed. R=reed@google.com,fmalita@chromium.org BUG=102411 Review URL: https://codereview.chromium.org/1157623003
/external/skia/src/core/SkStrokeRec.cpp
|
d156d36af871c23ce471a18764f4597f09cfca95 |
|
19-May-2015 |
kkinnunen <kkinnunen@nvidia.com> |
Make GrStrokeInfo inherit from SkStrokeRec Make the code more readable by inheriting GrStrokeInfo from SkStrokeRec. This should avoid the long .getStrokeRec() and .getStrokeRecPtr(). These were a bit cumbersome especially in cases where an alias variable was created for these, and then the reader had to keep track to which StrokeInfo member the StrokeRec alias was pointing. Removes SkStrokeRec::SkStrokeRec(const SkStrokeRec&). It was memcpying. Try to play it safe wrt compiler using the possible padding of superclass for subclass members. Instead, let the compiler generate the copy constructor. Assignment operator was already compiler-generated, so at least in that way this is consistent. Renames GrStrokeInfo::applyDash to applyDashToPath for consistency with superclass applyToPath. Review URL: https://codereview.chromium.org/1128113008
/external/skia/src/core/SkStrokeRec.cpp
|
1297ecfd1d1efaeee41153e491b160228ba4345a |
|
24-Feb-2015 |
caryclark <caryclark@google.com> |
flip stroke to chrome compatible define Review URL: https://codereview.chromium.org/932723003
/external/skia/src/core/SkStrokeRec.cpp
|
04e4d08556750ff6be4576a4cd4925964c63376f |
|
20-Feb-2015 |
caryclark <caryclark@google.com> |
This uses quad approximations of the outer and inner paths describing a stroke. Cubics and conics' thick strokes are approximated with quads as well. The approximation uses a similar error term as the fill scan converter to determine the number of quads to use. This also updates SampleApp QuadStroker test with conics, ovals, and stroked text. Review URL: https://codereview.chromium.org/932113002
/external/skia/src/core/SkStrokeRec.cpp
|
05d9044de4f1c6e791df66a425638752daac4c6b |
|
12-Feb-2015 |
reed <reed@google.com> |
optional res-scale parameter to getFillPath BUG=skia: NOTREECHECKS=True TBR= Review URL: https://codereview.chromium.org/911053005
/external/skia/src/core/SkStrokeRec.cpp
|
20b373cf3116905fc5ca1928c9b504851335ca43 |
|
01-Dec-2014 |
cdalton <cdalton@nvidia.com> |
Add color emoji fallback for nvpr text BUG=skia: Review URL: https://codereview.chromium.org/759613005
/external/skia/src/core/SkStrokeRec.cpp
|
feff7d2d7719f52c7ea52db156003e609002bf04 |
|
09-Oct-2014 |
caryclark <caryclark@google.com> |
Draw more accurate thick-stroked Beziers (disabled) Draw thick-stroked Beziers by computing the outset quadratic, measuring the error, and subdividing until the error is within a predetermined limit. To try this CL out, change src/core/SkStroke.h:18 to #define QUAD_STROKE_APPROXIMATION 1 or from the command line: CPPFLAGS="-D QUAD_STROKE_APPROXIMATION=1" ./gyp_skia Here's what's in this CL: bench/BezierBench.cpp : a microbench for examining where the time is going gm/beziers.cpp : random Beziers with various thicknesses gm/smallarc.cpp : a distillation of bug skia:2769 samplecode/SampleRotateCircles.cpp : controls added for error, limit, width src/core/SkStroke.cpp : the new stroke implementation (disabled) tests/StrokerTest.cpp : a stroke torture test that checks normal and extreme values The new stroke algorithm has a tweakable parameter: stroker.setError(1); (SkStrokeRec.cpp:112) The stroke error is the allowable gap between the midpoint of the stroke quadratic and the center Bezier. As the projection from the quadratic approaches the endpoints, the error is decreased proportionally so that it is always inside the quadratic curve. An overview of how this works: - For a given T range of a Bezier, compute the perpendiculars and find the points outset and inset for some radius. - Construct tangents for the quadratic stroke. - If the tangent don't intersect between them (may happen with cubics), subdivide. - If the quadratic stroke end points are close (again, may happen with cubics), draw a line between them. - Compute the quadratic formed by the intersecting tangents. - If the midpoint of the quadratic is close to the midpoint of the Bezier perpendicular, return the quadratic. - If the end of the stroke at the Bezier midpoint doesn't intersect the quad's bounds, subdivide. - Find where the Bezier midpoint ray intersects the quadratic. - If the intersection is too close to the quad's endpoints, subdivide. - If the error is large proportional to the intersection's distance to the quad's endpoints, subdivide. BUG=skia:723,skia:2769 Review URL: https://codereview.chromium.org/558163005
/external/skia/src/core/SkStrokeRec.cpp
|
e61c411c1258a323a010558c08de3d9f8d170dca |
|
12-Jun-2014 |
egdaniel <egdaniel@google.com> |
Use vertex attributes for dash effect in gpu This will allow us to batch dashed lines together when drawing. Also, this removes the need for a coord transform matrix in the shader, thus we save the cost of uploading a new matrix uniform everytime we do a simple transform to the dashed line we are drawing. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/326103002
/external/skia/src/core/SkStrokeRec.cpp
|
330313a8a8343876ee596da39da06a5d69badd9c |
|
22-Aug-2013 |
mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
My clang now doesn't complain about !"foo". BUG= R=robertphillips@google.com Review URL: https://codereview.chromium.org/22875037 git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkStrokeRec.cpp
|
e16efc1882ab34a0bb3ae361a2d37f840044cf87 |
|
26-Jan-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkStrokeRec.cpp
|
5f74cf8c49701f514b69dc6f1a8b5c0ffd78af0a |
|
17-Dec-2012 |
sugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Follow up on the previous patch : - Moved the SkStrokeRec class in its own file - Replaced SkStroke by SkStrokeRec in Ganesh - Moved path stroking to the Ganesh level in some cases (everytime it isn't required to do it directly in SkGpuDevice). PathEffect and MaskFilter still require path stroking at the SkGpuDevice for now. - Renamed static functions in SkPath with proper names * No functionality shold have changed with this patch. This is a step towards enabling Ganesh Path Renderers to decide whether or not to stroke the path rather than always receiving the stroked path as an input argument. BUG=chromium:135111 TEST=Try path rendering tests from the gm Review URL: https://codereview.appspot.com/6946072 git-svn-id: http://skia.googlecode.com/svn/trunk@6861 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkStrokeRec.cpp
|