This stack object helper class calls finishContentEntry when it goes out of scope, maintains the current content entry, and manages the dst form xobject when it is needed. This can be made cleaner by moving the guts of SkPDFDevice into a core object, which can expose setUp/finishContentEntry as public, but that is left as a todo.
Review URL: http://codereview.appspot.com/4515126
git-svn-id: http://skia.googlecode.com/svn/trunk@1409 2bbb7eff-a529-9590-31e7-b0007b416f81
For Clear, Src, Dst/Src-In/Out, we have to consider the current clip, and
potentially draw Dst, clipped to the inverse of the current clip before
doing the operation of interest.
For clear or src, if we haven't drawn anything, or the clip is empty, there's
nothing to be done.
For Src/Dst-In/Out, if either is empty, the result is empty.
Review URL: http://codereview.appspot.com/4538082
git-svn-id: http://skia.googlecode.com/svn/trunk@1407 2bbb7eff-a529-9590-31e7-b0007b416f81
third_party/skia/src/ports/SkFontHost_FreeType.cpp:957:7:error: switch case is
in protected scope
default:
^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:918:17: note: jump bypasses
variable initialization
FT_BBox bbox;
^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:946:7:error: switch case is
in protected scope
case FT_GLYPH_FORMAT_BITMAP:
^
third_party/skia/src/ports/SkFontHost_FreeType.cpp:918:17: note: jump bypasses
variable initialization
FT_BBox bbox;
^
2 errors generated.
This is arguably a false positive, but since |bbox| can only safely be used in
the first case branch, it's a good idea to scope it to there anyway. This is
the only instance this warning occurs in all of chrome.
Review URL: http://codereview.appspot.com/4532081/
git-svn-id: http://skia.googlecode.com/svn/trunk@1402 2bbb7eff-a529-9590-31e7-b0007b416f81
calculation for Sk2DPathEffect currently evaluates all the bytes in the
embedded SkMatrix. This includes the type mask, which contains some
uninitialized padding. Changing it to use SkMatrix::flatten() and
SkMatrix::unflatten() (as SkGroupShape was doing) avoids the uninitialized
data errors.
Review URL: http://codereview.appspot.com/4529074/
git-svn-id: http://skia.googlecode.com/svn/trunk@1395 2bbb7eff-a529-9590-31e7-b0007b416f81
-Wall -Wextra and -Wno-unused in common.gypi. This revealed a lot of warnings
(and some actual bugs), all of which I fixed here. This is pretty mindless
stuff for the most part (order of intialization, missing initializers, && within
||, etc), but will allow us to build cleanly with -Wall and -Wextra (and
-Werror, if we so choose).
I put defaults into switches that were missing cases. I could put in the actual
missing enums instead if that's desired. I could also assert on missing enums
instead of break, if that's desired. I wasn't sure how to test the stuff in
"animator", so that should be looked at a bit more closely.
Review URL: http://codereview.appspot.com/4547055/
git-svn-id: http://skia.googlecode.com/svn/trunk@1386 2bbb7eff-a529-9590-31e7-b0007b416f81
edge AA polys, so we minimize state changes and GL calls. This requires
querying GL for the maximum number of fragment uniforms. It also makes the
shader generator produce custom shaders for the number of relevant edges.
This gives a ~5X speedup on the "Shapes" SampleApp.
Review URL: http://codereview.appspot.com/4536070/
git-svn-id: http://skia.googlecode.com/svn/trunk@1380 2bbb7eff-a529-9590-31e7-b0007b416f81
clients don't accidentally see them defined on some platforms when they only
include SkTypes.h, and not others.
git-svn-id: http://skia.googlecode.com/svn/trunk@1373 2bbb7eff-a529-9590-31e7-b0007b416f81