Bug 6553 - Remove KCanvasCommonArgs and pass around RenderPath objects instead.
Summary: Remove KCanvasCommonArgs and pass around RenderPath objects instead.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P4 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 6447
Blocks: 6448 6564
  Show dependency treegraph
 
Reported: 2006-01-14 21:50 PST by Eric Seidel (no email)
Modified: 2006-01-15 12:03 PST (History)
1 user (show)

See Also:


Attachments
remove kcanvascommonargs (13.21 KB, patch)
2006-01-15 05:02 PST, Alexander Kellett
no flags Details | Formatted Diff | Diff
remove kcanvascommonargs (pass around only renderpath) (22.21 KB, patch)
2006-01-15 05:32 PST, Alexander Kellett
andersca: review-
Details | Formatted Diff | Diff
new patch based on suggestions from andersca (22.28 KB, patch)
2006-01-15 06:51 PST, Alexander Kellett
andersca: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2006-01-14 21:50:13 PST
KCanvas needs to be redesigned to fill & stroke at once

This is a continuation of 6447.

In the previous bug, Alexander made more progress removing crufty pieces of KCanvas (namely 
KCanvasRenderingStyle).  However a couple things remain:

1.  Update PaintServers to not paint directly, but rather have an apply(STROKE | FILL) method which 
applies their stoke/fill properties to the current context.
2.  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-15 05:02:29 PST
Created attachment 5693 [details]
remove kcanvascommonargs
Comment 2 Alexander Kellett 2006-01-15 05:32:22 PST
Created attachment 5694 [details]
remove kcanvascommonargs (pass around only renderpath)

new patch based on input from mjs
Comment 3 Anders Carlsson 2006-01-15 06:31:38 PST
Comment on attachment 5694 [details]
remove kcanvascommonargs (pass around only renderpath)

Patch looks great, a few minor comments though:

- for pointer types (such as RenderPath), the * should be next to the
identifier, not the type.
- The RenderPath parameter should really be const. This might require having to
modify other function declarations called by the different draw implementations
Comment 4 Alexander Kellett 2006-01-15 06:51:48 PST
Created attachment 5697 [details]
new patch based on suggestions from andersca
Comment 5 Anders Carlsson 2006-01-15 06:58:39 PST
Comment on attachment 5697 [details]
new patch based on suggestions from andersca

r=me