<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>First of all. Mucho HUGE Gracias to those who pushed the mesh gradient stuff in. I've been waiting for this for a while. It is tres cool!</div><div><br></div><div>I'm playing a little with them in the updated 1.12.0 binding for Smalltalk and it's fun what you can do. I've had luck using them with ImageSurfaces. But not with a Quartz windows surface yet. BUT… that may be a side effect of the Smalltalk virtual machine, need to look into that some more. And it may be that it's because I'm using a binary that appears to have been just a bit before 1.12.0 was finally pushed out, so maybe there's an issue there.</div><div><br></div><div>What I did notice with ImageSurface and MeshGradient though, is that it doesn't seem to matter what I set using&nbsp;cairo_pattern_set_extend(), it's always just bound by the patch. Is that to be expected? Here's the code I used (it's Smalltalk, but I think the general jst there)</div><div><br></div><div><div>image := ImageSurface format: CairoFormat argb32 extent: 400 @ 400.</div><div>box := Point zero extent: image extent.</div><div>image newCairoContextWhile:&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>[:cr |</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>mesh := MeshGradient new.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>mesh patchWhile:&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>[mesh moveTo: box topCenter.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh lineTo: box rightCenter.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh lineTo: box bottomCenter.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh lineTo: box leftCenter.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>#(#red #green #blue #yellow)</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>keysAndValuesDo: [:index :name | mesh setCorner: index color: (ColorValue perform: name)].</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh setControlPoint: 1 point: box topLeft.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh setControlPoint: 2 point: box topRight.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh setControlPoint: 3 point: box bottomRight.</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>mesh setControlPoint: 4 point: box bottomLeft].</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>mesh extend: ExtendStyle pad. "&lt;&lt;&lt;&lt;---THIS LINE RIGHT HERE"</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>cr source: mesh.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>cr paint].</div><div>image writeToPng: '/Users/travis/Desktop/mesh.png'</div></div><div><br></div>That marked line, I've tried all 4 different ExtendStyles (reflect, none, pad, repeat), they all seem to basically do the same thing. I guess I naively expected, for example, that if I put repeat in there, it would tile my diamond (see attached output). Is it because the patches don't indicate an implicit symmetry whereby to apply the extending?<div><br><div apple-content-edited="true">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 18px; "><div><div><div>--</div><div>Travis Griggs</div><div>Objologist</div><div><div>"The best way to know you have a mind is to change it" -Judge Pierre Level</div></div></div></div><div><br></div><div><img height="400" width="400" apple-width="yes" apple-height="yes" id="aff438fd-c41b-4bf7-9d74-0488a6162f8d" src="cid:56AE3BD9-73D4-42B9-B523-7A27C0E00A51"></div><br></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br></div></body></html>