Description[PDF] Refactor content stream creation in SkPDFDevice to support more xfermodes.
Instead of writing all drawing and state updates into the final content stream immediately, this change creates a new ContentEntry each time the transform, clip, or paint changes. Drawing is done into a stream in the ContentEntry. When the consumer asks for the content, we combine all the ContentEntries with appropriate updates to the state (clip, transform, paint) in between. This allows us to modify the clip even after a drawing has completed. It also lets us remove ContentEntries with no drawing. Further optimization can be done to better use the stack features of PDF, for now we follow the previous model of having a single clip followed by a single transform on the graphic state stack.
Push rectangle logic into SkPDFUtil::AppendRectangle.
Change private functions to adhere to coding standards.
Committed: http://code.google.com/p/skia/source/detail?r=1269
Patch Set 1 #Patch Set 2 : Pull SkClipStack changes into their own CL #
Total comments: 18
Patch Set 3 : Address comments #
Total comments: 24
Patch Set 4 : Address comments #
Total comments: 4
Patch Set 5 : Fix nits #Patch Set 6 : minor bug fix #
MessagesTotal messages: 11
|