NEW AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 .TF bin/guitest1 *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i .INB inc/mli.i .INB inc/libgui.i *-------------------------------------- .DUMMY .OR ZPBIN ZS.START hLogo .BS 2 00xx hWND .BS 1 hMBAR .BS 1 ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA #S.PS.F.EVENT S.PS.F .DA #0 .DA CS.END-CS.START Code Size (without Constants) .DA DS.END-DS.START Data Segment Size .DA #64 Stack Size .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT L.LIBGUI .DA LIBGUI L.LOGOFILE .DA LOGOFILE L.WND.TITLE .DA WND.TITLE L.WND.MBAR .DA WND.MBAR L.WND.STATUS .DA WND.STATUS L.WND.Test.fPaint .DA WND.Test.fPaint .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBGUI >SYSCALL LoadLib bcs .9 sta hLIBGUI * clc .9 rts *-------------------------------------- CS.RUN >PUSHW L.LOGOFILE >PUSHBI O.RDONLY >PUSHBI S.FI.T.PIX >PUSHWZ Aux type >SYSCALL LoadStkObj bcs .9 stx hLogo jsr WND.Test bcs .9 .1 >SLEEP bra .1 clc .9 rts *-------------------------------------- CS.DOEVENT lda (pEvent) bpl .9 .9 sec never discard TIME event rts *-------------------------------------- CS.QUIT clc CS.QUIT.RTS rts *-------------------------------------- WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN >PUSHWI 40 >PUSHWI 80 >PUSHWI 360 >PUSHWI 96 >LIBCALL hLIBGUI,LIBGUI.WND.New bcs CS.QUIT.RTS sta hWND >PUSHA A = hWND >PUSHBI S.WND.BGCOLOR >PUSHWI C.WHITE >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >PUSHB hWND >PUSHBI S.WND.BGBM >PUSHW hLogo >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >PUSHB hWND >PUSHBI S.WND.pTITLE >PUSHW L.WND.TITLE >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >PUSHB hWND >PUSHW L.WND.MBAR >LIBCALL hLIBGUI,LIBGUI.MBAR.New sta hMBAR >PUSHB hWND >PUSHB hMBAR >LIBCALL hLIBGUI,LIBGUI.WND.SetMBar >PUSHB hWND >PUSHBI S.WND.pSTATUS >PUSHW L.WND.STATUS >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >PUSHB hWND >PUSHBI S.WND.fPaint >PUSHW L.WND.Test.fPaint >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >STYA WND.Test.fPaint1+1 lda hWND >LIBCALL hLIBGUI,LIBGUI.WND.Show rts *-------------------------------------- WND.Test.fPaint sta hWND WND.Test.fPaint1 jsr $ffff Default WND.fPaint * >PUSHB hWND * >PUSHBI S.CB.OP.SET * >PUSHBI C.BLACK * >PUSHWI 10 * >PUSHWI 10 * >PUSHWI 200 * >PUSHWI 60 * >LIBCALL hLIBGUI,LIBGUI.DrawLine rts *-------------------------------------- CS.END LIBGUI .AZ "libgui" hLIBGUI .BS 1 *-------------------------------------- LOGOFILE .AZ "${ROOT}A2osX.logo" WND.TITLE .AZ "Window Title" WND.STATUS .AZ "Window status bar message" *-------------------------------------- WND.MBAR .AZ "File" .DA WND.MENU.FILE .AZ "Edit" .DA WND.MENU.EDIT .AZ "Options" .DA WND.MENU.OPTIONS .AZ "?" .DA WND.MENU.HELP .DA #0 *-------------------------------------- WND.MENU.FILE .DA #S.MITEM.T.ITEM .DA #02 ID .DA #KEYMOD.CTRL,#'N' .DA 0 pICON .AZ "New" .DA #S.MITEM.T.ITEM .DA #04 ID .DA #KEYMOD.CTRL,#'O' .DA 0 pICON .AZ "Open..." .DA #S.MITEM.T.ITEM .DA #06 ID .DA #KEYMOD.CTRL,#'S' .DA 0 pICON .AZ "Save" .DA #S.MITEM.T.ITEM .DA #08 ID .DA #KEYMOD.OA+KEYMOD.CTRL,#'S' .DA 0 pICON .AZ "Save As..." .DA #S.MITEM.T.ITEM .DA #10 ID .DA #KEYMOD.CTRL,#'Q' .DA 0 pICON .AZ "Quit" .DA #0 *-------------------------------------- WND.MENU.EDIT .DA #S.MITEM.T.ITEM .DA #12 ID .DA #KEYMOD.CTRL,#'X' .DA 0 pICON .AZ "Cut" .DA #S.MITEM.T.ITEM .DA #14 ID .DA #KEYMOD.CTRL,#'C' .DA 0 pICON .AZ "Copy" .DA #S.MITEM.T.ITEM .DA #16 ID .DA #KEYMOD.CTRL,#'V' .DA 0 pICON .AZ "Paste" .DA #0 *-------------------------------------- WND.MENU.OPTIONS .DA #S.MITEM.T.ITEM .DA #18 ID .DA #0,#0 .DA 0 pICON .AZ "Check Me" .DA #S.MITEM.T.SEP .DA #S.MITEM.T.SUBMENU .DA WND.MENU.SUB .DA 0 pICON .AZ "Sub Menu" .DA #0 *-------------------------------------- WND.MENU.HELP .DA #S.MITEM.T.ITEM .DA #20 ID .DA #0,#0 .DA 0 pICON .AZ "About..." .DA #0 *-------------------------------------- WND.MENU.SUB .DA #S.MITEM.T.ITEM .DA #18 ID .DA #0,#0 .DA 0 pICON .AZ "Sub 1" .DA #S.MITEM.T.ITEM .DA #18 ID .DA #0,#0 .DA 0 pICON .AZ "Sub 2" .DA #S.MITEM.T.ITEM .DA #18 ID .DA #0,#0 .DA 0 pICON .AZ "Sub 3" .DA #0 *-------------------------------------- .DUMMY .OR 0 DS.START DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/guitest1.s ASM