Revision: 3357 Author: eliot Date: 2015-05-26 10:24:44 -0700 (Tue, 26 May 2015) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.1325
Merge with Pharo (with VMMaker.oscog-EstebanLorenzano.1322). Changes are null to Squeak VM. Pulled in are conditionally compiled changes for directory & file creation (added ceration permissions) and to macro used to read image file (for iPhone).
Cogit: Fix PIC creation on ARM to jive with new pc-relative addressing support (addressIsInCurrentCompilation:).
Slang: Move comment containing method name from after opening brace to before function prototype, because otherwise it interferes with the var struct decl.
Move the specifics of NoDbgRegParms out of VMMaker.
Assume it is defined in the various sqPlatformSpecific.h (see r3356).
Modified Paths: -------------- branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c branches/Cog/nsspursrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c branches/Cog/nsspursrc/plugins/DSAPrims/DSAPrims.c branches/Cog/nsspursrc/plugins/DropPlugin/DropPlugin.c branches/Cog/nsspursrc/plugins/FileCopyPlugin/FileCopyPlugin.c branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c branches/Cog/nsspursrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c branches/Cog/nsspursrc/plugins/FloatMathPlugin/FloatMathPlugin.c branches/Cog/nsspursrc/plugins/IA32ABI/IA32ABI.c branches/Cog/nsspursrc/plugins/ImmX11Plugin/ImmX11Plugin.c branches/Cog/nsspursrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c branches/Cog/nsspursrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c branches/Cog/nsspursrc/plugins/SecurityPlugin/SecurityPlugin.c branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c branches/Cog/nsspursrc/plugins/SqueakSSL/SqueakSSL.c branches/Cog/nsspursrc/plugins/UUIDPlugin/UUIDPlugin.c branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c branches/Cog/nsspursrc/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c branches/Cog/nsspursrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.c branches/Cog/nsspursrc/vm/cogit.h branches/Cog/nsspursrc/vm/cogitARMv5.c branches/Cog/nsspursrc/vm/cogitIA32.c branches/Cog/nsspursrc/vm/cointerp.c branches/Cog/nsspursrc/vm/cointerp.h branches/Cog/nsspursrc/vm/gcc3x-cointerp.c branches/Cog/nsspurstack64src/vm/gcc3x-interp.c branches/Cog/nsspurstack64src/vm/interp.c branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c branches/Cog/nsspurstacksrc/vm/interp.c branches/Cog/spursistasrc/vm/cogit.h branches/Cog/spursistasrc/vm/cogitARMv5.c branches/Cog/spursistasrc/vm/cogitIA32.c branches/Cog/spursistasrc/vm/cointerp.c branches/Cog/spursistasrc/vm/cointerp.h branches/Cog/spursistasrc/vm/gcc3x-cointerp.c branches/Cog/spursrc/vm/cogit.h branches/Cog/spursrc/vm/cogitARMv5.c branches/Cog/spursrc/vm/cogitIA32.c branches/Cog/spursrc/vm/cointerp.c branches/Cog/spursrc/vm/cointerp.h branches/Cog/spursrc/vm/gcc3x-cointerp.c branches/Cog/spurstack64src/vm/gcc3x-interp.c branches/Cog/spurstack64src/vm/interp.c branches/Cog/spurstacksrc/vm/gcc3x-interp.c branches/Cog/spurstacksrc/vm/interp.c branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c branches/Cog/src/plugins/AioPlugin/AioPlugin.c branches/Cog/src/plugins/AsynchFilePlugin/AsynchFilePlugin.c branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c branches/Cog/src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c branches/Cog/src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c branches/Cog/src/plugins/BochsIA32Plugin/BochsIA32Plugin.c branches/Cog/src/plugins/CameraPlugin/CameraPlugin.c branches/Cog/src/plugins/CroquetPlugin/CroquetPlugin.c branches/Cog/src/plugins/DSAPrims/DSAPrims.c branches/Cog/src/plugins/DropPlugin/DropPlugin.c branches/Cog/src/plugins/FFTPlugin/FFTPlugin.c branches/Cog/src/plugins/FileCopyPlugin/FileCopyPlugin.c branches/Cog/src/plugins/FilePlugin/FilePlugin.c branches/Cog/src/plugins/FloatArrayPlugin/FloatArrayPlugin.c branches/Cog/src/plugins/FloatMathPlugin/FloatMathPlugin.c branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c branches/Cog/src/plugins/HostWindowPlugin/HostWindowPlugin.c branches/Cog/src/plugins/IA32ABI/IA32ABI.c branches/Cog/src/plugins/ImmX11Plugin/ImmX11Plugin.c branches/Cog/src/plugins/InternetConfigPlugin/InternetConfigPlugin.c branches/Cog/src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c branches/Cog/src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c branches/Cog/src/plugins/Klatt/Klatt.c branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c branches/Cog/src/plugins/LocalePlugin/LocalePlugin.c branches/Cog/src/plugins/MIDIPlugin/MIDIPlugin.c branches/Cog/src/plugins/MacMenubarPlugin/MacMenubarPlugin.c branches/Cog/src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c branches/Cog/src/plugins/QuicktimePlugin/QuicktimePlugin.c branches/Cog/src/plugins/RePlugin/RePlugin.c branches/Cog/src/plugins/ScratchPlugin/ScratchPlugin.c branches/Cog/src/plugins/SecurityPlugin/SecurityPlugin.c branches/Cog/src/plugins/SerialPlugin/SerialPlugin.c branches/Cog/src/plugins/SocketPlugin/SocketPlugin.c branches/Cog/src/plugins/SoundCodecPrims/SoundCodecPrims.c branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c branches/Cog/src/plugins/SoundPlugin/SoundPlugin.c branches/Cog/src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c branches/Cog/src/plugins/SqueakFFIPrims/IA32FFIPlugin.c branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c branches/Cog/src/plugins/StarSqueakPlugin/StarSqueakPlugin.c branches/Cog/src/plugins/UUIDPlugin/UUIDPlugin.c branches/Cog/src/plugins/UnicodePlugin/UnicodePlugin.c branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c branches/Cog/src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c branches/Cog/src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c branches/Cog/src/plugins/WeDoPlugin/WeDoPlugin.c branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c branches/Cog/src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c branches/Cog/src/plugins/ZipPlugin/ZipPlugin.c branches/Cog/src/vm/cogit.h branches/Cog/src/vm/cogitARMv5.c branches/Cog/src/vm/cogitIA32.c branches/Cog/src/vm/cointerp.c branches/Cog/src/vm/cointerp.h branches/Cog/src/vm/cointerpmt.c branches/Cog/src/vm/cointerpmt.h branches/Cog/src/vm/gcc3x-cointerp.c branches/Cog/src/vm/gcc3x-cointerpmt.c branches/Cog/stacksrc/vm/gcc3x-interp.c branches/Cog/stacksrc/vm/interp.c
Property Changed: ---------------- branches/Cog/build.macos32x86/newspeak.cog.spur/installer/ branches/Cog/build.macos32x86/squeak.cog.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj/ branches/Cog/build.macos32x86/squeak.cog.v3/GdbARMPlugin/GdbARMPlugin.xcodeproj/ branches/Cog/build.macos32x86/squeak.sista.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj/ branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Property changes on: branches/Cog/build.macos32x86/newspeak.cog.spur/installer ___________________________________________________________________ Added: svn:ignore + *.dmg
Property changes on: branches/Cog/build.macos32x86/squeak.cog.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj ___________________________________________________________________ Added: svn:ignore + *.pbxuser *.mode*
Property changes on: branches/Cog/build.macos32x86/squeak.cog.v3/GdbARMPlugin/GdbARMPlugin.xcodeproj ___________________________________________________________________ Added: svn:ignore + *.pbxuser *.mode*
Property changes on: branches/Cog/build.macos32x86/squeak.sista.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj ___________________________________________________________________ Added: svn:ignore + *.pbxuser *.mode*
Modified: branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c =================================================================== --- branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c 2015-05-24 02:03:15 UTC (rev 3356) +++ branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c 2015-05-26 17:24:44 UTC (rev 3357) @@ -1,5 +1,5 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec + VMPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 from UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.18 uuid: c426ab70-05a2-43a1-a899-e324aaf8f92f */ @@ -135,6 +135,7 @@ #primitiveAioHandle. */
+ /* UnixAioPlugin>>#aioForward:withData:andFlags: */ static void aioForwardwithDataandFlags(int fd, void *data, int flags) { @@ -154,6 +155,7 @@ */ /* return type should be int, but skip the declaration to permit inlining */
+ /* AioPlugin>>#fileDescriptorFrom: */ static sqInt fileDescriptorFrom(sqInt aSQFileByteArray) { @@ -170,6 +172,7 @@ /* Answer a file handle from a SQFile structure. On most platforms, this will be a (FILE *). On Win32, it is a HANDLE. */
+ /* AioPlugin>>#fileHandleFrom: */ static FILEHANDLETYPE fileHandleFrom(sqInt sqFileStructByteArray) { @@ -182,6 +185,7 @@
/* Answer the size of a SQFile data structure in bytes. */
+ /* AioPlugin>>#fileRecordSize */ static sqInt fileRecordSize(void) { @@ -195,6 +199,7 @@ self>>fileRecordSize. */
+ /* AioPlugin>>#fileValueOf: */ static SQFile * fileValueOf(sqInt anSQFileRecord) { @@ -207,18 +212,21 @@ it is loaded to check if it does really contain the module we're thinking it contains. This is important! */
+ /* InterpreterPlugin>>#getModuleName */ EXPORT(const char*) getModuleName(void) { return moduleName; }
+ /* AioPlugin>>#getThisSessionIdentifier */ static sqInt getThisSessionIdentifier(void) { return getThisSessionID(); }
+ /* AioPlugin>>#initialiseModule */ EXPORT(sqInt) initialiseModule(void) { @@ -228,6 +236,7 @@
/* Check for the common failure mode of a SQFile record with all zeros. */
+ /* AioPlugin>>#isNonNullSQFile: */ static sqInt isNonNullSQFile(sqInt objectPointer) { @@ -248,6 +257,7 @@
/* Check for the common failure mode of a SQSocket record with all zeros. */
+ /* AioPlugin>>#isNullSQSocket: */ static sqInt isNullSQSocket(sqInt objectPointer) { @@ -270,6 +280,7 @@ This check is appropriate if objectPointer has been passed as a parameter to a primitive, and is expected to represent a valid file reference. */
+ /* AioPlugin>>#isSQFileObject: */ static sqInt isSQFileObject(sqInt objectPointer) { @@ -287,6 +298,7 @@ is expected to represent a valid socket reference. */
+ /* AioPlugin>>#isSQSocketObject: */ static sqInt isSQSocketObject(sqInt objectPointer) { @@ -300,6 +312,7 @@ identifier. */
+ /* AioPlugin>>#isValidFileSession: */ static sqInt isValidFileSession(sqInt objectPointer) { @@ -310,6 +323,7 @@ /* The module with the given name was just unloaded. Make sure we have no dangling references. */
+ /* AioPlugin>>#moduleUnloaded: */ EXPORT(sqInt) moduleUnloaded(char *aModuleName) { @@ -319,6 +333,7 @@ /* Definitively disable asynchronous event notification for a descriptor. The parameter is an OS level integer file descriptor. */
+ /* UnixAioPlugin>>#primitiveAioDisable */ EXPORT(sqInt) primitiveAioDisable(void) { @@ -347,6 +362,7 @@ the semaphore index. */
+ /* UnixAioPlugin>>#primitiveAioEnable */ EXPORT(sqInt) primitiveAioEnable(void) { @@ -389,6 +405,7 @@ AIO_R (1<<1) handle for read AIO_W (1<<2) handle for write */
+ /* UnixAioPlugin>>#primitiveAioHandle */ EXPORT(sqInt) primitiveAioHandle(void) { @@ -435,6 +452,7 @@ AIO_R (1<<1) handle for read AIO_W (1<<2) handle for write */
+ /* UnixAioPlugin>>#primitiveAioSuspend */ EXPORT(sqInt) primitiveAioSuspend(void) { @@ -472,6 +490,7 @@
/* Answer a string containing the module name string for this plugin. */
+ /* AioPlugin>>#primitiveModuleName */ EXPORT(sqInt) primitiveModuleName(void) { @@ -483,6 +502,7 @@ number. */
+ /* UnixAioPlugin>>#primitiveOSFileHandle */ EXPORT(sqInt) primitiveOSFileHandle(void) { @@ -515,6 +535,7 @@ file number. */
+ /* UnixAioPlugin>>#primitiveOSSocketHandle */ EXPORT(sqInt) primitiveOSSocketHandle(void) { @@ -538,6 +559,7 @@
/* Answer a string containing the version string for this plugin. */
+ /* AioPlugin>>#primitiveVersionString */ EXPORT(sqInt) primitiveVersionString(void) { @@ -549,6 +571,7 @@ reference, this identifier will match the session identifier supplied by the interpreter. */
+ /* AioPlugin>>#sessionIdentifierFromSqFile: */ static SESSIONIDENTIFIERTYPE sessionIdentifierFromSqFile(SQFile *sqFile) { @@ -558,6 +581,7 @@
/* Note: This is coded so that it can be run in Squeak. */
+ /* InterpreterPlugin>>#setInterpreter: */ EXPORT(sqInt) setInterpreter(struct VirtualMachine*anInterpreter) { @@ -590,6 +614,7 @@ return ok; }
+ /* AioPlugin>>#shutdownModule */ EXPORT(sqInt) shutdownModule(void) { @@ -608,6 +633,7 @@ structure. */
+ /* AioPlugin>>#socketDescriptorFrom: */ static int socketDescriptorFrom(sqInt sqSocketOop) { @@ -626,6 +652,7 @@
/* Answer the size of a SQSocket data structure in bytes. */
+ /* AioPlugin>>#socketRecordSize */ static sqInt socketRecordSize(void) { @@ -639,6 +666,7 @@ self>>socketRecordSize. */
+ /* AioPlugin>>#socketValueOf: */ static SQSocket * socketValueOf(sqInt anSQSocketRecord) { @@ -649,6 +677,7 @@ /* Answer a new String copied from a null-terminated C string. Caution: This may invoke the garbage collector. */
+ /* AioPlugin>>#stringFromCString: */ static sqInt stringFromCString(const char *aCString) { @@ -671,6 +700,7 @@ */ /* 2.0 supports 64bit code base */
+ /* AioPlugin>>#versionString */ static char * versionString(void) {
Modified: branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c =================================================================== --- branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c 2015-05-24 02:03:15 UTC (rev 3356) +++ branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c 2015-05-26 17:24:44 UTC (rev 3357) @@ -1,9 +1,9 @@ /* Automatically generated by - SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae + SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 from - AsynchFilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae + AsynchFilePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 */ -static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ; +static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 " __DATE__ ;
@@ -102,9 +102,9 @@ struct VirtualMachine* interpreterProxy; static const char *moduleName = #ifdef SQUEAK_BUILTIN_PLUGIN - "AsynchFilePlugin VMMaker.oscog-eem.1313 (i)" + "AsynchFilePlugin VMMaker.oscog-eem.1325 (i)" #else - "AsynchFilePlugin VMMaker.oscog-eem.1313 (e)" + "AsynchFilePlugin VMMaker.oscog-eem.1325 (e)" #endif ; static void * sCOAFfn; @@ -115,6 +115,7 @@ given Smalltalk bytes object, or fail and answer nil if oop is not an async file record. */
+ /* AsynchFilePlugin>>#asyncFileValueOf: */ static AsyncFile * asyncFileValueOf(sqInt oop) { @@ -132,6 +133,7 @@ it is loaded to check if it does really contain the module we're thinking it contains. This is important! */
+ /* InterpreterPlugin>>#getModuleName */ EXPORT(const char*) getModuleName(void) { @@ -141,6 +143,7 @@
/* Initialise the module */
+ /* AsynchFilePlugin>>#initialiseModule */ EXPORT(sqInt) initialiseModule(void) { @@ -152,6 +155,7 @@ /* The module with the given name was just unloaded. Make sure we have no dangling references. */
+ /* AsynchFilePlugin>>#moduleUnloaded: */ EXPORT(sqInt) moduleUnloaded(char *aModuleName) { @@ -163,6 +167,7 @@ } }
+ /* AsynchFilePlugin>>#primitiveAsyncFileClose */ EXPORT(sqInt) primitiveAsyncFileClose(void) { @@ -193,6 +198,7 @@ return null; }
+ /* AsynchFilePlugin>>#primitiveAsyncFileOpen */ EXPORT(sqInt) primitiveAsyncFileOpen(void) { @@ -243,6 +249,7 @@ return null; }
+ /* AsynchFilePlugin>>#primitiveAsyncFileReadResult */ EXPORT(sqInt) primitiveAsyncFileReadResult(void) { @@ -303,6 +310,7 @@ return null; }
+ /* AsynchFilePlugin>>#primitiveAsyncFileReadStart */ EXPORT(sqInt) primitiveAsyncFileReadStart(void) { @@ -337,6 +345,7 @@ return null; }
+ /* AsynchFilePlugin>>#primitiveAsyncFileWriteResult */ EXPORT(sqInt) primitiveAsyncFileWriteResult(void) { @@ -370,6 +379,7 @@ return null; }
+ /* AsynchFilePlugin>>#primitiveAsyncFileWriteStart */ EXPORT(sqInt) primitiveAsyncFileWriteStart(void) { @@ -432,6 +442,7 @@
/* Note: This is coded so that it can be run in Squeak. */
+ /* InterpreterPlugin>>#setInterpreter: */ EXPORT(sqInt) setInterpreter(struct VirtualMachine*anInterpreter) { @@ -469,12 +480,14 @@
/* Initialise the module */
+ /* AsynchFilePlugin>>#shutdownModule */ EXPORT(sqInt) shutdownModule(void) { return asyncFileShutdown(); }
+ /* SmartSyntaxInterpreterPlugin>>#sqAssert: */ static sqInt sqAssert(sqInt aBool) {
Modified: branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c =================================================================== --- branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c 2015-05-24 02:03:15 UTC (rev 3356) +++ branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c 2015-05-26 17:24:44 UTC (rev 3357) @@ -1,9 +1,9 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 + VMPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 from - BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 + BalloonEnginePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 */ -static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ; +static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 " __DATE__ ;
@@ -836,9 +836,9 @@ static void * loadBBFn; static const char *moduleName = #ifdef SQUEAK_BUILTIN_PLUGIN - "B2DPlugin VMMaker.oscog-eem.1315 (i)" + "B2DPlugin VMMaker.oscog-eem.1325 (i)" #else - "B2DPlugin VMMaker.oscog-eem.1315 (e)" + "B2DPlugin VMMaker.oscog-eem.1325 (e)" #endif ; static int* objBuffer; @@ -847,24 +847,28 @@ static int* workBuffer;
+ /* BalloonEngineBase>>#aaColorMaskGet */ static sqInt aaColorMaskGet(void) { return workBuffer[GWAAColorMask]; }
+ /* BalloonEngineBase>>#aaColorMaskPut: */ static sqInt aaColorMaskPut(sqInt value) { return workBuffer[GWAAColorMask] = value; }
+ /* BalloonEngineBase>>#aaColorShiftGet */ static sqInt aaColorShiftGet(void) { return workBuffer[GWAAColorShift]; }
+ /* BalloonEngineBase>>#aaColorShiftPut: */ static sqInt aaColorShiftPut(sqInt value) { @@ -874,6 +878,7 @@
/* Common function to compute the first full pixel for AA drawing */
+ /* BalloonEngineBase>>#aaFirstPixelFrom:to: */ static sqInt aaFirstPixelFromto(sqInt leftX, sqInt rightX) { @@ -888,12 +893,14 @@ } }
+ /* BalloonEngineBase>>#aaHalfPixelGet */ static sqInt aaHalfPixelGet(void) { return workBuffer[GWAAHalfPixel]; }
+ /* BalloonEngineBase>>#aaHalfPixelPut: */ static sqInt aaHalfPixelPut(sqInt value) { @@ -903,42 +910,49 @@
/* Common function to compute the last full pixel for AA drawing */
+ /* BalloonEngineBase>>#aaLastPixelFrom:to: */ static sqInt aaLastPixelFromto(sqInt leftX, sqInt rightX) { return (rightX - 1) & ((unsigned int)~((workBuffer[GWAALevel]) - 1)); }
+ /* BalloonEngineBase>>#aaLevelGet */ static sqInt aaLevelGet(void) { return workBuffer[GWAALevel]; }
+ /* BalloonEngineBase>>#aaLevelPut: */ static sqInt aaLevelPut(sqInt value) { return workBuffer[GWAALevel] = value; }
+ /* BalloonEngineBase>>#aaScanMaskGet */ static sqInt aaScanMaskGet(void) { return workBuffer[GWAAScanMask]; }
+ /* BalloonEngineBase>>#aaScanMaskPut: */ static sqInt aaScanMaskPut(sqInt value) { return workBuffer[GWAAScanMask] = value; }
+ /* BalloonEngineBase>>#aaShiftGet */ static sqInt aaShiftGet(void) { return workBuffer[GWAAShift]; }
+ /* BalloonEngineBase>>#aaShiftPut: */ static sqInt aaShiftPut(sqInt value) { @@ -949,6 +963,7 @@ /* Compute the squared value of a 8.24 number with 0.0 <= value < 1.0, e.g., compute (value * value) bitShift: -24 */
+ /* BalloonEnginePlugin>>#absoluteSquared8Dot24: */ static sqInt absoluteSquared8Dot24(sqInt value) { @@ -963,6 +978,7 @@
/* Return the accurate length of the vector described by deltaX and deltaY */
+ /* BalloonEngineBase>>#accurateLengthOf:with: */ static sqInt accurateLengthOfwith(sqInt deltaX, sqInt deltaY) { @@ -994,6 +1010,7 @@ } }
+ /* BalloonEngineBase>>#addEdgeToGET: */ static sqInt addEdgeToGET(sqInt edge) { @@ -1013,6 +1030,7 @@ to 255 and thus fill the entire range of colors. */
+ /* BalloonEngineBase>>#adjustAALevel */ static sqInt adjustAALevel(void) { @@ -1036,6 +1054,7 @@
/* Adjust the wide bezier curve (dx < 0) to start/end at the right point */
+ /* BalloonEnginePlugin>>#adjustWideBezierLeft:width:offset:endX: */ static sqInt adjustWideBezierLeftwidthoffsetendX(sqInt bezier, sqInt lineWidth, sqInt lineOffset, sqInt endX) { @@ -1053,6 +1072,7 @@
/* Adjust the wide bezier curve (dx >= 0) to start/end at the right point */
+ /* BalloonEnginePlugin>>#adjustWideBezierRight:width:offset:endX: */ static sqInt adjustWideBezierRightwidthoffsetendX(sqInt bezier, sqInt lineWidth, sqInt lineOffset, sqInt endX) { @@ -1075,6 +1095,7 @@ Special adjustments of line width and start position are made here to simulate a rectangular brush */
+ /* BalloonEnginePlugin>>#adjustWideLine:afterSteppingFrom:to: */ static sqInt adjustWideLineafterSteppingFromto(sqInt line, sqInt lastX, sqInt nextX) { @@ -1139,24 +1160,28 @@ objBuffer[line + GLWideWidth] = lineWidth; }
+ /* BalloonEngineBase>>#aetStartGet */ static sqInt aetStartGet(void) { return workBuffer[GWAETStart]; }
+ /* BalloonEngineBase>>#aetStartPut: */ static sqInt aetStartPut(sqInt value) { return workBuffer[GWAETStart] = value; }
+ /* BalloonEngineBase>>#aetUsedGet */ static sqInt aetUsedGet(void) { return workBuffer[GWAETUsed]; }
+ /* BalloonEngineBase>>#aetUsedPut: */ static sqInt aetUsedPut(sqInt value) { @@ -1166,6 +1191,7 @@
/* Allocate n slots in the active edge table */
+ /* BalloonEngineBase>>#allocateAETEntry: */ static sqInt allocateAETEntry(sqInt nSlots) { @@ -1179,6 +1205,7 @@ return 1; }
+ /* BalloonEnginePlugin>>#allocateBezier */ static sqInt allocateBezier(void) { @@ -1195,6 +1222,7 @@ return bezier; }
+ /* BalloonEnginePlugin>>#allocateBezierStackEntry */ static sqInt allocateBezierStackEntry(void) { @@ -1209,6 +1237,7 @@ return (workBuffer[GWSize]) - (workBuffer[GWBufferTop]); }
+ /* BalloonEnginePlugin>>#allocateBitmapFill:colormap: */ static sqInt allocateBitmapFillcolormap(sqInt cmSize, int *cmBits) { @@ -1245,6 +1274,7 @@
/* Allocate n slots in the global edge table */
+ /* BalloonEngineBase>>#allocateGETEntry: */ static sqInt allocateGETEntry(sqInt nSlots) { @@ -1272,6 +1302,7 @@ return 1; }
+ /* BalloonEnginePlugin>>#allocateGradientFill:rampWidth:isRadial: */ static sqInt allocateGradientFillrampWidthisRadial(int *ramp, sqInt rampWidth, sqInt isRadial) { @@ -1310,6 +1341,7 @@ return fill; }
+ /* BalloonEnginePlugin>>#allocateLine */ static sqInt allocateLine(void) { @@ -1329,6 +1361,7 @@
/* Allocate n slots in the object buffer */
+ /* BalloonEngineBase>>#allocateObjEntry: */ static sqInt allocateObjEntry(sqInt nSlots) { @@ -1359,6 +1392,7 @@
/* AET and Stack allocation are symmetric */
+ /* BalloonEngineBase>>#allocateStackEntry: */ static sqInt allocateStackEntry(sqInt nSlots) { @@ -1372,6 +1406,7 @@ return 1; }
+ /* BalloonEngineBase>>#allocateStackFillEntry */ static sqInt allocateStackFillEntry(void) { @@ -1383,6 +1418,7 @@ return 1; }
+ /* BalloonEnginePlugin>>#allocateWideBezier */ static sqInt allocateWideBezier(void) { @@ -1399,6 +1435,7 @@ return bezier; }
+ /* BalloonEnginePlugin>>#allocateWideLine */ static sqInt allocateWideLine(void) { @@ -1415,6 +1452,7 @@ return line; }
+ /* BalloonEngineBase>>#areEdgeFillsValid: */ static sqInt areEdgeFillsValid(sqInt edge) { @@ -1424,6 +1462,7 @@
/* Make sure that val1 is between val2 and val3. */
+ /* BalloonEnginePlugin>>#assureValue:between:and: */ static sqInt assureValuebetweenand(sqInt val1, sqInt val2, sqInt val3) { @@ -1446,144 +1485,168 @@ return val1; }
+ /* BalloonEnginePlugin>>#bezierEndXOf: */ static sqInt bezierEndXOf(sqInt bezier) { return objBuffer[bezier + GBEndX]; }
+ /* BalloonEnginePlugin>>#bezierEndXOf:put: */ static sqInt bezierEndXOfput(sqInt bezier, sqInt value) { return objBuffer[bezier + GBEndX] = value; }
+ /* BalloonEnginePlugin>>#bezierEndYOf: */ static sqInt bezierEndYOf(sqInt bezier) { return objBuffer[bezier + GBEndY]; }
+ /* BalloonEnginePlugin>>#bezierEndYOf:put: */ static sqInt bezierEndYOfput(sqInt bezier, sqInt value) { return objBuffer[bezier + GBEndY] = value; }
+ /* BalloonEnginePlugin>>#bezierFinalXOf: */ static sqInt bezierFinalXOf(sqInt bezier) { return objBuffer[bezier + GBFinalX]; }
+ /* BalloonEnginePlugin>>#bezierFinalXOf:put: */ static sqInt bezierFinalXOfput(sqInt bezier, sqInt value) { return objBuffer[bezier + GBFinalX] = value; }
+ /* BalloonEnginePlugin>>#bezierUpdateDataOf: */ static int * bezierUpdateDataOf(sqInt bezier) { return (objBuffer + bezier) + GBUpdateData; }
+ /* BalloonEnginePlugin>>#bezierViaXOf: */ static sqInt bezierViaXOf(sqInt bezier) { return objBuffer[bezier + GBViaX]; }
+ /* BalloonEnginePlugin>>#bezierViaXOf:put: */ static sqInt bezierViaXOfput(sqInt bezier, sqInt value) { return objBuffer[bezier + GBViaX] = value; }
+ /* BalloonEnginePlugin>>#bezierViaYOf: */ static sqInt bezierViaYOf(sqInt bezier) { return objBuffer[bezier + GBViaY]; }
+ /* BalloonEnginePlugin>>#bezierViaYOf:put: */ static sqInt bezierViaYOfput(sqInt bezier, sqInt value) { return objBuffer[bezier + GBViaY] = value; }
+ /* BalloonEnginePlugin>>#bitmapCmSizeOf: */ static sqInt bitmapCmSizeOf(sqInt bmFill) { return objBuffer[bmFill + GBColormapSize]; }
+ /* BalloonEnginePlugin>>#bitmapCmSizeOf:put: */ static sqInt bitmapCmSizeOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBColormapSize] = value; }
+ /* BalloonEnginePlugin>>#bitmapDepthOf: */ static sqInt bitmapDepthOf(sqInt bmFill) { return objBuffer[bmFill + GBBitmapDepth]; }
+ /* BalloonEnginePlugin>>#bitmapDepthOf:put: */ static sqInt bitmapDepthOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBBitmapDepth] = value; }
+ /* BalloonEnginePlugin>>#bitmapHeightOf: */ static sqInt bitmapHeightOf(sqInt bmFill) { return objBuffer[bmFill + GBBitmapHeight]; }
+ /* BalloonEnginePlugin>>#bitmapHeightOf:put: */ static sqInt bitmapHeightOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBBitmapHeight] = value; }
+ /* BalloonEnginePlugin>>#bitmapRasterOf: */ static sqInt bitmapRasterOf(sqInt bmFill) { return objBuffer[bmFill + GBBitmapRaster]; }
+ /* BalloonEnginePlugin>>#bitmapRasterOf:put: */ static sqInt bitmapRasterOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBBitmapRaster] = value; }
+ /* BalloonEnginePlugin>>#bitmapSizeOf: */ static sqInt bitmapSizeOf(sqInt bmFill) { return objBuffer[bmFill + GBBitmapSize]; }
+ /* BalloonEnginePlugin>>#bitmapSizeOf:put: */ static sqInt bitmapSizeOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBBitmapSize] = value; }
+ /* BalloonEnginePlugin>>#bitmapTileFlagOf: */ static sqInt bitmapTileFlagOf(sqInt bmFill) { return objBuffer[bmFill + GBTileFlag]; }
+ /* BalloonEnginePlugin>>#bitmapTileFlagOf:put: */ static sqInt bitmapTileFlagOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBTileFlag] = value; }
+ /* BalloonEnginePlugin>>#bitmapValue:bits:atX:y: */ static sqInt bitmapValuebitsatXy(sqInt bmFill, sqInt bits, sqInt xp, sqInt yp) { @@ -1650,84 +1713,98 @@ return uncheckedTransformColor(value); }
+ /* BalloonEnginePlugin>>#bitmapWidthOf: */ static sqInt bitmapWidthOf(sqInt bmFill) { return objBuffer[bmFill + GBBitmapWidth]; }
+ /* BalloonEnginePlugin>>#bitmapWidthOf:put: */ static sqInt bitmapWidthOfput(sqInt bmFill, sqInt value) { return objBuffer[bmFill + GBBitmapWidth] = value; }
+ /* BalloonEnginePlugin>>#bzEndX: */ static sqInt bzEndX(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)]; }
+ /* BalloonEnginePlugin>>#bzEndX:put: */ static sqInt bzEndXput(sqInt index, sqInt value) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)] = value; }
+ /* BalloonEnginePlugin>>#bzEndY: */ static sqInt bzEndY(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)]; }
+ /* BalloonEnginePlugin>>#bzEndY:put: */ static sqInt bzEndYput(sqInt index, sqInt value) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)] = value; }
+ /* BalloonEnginePlugin>>#bzStartX: */ static sqInt bzStartX(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))]; }
+ /* BalloonEnginePlugin>>#bzStartX:put: */ static sqInt bzStartXput(sqInt index, sqInt value) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))] = value; }
+ /* BalloonEnginePlugin>>#bzStartY: */ static sqInt bzStartY(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)]; }
+ /* BalloonEnginePlugin>>#bzStartY:put: */ static sqInt bzStartYput(sqInt index, sqInt value) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)] = value; }
+ /* BalloonEnginePlugin>>#bzViaX: */ static sqInt bzViaX(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)]; }
+ /* BalloonEnginePlugin>>#bzViaX:put: */ static sqInt bzViaXput(sqInt index, sqInt value) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)] = value; }
+ /* BalloonEnginePlugin>>#bzViaY: */ static sqInt bzViaY(sqInt index) { return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)]; }
+ /* BalloonEnginePlugin>>#bzViaY:put: */ static sqInt bzViaYput(sqInt index, sqInt value) { @@ -1737,6 +1814,7 @@
/* Check the fill indexes in the run-length encoded fillList */
+ /* BalloonEnginePlugin>>#checkCompressedFillIndexList:max:segments: */ static sqInt checkCompressedFillIndexListmaxsegments(sqInt fillList, sqInt maxIndex, sqInt nSegs) { @@ -1765,6 +1843,7 @@
/* Check if the indexList (containing fill handles) is okay. */
+ /* BalloonEnginePlugin>>#checkCompressedFills: */ static sqInt checkCompressedFills(sqInt indexList) { @@ -1796,6 +1875,7 @@
/* Check the run-length encoded lineWidthList matches nSegments */
+ /* BalloonEnginePlugin>>#checkCompressedLineWidths:segments: */ static sqInt checkCompressedLineWidthssegments(sqInt lineWidthList, sqInt nSegments) { @@ -1818,6 +1898,7 @@
/* Check if the given point array can be handled by the engine. */
+ /* BalloonEnginePlugin>>#checkCompressedPoints:segments: */ static sqInt checkCompressedPointssegments(sqInt points, sqInt nSegments) { @@ -1844,6 +1925,7 @@ /* Check if the given shape can be handled by the engine. Since there are a number of requirements this is an extra method. */
+ /* BalloonEnginePlugin>>#checkCompressedShape:segments:leftFills:rightFills:lineWidths:lineFills:fillIndexList: */ static sqInt checkCompressedShapesegmentsleftFillsrightFillslineWidthslineFillsfillIndexList(sqInt points, sqInt nSegments, sqInt leftFills, sqInt rightFills, sqInt lineWidths, sqInt lineFills, sqInt fillIndexList) { @@ -1876,6 +1958,7 @@ region */
+ /* BalloonEnginePlugin>>#checkedAddBezierToGET: */ static sqInt checkedAddBezierToGET(sqInt bezier) { @@ -1901,6 +1984,7 @@ /* Add the edge to the global edge table. For known edge types, check if the edge intersects the visible region */
+ /* BalloonEnginePlugin>>#checkedAddEdgeToGET: */ static sqInt checkedAddEdgeToGET(sqInt edge) { @@ -1949,6 +2033,7 @@
/* Add the line to the global edge table if it intersects the clipping region */
+ /* BalloonEnginePlugin>>#checkedAddLineToGET: */ static sqInt checkedAddLineToGET(sqInt line) { @@ -1970,6 +2055,7 @@ addEdgeToGET(line); }
+ /* BalloonEnginePlugin>>#circleCosTable */ static double * circleCosTable(void) { @@ -1987,6 +2073,7 @@ return theTable; }
+ /* BalloonEnginePlugin>>#circleSinTable */ static double * circleSinTable(void) { @@ -2004,6 +2091,7 @@ return theTable; }
+ /* BalloonEnginePlugin>>#clampValue:max: */ static sqInt clampValuemax(sqInt value, sqInt maxValue) { @@ -2026,6 +2114,7 @@ previous scan line. */
+ /* BalloonEngineBase>>#clearSpanBuffer */ static sqInt clearSpanBuffer(void) { @@ -2048,72 +2137,84 @@ workBuffer[GWSpanEnd] = 0; }
+ /* BalloonEngineBase>>#clearSpanBufferGet */ static sqInt clearSpanBufferGet(void) { return workBuffer[GWClearSpanBuffer]; }
+ /* BalloonEngineBase>>#clearSpanBufferPut: */ static sqInt clearSpanBufferPut(sqInt value) { return workBuffer[GWClearSpanBuffer] = value; }
+ /* BalloonEngineBase>>#clipMaxXGet */ static sqInt clipMaxXGet(void) { return workBuffer[GWClipMaxX]; }
+ /* BalloonEngineBase>>#clipMaxXPut: */ static sqInt clipMaxXPut(sqInt value) { return workBuffer[GWClipMaxX] = value; }
+ /* BalloonEngineBase>>#clipMaxYGet */ static sqInt clipMaxYGet(void) { return workBuffer[GWClipMaxY]; }
+ /* BalloonEngineBase>>#clipMaxYPut: */ static sqInt clipMaxYPut(sqInt value) { return workBuffer[GWClipMaxY] = value; }
+ /* BalloonEngineBase>>#clipMinXGet */ static sqInt clipMinXGet(void) { return workBuffer[GWClipMinX]; }
+ /* BalloonEngineBase>>#clipMinXPut: */ static sqInt clipMinXPut(sqInt value) { return workBuffer[GWClipMinX] = value; }
+ /* BalloonEngineBase>>#clipMinYGet */ static sqInt clipMinYGet(void) { return workBuffer[GWClipMinY]; }
+ /* BalloonEngineBase>>#clipMinYPut: */ static sqInt clipMinYPut(sqInt value) { return workBuffer[GWClipMinY] = value; }
+ /* BalloonEnginePlugin>>#colormapOf: */ static int * colormapOf(sqInt bmFill) { return (objBuffer + bmFill) + GBColormapOffset; }
+ /* BalloonEngineBase>>#colorTransform */ static float * colorTransform(void) { @@ -2123,6 +2224,7 @@
/* Split the bezier curve at 0.5. */
+ /* BalloonEnginePlugin>>#computeBezierSplitAtHalf: */ static sqInt computeBezierSplitAtHalf(sqInt index) { @@ -2193,6 +2295,7 @@ beziers monoton we must check for the resulting y values to be *really* between the start and end value. */
+ /* BalloonEnginePlugin>>#computeBezier:splitAt: */ static sqInt computeBeziersplitAt(sqInt index, double param) { @@ -2307,6 +2410,7 @@ /* Get both values from the two boundaries of the given bezier and compute the actual position/width of the line */
+ /* BalloonEnginePlugin>>#computeFinalWideBezierValues:width: */ static sqInt computeFinalWideBezierValueswidth(sqInt bezier, sqInt lineWidth) { @@ -2330,6 +2434,7 @@ } }
+ /* BalloonEngineBase>>#computeSqrt: */ static sqInt computeSqrt(sqInt length2) { @@ -2341,6 +2446,7 @@ } }
+ /* BalloonEngineBase>>#copyBitsFrom:to:at: */ static sqInt copyBitsFromtoat(sqInt x0, sqInt x1, sqInt yValue) { @@ -2358,6 +2464,7 @@
/* Create the global edge table */
+ /* BalloonEngineBase>>#createGlobalEdgeTable */ static sqInt createGlobalEdgeTable(void) { @@ -2428,48 +2535,56 @@ } }
+ /* BalloonEngineBase>>#currentYGet */ static sqInt currentYGet(void) { return workBuffer[GWCurrentY]; }
+ /* BalloonEngineBase>>#currentYPut: */ static sqInt currentYPut(sqInt value) { return workBuffer[GWCurrentY] = value; }
+ /* BalloonEngineBase>>#currentZGet */ static sqInt currentZGet(void) { return workBuffer[GWCurrentZ]; }
+ /* BalloonEngineBase>>#currentZPut: */ static sqInt currentZPut(sqInt value) { return workBuffer[GWCurrentZ] = value; }
+ /* BalloonEngineBase>>#destOffsetXGet */ static sqInt destOffsetXGet(void) { return workBuffer[GWDestOffsetX]; }
+ /* BalloonEngineBase>>#destOffsetXPut: */ static sqInt destOffsetXPut(sqInt value) { return workBuffer[GWDestOffsetX] = value; }
+ /* BalloonEngineBase>>#destOffsetYGet */ static sqInt destOffsetYGet(void) { return workBuffer[GWDestOffsetY]; }
+ /* BalloonEngineBase>>#destOffsetYPut: */ static sqInt destOffsetYPut(sqInt value) { @@ -2479,6 +2594,7 @@
/* Display the span buffer at the current scan line. */
+ /* BalloonEngineBase>>#displaySpanBufferAt: */ static sqInt displaySpanBufferAt(sqInt y) { @@ -2511,6 +2627,7 @@ /* Draw the given edge starting from leftX with the edge's fill. Return the end value of the drawing operation. */
+ /* BalloonEngineBase>>#drawWideEdge:from: */ static sqInt drawWideEdgefrom(sqInt edge, sqInt leftX) { @@ -2558,54 +2675,63 @@ return rightX; }
+ /* BalloonEngineBase>>#edgeFillsInvalidate: */ static sqInt edgeFillsInvalidate(sqInt edge) { return objBuffer[edge + GEObjectType] = (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) | GEEdgeFillsInvalid); }
+ /* BalloonEngineBase>>#edgeFillsValidate: */ static sqInt edgeFillsValidate(sqInt edge) { return objBuffer[edge + GEObjectType] = (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) & ((unsigned int)~GEEdgeFillsInvalid)); }
+ /* BalloonEngineBase>>#edgeLeftFillOf: */ static sqInt edgeLeftFillOf(sqInt edge) { return objBuffer[edge + GEFillIndexLeft]; }
+ /* BalloonEngineBase>>#edgeLeftFillOf:put: */ static sqInt edgeLeftFillOfput(sqInt edge, sqInt value) { return objBuffer[edge + GEFillIndexLeft] = value; }
+ /* BalloonEngineBase>>#edgeNumLinesOf: */ static sqInt edgeNumLinesOf(sqInt edge) { return objBuffer[edge + GENumLines]; }
+ /* BalloonEngineBase>>#edgeNumLinesOf:put: */ static sqInt edgeNumLinesOfput(sqInt edge, sqInt value) { return objBuffer[edge + GENumLines] = value; }
+ /* BalloonEngineBase>>#edgeRightFillOf: */ static sqInt edgeRightFillOf(sqInt edge) { return objBuffer[edge + GEFillIndexRight]; }
+ /* BalloonEngineBase>>#edgeRightFillOf:put: */ static sqInt edgeRightFillOfput(sqInt edge, sqInt value) { return objBuffer[edge + GEFillIndexRight] = value; }
+ /* BalloonEngineBase>>#edgeTransform */ static float * edgeTransform(void) { @@ -2615,42 +2741,49 @@
/* Return the edge type (e.g., witout the wide edge flag) */
+ /* BalloonEngineBase>>#edgeTypeOf: */ static sqInt edgeTypeOf(sqInt edge) { return ((usqInt) ((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask)) >> 1; }
+ /* BalloonEngineBase>>#edgeXValueOf: */ static sqInt edgeXValueOf(sqInt edge) { return objBuffer[edge + GEXValue]; }
+ /* BalloonEngineBase>>#edgeXValueOf:put: */ static sqInt edgeXValueOfput(sqInt edge, sqInt value) { return objBuffer[edge + GEXValue] = value; }
+ /* BalloonEngineBase>>#edgeYValueOf: */ static sqInt edgeYValueOf(sqInt edge) { return objBuffer[edge + GEYValue]; }
+ /* BalloonEngineBase>>#edgeYValueOf:put: */ static sqInt edgeYValueOfput(sqInt edge, sqInt value) { return objBuffer[edge + GEYValue] = value; }
+ /* BalloonEngineBase>>#edgeZValueOf: */ static sqInt edgeZValueOf(sqInt edge) { return objBuffer[edge + GEZValue]; }
+ /* BalloonEngineBase>>#edgeZValueOf:put: */ static sqInt edgeZValueOfput(sqInt edge, sqInt value) { @@ -2661,6 +2794,7 @@ /* Ignore dispatch errors when translating to C (since we have no entry point for #error in the VM proxy) */
+ /* BalloonEngineBase>>#errorWrongIndex */ static sqInt errorWrongIndex(void) { @@ -2673,6 +2807,7 @@ if you know exactly that this doesn't matter. Otherwise use #accurateLengthOf:width: */
+ /* BalloonEngineBase>>#estimatedLengthOf:with: */ static sqInt estimatedLengthOfwith(sqInt deltaX, sqInt deltaY) { @@ -2702,6 +2837,7 @@
/* Fill the span buffer from leftX to rightX with the given fill. */
+ /* BalloonEngineBase>>#fillAllFrom:to: */ static sqInt fillAllFromto(sqInt leftX, sqInt rightX) { @@ -2793,12 +2929,14 @@ return 0; }
+ /* BalloonEnginePlugin>>#fillBitmapSpan */ static sqInt fillBitmapSpan(void) { return fillBitmapSpanfromtoat(workBuffer[GWLastExportedFill], workBuffer[GWLastExportedLeftX], workBuffer[GWLastExportedRightX], workBuffer[GWCurrentY]); }
+ /* BalloonEnginePlugin>>#fillBitmapSpanAA:from:to:at: */ static sqInt fillBitmapSpanAAfromtoat(sqInt bmFill, sqInt leftX, sqInt rightX, sqInt yValue) { @@ -3271,6 +3409,7 @@ directly. */
+ /* BalloonEngineBase>>#fillBitmapSpan:from:to: */ static sqInt fillBitmapSpanfromto(int *bits, sqInt leftX, sqInt rightX) { @@ -3322,6 +3461,7 @@ } }
+ /* BalloonEnginePlugin>>#fillBitmapSpan:from:to:at: */ static sqInt fillBitmapSpanfromtoat(sqInt bmFill, sqInt leftX, sqInt rightX, sqInt yValue) { @@ -3500,6 +3640,7 @@ b) copy aaLevel pixels between the first and the last full pixel c) copy all pixels that fall in the last full pixel */
+ /* BalloonEngineBase>>#fillColorSpanAA:x0:x1: */ static sqInt fillColorSpanAAx0x1(sqInt pixelValue32, sqInt leftX, sqInt rightX) { @@ -3567,6 +3708,7 @@ value. */
+ /* BalloonEngineBase>>#fillColorSpan:from:to: */ static sqInt fillColorSpanfromto(sqInt pixelValue32, sqInt leftX, sqInt rightX) { @@ -3597,30 +3739,35 @@ } }
+ /* BalloonEnginePlugin>>#fillDirectionXOf: */ static sqInt fillDirectionXOf(sqInt fill) { return objBuffer[fill + GFDirectionX]; }
+ /* BalloonEnginePlugin>>#fillDirectionXOf:put: */ static sqInt fillDirectionXOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFDirectionX] = value; }
+ /* BalloonEnginePlugin>>#fillDirectionYOf: */ static sqInt fillDirectionYOf(sqInt fill) { return objBuffer[fill + GFDirectionY]; }
+ /* BalloonEnginePlugin>>#fillDirectionYOf:put: */ static sqInt fillDirectionYOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFDirectionY] = value; }
+ /* BalloonEnginePlugin>>#fillLinearGradient */ static sqInt fillLinearGradient(void) { @@ -3630,6 +3777,7 @@
/* This is the AA version of linear gradient filling. */
+ /* BalloonEnginePlugin>>#fillLinearGradientAA:ramp:ds:dsX:from:to: */ static sqInt fillLinearGradientAArampdsdsXfromto(sqInt fill, int *ramp, sqInt deltaS, sqInt dsX, sqInt leftX, sqInt rightX) { @@ -3731,6 +3879,7 @@
/* Draw a linear gradient fill. */
+ /* BalloonEnginePlugin>>#fillLinearGradient:from:to:at: */ static sqInt fillLinearGradientfromtoat(sqInt fill, sqInt leftX, sqInt rightX, sqInt yValue) { @@ -3841,120 +3990,140 @@ } }
+ /* BalloonEngineBase>>#fillMaxXGet */ static sqInt fillMaxXGet(void) { return workBuffer[GWFillMaxX]; }
+ /* BalloonEngineBase>>#fillMaxXPut: */ static sqInt fillMaxXPut(sqInt value) { return workBuffer[GWFillMaxX] = value; }
+ /* BalloonEngineBase>>#fillMaxYGet */ static sqInt fillMaxYGet(void) { return workBuffer[GWFillMaxY]; }
+ /* BalloonEngineBase>>#fillMaxYPut: */ static sqInt fillMaxYPut(sqInt value) { return workBuffer[GWFillMaxY] = value; }
+ /* BalloonEngineBase>>#fillMinXGet */ static sqInt fillMinXGet(void) { return workBuffer[GWFillMinX]; }
+ /* BalloonEngineBase>>#fillMinXPut: */ static sqInt fillMinXPut(sqInt value) { return workBuffer[GWFillMinX] = value; }
+ /* BalloonEngineBase>>#fillMinYGet */ static sqInt fillMinYGet(void) { return workBuffer[GWFillMinY]; }
+ /* BalloonEngineBase>>#fillMinYPut: */ static sqInt fillMinYPut(sqInt value) { return workBuffer[GWFillMinY] = value; }
+ /* BalloonEnginePlugin>>#fillNormalXOf: */ static sqInt fillNormalXOf(sqInt fill) { return objBuffer[fill + GFNormalX]; }
+ /* BalloonEnginePlugin>>#fillNormalXOf:put: */ static sqInt fillNormalXOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFNormalX] = value; }
+ /* BalloonEnginePlugin>>#fillNormalYOf: */ static sqInt fillNormalYOf(sqInt fill) { return objBuffer[fill + GFNormalY]; }
+ /* BalloonEnginePlugin>>#fillNormalYOf:put: */ static sqInt fillNormalYOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFNormalY] = value; }
+ /* BalloonEngineBase>>#fillOffsetXGet */ static sqInt fillOffsetXGet(void) { return workBuffer[GWFillOffsetX]; }
+ /* BalloonEngineBase>>#fillOffsetXPut: */ static sqInt fillOffsetXPut(sqInt value) { return workBuffer[GWFillOffsetX] = value; }
+ /* BalloonEngineBase>>#fillOffsetYGet */ static sqInt fillOffsetYGet(void) { return workBuffer[GWFillOffsetY]; }
+ /* BalloonEngineBase>>#fillOffsetYPut: */ static sqInt fillOffsetYPut(sqInt value) { return workBuffer[GWFillOffsetY] = value; }
+ /* BalloonEnginePlugin>>#fillOriginXOf: */ static sqInt fillOriginXOf(sqInt fill) { return objBuffer[fill + GFOriginX]; }
+ /* BalloonEnginePlugin>>#fillOriginXOf:put: */ static sqInt fillOriginXOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFOriginX] = value; }
+ /* BalloonEnginePlugin>>#fillOriginYOf: */ static sqInt fillOriginYOf(sqInt fill) { return objBuffer[fill + GFOriginY]; }
+ /* BalloonEnginePlugin>>#fillOriginYOf:put: */ static sqInt fillOriginYOfput(sqInt fill, sqInt value) { @@ -3964,6 +4133,7 @@
/* Part 2a) Compute the decreasing part of the ramp */
+ /* BalloonEnginePlugin>>#fillRadialDecreasingAA:ramp:deltaST:dsX:dtX:from:to: */ static sqInt fillRadialDecreasingAArampdeltaSTdsXdtXfromto(sqInt fill, int *ramp, int *deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX) { @@ -4096,6 +4266,7 @@
/* Part 2a) Compute the decreasing part of the ramp */
+ /* BalloonEnginePlugin>>#fillRadialDecreasing:ramp:deltaST:dsX:dtX:from:to: */ static sqInt fillRadialDecreasingrampdeltaSTdsXdtXfromto(sqInt fill, sqInt ramp, sqInt deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX) { @@ -4141,6 +4312,7 @@ return x; }
+ /* BalloonEnginePlugin>>#fillRadialGradient */ static sqInt fillRadialGradient(void) { @@ -4150,6 +4322,7 @@
/* Draw a radial gradient fill. */
+ /* BalloonEnginePlugin>>#fillRadialGradient:from:to:at: */ static sqInt fillRadialGradientfromtoat(sqInt fill, sqInt leftX, sqInt rightX, sqInt yValue) { @@ -4358,6 +4531,7 @@
/* Part 2b) Compute the increasing part of the ramp */
+ /* BalloonEnginePlugin>>#fillRadialIncreasingAA:ramp:deltaST:dsX:dtX:from:to: */ static sqInt fillRadialIncreasingAArampdeltaSTdsXdtXfromto(sqInt fill, int *ramp, int *deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX) { @@ -4499,6 +4673,7 @@
/* Part 2b) Compute the increasing part of the ramp */
+ /* BalloonEnginePlugin>>#fillRadialIncreasing:ramp:deltaST:dsX:dtX:from:to: */ static sqInt fillRadialIncreasingrampdeltaSTdsXdtXfromto(sqInt fill, sqInt ramp, sqInt deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX) { @@ -4553,6 +4728,7 @@
/* Return true if fillEntry1 should be drawn before fillEntry2 */
+ /* BalloonEngineBase>>#fillSorts:before: */ static sqInt fillSortsbefore(sqInt fillEntry1, sqInt fillEntry2) { @@ -4573,6 +4749,7 @@ Clip before performing any operations. Return true if the fill must be handled by some Smalltalk code. */
+ /* BalloonEngineBase>>#fillSpan:from:to: */ static sqInt fillSpanfromto(unsigned int fill, sqInt leftX, sqInt rightX) { @@ -4670,12 +4847,14 @@ return 0; }
+ /* BalloonEngineBase>>#fillTypeOf: */ static sqInt fillTypeOf(sqInt fill) { return ((usqInt) (((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask)) >> 8; }
+ /* BalloonEngineBase>>#findNextAETEdgeFrom: */ static sqInt findNextAETEdgeFrom(sqInt leftEdge) { @@ -4700,6 +4879,7 @@ it to the AET */
+ /* BalloonEngineBase>>#findNextExternalEntryFromGET */ static sqInt findNextExternalEntryFromGET(void) { @@ -4760,6 +4940,7 @@ ]. */
+ /* BalloonEngineBase>>#findNextExternalFillFromAET */ static sqInt findNextExternalFillFromAET(void) { @@ -5004,6 +5185,7 @@ value. */
+ /* BalloonEngineBase>>#findNextExternalUpdateFromAET */ static sqInt findNextExternalUpdateFromAET(void) { @@ -5056,6 +5238,7 @@ return 0; }
+ /* BalloonEngineBase>>#findStackFill:depth: */ static sqInt findStackFilldepth(sqInt fillIndex, sqInt depth) { @@ -5078,24 +5261,28 @@
/* Return true if processing is finished */
+ /* BalloonEngineBase>>#finishedProcessing */ static sqInt finishedProcessing(void) { return (workBuffer[GWState]) == GEStateCompleted; }
+ /* BalloonEngineBase>>#firstPointListGet */ static sqInt firstPointListGet(void) { return workBuffer[GWPointListFirst]; }
+ /* BalloonEngineBase>>#firstPointListPut: */ static sqInt firstPointListPut(sqInt value) { return workBuffer[GWPointListFirst] = value; }
+ /* BalloonEngineBase>>#freeStackFillEntry */ static sqInt freeStackFillEntry(void) { @@ -5109,6 +5296,7 @@ it is loaded to check if it does really contain the module we're thinking it contains. This is important! */
+ /* InterpreterPlugin>>#getModuleName */ EXPORT(const char*) getModuleName(void) { @@ -5118,6 +5306,7 @@
/* Return true if the edge at index i should sort before the edge at index j. */
+ /* BalloonEngineBase>>#getSorts:before: */ static sqInt getSortsbefore(sqInt edge1, sqInt edge2) { @@ -5134,78 +5323,91 @@ return diff < 0; }
+ /* BalloonEngineBase>>#getStartGet */ static sqInt getStartGet(void) { return workBuffer[GWGETStart]; }
+ /* BalloonEngineBase>>#getStartPut: */ static sqInt getStartPut(sqInt value) { return workBuffer[GWGETStart] = value; }
+ /* BalloonEngineBase>>#getUsedGet */ static sqInt getUsedGet(void) { return workBuffer[GWGETUsed]; }
+ /* BalloonEngineBase>>#getUsedPut: */ static sqInt getUsedPut(sqInt value) { return workBuffer[GWGETUsed] = value; }
+ /* BalloonEnginePlugin>>#gradientRampLengthOf: */ static sqInt gradientRampLengthOf(sqInt fill) { return objBuffer[fill + GFRampLength]; }
+ /* BalloonEnginePlugin>>#gradientRampLengthOf:put: */ static sqInt gradientRampLengthOfput(sqInt fill, sqInt value) { return objBuffer[fill + GFRampLength] = value; }
+ /* BalloonEnginePlugin>>#gradientRampOf: */ static int * gradientRampOf(sqInt fill) { return (objBuffer + fill) + GFRampOffset; }
+ /* BalloonEngineBase>>#hasColorTransform */ static sqInt hasColorTransform(void) { return (workBuffer[GWHasColorTransform]) != 0; }
+ /* BalloonEngineBase>>#hasColorTransformGet */ static sqInt hasColorTransformGet(void) { return workBuffer[GWHasColorTransform]; }
+ /* BalloonEngineBase>>#hasColorTransformPut: */ static sqInt hasColorTransformPut(sqInt value) { return workBuffer[GWHasColorTransform] = value; }
+ /* BalloonEngineBase>>#hasEdgeTransform */ static sqInt hasEdgeTransform(void) { return (workBuffer[GWHasEdgeTransform]) != 0; }
+ /* BalloonEngineBase>>#hasEdgeTransformGet */ static sqInt hasEdgeTransformGet(void) { return workBuffer[GWHasEdgeTransform]; }
+ /* BalloonEngineBase>>#hasEdgeTransformPut: */ static sqInt hasEdgeTransformPut(sqInt value) { @@ -5215,6 +5417,7 @@
/* Make the fill style with the given index invisible */
+ /* BalloonEngineBase>>#hideFill:depth: */ static sqInt hideFilldepth(sqInt fillIndex, sqInt depth) { @@ -5266,6 +5469,7 @@ return 1; }
+ /* BalloonEngineBase>>#incrementPoint:by: */ static sqInt incrementPointby(int *point, sqInt delta) { @@ -5273,6 +5477,7 @@ point[1] = ((point[1]) + delta); }
+ /* BalloonEngineBase>>#incrementStat:by: */ static sqInt incrementStatby(sqInt statIndex, sqInt value) { @@ -5282,6 +5487,7 @@
/* Find insertion point for the given edge in the AET */
+ /* BalloonEngineBase>>#indexForInsertingIntoAET: */ static sqInt indexForInsertingIntoAET(sqInt edge) { @@ -5302,6 +5508,7 @@ return index; }
+ /* BalloonEngineBase>>#initColorTransform */ static sqInt initColorTransform(void) { @@ -5320,6 +5527,7 @@ workBuffer[GWHasColorTransform] = 0; }
+ /* BalloonEngineBase>>#initEdgeTransform */ static sqInt initEdgeTransform(void) { @@ -5336,6 +5544,7 @@ workBuffer[GWHasEdgeTransform] = 0; }
+ /* BalloonEngineBase>>#initialiseModule */ EXPORT(sqInt) initialiseModule(void) { @@ -5351,6 +5560,7 @@ */ /* Make sure aaLevel is initialized */
+ /* BalloonEngineBase>>#initializeGETProcessing */ static sqInt initializeGETProcessing(void) { @@ -5402,6 +5612,7 @@ are both set. */
+ /* BalloonEngineBase>>#insertEdgeIntoAET: */ static sqInt insertEdgeIntoAET(sqInt edge) { @@ -5423,6 +5634,7 @@
/* Insert the given edge into the AET. */
+ /* BalloonEngineBase>>#insertToAET:beforeIndex: */ static sqInt insertToAETbeforeIndex(sqInt edge, sqInt index) { @@ -5443,12 +5655,14 @@ workBuffer[GWAETUsed] = ((workBuffer[GWAETUsed]) + 1); }
+ /* BalloonEnginePlugin>>#isBezier: */ static sqInt isBezier(sqInt bezier) { return (((objBuffer[bezier + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWideMask) == GEPrimitiveBezier; }
+ /* BalloonEngineBase>>#isEdge: */ static sqInt isEdge(sqInt edge) { @@ -5461,12 +5675,14 @@ return (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveEdgeMask) != 0; }
+ /* BalloonEngineBase>>#isFillColor: */ static sqInt isFillColor(sqInt fill) { return (fill & 0xFF000000UL) != 0; }
+ /* BalloonEnginePlugin>>#isFillOkay: */ static sqInt isFillOkay(sqInt fill) { @@ -5478,6 +5694,7 @@ || ((((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0)))); }
+ /* BalloonEngineBase>>#isFill: */ static sqInt isFill(sqInt fill) { @@ -5485,12 +5702,14 @@ || ((((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0); }
+ /* BalloonEnginePlugin>>#isLine: */ static sqInt isLine(sqInt line) { return (((objBuffer[line + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWideMask) == GEPrimitiveLine; }
+ /* BalloonEngineBase>>#isObject: */ static sqInt isObject(sqInt obj) { @@ -5498,12 +5717,14 @@ && (obj < objUsed); }
+ /* BalloonEngineBase>>#isRealFill: */ static sqInt isRealFill(sqInt fill) { return (((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0; }
+ /* BalloonEngineBase>>#isStackEntry: */ static sqInt isStackEntry(sqInt entry) { @@ -5511,6 +5732,7 @@ && (entry < (workBuffer[GWSize])); }
+ /* BalloonEngineBase>>#isStackIndex: */ static sqInt isStackIndex(sqInt index) { @@ -5518,6 +5740,7 @@ && (index < ((workBuffer[GWSize]) - (workBuffer[GWBufferTop]))); }
+ /* BalloonEnginePlugin>>#isWideBezier: */ static sqInt isWideBezier(sqInt bezier) { @@ -5525,6 +5748,7 @@ && ((((objBuffer[bezier + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0); }
+ /* BalloonEnginePlugin>>#isWideLine: */ static sqInt isWideLine(sqInt line) { @@ -5532,150 +5756,175 @@ && ((((objBuffer[line + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0); }
+ /* BalloonEngineBase>>#isWide: */ static sqInt isWide(sqInt object) { return (((objBuffer[object + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0; }
+ /* BalloonEngineBase>>#lastExportedEdgeGet */ static sqInt lastExportedEdgeGet(void) { return workBuffer[GWLastExportedEdge]; }
+ /* BalloonEngineBase>>#lastExportedEdgePut: */ static sqInt lastExportedEdgePut(sqInt value) { return workBuffer[GWLastExportedEdge] = value; }
+ /* BalloonEngineBase>>#lastExportedFillGet */ static sqInt lastExportedFillGet(void) { return workBuffer[GWLastExportedFill]; }
+ /* BalloonEngineBase>>#lastExportedFillPut: */ static sqInt lastExportedFillPut(sqInt value) { return workBuffer[GWLastExportedFill] = value; }
+ /* BalloonEngineBase>>#lastExportedLeftXGet */ static sqInt lastExportedLeftXGet(void) { return workBuffer[GWLastExportedLeftX]; }
+ /* BalloonEngineBase>>#lastExportedLeftXPut: */ static sqInt lastExportedLeftXPut(sqInt value) { return workBuffer[GWLastExportedLeftX] = value; }
+ /* BalloonEngineBase>>#lastExportedRightXGet */ static sqInt lastExportedRightXGet(void) { return workBuffer[GWLastExportedRightX]; }
+ /* BalloonEngineBase>>#lastExportedRightXPut: */ static sqInt lastExportedRightXPut(sqInt value) { return workBuffer[GWLastExportedRightX] = value; }
+ /* BalloonEnginePlugin>>#lineEndXOf: */ static sqInt lineEndXOf(sqInt line) { return objBuffer[line + GLEndX]; }
+ /* BalloonEnginePlugin>>#lineEndXOf:put: */ static sqInt lineEndXOfput(sqInt line, sqInt value) { return objBuffer[line + GLEndX] = value; }
+ /* BalloonEnginePlugin>>#lineEndYOf: */ static sqInt lineEndYOf(sqInt line) { return objBuffer[line + GLEndY]; }
+ /* BalloonEnginePlugin>>#lineEndYOf:put: */ static sqInt lineEndYOfput(sqInt line, sqInt value) { return objBuffer[line + GLEndY] = value; }
+ /* BalloonEnginePlugin>>#lineErrorAdjDownOf: */ static sqInt lineErrorAdjDownOf(sqInt line) { return objBuffer[line + GLErrorAdjDown]; }
+ /* BalloonEnginePlugin>>#lineErrorAdjDownOf:put: */ static sqInt lineErrorAdjDownOfput(sqInt line, sqInt value) { return objBuffer[line + GLErrorAdjDown] = value; }
+ /* BalloonEnginePlugin>>#lineErrorAdjUpOf: */ static sqInt lineErrorAdjUpOf(sqInt line) { return objBuffer[line + GLErrorAdjUp]; }
+ /* BalloonEnginePlugin>>#lineErrorAdjUpOf:put: */ static sqInt lineErrorAdjUpOfput(sqInt line, sqInt value) { return objBuffer[line + GLErrorAdjUp] = value; }
+ /* BalloonEnginePlugin>>#lineErrorOf: */ static sqInt lineErrorOf(sqInt line) { return objBuffer[line + GLError]; }
+ /* BalloonEnginePlugin>>#lineErrorOf:put: */ static sqInt lineErrorOfput(sqInt line, sqInt value) { return objBuffer[line + GLError] = value; }
+ /* BalloonEnginePlugin>>#lineXDirectionOf: */ static sqInt lineXDirectionOf(sqInt line) { return objBuffer[line + GLXDirection]; }
@@ Diff output truncated at 50000 characters. @@
vm-dev@lists.squeakfoundation.org