Worklog for Zakk
MS Paint Clone
Return to Worklogs
| ||
I've finally moved to BlitzMax, so most of my BB code will have to be discarded. -------------------- <XtiaeN>: i wear my rollerblades while i hack games, for quick getaways |
| ||
The goal with this project is to more-or-less reproduce most of the
functions of MS Paint with a similiar interface and a few added tools
and such. So far I've just reproduced the basic window layout and the
menu structure. Thanks to Leadwerks for answering my question about menu
seperators before I could ask it :) http://www.blitzbasic.com/Community/posts.php?topic=29528 (I'm picky about the details) Global window=CreateWindow("My Paint",0,0,GraphicsWidth(),GraphicsHeight(),0,15) MaximizeWindow window Global menu=WindowMenu(window) Global file=CreateMenu("File",1,menu) CreateMenu "New",11,file CreateMenu "Open...",12,file CreateMenu "Save",13,file CreateMenu "Save As...",14,file CreateMenu "",0,file CreateMenu "Exit",15,file Global edit=CreateMenu("Edit",2,menu) CreateMenu "Undo",21,edit CreateMenu "Redo",22,edit CreateMenu "",0,file CreateMenu "Cut",23,edit CreateMenu "Copy",24,edit CreateMenu "Paste",25,edit CreateMenu "Clear Selection",26,edit CreateMenu "Invert Selection",27,edit CreateMenu "Select All",28,edit Global view=CreateMenu("View",3,menu) Global zoom=CreateMenu("Zoom",31,view) Global custom=CreateMenu("Custom",311,zoom) Dim zoomlevel(7) zoomlevel(0)=CreateMenu("12.5%",3111,custom) For n=0 To 5 num=Int(25*(2^n)) zoomlevel(n+1)=CreateMenu(num+"%",3112+n,custom) Next CheckMenu zoomlevel(3) CreateMenu "",0,zoom CreateMenu "Show Grid",312,zoom Global image=CreateMenu("Image",4,menu) CreateMenu "Flip/Rotate...",41,image CreateMenu "Resize/Skew...",42,image CreateMenu "Crop",43,image CreateMenu "Invert Colors",44,image CreateMenu "Attributes...",45,image CreateMenu "Clear Image",46,image CreateMenu "Draw Opaque",47,image Global colors=CreateMenu("Colors",5,menu) CreateMenu "Edit Colors...",51,colors UpdateWindowMenu window Global workspace=CreatePanel(56,49,1310,626,window,1) SetPanelColor workspace,192,192,192 Repeat id=WaitEvent() Select id Case $401 Case $101 Case $803 Quit() End Select Forever Function Quit() FreeGadget window End End Function -------------------- <XtiaeN>: i wear my rollerblades while i hack games, for quick getaways |