static void HDFCommand (void) { SFReply reply; Point where; char prompt[128]; OSErr error; char buffer[80]; char *s; if (globalState!=OPENED) return; /* get file name */ strcpy(buffer,"Save HDF image as:"); strcpy(prompt,fileName); if ((s=strstr(prompt,".meta"))!=NULL) *s = '\0'; strcat(prompt,".hdf"); where.h = 20; where.v = 40; SFPutFile(where,c2pstr(buffer),c2pstr(prompt),NULL,&reply); if (!reply.good) return; /* set volume */ error = SetVol(NULL,reply.vRefNum); if (((int)error)!=0) { OneButtonBox("Could not set volume","OK"); return; } /* change pascal string to C string */ p2cstr(reply.fName); RefreshCommand(); SaveToHDF(reply.fName); return; }
static void SaveToPICT (SFReply *reply) { Rect MyPicFrame ; CQDProcs MyPicProcs,*SavePtr ; OSErr error ; long LongZero, LongCount ; short Counter ; CGrafPtr theCGrafPort; WindowPtr theWindow; OpenCPicParams myOpenCPicParams; /* get my window */ theWindow = myWindow.theWindow; theCGrafPort = (CGrafPtr) theWindow; error = FSOpen(reply->fName, reply->vRefNum, &FileSys_RefNR ) ; SetStdCProcs ( &MyPicProcs ) ; SavePtr = (CQDProcs *) theWindow->grafProcs; theWindow->grafProcs = (QDProcs *) (&MyPicProcs) ; MyPicProcs.putPicProc = NewQDPutPicProc(MyPutPicData) ; LongZero = 0 ; LongCount = 4 ; PicCounter = sizeof(Picture) ; for (Counter=1 ; Counter <= 128+sizeof(Picture) ; Counter++ ) error = FSWrite(FileSys_RefNR, &LongCount, &LongZero ); error = SetFPos(FileSys_RefNR, fsFromStart, 512+sizeof(Picture)) ; SetPort((GrafPtr)(theWindow)); MyPicFrame = ((GrafPtr)(theWindow))->portRect; MyPicFrame.right = MyPicFrame.right-16; MyPicFrame.bottom = MyPicFrame.bottom-16; MyPicHand = NULL ; myOpenCPicParams.srcRect = MyPicFrame; myOpenCPicParams.hRes = cHRes; myOpenCPicParams.vRes = cVRes; myOpenCPicParams.version = -2; myOpenCPicParams.reserved1 = 0; myOpenCPicParams.reserved2 = 0; MyPicHand = OpenCPicture ( &myOpenCPicParams ); ClipRect(&MyPicFrame); /* draw picture */ RefreshCommand(); ClosePicture() ; /* close File */ error = SetFPos(FileSys_RefNR, fsFromStart, 512) ; LongCount = sizeof(Picture) ; error = FSWrite(FileSys_RefNR, &LongCount, (void *) (*MyPicHand) ); error = FSClose(FileSys_RefNR) ; KillPicture(MyPicHand); theWindow->grafProcs = (QDProcs *) SavePtr ; return; }
BOOL RXGetCommand(char *args) { commandLine[commandEnd] = '\0'; strcpy(RexxReplyString,commandLine); InitCommand(); // necessary to clear command line ScrCursoff(); RefreshCommand(1); ScrCurson(); return TRUE; }
static void OpenCommand (void) { int error; FILE *stream; SFReply reply; Point where; char prompt[32]; SFTypeList typeList; if (globalState==OPENED) return; /* get file name */ strcpy(prompt,"choose metafile:"); where.h = 20; where.v = 40; SFGetFile(where,c2pstr(prompt),NULL,-1,typeList,NULL,&reply); if (!reply.good) { return; } /* save name and path */ vRefNum = reply.vRefNum; strcpy(fileName,p2cstr(reply.fName)); /* set volume */ error = SetVol(NULL,vRefNum); if (((int)error)!=0) { OneButtonBox("Could not set volume","OK"); return; } stream = fopen(fileName,"rb"); if (stream==NULL) { OneButtonBox("Could not open file","OK"); return; } GetFileScreen(stream,&fx,&fy); /* open a window */ error = CreateApplicationWindow(&myWindow,fileName,20,40,fx,fy); fclose(stream); SetState(OPENED); RefreshCommand(); return; }
static void ScheduleCommand (short theMenu,short theItem) { switch (theMenu) { case appleID : switch (theItem) { case aboutCommand : AboutCommand(); break; } break; case fileID : switch (theItem) { case openCommand : OpenCommand(); break; case closeCommand : CloseCommand(); break; case quitCommand : QuitCommand(); break; } break; case displayID : switch (theItem) { case refreshCommand : RefreshCommand(); break; #ifndef __MWCW__ case hdfCommand : HDFCommand(); break; #endif case pictCommand : PICTCommand(); break; } break; default : break; } return; }