X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2Flibaxwin3.so_src%2Fr_richtext.c;h=4e87f005ec957e8042e878cc8079afe6f7ef6b45;hb=e3aca1210498cec4f1cb4d9337aeb774990194a0;hp=1ac98fe5c5bcad4e4dd09e9ad786efe30577b252;hpb=608ec5aa6e1bd522777faa63323beaeaef928928;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 1ac98fe5..4e87f005 100644 --- a/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c +++ b/Usermode/Applications/axwin3_src/libaxwin3.so_src/r_richtext.c @@ -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`?