[Vm-dev] Where is ExternalForm?

Bert Freudenberg bert at freudenbergs.de
Tue Oct 16 22:11:29 UTC 2018

On Tue, Oct 16, 2018 at 9:52 AM Eliot Miranda <eliot.miranda at gmail.com>

> Hi All,
> On Tue, Oct 16, 2018 at 9:45 AM Eliot Miranda <eliot.miranda at gmail.com>
> wrote:
>> On Tue, Oct 16, 2018 at 9:34 AM Eliot Miranda <eliot.miranda at gmail.com>
>> wrote:
>>> Hi All, clueless here...
>>>     the Squeak 5.2 release notes state:
>>> "Balloon
>>> - Balloon primitive methods now return default values instead of failing
>>> if there is no plugin available
>>> - ExternalForm from the EToys package has been added"
>>> 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?
>> Found it:
>> MCHttpRepository location: 'http://www.squeaksource.com/Balloon3D'
> OK, now I'm really confused.  In http://www.squeaksource.com/Balloon3D
> 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.
> ExternalScreen methods for primitives-forms
> primAllocateForm: d width: w height: h
> "Primitive. Allocate a form with the given parameters"
> ^nil
> primDestroyForm: aHandle
> "Primitive. Destroy the form associated with the given handle."
> ^nil
> Where are the actual primitives for the SurfacePlugin (package &
> repository)?

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.

-  Bert -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20181016/df78a409/attachment.html>

More information about the Vm-dev mailing list