<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 3:12 PM Bert Freudenberg <<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(34,34,34)">On Tue, Oct 16, 2018 at 9:52 AM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:</span><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi All,<br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 9:45 AM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 9:34 AM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi All, clueless here...<div><br></div><div>    the Squeak 5.2 release notes state:</div><div><div>"Balloon</div><div>- Balloon primitive methods now return default values instead of failing if there is no plugin available</div><div>- ExternalForm from the EToys package has been added"</div><div>but there is no such class as ExternalForm n the image.  And I can't find the package.  Was it Graphics-External or FFI-External?  And where is it?</div></div></div></div></blockquote><div><br></div><div>Found it:</div><pre style="color:rgb(0,0,0);text-align:justify">MCHttpRepository location: '<a href="http://www.squeaksource.com/Balloon3D" target="_blank">http://www.squeaksource.com/Balloon3D</a>'</pre></div></div></div></div></div></blockquote><div><br></div><div>OK, now I'm really confused.  In <a href="http://www.squeaksource.com/Balloon3D" target="_blank">http://www.squeaksource.com/Balloon3D</a> there are three packages, Balloon3D-External from January 2009, Graphics-External from January 2009, and GraphicsExternal from April 2017.  All have null implementations of the surface functions, e.g.</div><div><br></div><div>ExternalScreen methods for primitives-forms</div><div><div>primAllocateForm: d width: w height: h</div><div><span class="m_-5307731505726344388gmail-m_2865525329419691975gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>"Primitive. Allocate a form with the given parameters"</div><div><span class="m_-5307731505726344388gmail-m_2865525329419691975gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>^nil</div></div><div><div>primDestroyForm: aHandle</div><div><span class="m_-5307731505726344388gmail-m_2865525329419691975gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>"Primitive. Destroy the form associated with the given handle."</div><div><span class="m_-5307731505726344388gmail-m_2865525329419691975gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>^nil</div></div><div><br></div><div>Where are the actual primitives for the SurfacePlugin (package & repository)?</div></div></div></div></div></div></div></div></div></div></blockquote><div><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">These are not needed anymore. An external form nowadays is a regular Form that has a SmallInteger as bits instead of a BitMap. When BitBlt sees that integer it treats it as a SurfacePlugin handle to fetch the actual bits. There is no direct interaction between the image and SurfacePlugin, that's why there are no primitives. Other plugins (e.g. Rome) use SurfacePlugin to make forms interact with BitBlt correctly.</div></div></div></div></blockquote><div><br></div><div>Doh!  Thanks.  Of course.  The only things that remain are the primitiveFooManualSurfaceBar primitives in the FFI plugin.  I should capture your message in some commentary somewhere in VMMaker.oscog.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">-  Bert -</div></div></div></div>
</blockquote></div><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>