From 8e2918de4d6035a3e481ec2fa23466b7e36b5715 Mon Sep 17 00:00:00 2001 From: burniouf Date: Tue, 11 Oct 2022 08:20:24 +0200 Subject: [PATCH] LIBGUI:reorg --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes INC/LIBGUI.I.txt | 2 +- INCLUDE/libgui.h.txt | 33 ++++++++++++++------- LIB/LIBGUI.O.S.txt | 4 +-- LIB/{LIBGUI.S.EVT.txt => LIBGUI.S.MSG.txt} | 4 +-- LIB/LIBGUI.S.txt | 4 +-- ROOT/ctest/testgui.c..txt | 30 +++++++++++++++++++ 7 files changed, 60 insertions(+), 17 deletions(-) rename LIB/{LIBGUI.S.EVT.txt => LIBGUI.S.MSG.txt} (88%) create mode 100644 ROOT/ctest/testgui.c..txt diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 11440fa1914f854e432ab84d98579b8989624f1a..bc961c9275eea86633ee4e9f911b7f547d5835ff 100644 GIT binary patch delta 3911 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 Q_#6I#2k=m6qz<9|f1CFG!T&9Z{XL$2Wx zPs^`fhmX!;d;!;^+nYoTxX_nG&!20{2&*%G@d+#~-yvrT#yJdg3dXz!K z6BK9OLe^@>9_C(Y00(3?Fmv{ zZ}jB8hr~5%pYHP6Lt?%GQH`Miyqwvtx#wd_)Xz zZHcSWAYFdyi0C^eAbP#DWAIi9-@=ZxFT^JQ_9D{mu(Uam&X}X~kS(gEgYn?I$olUQ zbaycTZarQ81<;tH556y+u7Q zvtT%uf|YBf(NWHI^gAjpi%zxFUrUsHy4P>C{+Lx)WBtiq<;u&n-tXVZpH#_@XFoUt3lzPd>t%ucT^s$i>1%P)l*|vc zE7fghukz|1t#Wlw2k-eVQN!$wLpt6Qs+)B2mGMJ6f*U*n?$8N5z!P-f1$yv?&R_r| zn3VXTK40c4!dpJALS^d)AMk}P;0KR_KLmgTT_I3u-4I0MJyU}JJ=O20;~aV^dROz| zN-zC<)vBmL*7E=TP0EcW=BuuPzx-{rxr;(h{?wdaYS>nNV6Hm#r~N;<)^2s-T(w1>|*W%%U*s zzrI*pI#U%myRF~2)_l{IG|edQs4+*9<_yaFZ88rRNOK*7Q#P9`d^+D2Rz+Dyl?U1j z^QVoU6crT}SfSF~L0DaDuGM)7>h^Hf%#ya4yt~$XNblY0!Ekor^cm$=`>?KnJs>KDbKtIo2_b>QQO^poExp?_Lc%^1U*^z`a zb5}w2qR{rrTz~&U`84M%(?!;q)S1<*HHJzRK3A@$PFDGkk_E>9HRz|MW_OZAJ z6%~?3OB*nx&l$ojfADJtW0E{0KR~C;WW%U2C7}ecJHKa9^kH5CM@81<_!E z7>I>9=m9+;9(q9n^oBmr7y3be7@&mv4y;|;cCS@7ZyTsIZ%cIa*Od`=&-m|!qc_gL zg_9V@mlGQ=Td%o$j&W{oSAAk@+kF&gQ10Efx~SzocdduyS$|mx?s!X)h0KzxV=GMnn6d3HrYaQ7%ojEyXNq9BLad&Q)yBmW3<*S~2>O zBGlXTT3Nq+V2FG%)aEJM8*K*-&W)Qmv&cTFbark@LFlC1^g&^L-Q_&R)>ZyQu?@t` z*^RqwKEAq%YAjqbsIYL!d6l~3P=cY-lqB#wYN$|DwV&qSXw9*N-2S3l`bc2 zeg&MVM=8h%Jdjh8q+YQbfyfZOs3&XSxk1OY^EHh z$C+}OMlg+J8pSl4X$;d7Oiwb6Wy)j9XBx*eo~eMTkZA(bM5akhMNE^Ko?@E9RLoSu zRLV4!>1n2EOw*ZWFwJC|#Wb7g8KyZ*&oVv7G?(dlrWcrAWGZ7SXL^aLg6Ug(3)5DnZA{yl>X_=8-eziG+QIY=(@v&$ncib+WKx)R zF}=^Uo9P3l51Bq<+QalQ(_W@enD#M!%Cw*90MlnopEDg~`hw|8rmvU|F&$<)!gQ3W ziRl>Aai*`CPB5KhYGyjcbeic5(^;l(n7(EDj_DlJ_e?)9oo8xcy1?`!(@#tnnSN%v z#Pkc(Wu_}kSDCIcU1z$%OB3xC1ia1ZVa_0%fd{Ra;E B#nb=* diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index d08a079a..562d85da 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -14,7 +14,7 @@ LIBGUI.WND.New .EQ 22 LIBGUI.WND.Destroy .EQ 24 LIBGUI.WND.Show .EQ 26 LIBGUI.WND.Paint .EQ 28 -LIBGUI.GetMsg .EQ 30 +LIBGUI.MSG.Get .EQ 30 *-------------------------------------- C.BLACK .EQ 0 C16.D.BLUE .EQ 1 diff --git a/INCLUDE/libgui.h.txt b/INCLUDE/libgui.h.txt index 65c1719f..61174bd3 100644 --- a/INCLUDE/libgui.h.txt +++ b/INCLUDE/libgui.h.txt @@ -1,15 +1,18 @@ NEW AUTO 3,1 -#define CUR_T_ARROW 0 -#define CUR_T_MOVE 2 -#define CUR_T_RESIZEX 4 -#define CUR_T_RESIZEY 6 -#define CUR_T_RESIZEXY1 8 -#define CUR_T_RESIZEXY2 10 -#define CUR_T_CROSS 12 -#define CUR_T_TEXT 14 -#define CUR_T_WAIT 16 +#define C_BLACK 0 +#define C_WHITE 255 + +#define PTR_T_ARROW 0 +#define PTR_T_MOVE 2 +#define PTR_T_RESIZEX 4 +#define PTR_T_RESIZEY 6 +#define PTR_T_RESIZEXY1 8 +#define PTR_T_RESIZEXY2 10 +#define PTR_T_CROSS 12 +#define PTR_T_TEXT 14 +#define PTR_T_WAIT 16 #define WND_F_RESIZE 1 #define WND_F_MOVE 2 @@ -30,6 +33,16 @@ NEW #define WND_P_pTITLE 24 #define WND_P_pMBAR 26 #define WND_P_pSTATUS 28 +#define WND_P_pICON 30 + +#define WND_P_BGCOLOR 32 +#define WND_P_pBGBM 34 +#define WND_P_pPTR 36 + +#define MSG_T_KEY 0 +#define MSG_T_XY 2 +#define MSG_T_ID 2 +#define MSG_T_WND 6 typedef short int HWND; @@ -54,7 +67,7 @@ void guiShowWnd(HWND); void* guiSetProp(HWND,short int,void*); void* guiGetProp(HWND,short int); -void GetMsg(MSG*); +int fastcall guiGetMsg(MSG*); MAN TEXT include/libgui.h diff --git a/LIB/LIBGUI.O.S.txt b/LIB/LIBGUI.O.S.txt index 28e374e2..71c685d4 100644 --- a/LIB/LIBGUI.O.S.txt +++ b/LIB/LIBGUI.O.S.txt @@ -18,8 +18,8 @@ NEW .PS "guiShowWnd" .DA #LIBGUI.WND.Show - .PS "GetMsg" - .DA #LIBGUI.GetMsg + .PS "guiGetMsg" + .DA #LIBGUI.MSG.Get .DA #0 *-------------------------------------- diff --git a/LIB/LIBGUI.S.EVT.txt b/LIB/LIBGUI.S.MSG.txt similarity index 88% rename from LIB/LIBGUI.S.EVT.txt rename to LIB/LIBGUI.S.MSG.txt index 8d6e3d48..533903f5 100644 --- a/LIB/LIBGUI.S.EVT.txt +++ b/LIB/LIBGUI.S.MSG.txt @@ -1,7 +1,7 @@ NEW AUTO 3,1 *-------------------------------------- -EVT.GetMsg stz MSG+S.MSG.T +MSG.Get stz MSG+S.MSG.T lda A2osX.ASCREEN GUI screen active ? cmp DCB.GFX+S.DCB.GFX.DEVID @@ -80,6 +80,6 @@ EVT.GetMsg stz MSG+S.MSG.T rts *-------------------------------------- MAN -SAVE usr/src/lib/libgui.s.evt +SAVE usr/src/lib/libgui.s.msg LOAD usr/src/lib/libgui.s ASM diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 9c3534d1..956744a0 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -134,7 +134,7 @@ CS.START cld .DA WND.Destroy .DA WND.Show .DA WND.Paint - .DA EVT.GetMsg + .DA MSG.Get *-------------------------------------- L.WND.fPaint .DA WND.fPaint *-------------------------------------- @@ -367,11 +367,11 @@ OBJ.SetX2Y2 >STYA ZPPtr1 .INB usr/src/lib/libgui.s.clip .INB usr/src/lib/libgui.s.cur .INB usr/src/lib/libgui.s.draw - .INB usr/src/lib/libgui.s.evt .INB usr/src/lib/libgui.s.fon .INB usr/src/lib/libgui.s.mbar .INB usr/src/lib/libgui.s.menu .INB usr/src/lib/libgui.s.mou + .INB usr/src/lib/libgui.s.msg .INB usr/src/lib/libgui.s.obj .INB usr/src/lib/libgui.s.pat .INB usr/src/lib/libgui.s.sysbar diff --git a/ROOT/ctest/testgui.c..txt b/ROOT/ctest/testgui.c..txt new file mode 100644 index 00000000..9c3b2e5c --- /dev/null +++ b/ROOT/ctest/testgui.c..txt @@ -0,0 +1,30 @@ +NEW + AUTO 3,1 +#include + +MSG msg; +int bQuit=0; + +int main(int argc, char *argv[]) + { + short int hWND = guiNewWnd(WND_F_RESIZE+WND_F_MOVE+WND_F_CLOSE+WND_F_MAX+WND_F_MIN, + 20,40,200,140); + guiSetProp(hWND, WND_P_pTITLE, "Window title"); + guiSetProp(hWND, WND_P_pSTATUS, "Status bar"); +// guiSetProp(hWND, WND_P_BGCOLOR, C.WHITE); + + guiShowWnd(hWND); + + do { + if (guiGetMsg(&msg)) + { + switch msg.type { + case MSG_T_WND: + break; + } + } while (!bQuit) + + guiDestroyWnd(hWND); + } +MAN +TEXT root/ctest/testgui.c