Re: Found Bug But Not Sure How to Proceed To Fix
Bob Arning <[email protected]> Sat, 3 Mar 2018 16:28:07 -0500
| Newsgroups | gmane.comp.lang.smalltalk.squeak.squeakland |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------5CB21D6F1B6A5D573B383FC1 Content-Type: multipart/alternative; boundary="------------693E45028F14ED4FED328FBB" --------------693E45028F14ED4FED328FBB Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Attached is a hack to keep rotated rectangles (well, most anything rotated, but rectangles are were it really shows) all aligning as one might expect them. It basically assumes that the bounds have been expanded by 1 and scoots the drawing back to the top left when rotated by 90, 18 or 270. See if you like it. On 3/2/18 8:59 PM, Jeremy Landry wrote: > So far, with a little testing, everything lines up much better with .1 > instead of removing it. removing that offset still sees to make it > offset, but .1 lines everything up visually more...still not perfect, > but much less flagrant. It still has a clipping glitch (you can see > it with a rectangle when rotating: the border gets clipped off) but it > does visually appear more 'solid' and expected when aligning > rectangular shapes together. > > I'm going to keep experimenting to find something that keeps the > rotated bitmap in tact while still aligning properly. I feel like I > probably glanced at a method that needs an edit over and over but > haven't realized which one it is yet. I still need to look into the > cursor not being properly redrawn as well. I might be stretching or > trying to make a connection that isn't there, but something 'feels' > related to this and the cursor, like some common reference point is > being shifted so that the cursor's area for drawing doesn't reach the > left and bottom edges just like the origin doesn't reach the left and > bottom edges correctly for the this rotation issue. > > > > > > On Fri, Mar 2, 2018 at 5:37 PM, David T. Lewis <[email protected] > <mailto:[email protected]>> wrote: > > Does anything bad happen if the "expandBy: 1" is removed? I tried > removing it > in my Squeak trunk image, and "CompassDialMorph new openInWorld" > (which is one > user of TransformationMorph) seems to work nicely. > > And if the "expandBy: 1" is removed in an Etoys image, does > anything bad happen? > Does it fix the issue that Jeremy is seeing? > > This would be an easy thing to fix in Squeak trunk, which > hopefully will become > part of future Etoys releases, knock wood. > > Dave > > > On Fri, Mar 02, 2018 at 03:19:54PM -0500, Bob Arning wrote: > > TransformationMorph>>computeBounds > > ?????? self hasSubmorphs ifTrue: > > ?????? ?????? [bounds _ (transform localBoundsToGlobal: > > ?????? ?????? ?????? ?????? ?????? (Rectangle merging: > > ?????? ?????? ?????? ?????? ?????? ?????? (self submorphs > collect: [:m | m > > fullBounds]))) truncated > > ?????? ?????? ?????? ?????? expandBy: 1]. > > ?????? fullBounds _ bounds. > > > > Note the expandBy: 1 > > > > > > On 3/2/18 1:59 PM, Jeremy Landry wrote: > > >Actually to add a little more insight if possible, you can > create bug > > >with the following actions: > > > > > >make a new playfield > > >make 2 new rectangles and place them into the playfield. > > >Rotate one of them 90 degrees. > > >Turn gridding on in the playfield. > > > > > >The rotated and unscaled rectangle will not align with the > non-rotated > > >one with gridding.?? Something about making a bitmap copy is > offsetting > > >the values, my guess is there's a rounding problem that is popping up > > >on these objects, thus scale and rotation get offset for some > reason, > > >and specifically changes the origin by 1@-1 somewhere...it causes > > >graphical glitches leaving 'garbage' with playfield indicators when > > >the object that has the indicator is moved and also shows up with > > >rotated ellipses.?? What is the common thread through them > all??? What > > >method are they all accessing? > > > > > >On Fri, Mar 2, 2018 at 10:45 AM, Jeremy Landry > <[email protected] <mailto:[email protected]> > > ><mailto:[email protected] <mailto:[email protected]>>> wrote: > > > > > > You will also notice if you rotate any shape, it becomes a bit > > > map.?? Scale it and you will see that problem re-occur even > with > > > built-in objects.?? Could it be the masking offset, too??? that > > > causes this??? I'm still investigating, but I'm not sure how to > > > step through 'already working' things specifically related to what > > > I'm trying to look at. > > > > > > On Fri, Mar 2, 2018 at 10:42 AM, Jeremy Landry > <[email protected] <mailto:[email protected]> > > > <mailto:[email protected] <mailto:[email protected]>>> wrote: > > > > > > Hi, it only appears when scaling a morph.?? Here is > > > example...it is my belief (how does one step through code with > > > debugger if there's no bug happening?); > > > > > > Whatever code is common that scales morphs is being offset > > > incorrectly. The first image shows the 'garbage' left > behind > > > by playfield indicator if that option is set.?? It > seems it was > > > only tested in 'holders' and thus likely not picked up during > > > 'intended' use. > > > > > > Next, two pictures show scaling as where the misalignment > > > starts.?? This might be why you could not recreate bug; > > > resizing rectangle changes rectangle morph extent, whereas > > > scaling is a differnet piece of code and therefore > different > > > outcome. > > > > > > Image included.?? This works with *anything* scaled. > > > https://imgur.com/a/6zEWq > > > > > > On Fri, Mar 2, 2018 at 10:20 AM, Bob Arning > > > <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> wrote: > > > > > > I tried to recreate your example and could not. How did > > > you create the two morphs in your example? Are you > certain > > > the read/gray morph does not have some transparent > pixels > > > along the top and left? > > > > > > > > > On 3/2/18 12:50 PM, Jeremy Landry wrote: > > >> I did a little more digging, just for the > record...and it > > >> turns out it's scaling error.?? No matter what, > scaling > > >> offsets morphs by 1@-1.?? I'm still looking for > where this > > >> occurs and why.?? So far, injecting intentionally bad > > >> values into bordered morph and sketch classes hasn't > > >> produced any change.?? It 'feels' like most of > that code > > >> isn't even used, but then again, I might not have > > >> genuinely created a new object with that code and > system > > >> might have been giving me what was already in > system... > > >> > > >> > > >> On Fri, Mar 2, 2018 at 7:15 AM, Bert Freudenberg > > >> <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> wrote: > > >> > > >> That bug tracker is pretty much dead, since all > > >> ongoing development moved to squeak.org > <http://squeak.org> > > >> <http://squeak.org>. > > >> > > >> The plan was to make a new Etoys release based > on the > > >> latest Squeak source base, but we have not have > > >> enough developer time to make that actually > happen. > > >> > > >> - Bert - > > >> > > >> On 1 March 2018 at 06:03, Nicco Kunzmann (rambler) > > >> <[email protected] > <mailto:[email protected]> > > >> <mailto:[email protected] > <mailto:[email protected]>>> wrote: > > >> > > >> Hi, > > >> > > >> I found a bug tracker on the squeakland site: > > >> http://tracker.squeakland.org/secure/Dashboard.jspa > <http://tracker.squeakland.org/secure/Dashboard.jspa> > > >> > <http://tracker.squeakland.org/secure/Dashboard.jspa > <http://tracker.squeakland.org/secure/Dashboard.jspa>> > > >> > > >> I think, you can describe the problem > there as an > > >> issue and hand in the fix. > > >> They may also know how to guide you further if > > >> the code base is somewhere else. > > >> If you have problems there (login, no > response), > > >> I guess, this mailing list is one place to ask > > >> for help. > > >> > > >> Best, > > >> Nicco > > >> > > >> > > >> On 03/01/2018 03:34 AM, Jeremy Landry wrote: > > >>> Hi, while working on a project needing > precise > > >>> alignment of sketches/bitmaps and rectangles > > >>> using playfield 'use gridding', it seems that > > >>> there's a difference of detected origin. > > >>> > > >>> Here's a screenshot with magnifier > showing the > > >>> discrepency. > > >>> https://imgur.com/a/tcaRu > > >>> > > >>> I'm quite certain this bug is the one that > > >>> causes bad redrawing, especially when > showing a > > >>> cursor move when 'indicate cursor' is > activated > > >>> in a playfield. > > >>> > > >>> If I correct this bug inside of a > project, will > > >>> it load into an image where it has not been > > >>> fixed and be fixed? > > >>> > > >>> I haven't actually fixed the bug yet, but > didn't > > >>> want to waste time on it if the fix will not > > >>> travel with the project. > > >>> > > >>> Thanks in advance for any input. > > >>> > > >>> > > >>> _______________________________________________ > > >>> squeakland mailing list > > >>> squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > >>> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]>> > > >>> http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > >>> <http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland>> > > >> > > >> > > >> _______________________________________________ > > >> squeakland mailing list > > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]>> > > >> http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > >> <http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland>> > > >> > > >> > > >> > > >> _______________________________________________ > > >> squeakland mailing list > > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]>> > > >> http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > >> <http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland>> > > >> > > >> > > >> > > >> > > >> _______________________________________________ > > >> squeakland mailing list > > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]>> > > >> http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > >> <http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland>> > > > > > > > > > _______________________________________________ > > > squeakland mailing list > > > squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]>> > > > http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > > > <http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland>> > > > > > > > > > > > > > > > > > _______________________________________________ > > squeakland mailing list > > squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > > http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > _______________________________________________ > squeakland mailing list > squeakland-bD51WKytQuId/fn+uklp/[email protected] > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> > http://lists.squeakland.org/mailman/listinfo/squeakland > <http://lists.squeakland.org/mailman/listinfo/squeakland> > > > > > _______________________________________________ > squeakland mailing list > squeakland-bD51WKytQuId/fn+uklp/[email protected] > http://lists.squeakland.org/mailman/listinfo/squeakland --------------693E45028F14ED4FED328FBB Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body text="#000000" bgcolor="#FFFFFF"> <p><font face="Georgia">Attached is a hack to keep rotated rectangles (well, most anything rotated, but rectangles are were it really shows) all aligning as one might expect them. It basically assumes that the bounds have been expanded by 1 and scoots the drawing back to the top left when rotated by 90, 18 or 270. See if you like it.</font><br> </p> <br> <div class="moz-cite-prefix">On 3/2/18 8:59 PM, Jeremy Landry wrote:<br> </div> <blockquote type="cite" cite="mid:CAMYa41my9c1gfLPkdSY8XA2GFJBDO67yA1t8ih67d6o-xA7BHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org"> <div dir="ltr">So far, with a little testing, everything lines up much better with .1 instead of removing it. removing that offset still sees to make it offset, but .1 lines everything up visually more...still not perfect, but much less flagrant. It still has a clipping glitch (you can see it with a rectangle when rotating: the border gets clipped off) but it does visually appear more 'solid' and expected when aligning rectangular shapes together. <div><br> </div> <div>I'm going to keep experimenting to find something that keeps the rotated bitmap in tact while still aligning properly. I feel like I probably glanced at a method that needs an edit over and over but haven't realized which one it is yet. I still need to look into the cursor not being properly redrawn as well. I might be stretching or trying to make a connection that isn't there, but something 'feels' related to this and the cursor, like some common reference point is being shifted so that the cursor's area for drawing doesn't reach the left and bottom edges just like the origin doesn't reach the left and bottom edges correctly for the this rotation issue.</div> <div><br> </div> <div><br> </div> <div><br> </div> <div><br> </div> </div> <div class="gmail_extra"><br> <div class="gmail_quote">On Fri, Mar 2, 2018 at 5:37 PM, David T. Lewis <span dir="ltr"><<a href="mailto:[email protected]" target="_blank" moz-do-not-send="true">[email protected]</a>></span> wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Does anything bad happen if the "expandBy: 1" is removed? I tried removing it<br> in my Squeak trunk image, and "CompassDialMorph new openInWorld" (which is one<br> user of TransformationMorph) seems to work nicely.<br> <br> And if the "expandBy: 1" is removed in an Etoys image, does anything bad happen?<br> Does it fix the issue that Jeremy is seeing?<br> <br> This would be an easy thing to fix in Squeak trunk, which hopefully will become<br> part of future Etoys releases, knock wood.<br> <br> Dave<br> <br> <br> On Fri, Mar 02, 2018 at 03:19:54PM -0500, Bob Arning wrote:<br> > TransformationMorph>><wbr>computeBounds<br> > ?????? self hasSubmorphs ifTrue:<br> > ?????? ?????? [bounds _ (transform localBoundsToGlobal:<br> > ?????? ?????? ?????? ?????? ?????? (Rectangle merging:<br> > ?????? ?????? ?????? ?????? ?????? ?????? (self submorphs collect: [:m | m<br> > fullBounds]))) truncated<br> > ?????? ?????? ?????? ?????? expandBy: 1].<br> > ?????? fullBounds _ bounds.<br> <span class="">><br> > Note the expandBy: 1<br> ><br> ><br> > On 3/2/18 1:59 PM, Jeremy Landry wrote:<br> > >Actually to add a little more insight if possible, you can create bug<br> > >with the following actions:<br> > ><br> > >make a new playfield<br> > >make 2 new rectangles and place them into the playfield.<br> > >Rotate one of them 90 degrees.<br> > >Turn gridding on in the playfield.<br> > ><br> > >The rotated and unscaled rectangle will not align with the non-rotated<br> </span>> >one with gridding.?? Something about making a bitmap copy is offsetting<br> <span class="">> >the values, my guess is there's a rounding problem that is popping up<br> > >on these objects, thus scale and rotation get offset for some reason,<br> > >and specifically changes the origin by 1@-1 somewhere...it causes<br> > >graphical glitches leaving 'garbage' with playfield indicators when<br> > >the object that has the indicator is moved and also shows up with<br> </span>> >rotated ellipses.?? What is the common thread through them all??? What<br> <span class="">> >method are they all accessing?<br> > ><br> > >On Fri, Mar 2, 2018 at 10:45 AM, Jeremy Landry <<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a><br> </span><span class="">> ><mailto:<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a>>> wrote:<br> > ><br> > > You will also notice if you rotate any shape, it becomes a bit<br> </span>> > map.?? Scale it and you will see that problem re-occur even with<br> > > built-in objects.?? Could it be the masking offset, too??? that<br> > > causes this??? I'm still investigating, but I'm not sure how to<br> <span class="">> > step through 'already working' things specifically related to what<br> > > I'm trying to look at.<br> > ><br> > > On Fri, Mar 2, 2018 at 10:42 AM, Jeremy Landry <<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a><br> </span>> > <mailto:<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a>>> wrote:<br> > ><br> > > Hi, it only appears when scaling a morph.?? Here is<br> <span class="">> > example...it is my belief (how does one step through code with<br> > > debugger if there's no bug happening?);<br> > ><br> > > Whatever code is common that scales morphs is being offset<br> > > incorrectly. The first image shows the 'garbage' left behind<br> </span>> > by playfield indicator if that option is set.?? It seems it was<br> <span class="">> > only tested in 'holders' and thus likely not picked up during<br> > > 'intended' use.<br> > ><br> > > Next, two pictures show scaling as where the misalignment<br> </span>> > starts.?? This might be why you could not recreate bug;<br> <span class="">> > resizing rectangle changes rectangle morph extent, whereas<br> > > scaling is a differnet piece of code and therefore different<br> > > outcome.<br> > ><br> </span>> > Image included.?? This works with *anything* scaled.<br> <span class="">> > <a href="https://imgur.com/a/6zEWq" rel="noreferrer" target="_blank" moz-do-not-send="true">https://imgur.com/a/6zEWq</a><br> > ><br> > > On Fri, Mar 2, 2018 at 10:20 AM, Bob Arning<br> </span><span class="">> > <<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> <mailto:<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a>><wbr>> wrote:<br> > ><br> > > I tried to recreate your example and could not. How did<br> > > you create the two morphs in your example? Are you certain<br> > > the read/gray morph does not have some transparent pixels<br> > > along the top and left?<br> > ><br> > ><br> > > On 3/2/18 12:50 PM, Jeremy Landry wrote:<br> > >> I did a little more digging, just for the record...and it<br> </span>> >> turns out it's scaling error.?? No matter what, scaling<br> > >> offsets morphs by 1@-1.?? I'm still looking for where this<br> > >> occurs and why.?? So far, injecting intentionally bad<br> <span class="">> >> values into bordered morph and sketch classes hasn't<br> </span>> >> produced any change.?? It 'feels' like most of that code<br> <span class="">> >> isn't even used, but then again, I might not have<br> > >> genuinely created a new object with that code and system<br> > >> might have been giving me what was already in system...<br> > >><br> > >><br> > >> On Fri, Mar 2, 2018 at 7:15 AM, Bert Freudenberg<br> </span><span class="">> >> <<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a> <mailto:<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a>>> wrote:<br> > >><br> > >> That bug tracker is pretty much dead, since all<br> > >> ongoing development moved to <a href="http://squeak.org" rel="noreferrer" target="_blank" moz-do-not-send="true">squeak.org</a><br> </span>> >> <<a href="http://squeak.org" rel="noreferrer" target="_blank" moz-do-not-send="true">http://squeak.org</a>>.<br> <span class="">> >><br> > >> The plan was to make a new Etoys release based on the<br> > >> latest Squeak source base, but we have not have<br> > >> enough developer time to make that actually happen.<br> > >><br> > >> - Bert -<br> > >><br> > >> On 1 March 2018 at 06:03, Nicco Kunzmann (rambler)<br> > >> <<a href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a><br> </span> <div> <div class="h5">> >> <mailto:<a href="mailto:[email protected]" moz-do-not-send="true">niccokunzmann@rambler.<wbr>ru</a>>> wrote:<br> > >><br> > >> Hi,<br> > >><br> > >> I found a bug tracker on the squeakland site:<br> > >> <a href="http://tracker.squeakland.org/secure/Dashboard.jspa" rel="noreferrer" target="_blank" moz-do-not-send="true">http://tracker.squeakland.org/<wbr>secure/Dashboard.jspa</a><br> > >> <<a href="http://tracker.squeakland.org/secure/Dashboard.jspa" rel="noreferrer" target="_blank" moz-do-not-send="true">http://tracker.squeakland.<wbr>org/secure/Dashboard.jspa</a>><br> > >><br> > >> I think, you can describe the problem there as an<br> > >> issue and hand in the fix.<br> > >> They may also know how to guide you further if<br> > >> the code base is somewhere else.<br> > >> If you have problems there (login, no response),<br> > >> I guess, this mailing list is one place to ask<br> > >> for help.<br> > >><br> > >> Best,<br> > >> Nicco<br> > >><br> > >><br> > >> On 03/01/2018 03:34 AM, Jeremy Landry wrote:<br> > >>> Hi, while working on a project needing precise<br> > >>> alignment of sketches/bitmaps and rectangles<br> > >>> using playfield 'use gridding', it seems that<br> > >>> there's a difference of detected origin.<br> > >>><br> > >>> Here's a screenshot with magnifier showing the<br> > >>> discrepency.<br> > >>> <a href="https://imgur.com/a/tcaRu" rel="noreferrer" target="_blank" moz-do-not-send="true">https://imgur.com/a/tcaRu</a><br> > >>><br> > >>> I'm quite certain this bug is the one that<br> > >>> causes bad redrawing, especially when showing a<br> > >>> cursor move when 'indicate cursor' is activated<br> > >>> in a playfield.<br> > >>><br> > >>> If I correct this bug inside of a project, will<br> > >>> it load into an image where it has not been<br> > >>> fixed and be fixed?<br> > >>><br> > >>> I haven't actually fixed the bug yet, but didn't<br> > >>> want to waste time on it if the fix will not<br> > >>> travel with the project.<br> > >>><br> > >>> Thanks in advance for any input.<br> > >>><br> > >>><br> > >>> ______________________________<wbr>_________________<br> > >>> squeakland mailing list<br> > >>> <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> </div> </div> > >>> <mailto:<a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland@lists.<wbr>squeakland.org</a>><br> > >>> <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <span class="">> >>> <<a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a>><br> > >><br> > >><br> > >> ______________________________<wbr>_________________<br> > >> squeakland mailing list<br> > >> <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> </span>> >> <mailto:<a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland@lists.<wbr>squeakland.org</a>><br> > >> <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <span class="">> >> <<a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a>><br> > >><br> > >><br> > >><br> > >> ______________________________<wbr>_________________<br> > >> squeakland mailing list<br> > >> <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> </span>> >> <mailto:<a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland@lists.<wbr>squeakland.org</a>><br> > >> <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <span class="">> >> <<a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a>><br> > >><br> > >><br> > >><br> > >><br> > >> ______________________________<wbr>_________________<br> > >> squeakland mailing list<br> > >> <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> </span>> >> <mailto:<a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland@lists.<wbr>squeakland.org</a>><br> > >> <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <span class="">> >> <<a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a>><br> > ><br> > ><br> > > ______________________________<wbr>_________________<br> > > squeakland mailing list<br> > > <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> </span>> > <mailto:<a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland@lists.<wbr>squeakland.org</a>><br> > > <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <div class="HOEnZb"> <div class="h5">> > <<a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a>><br> > ><br> > ><br> > ><br> > ><br> ><br> <br> > ______________________________<wbr>_________________<br> > squeakland mailing list<br> > <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> > <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> <br> ______________________________<wbr>_________________<br> squeakland mailing list<br> <a href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" moz-do-not-send="true">squeakland-bD51WKytQuId/fn+uklp/uG/[email protected]<wbr>org</a><br> <a href="http://lists.squeakland.org/mailman/listinfo/squeakland" rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.squeakland.org/<wbr>mailman/listinfo/squeakland</a><br> </div> </div> </blockquote> </div> <br> </div> <br> <fieldset class="mimeAttachmentHeader"></fieldset> <br> <pre wrap="">_______________________________________________ squeakland mailing list <a class="moz-txt-link-abbreviated" href="mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]">squeakland-bD51WKytQuId/fn+uklp/[email protected]</a> <a class="moz-txt-link-freetext" href="http://lists.squeakland.org/mailman/listinfo/squeakland">http://lists.squeakland.org/mailman/listinfo/squeakland</a> </pre> </blockquote> <br> </body> </html> --------------693E45028F14ED4FED328FBB-- --------------5CB21D6F1B6A5D573B383FC1 Content-Type: text/plain; charset=UTF-8; x-mac-type="54455854"; x-mac-creator="522A6368"; name="FormCanvas-transformByclippingToduringsmoothing.st" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FormCanvas-transformByclippingToduringsmoothing.st" J0Zyb20gZXRveXM1LjAgb2YgMjkgTWFyY2ggMjAxMiBbbGF0ZXN0IHVwZGF0ZTogIzI0MDZd IG9uIDMgTWFyY2ggMjAxOCBhdCA0OjIxOjQwIHBtJyENDSFGb3JtQ2FudmFzIG1ldGhvZHNG b3I6ICdkcmF3aW5nLXN1cHBvcnQnIHN0YW1wOiAncmFhIDMvMy8yMDE4IDE2OjIwJyENdHJh bnNmb3JtQnk6IGFEaXNwbGF5VHJhbnNmb3JtIGNsaXBwaW5nVG86IGFDbGlwUmVjdCBkdXJp bmc6IGFCbG9jawkgc21vb3RoaW5nOiBjZWxsU2l6ZQ0NCSJOb3RlOiBUaGlzIG1ldGhvZCBo YXMgYmVlbiBvcmlnaW5hbGx5IGNvcGllZCBmcm9tIFRyYW5zZm9ybWF0aW9uTW9ycGguIg0J fCBpbm5lclJlY3QgcGF0Y2hSZWN0IHNvdXJjZVF1YWQgd2FycCBzdGFydCBzdWJDYW52YXMg fA0JKGFEaXNwbGF5VHJhbnNmb3JtIGlzUHVyZVRyYW5zbGF0aW9uKSBpZlRydWU6Ww0JCV5h QmxvY2sgdmFsdWU6IChzZWxmIGNvcHlPZmZzZXQ6IGFEaXNwbGF5VHJhbnNmb3JtIG9mZnNl dCBuZWdhdGVkIHRydW5jYXRlZA0JCQkJCQkJY2xpcFJlY3Q6IGFDbGlwUmVjdCkNCV0uDQki UHJlcGFyZSBhbiBhcHByb3ByaWF0ZSB3YXJwIGZyb20gcGF0Y2ggdG8gaW5uZXJSZWN0Ig0J aW5uZXJSZWN0IF8gYUNsaXBSZWN0Lg0JInNlbGYgZmlsbFJlY3RhbmdsZTogYUNsaXBSZWN0 IGNvbG9yOiBDb2xvciBtYWdlbnRhLiINCXBhdGNoUmVjdCBfIGFEaXNwbGF5VHJhbnNmb3Jt IGdsb2JhbEJvdW5kc1RvTG9jYWw6IGlubmVyUmVjdC4NCXNvdXJjZVF1YWQgXyAoYURpc3Bs YXlUcmFuc2Zvcm0gc291cmNlUXVhZEZvcjogaW5uZXJSZWN0KQ0JCQkJCWNvbGxlY3Q6IFs6 cCB8IHAgLSBwYXRjaFJlY3QgdG9wTGVmdF0uDQkoYURpc3BsYXlUcmFuc2Zvcm0gYW5nbGUg PSBGbG9hdCBwaSBvcjogW2FEaXNwbGF5VHJhbnNmb3JtIGFuZ2xlID0gRmxvYXQgcGkgbmVn YXRlZF0pIGlmVHJ1ZTogWw0JCXNvdXJjZVF1YWQgXyBzb3VyY2VRdWFkIGNvbGxlY3Q6IFsg OmUgfCAoZSB4IC0gMSkgQCAoZSB5IC0gMSldLg0JCWlubmVyUmVjdCBfIGlubmVyUmVjdCB0 cmFuc2xhdGVCeTogKDFAMSkgbmVnYXRlZC4NCV0uDQlhRGlzcGxheVRyYW5zZm9ybSBhbmds ZSA9IEZsb2F0IGhhbGZQaSBpZlRydWU6IFsNCQlzb3VyY2VRdWFkIF8gc291cmNlUXVhZCBj b2xsZWN0OiBbIDplIHwgKGUgeCAtIDEpIEAgKGUgeSApXS4NCQlpbm5lclJlY3QgXyBpbm5l clJlY3QgdHJhbnNsYXRlQnk6ICgxQDEpIG5lZ2F0ZWQuDQldLg0JYURpc3BsYXlUcmFuc2Zv cm0gYW5nbGUgPSBGbG9hdCBoYWxmUGkgbmVnYXRlZCBpZlRydWU6IFsNCQlzb3VyY2VRdWFk IF8gc291cmNlUXVhZCBjb2xsZWN0OiBbIDplIHwgKGUgeCApIEAgKGUgeSAtIDEpXS4NCQlp bm5lclJlY3QgXyBpbm5lclJlY3QgdHJhbnNsYXRlQnk6ICgxQDEpIG5lZ2F0ZWQuDQldLg0J d2FycCBfIHNlbGYgd2FycEZyb206IHNvdXJjZVF1YWQgdG9SZWN0OiBpbm5lclJlY3QuDQl3 YXJwIGNlbGxTaXplOiBjZWxsU2l6ZS4NDQkiUmVuZGVyIHRoZSBzdWJtb3JwaHMgdmlzaWJs ZSBpbiB0aGUgY2xpcHBpbmcgcmVjdGFuZ2xlLCBhcyBwYXRjaEZvcm0iDQlzdGFydCBfIChz ZWxmIGRlcHRoID0gMSBhbmQ6IFtzZWxmIGlzU2hhZG93RHJhd2luZyBub3RdKQ0JCSJJZiB0 aGlzIGlzIHRydWUgQiZXLCB0aGVuIHdlIG5lZWQgYSBmaXJzdCBwYXNzIGZvciBlcmFzdXJl LiINCQlpZlRydWU6IFsxXSBpZkZhbHNlOiBbMl0uDQlzdGFydCB0bzogMiBkbzoNCQlbOmkg fCAiSWYgaT0xIHdlIGZpcnN0IG1ha2UgYSBzaGFkb3cgYW5kIGVyYXNlIGl0IGZvciBvcGFx dWUgd2hpdGVzIGluIEImVyINCQlzdWJDYW52YXMgXyBzZWxmIGNsYXNzIGV4dGVudDogcGF0 Y2hSZWN0IGV4dGVudCBkZXB0aDogc2VsZiBkZXB0aC4NCQlpPTEJaWZUcnVlOiBbc3ViQ2Fu dmFzIHNoYWRvd0NvbG9yOiBDb2xvciBibGFjay4NCQkJCQl3YXJwIGNvbWJpbmF0aW9uUnVs ZTogRm9ybSBlcmFzZV0NCQkJaWZGYWxzZTogW3NlbGYgaXNTaGFkb3dEcmF3aW5nIGlmVHJ1 ZToNCQkJCQlbc3ViQ2FudmFzIHNoYWRvd0NvbG9yOiBzZWxmIHNoYWRvd0NvbG9yXS4NCQkJ CQl3YXJwIGNvbWJpbmF0aW9uUnVsZTogRm9ybSBwYWludF0uDQkJc3ViQ2FudmFzIHRyYW5z bGF0ZUJ5OiBwYXRjaFJlY3QgdG9wTGVmdCBuZWdhdGVkDQkJCWR1cmluZzpbOm9mZnNldENh bnZhc3wgYUJsb2NrIHZhbHVlOiBvZmZzZXRDYW52YXNdLg0JCXdhcnAgc291cmNlRm9ybTog c3ViQ2FudmFzIGZvcm07IHdhcnBCaXRzLg0JCXdhcnAgc291cmNlRm9ybTogbmlsLiAgc3Vi Q2FudmFzIF8gbmlsICJyZWxlYXNlIHNwYWNlIGZvciBuZXh0IGxvb3AiXQ0hICEN --------------5CB21D6F1B6A5D573B383FC1 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc3F1ZWFrbGFu ZCBtYWlsaW5nIGxpc3QKc3F1ZWFrbGFuZEBsaXN0cy5zcXVlYWtsYW5kLm9yZwpodHRwOi8vbGlz dHMuc3F1ZWFrbGFuZC5vcmcvbWFpbG1hbi9saXN0aW5mby9zcXVlYWtsYW5kCg== --------------5CB21D6F1B6A5D573B383FC1--