Bug 6447

Summary: KCanvas needs to be redesigned to fill & stroke at once
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P4    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Bug Depends on: 5748    
Bug Blocks: 6448, 6553    
Attachments:
Description Flags
second stage of refactor (leaks still)
none
remove m_style from kcanvasrenderingstyle and make used methods static
none
third version of patch, move the statics into a new class KSVGPainterFactory
none
updated patch against current svn eric: review+

Description Eric Seidel (no email) 2006-01-09 05:26:46 PST
KCanvas needs to be redesigned to fill & stroke at once

This is a continuation of 5748.

In the previous bug, Alexander made great progress at removing crufty pieces of KCanvas.  However 
several things remain:

1.  Completely remove KCanvasRenderingStyle (or at least remove all instance variables).
2.  Update PaintServers to not paint directly, but rather have an apply(STROKE | FILL) method which 
applies their stoke/fill properties to the current context.
3.  Change RenderPathQuartz to call CGContextDrawPath, and thus both stroke and fill a path in a 
single call (large perf. gain).
Comment 1 Alexander Kellett 2006-01-13 17:56:37 PST
Created attachment 5656 [details]
second stage of refactor (leaks still)
Comment 2 Alexander Kellett 2006-01-14 02:41:21 PST
Created attachment 5658 [details]
remove m_style from kcanvasrenderingstyle and make used methods static
Comment 3 Alexander Kellett 2006-01-14 04:52:22 PST
Created attachment 5665 [details]
third version of patch, move the statics into a new class KSVGPainterFactory
Comment 4 Alexander Kellett 2006-01-14 14:31:06 PST
Created attachment 5677 [details]
updated patch against current svn
Comment 5 Eric Seidel (no email) 2006-01-14 17:54:02 PST
Comment on attachment 5658 [details]
remove m_style from kcanvasrenderingstyle and make used methods static

Be sure to mark your old patches as no longer needing review when you mark new
ones for review.
Comment 6 Eric Seidel (no email) 2006-01-14 18:37:09 PST
Comment on attachment 5677 [details]
updated patch against current svn

This is good enough to land.  I removed the (now completely empty)
KCanvasRenderingStyle class while landing.