[Vm-dev] Re: FFI syntax
Andreas Raab
andreas.raab at gmx.de
Sat Mar 26 12:51:50 UTC 2011
On 3/25/2011 13:39, Torsten Bergmann wrote:
> David followed an approach in Smallscript/S# where you were
> able (beside the usual Smalltalk syntax) to also use
> a C-Style syntax with braces directly within Smalltalk.
>
> User32::MessageBox(NULL,'Hello','World',0)
>
> was similar to
>
> User32::MessageBox: NULL with: 'Hello' with: 'World' with: 0
>
> Both worked and was accepted by the parser, although the first one
> looked heretic to most Smalltalkers since you can mix C/Smalltalk
> syntax the way you like.
We did the same for the OpenGL bindings. The main idea was that
transcribing OpenGL code from C to Croquet looked amazingly similar when
cascading, i.e.,
"draw a rectangle"
ogl
glVertex2f(0, 0);
glVertex2f(1, 0);
glVertex2f(1, 1);
glVertex2f(0, 1).
Cheers,
- Andreas
> So you just attached a DLL to a class
>
> Class name: OpenGLControl
> extends: UIControl
> dll: opengl32
> fields: context
>
> and you could write:
>
> onCustomDraw: facet
> |hdc| := thread activeCanvas hDC.
> ...
> glClear(GL_COLOR_BUFFER_BIT).
> glBegin(GL_TRIANGLES).
> glColor3ub(255, 0, 0).
> glVertex2i(0, 1).
> ...
>
> This was open/more familiar to people coming from C/C++ background
> or when converting C examples to Smalltalk.
>
> Bye
> T.
>
More information about the Vm-dev
mailing list