<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">Hello,</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">I really like the BallonMorph of Squeak (aka tooltip) and would like to port it to another programming language. But I’m a newbie in Smalltalk and Squeak so I’m having a hard time understanding e.g. the getVertices method. As far as I understand this method creates the vertices of the polygon that is the speech bubble?</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">It would really help me if someone could post this method in e.g. Java (my goal is to port BalloonMorph to Processing - see <a href="http://www.processing.org/"><span style="letter-spacing: 0px; color: rgb(2, 30, 170); ">http://www.processing.org/</span></a>) or give me some hints on how to read it.</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">Here is the method:</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">getVertices: bounds</span></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">        </span>"Construct vertices for a balloon up and to left of anchor"</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">        </span>| corners |</span></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">        </span>corners := bounds corners atAll: #(1 4 3 2).</span></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">        </span>^ (Array</span></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">                </span>with: corners first + (0 - bounds width // 2 @ 0)</span></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px"><span class="Apple-tab-span" style="white-space:pre">                </span>with: corners first + (0 - bounds width // 4 @ (bounds height // 2))) , corners</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">Thanks for helping,</span></div><div style="margin: 0px; font-size: 12px; min-height: 14px; "><span style="letter-spacing: 0.0px"></span><br></div><div style="margin: 0px; font-size: 12px; "><span style="letter-spacing: 0.0px">Werner Gaisbauer</span></div></body></html>