FFI / Primitive question
Joshua Gargus
schwa at fastmail.us
Mon Jun 11 00:14:53 UTC 2007
Hi all,
I have a question about mixing FFI types with primitive invocations.
For my example, let's say that I want to pass a MacRect as a
primitive argument. The Slang method looks like:
primitiveFrobulate: macRect
| rectPtr |
self primitive: 'primitiveFrobulate' parameters: #(MacRect).
rectPtr := interpreterProxy firstIndexableField: macRect.
self stFrobMacRect: rectPtr
The function stFrobMacRect() is hand-written C-code that looks
something like:
void stFrobMacRect(int ptr)
{
Rect* rectPtr = (Rect*) ptr;
/* now, frobulate the rect */
}
This doesn't work (I don't see the expected values while
frobulating). What would be the right expression to write in the
Slang code to get a pointer to the Rect to pass to stFrobMacRect()?
Thanks,
Josh
More information about the Squeak-dev
mailing list
|