-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OSCogVM source as per VMMaker-oscog.54.
- Fix FFI by fixing includesbehaviorThatOf so classes no longer inherit from nil - Adopt the squeakvm HostWindowPlugin and SoundPlugin. - Including support for weak finalizers. git-svn-id: http://squeakvm.org/svn/squeak/branches/Cog@2376 fa1542d4-bde8-0310-ad64-8ed1123d492a Former-commit-id: de055033770efcdf13ed28e4f37a38e98ab2a4e6
- Loading branch information
1 parent
33ec7cb
commit a4a7841
Showing
47 changed files
with
4,626 additions
and
9,313 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
5ce7d315b52bee2ca6e8265b2107407336cc8ef1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
6ef85dd743b6c7ae82a48f925cd959502e4c0e0f | ||
79f8806a40b2cb94ea858fb4f104aeeece228463 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79 changes: 28 additions & 51 deletions
79
platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,56 @@ | ||
/* Host windows plugin header file | ||
* tim@sumeru.stanford.edu | ||
* All sizes are in pixels; convert from OS abstract units as needed | ||
* windowHandles etc are expected to be SmallInteger valid values */ | ||
* windowHandles etc are expected to be SmallInteger valid values | ||
* windowHandle 1 is the traditional main window */ | ||
|
||
/* closeWindow: arg is int windowIndex. Fail (return 0) if anything goes wrong | ||
/* closeWindow: arg is sqInt windowIndex. Fail (return 0) if anything goes wrong | ||
* - typically the windowIndex invalid or similar */ | ||
extern int closeWindow(int index); | ||
extern sqInt closeWindow(sqInt index); | ||
|
||
/* createWindow: takes int width, height and origin x/y plus a char* list of | ||
* as yet undefined attributes. Returns an int window index or 0 for failure | ||
/* createWindow: takes sqInt width, height and origin x/y plus a char* list of | ||
* as yet undefined attributes. Returns an sqInt window index or 0 for failure | ||
* Failure may occur because of an inability to add the window, too many | ||
* windows already extant (platform dependant), the specified size being | ||
* unreasonable etc. */ | ||
extern int createWindowWidthheightoriginXyattrlength(int w, int h, int x, int y, | ||
char * list, int attributeListLength); | ||
extern sqInt createWindowWidthheightoriginXyattrlength(sqInt w, sqInt h, sqInt x, sqInt y, | ||
char * list, sqInt attributeListLength); | ||
|
||
/* ioShowDisplayOnWindow: similar to ioShowDisplay but adds the int windowIndex | ||
/* ioShowDisplayOnWindow: similar to ioShowDisplay but adds the sqInt windowIndex | ||
* Return true if ok, false if not, but not currently checked */ | ||
extern int ioShowDisplayOnWindow( unsigned char *dispBitsIndex, int width, int | ||
height, int depth, int affectedL, int affectedR, int affectedT, int affectedB, | ||
int windowIndex); | ||
extern sqInt ioShowDisplayOnWindow( unsigned char* dispBitsIndex, sqInt width, sqInt | ||
height, sqInt depth, sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB, | ||
sqInt windowIndex); | ||
|
||
/* ioSizeOfWindow: arg is int windowIndex. Return the size of the specified | ||
/* ioSizeOfWindow: arg is sqInt windowIndex. Return the size of the specified | ||
* window in (width<<16 || height) format like ioScreenSize. | ||
* Return -1 for failure - typically invalid windowIndex | ||
* -1 is chosen since it would correspond to a window size of +/-32k@+/-32k | ||
* which it is hoped is unlikely for some time to come */ | ||
extern int ioSizeOfWindow(int windowIndex); | ||
* -1 is chosen since itwould correspond to a window size of 64k@64k which | ||
* I hope is unlikely for some time to come */ | ||
extern sqInt ioSizeOfWindow(sqInt windowIndex); | ||
|
||
/* ioSizeOfNativeWindow: arg is void* windowHandle, defined as unsigned long | ||
* for convenience. Return the size of the specified native window in | ||
* (width<<16 || height) format like ioScreenSize. | ||
* Return -1 for failure - typically invalid windowHandle | ||
* -1 is chosen since it would correspond to a window size of +/-32k@+/-32k | ||
* which it is hoped is unlikely for some time to come */ | ||
extern int ioSizeOfNativeWindow(unsigned long windowHandle); | ||
|
||
/* as per ioSizeOfNativeWindow, but answers the size of the drawing | ||
* surface (the inside) of the window. | ||
*/ | ||
extern int ioSizeOfNativeDisplay(unsigned long windowHandle); | ||
|
||
/* ioSizeOfWindowSetxy: args are int windowIndex, int w & h for the | ||
/* ioSizeOfWindowSetxy: args are sqInt windowIndex, sqInt w & h for the | ||
* width / height to make the window. Return the actual size the OS | ||
* produced in (width<<16 || height) format or -1 for failure as above. */ | ||
extern int ioSizeOfWindowSetxy(int windowIndex, int w, int h); | ||
extern sqInt ioSizeOfWindowSetxy(sqInt windowIndex, sqInt w, sqInt h); | ||
|
||
/* ioPositionOfWindow: arg is int windowIndex. Return the pos of the specified | ||
/* ioPositionOfWindow: arg is sqInt windowIndex. Return the pos of the specified | ||
* window in (left<<16 || top) format like ioScreenSize. | ||
* Return -1 (as above) for failure - typically invalid windowIndex */ | ||
extern int ioPositionOfWindow(int windowIndex); | ||
|
||
/* ioPositionOfNativeWindow: arg is void* windowHandle, defined as unsigned long | ||
* for convenience. Return the pos of the specified native window in | ||
* (left<<16 || top) format like ioScreenSize. | ||
* Return -1 (as above) for failure - typically invalid windowHandle */ | ||
extern int ioPositionOfNativeWindow(unsigned long windowHandle); | ||
|
||
/* as per ioPositionOfNativeWindow, but answers the position of the drawing | ||
* surface (the inside) of the window. | ||
*/ | ||
extern int ioPositionOfNativeDisplay(unsigned long windowHandle); | ||
* Return -1 (as above) for failure - tpyically invalid windowIndex */ | ||
extern sqInt ioPositionOfWindow(sqInt windowIndex); | ||
|
||
/* ioPositionOfWindowSetxy: args are int windowIndex, int x & y for the | ||
/* ioPositionOfWindowSetxy: args are sqInt windowIndex, sqInt x & y for the | ||
* origin x/y for the window. Return the actual origin the OS | ||
* produced in (left<<16 || top) format or -1 for failure, as above */ | ||
extern int ioPositionOfWindowSetxy(int windowIndex, int x, int y); | ||
extern sqInt ioPositionOfWindowSetxy(sqInt windowIndex, sqInt x, sqInt y); | ||
|
||
/* ioSetTitleOfWindow: args are int windowIndex, char* newTitle and | ||
* int size of new title. Fail with -1 if windowIndex is invalid, string is too | ||
/* ioSetTitleOfWindow: args are sqInt windowIndex, char* newTitle and | ||
* sqInt size of new title. Fail with -1 if windowIndex is invalid, string is too | ||
long for platform etc. Leave previous title in place on failure */ | ||
int ioSetTitleOfWindow(int windowIndex, char * newTitle, int sizeOfTitle); | ||
sqInt ioSetTitleOfWindow(sqInt windowIndex, char * newTitle, sqInt sizeOfTitle); | ||
|
||
/* ioCloseAllWindows: intended for VM shutdown. | ||
/* ioCloseAllWindows: sqIntended for VM shutdown. | ||
* Close all the windows that appear to be open. | ||
* No useful return value since we're getting out of Dodge anyway. | ||
*/ | ||
extern int ioCloseAllWindows(void); | ||
extern sqInt ioCloseAllWindows(void); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.