Open th-otto opened 1 year ago
You're right, you can't use wind_create with extended attributes. Binding is:
int x_wind_create( int kind, int xkind, int wx, int wy, int ww, int wh );
with
#define X_MENU 0x0001
.
I have a working setup for Hatari + Geneva here.
[EDIT] Confirmed. Works with x_wind_create
rsrc_gaddr(0, MYMENU, &menu_addr);
handle = x_wind_create( MOVER,X_MENU, 20, 20, 200, 200 );
wind_set_ptr(handle, X_WF_MENU,menu_addr);
Btw @th-otto, are there Geneva bindings for gcc? (I wrote x_wind_create by hand for testing)
No, i don' think so, they are still missing. I guess there aren't many programs that make use of geneva specific calls. All the corresponding definitions (X_MENU etc) are missing, too.
~[EDIT] X_MENU is missing too, but X_WF_xxx subfunctions are in gem.h~. About missing définitions, it's one more thing to add to the todo list.
I wonder if I can move the two conflicting bits of the high-word of xkind and use intin[1] instead of intin[5] in XaAES so x_wind_create will be compatible with both Geneva and XaAES. This will allow access to others extended attributes such as UPARROW1 and LFARROW1
Hm, i don't understand. Where are you referencing intin[5]? Anyway, you simply cannot change the way parameters are passed to AES.
XaAES is able to use intin[5] as high-word of window attributes but there is no binding yet
X_MENU (Geneva) et XMENU (XaAES) are the same thing. Unfortunately menu events are not the same
Patch: geneva-20230422.patch.txt
Fixes:
Thanks, applied now.
BTW, while looking up the programmer documentation, i noticed that the file that i have (gnvamain.rtf) seems to have the same corruptions that you already fixed in the patch above. There seem to be lots of truncated words, bit-flips etc. Is there maybe some better version floating around?
All files are corrupted (rtf, html, ascii). I don't have a tool to convert the other available files (stw and papyrus). Nevertheless, I tried to fix some errors: gnva.zip
Don't know what *.stw is, but i could not even extract the lzh archive. The papyrus doc seems to have the same corruptions as the other files.
There is a pdf version of the manual also on dev-docs, but it seems to be from some older version (1.02) and therefor not quite complete. Also it is just an image scan, no text available there :(
I don't have any other docs.
About *.stw, I thought it was Star-Writer but it's Atari Works. File cannot be opened. Looks corrupted too. With an hex-editor, some text is readable but the second half doesn't make sense.
Quickly tried files from https://taflee.tripod.com/gnvamain.html, they look fine? Or is that the older version Thorsten was talking about?
They also seem to be corrupted. If you look at https://taflee.tripod.com/gnvb.html#26.6, you can't click most of the links, and eg. x_appl_sleep() (26.6.4) isn't rendered at all.
I think the example a
https://github.com/freemint/tos.hyp/blob/040c7bac5f8149060ff6cd9a725f50575adb3572/gem/aes/wind_/wind_get_set_geneva.ui#L462
is wrong, and the call should be
x_wind_create(MOVER, X_MENU
You cannot OR in X_MENU to the normal window flags, because they conflict. @pulsar122 can you maybe check this?