<div dir="ltr"><div dir="ltr">Hi Marcel (and others)<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 29, 2021 at 5:45 AM Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de">marcel.taeumel@hpi.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_6582126907377851581__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:rgb(0,0,0);text-align:left" dir="ltr"><br><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Well, for the sake of backwards compatibility, maybe you could do instead:</div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">1*) Improve GIFReadWriter while ensuring that the obviously public protocol stays functional. Empty out AnimatedGIFReadWriter but leave it there.</div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">2*) Improve AnimatedImageMorph while ensuring that the obviously public protocol stays functional. No new class BetterAnimatedImageMorph.</div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Regarding the process:</div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">- If single package: Inbox</div><div style="font-family:Arial,Helvetica,sans-serif;font-size:13px">- If multiple packages: Change set via squeak-dev</div></div></blockquote></div><div><br></div><div>After some wrangling between Squot and Changesets (yikes!), I was able to come up with the following changeset (attached).</div><div>  <br></div><div>Here is what I did:</div><div>1) Updated AnimatedImageMorph to have the new/updated functionality from BetterAnimatedImageMorph, while maintaining the same methods and deprecating as needed;</div><div>2) Added the classes needed for new GIF parsing</div><div>3) Updated GIFReadWriter to use the new parsing methods</div><div>4) Deprecated the AnimatedGIFReadWriter class using the technique of adding #deprecated: to #basicNew</div><div>5) I have added a GIFReadWriterTest class that tests both the regular and animated GIF reading/writing at the same time. There are issues (see below).</div><div>  <br></div><div>If you would like to quickly test that things are working, do the following in a workspace:</div><div>```</div><div>GIFReadWriter exampleAnim.<br>(AnimatedImageMorph new fromGIFFileNamed: 'anim.gif') openInHand.</div><div>```</div><div><br></div><div>You should see an animated, growing red circle on a while background. See the class method comment.</div><div><br></div><div>Note on tests: I copied the GIFReadWriterTest class over from my Pharo implementation with minimal (file api related) modification. The tests are not passing and the reason is a bit confusing. Here's what's up: in these tests I write out a Form that has different colors in each quadrant, read it back in, and make sure the color values are the same. But apparently in Squeak when you use `FormCanvas fillColor: Color black`, the color that is put into the Form is not, in fact, equivalent to Color black. It is instead something like rgb(0,0,0.04). Is this intentional? If so, do you recommend that I simply update the tests to match on this specific color?</div><div><br></div><div>This is my first submission via changeset so definitely let me know if I messed up. Thanks!<br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Eric</div></div></div></div>