AxWin3 - Heaps of bugfixes to RichText renderer
[tpg/acess2.git] / Usermode / Libraries / libaxwin3.so_src / include_exp / axwin3 / richtext.h
1 /*
2  * Acess2 GUI Version 3 (AxWin3)
3  * - By John Hodge (thePowersGang)
4  *
5  * richtext.h
6  * - Rich Text line editor
7  */
8 #ifndef _AXWIN3_RICHTEXT_H_
9 #define _AXWIN3_RICHTEXT_H_
10
11 #include <stdint.h>
12
13 typedef int     (*tAxWin3_RichText_KeyHandler)(tHWND Window, int bPress, uint32_t Sym, uint32_t Unicode);
14 typedef int     (*tAxWin3_RichText_MouseHandler)(tHWND Window, int bPress, int Button, int Row, int Col);
15 typedef int     (*tAxWin3_RichText_LineHandler)(tHWND Window, int Row);
16
17 #define AXWIN3_RICHTEXT_NOSCROLL        0x0001  // Disables server-side scrolling
18 #define AXWIN3_RICHTEXT_READONLY        0x0002  // Disables automatic insertion of translated characters
19 enum eAxWin3_RichText_CursorType {
20         AXWIN3_RICHTEXT_CURSOR_NONE,
21         AXWIN3_RICHTEXT_CURSOR_VLINE,   // Vertical line
22         AXWIN3_RICHTEXT_CURSOR_ULINE,   // Underline
23         AXWIN3_RICHTEXT_CURSOR_INV,     // Inverted
24 };
25
26 extern tHWND    AxWin3_RichText_CreateWindow(tHWND Parent, int Flags);
27 extern void     AxWin3_RichText_SetKeyHandler(tHWND Window, tAxWin3_RichText_KeyHandler Handler);
28 extern void     AxWin3_RichText_SetMouseHandler(tHWND Window, tAxWin3_RichText_MouseHandler Handler);
29 /**
30  * \brief Sets the function called when the server requests an update on a line's contents
31  */
32 extern void     AxWin3_RichText_SetLineHandler(tHWND Window, tAxWin3_RichText_LineHandler Handler);
33 extern void     AxWin3_RichText_EnableScroll(tHWND Window, int bEnable);
34 extern void     AxWin3_RichText_SetLineCount(tHWND Window, int Lines);
35 extern void     AxWin3_RichText_SetColCount(tHWND Window, int Cols);
36 extern void     AxWin3_RichText_SetBackground(tHWND Window, uint32_t ARGB_Colour);
37 extern void     AxWin3_RichText_SetDefaultColour(tHWND Window, uint32_t ARGB_Colour);
38 extern void     AxWin3_RichText_SetFont(tHWND Window, const char *FontName, int PointSize);
39 extern void     AxWin3_RichText_SetCursorType(tHWND Window, int Type);
40 extern void     AxWin3_RichText_SetCursorBlink(tHWND Window, int bBlink);
41 extern void     AxWin3_RichText_SetCursorPos(tHWND Window, int Row, int Column);
42 extern void     AxWin3_RichText_SendLine(tHWND Window, int Line, const char *Text);
43
44 #endif
45

UCC git Repository :: git.ucc.asn.au