![]() |
| SuperStrict '========================================================== 'DEFINE VARIABLES - ALPHABETICALLY '========================================================== ' Global Canvas1:TGadget '---------Canvas1 is our Main Canvas Global MyWindow:TGadget '--------Main Window Global Pix:TPixmap '-------------Pixmap To hold canvas image Global PixMap1:TPixmap '---------Loaded image |
| '========================================================== 'GADGET CREATION BLOCK '========================================================== 'Main Window and Main Canvas MyWindow:TGadget=CreateMainWindow(800,600) 'Create the required Canvases CreateCanvases() 'Create Required Menus CreateMenus() '-------------------------------------------------------- 'load Image for Canvas LoadCanvasImage("1945.bmp") |
| '========================================================== 'MAIN LOOP starts here '========================================================== Repeat WaitEvent() Select EventID() Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE End Case EVENT_MENUACTION Process_MenuActionEvent Case EVENT_GADGETPAINT Process_GadgetPaintEvent End Select DisplayStatusText Forever End |
| '--------------------------------------------- 'Function Create Required Menu '--------------------------------------------- Function CreateMenus:Int() Local FileMenu:TGadget=CreateMenu("File",200,MyWindow) CreateMenu("Exit",210,FileMenu,KEY_F4,MODIFIER_OPTION) CreateMenu("Open",220,FileMenu) UpdateWindowMenu MyWindow End Function |
| '---------------------------------------------------------- 'Load the image either the default or a user requested file 'Make a copy of the Pixmap for the canvas '---------------------------------------------------------- Function LoadCanvasImage:int(file:String="") If file="" file=RequestFile("Load Image File") PixMap1:TPixmap=LoadPixmap(file) If PixMap1=Null Then PixMap1=LoadPixmap("1945.bmp") 'loads default if fails EndIf Pix:TPixmap=PixmapWin(PixMap1,0,0) End Function |
| Function LoadCanvasImage:int(file:String="") |
| If file="" file=RequestFile("Load Image File") |
| PixMap1:TPixmap=LoadPixmap(file) If PixMap1=Null Then PixMap1=LoadPixmap("1945.bmp") 'loads default if fails EndIf |
| Pix:TPixmap=PixmapWin(PixMap1,0,0) |
| Function PixmapWin:TPixMap(PixMap:TPixMap,x:Int,y:Int) Local Tmp:TPixmap=CreatePixmap(GadgetWidth(Canvas1)+1,GadgetHeight(Canvas1)+1, .. PixmapFormat(PixMap)) Local rgb:Int Local MaxX:Int=GadgetWidth(Canvas1) Local MaxY:Int=GadgetHeight(Canvas1) If PixmapWidth(PixMap)<MaxX MaxX=PixmapWidth(Pixmap) If PixmapHeight(PixMap)<MaxY MaxY=PixmapHeight(Pixmap) For Local i:Int=0 To MaxX-1 For Local j:Int=0 To MaxY-1 rgb = ReadPixel(PixMap,i+x,j+y) WritePixel(Tmp,i,j, rgb) Next Next Return Tmp End Function |
| Function Process_GadgetPaintEvent:Int() SetGraphics CanvasGraphics (Canvas1) Cls DrawPixmap Pix,0,0 Flip End Function |
| Function Process_MenuActionEvent:Int() Select EventData() Case 210 'Exit or ALT-F4 End Case 220 'File Open LoadCanvasImage("") End Select End Function |