Bug 20973 - [Qt] SVG patterns are missing
Summary: [Qt] SVG patterns are missing
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Nobody
Keywords: Qt
Depends on:
Reported: 2008-09-21 11:33 PDT by Dirk Schulze
Modified: 2008-09-27 15:51 PDT (History)
0 users

See Also:

SVGPattern (4.02 KB, patch)
2008-09-21 11:37 PDT, Dirk Schulze
darin: review+
Details | Formatted Diff | Diff
SVGPattern (3.98 KB, patch)
2008-09-22 08:37 PDT, Dirk Schulze
eric: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schulze 2008-09-21 11:33:16 PDT
Qt lacks of SVG pattern support.
Comment 1 Dirk Schulze 2008-09-21 11:37:48 PDT
Created attachment 23629 [details]

This patch adds svg pattern support. Only texts are not supported (like on gradients).
Comment 2 Darin Adler 2008-09-21 13:44:05 PDT
Comment on attachment 23629 [details]

+    PassRefPtr<Pattern> pattern;
+    pattern = Pattern::create(tile()->image(), true, true);

This is an inefficient idiom. It's more efficient to initialize on the same line the variable is defined on. But also the local variable should be RefPtr, not PassRefPtr. See <http://webkit.org/coding/RefPtr.html> for guidelines.

+    QBrush brush(pattern.get()->createPlatformPattern(affine));

No need for the call to get() here. You can just use the -> operator normally with smart pointers.

r=me as-is, but I suggest making those two refinements.
Comment 3 Dirk Schulze 2008-09-22 08:37:04 PDT
Created attachment 23651 [details]

Forgot to add QPainter and changed PassRefPtr to RefPtr.
Comment 4 Eric Seidel (no email) 2008-09-22 13:25:34 PDT
Comment on attachment 23651 [details]

Comment 5 Holger Freyther 2008-09-27 15:51:34 PDT
Landed as r37006.