<?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>20647</bug_id>
          
          <creation_ts>2008-09-04 10:07:04 -0700</creation_ts>
          <short_desc>[CAIRO] clipToImageBuffer() needs to be implemented</short_desc>
          <delta_ts>2009-01-24 23:46:50 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>23526</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</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>90167</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-09-04 10:07:04 -0700</bug_when>
    <thetext>clipToImageBuffer() is needed for canvas texts and by RenderBox but misses an implementation on cairo/gtk.
The problem is the different functioning of Cg and Cairo on using mask&apos;s.
On Cg you apply the mask to the context and draw the masked object aferwards.
In Cairo you draw the masked object to the context and mask it with the mask afterwards.
Thats nearly the other way around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90174</commentid>
    <comment_count>1</comment_count>
      <attachid>23172</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-09-04 10:20:51 -0700</bug_when>
    <thetext>Created attachment 23172
Cairo clipToImageBuffer

Se it as a Proof-of-Concept. It works for canvas texts. Please give some 	food for thought to improve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106909</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-01-24 23:46:50 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of 23526 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23172</attachid>
            <date>2008-09-04 10:20:51 -0700</date>
            <delta_ts>2008-09-04 10:20:51 -0700</delta_ts>
            <desc>Cairo clipToImageBuffer</desc>
            <filename>Cairo-mask.patch</filename>
            <type>text/plain</type>
            <size>3644</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fp
cm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwCShyZXZpc2lvbiAzNjA2MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MTksMjkgKzQxOSw0OCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoKQog
ICAgICAgICByZXR1cm47CiAKICAgICBjYWlyb190KiBjciA9IG1fZGF0YS0+Y3I7Ci0gICAgY2Fp
cm9fc2F2ZShjcik7CiAKICAgICBjYWlyb19zZXRfZmlsbF9ydWxlKGNyLCBmaWxsUnVsZSgpID09
IFJVTEVfRVZFTk9ERCA/IENBSVJPX0ZJTExfUlVMRV9FVkVOX09ERCA6IENBSVJPX0ZJTExfUlVM
RV9XSU5ESU5HKTsKICAgICBzd2l0Y2ggKG1fY29tbW9uLT5zdGF0ZS5maWxsQ29sb3JTcGFjZSkg
ewogICAgIGNhc2UgU29saWRDb2xvclNwYWNlOgogICAgICAgICBpZiAoZmlsbENvbG9yKCkuYWxw
aGEoKSkgewogICAgICAgICAgICAgc2V0Q29sb3IoY3IsIGZpbGxDb2xvcigpKTsKLSAgICAgICAg
ICAgIGNhaXJvX2NsaXAoY3IpOwotICAgICAgICAgICAgY2Fpcm9fcGFpbnRfd2l0aF9hbHBoYShj
ciwgbV9kYXRhLT5nbG9iYWxBbHBoYSk7CisgICAgICAgICAgICBpZiAobV9kYXRhLT5pc01hc2sp
IHsKKyAgICAgICAgICAgICAgICBjYWlyb19tYXNrX3N1cmZhY2UoY3IsIG1fZGF0YS0+bV9tYXNr
LCBtX2RhdGEtPm1hc2tSZWN0LngoKSwgbV9kYXRhLT5tYXNrUmVjdC55KCkpOworICAgICAgICAg
ICAgICAgIG1fZGF0YS0+aXNNYXNrID0gZmFsc2U7CisgICAgICAgICAgICAgICAgY2Fpcm9fY2xp
cChjcik7IC8vbmVlZGVkIHRvIGNsZWFyIHRoZSBwYXRoCisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjYWlyb19jbGlwKGNyKTsKKyAgICAgICAgICAg
ICAgICBjYWlyb19wYWludF93aXRoX2FscGhhKGNyLCBtX2RhdGEtPmdsb2JhbEFscGhhKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIFBhdHRlcm5D
b2xvclNwYWNlOgogICAgICAgICBjYWlyb19zZXRfc291cmNlKGNyLCBtX2NvbW1vbi0+c3RhdGUu
ZmlsbFBhdHRlcm4uZ2V0KCktPmNyZWF0ZVBsYXRmb3JtUGF0dGVybihnZXRDVE0oKSkpOwotICAg
ICAgICBjYWlyb19jbGlwKGNyKTsKLSAgICAgICAgY2Fpcm9fcGFpbnRfd2l0aF9hbHBoYShjciwg
bV9kYXRhLT5nbG9iYWxBbHBoYSk7CisgICAgICAgIGlmIChtX2RhdGEtPmlzTWFzaykgeworICAg
ICAgICAgICAgY2Fpcm9fY2xpcChjcik7IC8vbmVlZGVkIHRvIGNsZWFyIHRoZSBwYXRoCisgICAg
ICAgICAgICBjYWlyb19tYXNrX3N1cmZhY2UoY3IsIG1fZGF0YS0+bV9tYXNrLCBtX2RhdGEtPm1h
c2tSZWN0LngoKSwgbV9kYXRhLT5tYXNrUmVjdC55KCkpOworICAgICAgICAgICAgbV9kYXRhLT5p
c01hc2sgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGNh
aXJvX2NsaXAoY3IpOworICAgICAgICAgICAgY2Fpcm9fcGFpbnRfd2l0aF9hbHBoYShjciwgbV9k
YXRhLT5nbG9iYWxBbHBoYSk7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBH
cmFkaWVudENvbG9yU3BhY2U6CiAgICAgICAgIGNhaXJvX3NldF9zb3VyY2UoY3IsIG1fY29tbW9u
LT5zdGF0ZS5maWxsR3JhZGllbnQuZ2V0KCktPnBsYXRmb3JtR3JhZGllbnQoKSk7Ci0gICAgICAg
IGNhaXJvX2NsaXAoY3IpOwotICAgICAgICBjYWlyb19wYWludF93aXRoX2FscGhhKGNyLCBtX2Rh
dGEtPmdsb2JhbEFscGhhKTsKKyAgICAgICAgaWYgKG1fZGF0YS0+aXNNYXNrKSB7CisgICAgICAg
ICAgICBjYWlyb19jbGlwKGNyKTsgLy9uZWVkZWQgdG8gY2xlYXIgdGhlIHBhdGgKKyAgICAgICAg
ICAgIGNhaXJvX21hc2tfc3VyZmFjZShjciwgbV9kYXRhLT5tX21hc2ssIG1fZGF0YS0+bWFza1Jl
Y3QueCgpLCBtX2RhdGEtPm1hc2tSZWN0LnkoKSk7CisgICAgICAgICAgICBtX2RhdGEtPmlzTWFz
ayA9IGZhbHNlOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2Fpcm9f
Y2xpcChjcik7CisgICAgICAgICAgICBjYWlyb19wYWludF93aXRoX2FscGhhKGNyLCBtX2RhdGEt
Pmdsb2JhbEFscGhhKTsKKyAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2Fp
cm9fcmVzdG9yZShjcik7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzdHJva2VQYXRoKCkK
QEAgLTcyMyw3ICs3NDIsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBUb0ltYWdlQnVm
ZmVyKAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9kYXRhLT5pc01hc2sgPSB0cnVlOworICAgIG1fZGF0
YS0+bV9tYXNrID0gaW1hZ2VCdWZmZXItPmltYWdlKCktPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZy
YW1lKCk7CisgICAgbV9kYXRhLT5tYXNrUmVjdCA9IHJlY3Q7CisvL2NhaXJvX3N1cmZhY2VfcmVm
ZXJlbmNlKG1fZGF0YS0+bV9tYXNrKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBs
YXRmb3JtU2hhZG93KEludFNpemUgY29uc3QmLCBpbnQsIENvbG9yIGNvbnN0JikKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlQ2Fpcm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNhaXJvLmgJKHJldmlzaW9uIDM2MDYzKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVDYWlyby5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAgKi8KIAog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogCiAj
aW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRlIDxtYXRoLmg+CkBAIC00NSw2ICs0Niw3IEBAIGNs
YXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CiBwdWJsaWM6CiAgICAgR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKCkKICAgICAgICAgOiBjcigwKQorICAgICAgICAsIGlz
TWFzayhmYWxzZSkKICAgICAgICAgLCBnbG9iYWxBbHBoYSgxLjBmKQogI2lmIFBMQVRGT1JNKEdU
SykKICAgICAgICAgLCBleHBvc2UoMCkKQEAgLTg4LDcgKzkwLDEwIEBAIHB1YmxpYzoKICNlbmRp
ZgogCiAgICAgY2Fpcm9fdCogY3I7CisgICAgYm9vbCBpc01hc2s7CiAgICAgZmxvYXQgZ2xvYmFs
QWxwaGE7CisgICAgY2Fpcm9fc3VyZmFjZV90KiBtX21hc2s7CisgICAgRmxvYXRSZWN0IG1hc2tS
ZWN0OwogICAgIFZlY3RvcjxmbG9hdD4gbGF5ZXJzOwogCiAjaWYgUExBVEZPUk0oR1RLKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>