Commit Graph

2645 Commits

Author SHA1 Message Date
reed@google.com
21e0bc2045 add move-close-move and move-close-move-close to the "empty" paths to test
git-svn-id: http://skia.googlecode.com/svn/trunk@2921 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 20:26:01 +00:00
caryclark@google.com
5fbb4dc0a5 support vertical text and typeface-by-name on Leopard
M    src/ports/SkFontHost_mac_coretext.cpp
M    gyp/gmslides.gypi
A    gm/verttext2.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2920 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 20:06:30 +00:00
reed@google.com
ee068aae55 add unittest for invariants for empty paths, still need to think about
hairlines in those cases



git-svn-id: http://skia.googlecode.com/svn/trunk@2919 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 19:36:21 +00:00
schenney@chromium.org
e42b1d54bf Unreviewed. Adding a define to enable the old bahevior for SkPath::isEmpty.
Should be undone at some point, when WebKit no longer needs it.

git-svn-id: http://skia.googlecode.com/svn/trunk@2918 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 19:13:51 +00:00
reed@google.com
cf4b8181c9 declare IsVariationSelector to be inline, to fix warning
git-svn-id: http://skia.googlecode.com/svn/trunk@2917 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 16:31:23 +00:00
reed@google.com
bb47232dce preserve inverseness when stroking
git-svn-id: http://skia.googlecode.com/svn/trunk@2916 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 15:53:13 +00:00
reed@google.com
419f43348a add SkUnichar_IsVariationSelector()
git-svn-id: http://skia.googlecode.com/svn/trunk@2915 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 15:21:32 +00:00
tomhudson@google.com
ef279d36ca New gm to test anti-aliased clipping.
git-svn-id: http://skia.googlecode.com/svn/trunk@2914 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 14:27:14 +00:00
vandebo@chromium.org
020798af67 Coverity: Add a default case in SkPDFShader. CID=101159
Code from thestig@chromium.org original CL: http://codereview.appspot.com/5498052/

Review URL: http://codereview.appspot.com/5502052

git-svn-id: http://skia.googlecode.com/svn/trunk@2913 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 01:49:35 +00:00
schenney@chromium.org
73f3dedf59 Unreviewed. Fixing the Windows build, due to a non definition of M_PI.
git-svn-id: http://skia.googlecode.com/svn/trunk@2912 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 22:31:40 +00:00
schenney@chromium.org
45cbfdd535 Unreviewed changes to the gm tests for paths. Each test is broken into four
smaller images to avoid problems with XPS on Windows hanging on large images.

git-svn-id: http://skia.googlecode.com/svn/trunk@2911 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 21:48:14 +00:00
senorblanco@chromium.org
5b2d8b750b Disable colorfilter GM for now, since it causes Debug Fixed builds to assert.
Unreviewed; build fix.



git-svn-id: http://skia.googlecode.com/svn/trunk@2910 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 21:12:58 +00:00
senorblanco@chromium.org
e5ff3cefe0 Implement SkColorFilter::asColorMatrix() virtual, and override in
SkColorMatrixFilter.  Implement missing SkColorMatrixFilter::setMatrix() and
setArray() functions (were in .h, just not implemented).  Add a gm for color
matrix filters.

Review URL:  http://codereview.appspot.com/5500044/



git-svn-id: http://skia.googlecode.com/svn/trunk@2909 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:58:18 +00:00
caryclark@google.com
9d0c6ecb84 fix 'no static globals' for chromium
M    include/core/SkFlattenable.h
M    include/core/SkPixelRef.h
M    src/core/SkGraphics.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2908 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:26:56 +00:00
reed@google.com
1eb525e08b add baselines for macpro
git-svn-id: http://skia.googlecode.com/svn/trunk@2907 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:23:02 +00:00
caryclark@google.com
5d80f903cf fix vertical text on Lion
M    src/ports/SkFontHost_mac_coretext.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2906 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:06:37 +00:00
senorblanco@chromium.org
ae814c7476 A software implementation of the Gaussian blur filter, using 3 box blurs. Also
re-enable the imageblur GM test, since the SkPicture path now works.

Review URL:  http://codereview.appspot.com/5413048/



git-svn-id: http://skia.googlecode.com/svn/trunk@2905 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:02:19 +00:00
schenney@chromium.org
6c31d9d9b4 Fixing PathTest. It was always broken in the convexity test code due
to a failure to correctly use SkScalar.

git-svn-id: http://skia.googlecode.com/svn/trunk@2904 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 16:33:30 +00:00
reed@google.com
32d25b6f5f initial impl of SkImageFilters : virtual signature will change!
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
2011-12-20 16:19:00 +00:00
schenney@chromium.org
3287949868 Fixing the build for FIXED tests. PathTest was incorrect using "1" instead of "SK_Scalar1".
git-svn-id: http://skia.googlecode.com/svn/trunk@2902 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 15:33:11 +00:00
schenney@chromium.org
4da06ab335 Modifying SkPath to store all verbs provided by the user, and to give
correct results for all stroke and fill modes even on the various types
of degenerate paths.

The goals of this patch include:
1. Have Skia store all of the verbs implied by path construction methods, even
if those define degenerate paths. The SVG implementation in WebKit, which is
backed by Skia, needs to know about all elements of the path, even degenerate
ones, for the correct drawing of markers and line caps. For example, in SVG you
should be able to draw a scatter plot by specifying a marker for vertices and
then giving a sequence of moveTo commands. Skia will not store the moveTos,
requiring a different storage mechanism.

2. Assuming 1, maintain the current Skia behavior. That is, make Skia robust to
degenerate paths.

3. Fix an existing bug in Skia where a degenerate moveTo-lineTo pair spits out
warnings from rasterization and produces incorrect results in inverse-fill
renderings.

4. Adds extensive testing for degenerate paths and path rendering in general.

To meet these goals, the patch I am proposing will result in minor additional
storage for degenerate paths (a few bytes per degenerate path, only if the user
defines such paths). There is also some additional overhead in the iteration
code, with the path now cleaned to remove degenerate segments as part of the
iteration process. I suspect this will also fix issues with computing normal
vectors to degenerate segments. Benchmarking suggests that this change may
result in slightly (< 1%) slower path drawing due to the checks for
degeneracy. This overhead could be removed (in fact, a significant speedup
could occur) if the results of iterating to clean up the path were cached.
This would cost memory, of course, and quite a bit of it.

BUG=398
TEST=tests/PathTest.cpp
     gm/cubicpaths.cpp
     gm/degeneratesegments.cpp
     gm/movepaths.cpp
     gm/linepaths.cpp
     gm/quadpaths.cpp
Review URL: http://codereview.appspot.com/5482051

git-svn-id: http://skia.googlecode.com/svn/trunk@2901 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 15:14:18 +00:00
reed@google.com
263cb3a79c can't pass const to setPixels :(
git-svn-id: http://skia.googlecode.com/svn/trunk@2900 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 14:35:32 +00:00
epoger@google.com
7412282c84 whitespace change to tri
gger buildbots

git-svn-id: http://skia.googlecode.com/svn/trunk@2899 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 14:34:31 +00:00
reed@google.com
5213c04216 defer creating offscreen until our first draw (so our constructor runs fast)
git-svn-id: http://skia.googlecode.com/svn/trunk@2898 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 13:41:09 +00:00
epoger@google.com
20f7b61fd6 Commit base-macmini-lion-float gm baselines that are similar to those in base-macpro
Review URL: http://codereview.appspot.com/5491076

git-svn-id: http://skia.googlecode.com/svn/trunk@2897 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-19 20:26:22 +00:00
caryclark@google.com
8f3c44aeeb partial fix for vertical text on Lion
M    src/ports/SkFontHost_mac_coretext.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2896 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-19 16:09:26 +00:00
reed@google.com
24569b5bad sk_float_round isn't a function, so call this instead: sk_float_floor((x) + 0.5f)
git-svn-id: http://skia.googlecode.com/svn/trunk@2895 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:53:22 +00:00
reed@google.com
aaa41ed800 add baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@2894 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:48:49 +00:00
reed@google.com
467ed51fc2 add baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@2893 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:44:03 +00:00
epoger@google.com
baf204afc6 Delete temporary files I accidentally committed previously
git-svn-id: http://skia.googlecode.com/svn/trunk@2892 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:37:19 +00:00
reed@google.com
838e866289 remove obsolete printf
git-svn-id: http://skia.googlecode.com/svn/trunk@2891 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:34:11 +00:00
epoger@google.com
887531d97f GM baselines that we already had for SnowLeopard, and are identical in Lion.
Review URL: http://codereview.appspot.com/5489068

git-svn-id: http://skia.googlecode.com/svn/trunk@2890 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:26:32 +00:00
reed@google.com
538f784e3d change typeface::purgeall to not assume that the array is empty, as it may
contain typefaces that still are referenced.

change SkTypeface::UniqueID to internally hold onto a reference to the default
typeface, so that it will always be available if the font cache tries to resolve
it. Then general rule being: if we have a fontID specified by SkPaint, then its
associated typeface object must be alive.



git-svn-id: http://skia.googlecode.com/svn/trunk@2889 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 17:56:23 +00:00
caryclark@google.com
f86ab8472e cleanup font purging functions
M    include/core/SkGraphics.h
M    src/core/SkGraphics.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2887 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 17:11:17 +00:00
caryclark@google.com
9245498e40 fix debug comment
M    src/core/SkPixelRef.cpp
M    src/core/SkFlattenable.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@2886 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 16:54:07 +00:00
epoger@google.com
1b19d6b363 whitespace commit to trigger buildbots
git-svn-id: http://skia.googlecode.com/svn/trunk@2885 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 20:28:00 +00:00
junov@chromium.org
b052129a41 Exposing the isImmutable/setImmutable API of SkPixelRef in SkBitmap
REVIEW=http://codereview.appspot.com/5491055/



git-svn-id: http://skia.googlecode.com/svn/trunk@2883 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 20:14:06 +00:00
bsalomon@google.com
c315aeb480 GCC requires reinterpret_cast rather than static_cast to cast to privately inherited subclass
git-svn-id: http://skia.googlecode.com/svn/trunk@2882 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 19:51:05 +00:00
bsalomon@google.com
6b2445eb15 Make GrStencilState a class to enable future optimizations
Review URL: http://codereview.appspot.com/5492047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2881 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 19:47:46 +00:00
epoger@google.com
8c0aab1443 whitespace commit to trigger android buildbot
git-svn-id: http://skia.googlecode.com/svn/trunk@2880 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 18:43:40 +00:00
bsalomon@google.com
35ff38458b Compile time vertex layout masks
Review URL: http://codereview.appspot.com/5493049/


git-svn-id: http://skia.googlecode.com/svn/trunk@2878 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 16:58:19 +00:00
djsollen@google.com
62b24b1c80 Fix android build and cleanup references to SkMMapStream
Review URL: http://codereview.appspot.com/5489050

git-svn-id: http://skia.googlecode.com/svn/trunk@2877 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 16:16:22 +00:00
caryclark@google.com
d26147adbb add optional manual global initialization
M    include/effects/SkAvoidXfermode.h
M    include/effects/SkDiscretePathEffect.h
M    include/effects/Sk1DPathEffect.h
M    include/effects/Sk2DPathEffect.h
M    include/effects/SkBlurDrawLooper.h
M    include/effects/SkPixelXorXfermode.h
M    include/effects/SkDashPathEffect.h
M    include/effects/SkColorMatrixFilter.h
M    include/effects/SkEmbossMaskFilter.h
M    include/effects/SkLayerDrawLooper.h
M    include/effects/SkGroupShape.h
M    include/effects/SkBlurImageFilter.h
M    include/effects/SkRectShape.h
A    include/effects/SkEffects.h
M    include/effects/SkCornerPathEffect.h
M    include/effects/SkGradientShader.h
M    include/effects/SkBlurMaskFilter.h
M    include/effects/SkLayerRasterizer.h
M    include/core/SkMallocPixelRef.h
M    include/core/SkFlattenable.h
M    include/core/SkShape.h
M    include/core/SkPixelRef.h
M    include/core/SkGraphics.h
M    include/core/SkPathEffect.h
M    include/core/SkPostConfig.h
M    include/core/SkXfermode.h
M    include/core/SkColorFilter.h
M    include/images/SkFlipPixelRef.h
M    include/images/SkImageRef_GlobalPool.h
M    src/effects/SkDashPathEffect.cpp
M    src/effects/SkColorMatrixFilter.cpp
M    src/effects/SkBlurImageFilter.cpp
M    src/effects/SkGroupShape.cpp
M    src/effects/SkCornerPathEffect.cpp
M    src/effects/SkGradientShader.cpp
M    src/effects/SkBlurMaskFilter.cpp
M    src/effects/SkAvoidXfermode.cpp
M    src/effects/Sk2DPathEffect.cpp
M    src/effects/SkBlurDrawLooper.cpp
M    src/effects/SkPixelXorXfermode.cpp
M    src/effects/SkColorFilters.cpp
M    src/effects/SkLayerDrawLooper.cpp
M    src/effects/SkRectShape.cpp
A    src/effects/SkEffects.cpp
M    src/effects/SkLayerRasterizer.cpp
M    src/effects/SkDiscretePathEffect.cpp
M    src/effects/Sk1DPathEffect.cpp
A    src/effects/SkEffects_none.cpp
M    src/core/SkPixelRef.cpp
M    src/core/SkGraphics.cpp
M    src/core/SkFlattenable.cpp
M    src/core/SkBitmapProcShader.h
M    src/core/SkPathEffect.cpp
M    src/core/SkShape.cpp
M    src/core/SkXfermode.cpp
M    src/core/SkMallocPixelRef.cpp
M    src/core/SkBitmapProcShader.cpp
M    src/images/SkFlipPixelRef.cpp
M    src/images/SkImageRef_GlobalPool.cpp
A    src/ports/SkGlobalInitialization_chromium.cpp
M    src/ports/SkImageRef_ashmem.h
M    src/ports/SkImageRef_ashmem.cpp
A    src/ports/SkGlobalInitialization_default.cpp
M    gyp/effects.gyp
M    gyp/tools.gyp
M    gyp/ports.gyp



git-svn-id: http://skia.googlecode.com/svn/trunk@2876 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 14:16:43 +00:00
reed@google.com
7c2029367c add canvas::isDrawingToLayer(), as a fast query for chrome; faster than
setting up a drawiter and counting the layers.



git-svn-id: http://skia.googlecode.com/svn/trunk@2875 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 18:48:05 +00:00
caryclark@google.com
afcb55c8cb move ports into its own gyp file
git-svn-id: http://skia.googlecode.com/svn/trunk@2874 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 17:12:04 +00:00
bsalomon@google.com
88939aee05 Revert r2872
git-svn-id: http://skia.googlecode.com/svn/trunk@2873 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 15:58:11 +00:00
bsalomon@google.com
9a4c389258 two loops for setting stage descs
Review URL: http://codereview.appspot.com/5486054/


git-svn-id: http://skia.googlecode.com/svn/trunk@2872 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 15:34:33 +00:00
bsalomon@google.com
987dbc08d8 reset cpu shadow of vertex buffer to our usual vb size
Review URL: reset cpu shadow of vertex buffer to our usual vb size



git-svn-id: http://skia.googlecode.com/svn/trunk@2871 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 14:44:19 +00:00
bsalomon@google.com
40d9293b62 Skip flush functions for disabled stages
Review URL: http://codereview.appspot.com/5483061



git-svn-id: http://skia.googlecode.com/svn/trunk@2870 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-13 18:40:47 +00:00
bsalomon@google.com
508824bd4b Make null gl a top level config in bench
Review URL: http://codereview.appspot.com/5484052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2867 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-13 16:49:49 +00:00