Usermode/AxWin3 - Added scroll command to richtext renderer
[tpg/acess2.git] / Usermode / Applications / axwin3_src / libaxwin3.so_src / r_richtext.c
index 1ac98fe..4e87f00 100644 (file)
@@ -54,7 +54,8 @@ static void _SendAttrib(tHWND Window, int Attr, uint32_t Value)
 
 tHWND AxWin3_RichText_CreateWindow(tHWND Parent, int Flags)
 {
-       tHWND ret = AxWin3_CreateWindow(Parent, "RichText", Flags, sizeof(tRichText_Window), AxWin3_RichText_MessageHandler);
+       tHWND ret = AxWin3_CreateWindow(Parent, "RichText", Flags,
+               sizeof(tRichText_Window), AxWin3_RichText_MessageHandler);
 //     tRichText_Window *info = AxWin3_int_GetDataPtr(ret);
        return ret;
 }
@@ -110,6 +111,22 @@ void AxWin3_RichText_SetCursorPos(tHWND Window, int Row, int Column)
        _SendAttrib(Window, _ATTR_CURSORPOS, ((Row & 0xFFFFF) << 12) | (Column & 0xFFF));
 }
 
+void AxWin3_RichText_ScrollRange(tHWND Window, int FirstRow, int RangeCount, int DownCount)
+{
+       if( FirstRow < 0 )
+               return ;
+       if( RangeCount < -2 || RangeCount == 0 )
+               return ;
+       if( RangeCount > 0 && DownCount > RangeCount )
+               return ;
+
+       struct sRichTextIPC_ScrollRange msg;
+       msg.First = FirstRow;
+       msg.Range = RangeCount;
+       msg.Count = DownCount;
+       AxWin3_SendIPC(Window, IPC_RICHTEXT_SCROLLRANGE, sizeof(msg), &msg);
+}
+
 void AxWin3_RichText_SendLine(tHWND Window, int Line, const char *Text)
 {
        // TODO: Local sanity check on `Line`?

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