<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>24243</bug_id>
          
          <creation_ts>2009-02-27 12:04:05 -0800</creation_ts>
          <short_desc>[Qt] gradients and patterns for FontQt</short_desc>
          <delta_ts>2009-02-27 12:35:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>111512</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-02-27 12:04:05 -0800</bug_when>
    <thetext>We need support for gradients and patterns on FontQt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111513</commentid>
    <comment_count>1</comment_count>
      <attachid>28095</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-02-27 12:05:27 -0800</bug_when>
    <thetext>Created attachment 28095
patterns and gradients for Qt

This adds the support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111525</commentid>
    <comment_count>2</comment_count>
      <attachid>28095</attachid>
    <who name="Zack Rusin">zack</who>
    <bug_when>2009-02-27 12:27:29 -0800</bug_when>
    <thetext>Comment on attachment 28095
patterns and gradients for Qt

&gt; +    if (ctx-&gt;textDrawingMode() &amp; cTextStroke) {
&gt; +        if (ctx-&gt;strokeGradient()) {
&gt; +            QBrush brush(*ctx-&gt;strokeGradient()-&gt;platformGradient());
&gt; +            brush.setMatrix(ctx-&gt;strokeGradient()-&gt;gradientSpaceTransform());
&gt; +            p-&gt;setPen(QPen(brush, 0));
&gt; +        } else if (ctx-&gt;strokePattern()) {
&gt; +            TransformationMatrix affine;
&gt; +            p-&gt;setPen(QPen(QBrush(ctx-&gt;strokePattern()-&gt;createPlatformPattern(affine)), 0));
&gt; +        } else
&gt; +            p-&gt;setPen(QColor(ctx-&gt;strokeColor()));
&gt; +    }
&gt;  
&gt;      QString string = qstring(run);

I think it&apos;s good enough to go in, but the above section has to be prefixed with &quot;FIXME: stroking is currently not working or such&quot;. Basically the issue is that Qt doesn&apos;t support stroking of text per se. So what needs to be done is that it has to be emulated with a path as in:
if (ctx-&gt;textDrawingMode() &amp; cTextStroke) {
  QPainterPath path;
  path.addText(0, 0, currentFont, text);
  ...
  p-&gt;strokePath(path, theCorretPen);
}
Basically stroke the path constructed from the given text string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111528</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-02-27 12:35:59 -0800</bug_when>
    <thetext>landed in r41294.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28095</attachid>
            <date>2009-02-27 12:05:27 -0800</date>
            <delta_ts>2009-02-27 12:27:29 -0800</delta_ts>
            <desc>patterns and gradients for Qt</desc>
            <filename>qt.patch</filename>
            <type>text/plain</type>
            <size>2960</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTI5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDItMjcgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IGZvciBncmFkaWVudHMgYW5kIHBhdHRlcm4gb24gRm9udHMgZm9yIFF0LgorCisg
ICAgICAgIFtRdF0gZ3JhZGllbnRzIGFuZCBwYXR0ZXJucyBmb3IgRm9udFF0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDI0MworCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmRyYXdDb21wbGV4VGV4dCk6CisKIDIwMDktMDItMjcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFy
b25Abm9raWEuY29tPgogCiAgICAgICAgIEFkZGVkIGEgcmVmcmVzaCBidXR0b24gdG8gc3RvcmFn
ZSB2aWV3cy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAJKHJl
dmlzaW9uIDQxMjg3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIw
MDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgICAgQ29w
eXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgICAgQ29weXJpZ2h0
IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAg
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC0yNCwxMSArMjUsMTggQEAKICNpbmNsdWRlICJGb250RmFsbGJhY2tMaXN0LmgiCiAj
aW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCiAKKyNpbmNsdWRlICJHcmFkaWVudC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgPFFUZXh0TGF5b3V0PgotI2luY2x1ZGUg
PFFQYWludGVyPgotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlICJQYXR0ZXJuLmgi
CisjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKworI2luY2x1ZGUgPFFCcnVzaD4K
ICNpbmNsdWRlIDxRRm9udEluZm8+CisjaW5jbHVkZSA8UUZvbnRNZXRyaWNzPgorI2luY2x1ZGUg
PFFQYWludGVyPgorI2luY2x1ZGUgPFFQYWludGVyUGF0aD4KKyNpbmNsdWRlIDxRUGVuPgorI2lu
Y2x1ZGUgPFFUZXh0TGF5b3V0PgogI2luY2x1ZGUgPHFhbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8
cWRlYnVnLmg+CiAKQEAgLTcyLDggKzgwLDMwIEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0
KEdyYXBoaWNzQ29udGUKICAgICAgICAgdG8gPSBydW4ubGVuZ3RoKCk7CiAKICAgICBRUGFpbnRl
ciAqcCA9IGN0eC0+cGxhdGZvcm1Db250ZXh0KCk7Ci0gICAgQ29sb3IgY29sb3IgPSBjdHgtPmZp
bGxDb2xvcigpOwotICAgIHAtPnNldFBlbihRQ29sb3IoY29sb3IpKTsKKworICAgIGlmIChjdHgt
PnRleHREcmF3aW5nTW9kZSgpICYgY1RleHRGaWxsKSB7CisgICAgICAgIGlmIChjdHgtPmZpbGxH
cmFkaWVudCgpKSB7CisgICAgICAgICAgICBRQnJ1c2ggYnJ1c2goKmN0eC0+ZmlsbEdyYWRpZW50
KCktPnBsYXRmb3JtR3JhZGllbnQoKSk7CisgICAgICAgICAgICBicnVzaC5zZXRNYXRyaXgoY3R4
LT5maWxsR3JhZGllbnQoKS0+Z3JhZGllbnRTcGFjZVRyYW5zZm9ybSgpKTsKKyAgICAgICAgICAg
IHAtPnNldFBlbihRUGVuKGJydXNoLCAwKSk7CisgICAgICAgIH0gZWxzZSBpZiAoY3R4LT5maWxs
UGF0dGVybigpKSB7CisgICAgICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBhZmZpbmU7Cisg
ICAgICAgICAgICBwLT5zZXRQZW4oUVBlbihRQnJ1c2goY3R4LT5maWxsUGF0dGVybigpLT5jcmVh
dGVQbGF0Zm9ybVBhdHRlcm4oYWZmaW5lKSksIDApKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICBwLT5zZXRQZW4oUUNvbG9yKGN0eC0+ZmlsbENvbG9yKCkpKTsKKyAgICB9CisKKyAgICBp
ZiAoY3R4LT50ZXh0RHJhd2luZ01vZGUoKSAmIGNUZXh0U3Ryb2tlKSB7CisgICAgICAgIGlmIChj
dHgtPnN0cm9rZUdyYWRpZW50KCkpIHsKKyAgICAgICAgICAgIFFCcnVzaCBicnVzaCgqY3R4LT5z
dHJva2VHcmFkaWVudCgpLT5wbGF0Zm9ybUdyYWRpZW50KCkpOworICAgICAgICAgICAgYnJ1c2gu
c2V0TWF0cml4KGN0eC0+c3Ryb2tlR3JhZGllbnQoKS0+Z3JhZGllbnRTcGFjZVRyYW5zZm9ybSgp
KTsKKyAgICAgICAgICAgIHAtPnNldFBlbihRUGVuKGJydXNoLCAwKSk7CisgICAgICAgIH0gZWxz
ZSBpZiAoY3R4LT5zdHJva2VQYXR0ZXJuKCkpIHsKKyAgICAgICAgICAgIFRyYW5zZm9ybWF0aW9u
TWF0cml4IGFmZmluZTsKKyAgICAgICAgICAgIHAtPnNldFBlbihRUGVuKFFCcnVzaChjdHgtPnN0
cm9rZVBhdHRlcm4oKS0+Y3JlYXRlUGxhdGZvcm1QYXR0ZXJuKGFmZmluZSkpLCAwKSk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgcC0+c2V0UGVuKFFDb2xvcihjdHgtPnN0cm9rZUNvbG9y
KCkpKTsKKyAgICB9CiAKICAgICBRU3RyaW5nIHN0cmluZyA9IHFzdHJpbmcocnVuKTsKIAo=
</data>
<flag name="review"
          id="13711"
          type_id="1"
          status="+"
          setter="zack"
    />
          </attachment>
      

    </bug>

</bugzilla>