X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2Flibaxwin3.so_src%2Fr_richtext.c;h=1ac98fe5c5bcad4e4dd09e9ad786efe30577b252;hb=8c20de5e4ec260d9a7ee6d737b7601fba1c871c0;hp=fd1cf3917444e7eb8b5c802a763f8973b9397a06;hpb=f194730e75d6d3681e5f99a4efed1616fd1ea738;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c b/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c index fd1cf391..1ac98fe5 100644 --- a/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c +++ b/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c @@ -10,6 +10,7 @@ #include "include/internal.h" #include #include +#include //#include // === TYPES === @@ -23,6 +24,23 @@ typedef struct sRichText_Window // === CODE === int AxWin3_RichText_MessageHandler(tHWND Window, int MessageID, int Size, void *Data) { + tRichText_Window *info = AxWin3_int_GetDataPtr(Window); + struct sWndMsg_KeyAction *keyaction = Data; + switch(MessageID) + { + case WNDMSG_KEYFIRE: + if(Size < sizeof(*keyaction)) return -1; + info->KeyCallback(Window, 2, keyaction->KeySym, keyaction->UCS32); + return 1; + case WNDMSG_KEYDOWN: + if(Size < sizeof(*keyaction)) return -1; + info->KeyCallback(Window, 1, keyaction->KeySym, keyaction->UCS32); + return 1; + case WNDMSG_KEYUP: + if(Size < sizeof(*keyaction)) return -1; + info->KeyCallback(Window, 0, keyaction->KeySym, 0); + return 1; + } return 0; }