should be ok

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@168 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
Nishi 2025-10-04 19:30:58 +00:00
commit 2b0d063dd8
8 changed files with 36 additions and 30 deletions

View file

@ -208,6 +208,12 @@ MWDECL void MwDispatchError(int code, const char* message);
*/ */
MWDECL void MwGetBeforeStep(MwWidget handle, jmp_buf* jmpbuf); MWDECL void MwGetBeforeStep(MwWidget handle, jmp_buf* jmpbuf);
/*!
* %brief Forcefully makes widget render
* %param handle Widget
*/
MWDECL void MwForceRender(MwWidget handle);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View file

@ -47,7 +47,6 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
SetCapture(hWnd); SetCapture(hWnd);
MwLLDispatch(u->ll, down, &p); MwLLDispatch(u->ll, down, &p);
InvalidateRect(hWnd, NULL, FALSE);
} else if(msg == WM_LBUTTONUP) { } else if(msg == WM_LBUTTONUP) {
MwPoint p; MwPoint p;
p.x = LOWORD(lp); p.x = LOWORD(lp);
@ -55,7 +54,6 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
SetCapture(NULL); SetCapture(NULL);
MwLLDispatch(u->ll, up, &p); MwLLDispatch(u->ll, up, &p);
InvalidateRect(hWnd, NULL, FALSE);
} else if(msg == WM_MOUSEMOVE) { } else if(msg == WM_MOUSEMOVE) {
MwPoint p; MwPoint p;
p.x = LOWORD(lp); p.x = LOWORD(lp);

View file

@ -150,7 +150,6 @@ void MwLLNextEvent(MwLL handle) {
p.y = ev.xbutton.y; p.y = ev.xbutton.y;
MwLLDispatch(handle, down, &p); MwLLDispatch(handle, down, &p);
render = 1;
} }
} else if(ev.type == ButtonRelease) { } else if(ev.type == ButtonRelease) {
if(ev.xbutton.button == Button1) { if(ev.xbutton.button == Button1) {
@ -159,7 +158,6 @@ void MwLLNextEvent(MwLL handle) {
p.y = ev.xbutton.y; p.y = ev.xbutton.y;
MwLLDispatch(handle, up, &p); MwLLDispatch(handle, up, &p);
render = 1;
} }
} else if(ev.type == ConfigureNotify) { } else if(ev.type == ConfigureNotify) {
MwLLDispatch(handle, resize, NULL); MwLLDispatch(handle, resize, NULL);

View file

@ -335,3 +335,7 @@ void MwDispatchError(int code, const char* message) {
void MwGetBeforeStep(MwWidget handle, jmp_buf* jmpbuf) { void MwGetBeforeStep(MwWidget handle, jmp_buf* jmpbuf) {
memcpy(jmpbuf, &handle->before_step, sizeof(*jmpbuf)); memcpy(jmpbuf, &handle->before_step, sizeof(*jmpbuf));
} }
void MwForceRender(MwWidget handle) {
MwLLForceRender(handle->lowlevel);
}

View file

@ -68,7 +68,7 @@ MwClassRec MwButtonClassRec = {
click, /* click */ click, /* click */
NULL, /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */ NULL, /* mouse_move */
NULL, /* mouse_up */ MwForceRender, /* mouse_up */
NULL /* mouse_down */ MwForceRender /* mouse_down */
}; };
MwClass MwButtonClass = &MwButtonClassRec; MwClass MwButtonClass = &MwButtonClassRec;

View file

@ -150,8 +150,8 @@ MwClassRec MwMenuClassRec = {
NULL, /* click */ NULL, /* click */
parent_resize, /* parent_resize */ parent_resize, /* parent_resize */
NULL, /* mouse_move */ NULL, /* mouse_move */
NULL, /* mouse_up */ MwForceRender, /* mouse_up */
NULL /* mouse_down */ MwForceRender /* mouse_down */
}; };
MwClass MwMenuClass = &MwMenuClassRec; MwClass MwMenuClass = &MwMenuClassRec;

View file

@ -82,7 +82,7 @@ MwClassRec MwScrollBarClassRec = {
NULL, /* click */ NULL, /* click */
NULL, /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */ NULL, /* mouse_move */
NULL, /* mouse_up */ MwForceRender, /* mouse_up */
NULL /* mouse_down */ MwForceRender /* mouse_down */
}; };
MwClass MwScrollBarClass = &MwScrollBarClassRec; MwClass MwScrollBarClass = &MwScrollBarClassRec;

View file

@ -158,8 +158,8 @@ MwClassRec MwSubMenuClassRec = {
click, /* click */ click, /* click */
NULL, /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */ NULL, /* mouse_move */
NULL, /* mouse_up */ MwForceRender, /* mouse_up */
NULL /* mouse_down */ MwForceRender /* mouse_down */
}; };
MwClass MwSubMenuClass = &MwSubMenuClassRec; MwClass MwSubMenuClass = &MwSubMenuClassRec;