This is sq.m in view mode; [Download] [Up]
/****************************************************************************** FILE sq.m DESCRIPTION This module contains stub routines. These are the low-level routines called by the Squeak interpreter. They're implemented by sending a message to the application object or the view object. AUTHOR <PJB> Pascal J. Bourguignon MODIFICATIONS 1998/06/12 <PJB> Creation. LEGAL Copyright Pascal J. Bourguignon 1998 - 1998 This program is free software; you can redistribute it and/or modify it under the terms of the version 2 of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License hereafter for more details. ******************************************************************************/ #import <appkit/appkit.h> #import "SqApplication.h" #import "SqView.h" #define sq_application ((SqApplication*)NXApp) #define sq_view ((SqView*)(sq_application->view)) // These two variable are normally defined in the translator. int contextCacheEntries=16; int stackCacheEntries=16; extern int interruptKeycode; extern int interruptPending; extern int interruptCheckCounter; /* display,mouse,keyboard,time i/o ==> view */ int ioForceDisplayUpdate(void) { return([sq_view ioForceDisplayUpdate]); }//ioForceDisplayUpdate; int ioFormPrint( int bitsAddr,int width,int height,int depth, double hScale,double vScale,int landscapeFlag) { return([sq_view ioFormPrintBitsAddr:bitsAddr width:width height:height depth:depth hScale:hScale vScale:vScale landscapeFlag:landscapeFlag]); }//ioFormPrint; int ioSetFullScreen(int fullScreen) { return([sq_view ioSetFullScreen:fullScreen]); }//ioSetFullScreen; int ioGetButtonState(void) { return([sq_view ioGetButtonState]); }//ioGetButtonState; int ioGetKeystroke(void) { return([sq_view ioGetKeystroke]); }//ioGetKeystroke; int ioMousePoint(void) { return([sq_view ioMousePoint]); }//ioMousePoint; int ioPeekKeystroke(void) { return([sq_view ioPeekKeystroke]); }//ioPeekKeystroke; int ioScreenSize(void) { return([sq_view ioScreenSize]); }//ioScreenSize; int ioSetCursorWithMask(int cursorBitsIndex,int cursorMaskIndex, int offsetX,int offsetY) { return([sq_view ioSetCursorBitsIndex:cursorBitsIndex withMask:cursorMaskIndex offsetX:offsetX offsetY:offsetY]); }//ioSetCursorWithMask; int ioSetCursor(int cursorBitsIndex,int offsetX,int offsetY) { return([sq_view ioSetCursorBitsIndex:cursorBitsIndex offsetX:offsetX offsetY:offsetY]); }//ioSetCursor; int ioShowDisplay( int dispBitsIndex,int width,int height,int depth, int affectedL,int affectedR,int affectedT,int affectedB) { return([sq_view ioShowDisplayBitsIndex:dispBitsIndex width:width height:height depth:depth affectedLeft:affectedL affectedRight:affectedR affectedTop:affectedT affectedBottom:affectedB]); }//ioShowDisplay; /* display,mouse,keyboard,time i/o ==> application */ int ioBeep(void) { return([sq_application ioBeep]); }//ioBeep; int ioExit(void) { return([sq_application ioExit]); }//ioExit; int ioMicroMSecs(void) { return([sq_application ioMicroMSecs]); }//ioMicroMSecs; int ioMSecs(void) { return([sq_application ioMSecs]); }//ioMSecs; int ioSeconds(void) { return([sq_application ioSeconds]); }//ioSeconds; int ioProcessEvents(void) { return([sq_application ioProcessEvents]); }//ioProcessEvents; int ioRelinquishProcessorForMicroseconds(int microSeconds) { return([sq_application ioRelinquishProcessorForMicroseconds:microSeconds]); }//ioRelinquishProcessorForMicroseconds; /* image file and VM path names */ char imageName[MAXPATHLEN+1]; /* This is a little dirty: imageName is directly accessed by writeImageFile (while readImageFromFileHeapSize does take a FILE* parameter!). To avoid the need for SqApplication to know about this, the following function will automatically update this variable. */ int imageNameGetLength(int sqImageNameIndex,int length) { int len; len=[sq_application imageNameGet:(int)(&imageName) Length:MAXPATHLEN]; imageName[len]='\0'; return([sq_application imageNameGet:sqImageNameIndex Length:length]); }//imageNameGetLength; int imageNamePutLength(int sqImageNameIndex,int length) { int res=[sq_application imageNamePut:sqImageNameIndex Length:length]; int len; len=[sq_application imageNameGet:(int)(&imageName) Length:MAXPATHLEN]; imageName[len]='\0'; return(res); }// PutLength; int imageNameSize(void) { return([sq_application imageNameSize]); }//imageNameSize; int vmPathSize(void) { return([sq_application vmPathSize]); }//vmPathSize; int vmPathGetLength(int sqVMPathIndex,int length) { return([sq_application vmPathGet:sqVMPathIndex Length:length]); }//vmPathGetLength; /* clipboard (cut/copy/paste) */ int clipboardSize(void) { return([sq_application clipboardSize]); }//clipboardSize; int clipboardReadIntoAt(int count,int byteArrayIndex,int startIndex) { return([sq_application clipboardRead:count Into:byteArrayIndex At:startIndex]); }//clipboardReadIntoAt; int clipboardWriteFromAt(int count,int byteArrayIndex,int startIndex) { return([sq_application clipboardWrite:count From:byteArrayIndex At:startIndex]); }//clipboardWriteFromAt; /* profiling */ int clearProfile(void) { return([sq_application clearProfile]); }//clearProfile; int dumpProfile(void) { return([sq_application dumpProfile]); }//dumpProfile; int startProfiling(void) { return([sq_application startProfiling]); }//startProfiling; int stopProfiling(void) { return([sq_application stopProfiling]); }//stopProfiling; /* system attributes */ int attributeSize(int ident) { return([sq_application attributeSize:ident]); }//attributeSize; int getAttributeIntoLength(int ident,int byteArrayIndex,int length) { return([sq_application getAttribute:ident Into:byteArrayIndex Length:length]); }//getAttributeIntoLength; /*** sq.m / Thu Aug 27 23:21:13 MET 1998 / PJB ***/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.