add more handlers

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@208 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-07 15:59:55 +00:00
parent 34cf7a4330
commit 951dcc054a
5 changed files with 18 additions and 2 deletions

View File

@@ -4,8 +4,8 @@ ifeq ($(TARGET),)
TARGET = $(shell uname -s)
endif
CC = gcc
CXX = g++
CC = $(GCC)gcc
CXX = $(GCC)g++
CFLAGS = -Wall -Wextra -Wno-unused-parameter -Wno-implicit-fallthrough -Iinclude
LDFLAGS =

View File

@@ -28,5 +28,7 @@
#define MwNresizeHandler "Cresize"
#define MwNtickHandler "Ctick"
#define MwNmenuHandler "Cmenu"
#define MwNmouseDownHandler "CmouseDownHandler"
#define MwNmouseUpHandler "CmouseUpHandler"
#endif

View File

@@ -31,6 +31,8 @@ class Base {
virtual void OnResize(void*) {};
virtual void OnTick(void*) {};
virtual void OnMenu(void*) {};
virtual void OnMouseDownHandler(void*) {};
virtual void OnMouseUpHandler(void*) {};
/* END AUTOGENERATE */

View File

@@ -65,11 +65,21 @@ static void __OnMenu(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnMenu(call);
}
static void __OnMouseDownHandler(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnMouseDownHandler(call);
}
static void __OnMouseUpHandler(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnMouseUpHandler(call);
}
void MwOO::Base::SetHandler(void){
MwAddUserHandler(this->widget, MwNactivateHandler, __OnActivate, this);
MwAddUserHandler(this->widget, MwNresizeHandler, __OnResize, this);
MwAddUserHandler(this->widget, MwNtickHandler, __OnTick, this);
MwAddUserHandler(this->widget, MwNmenuHandler, __OnMenu, this);
MwAddUserHandler(this->widget, MwNmouseDownHandler, __OnMouseDownHandler, this);
MwAddUserHandler(this->widget, MwNmouseUpHandler, __OnMouseUpHandler, this);
}
/* END AUTOGENERATE */

View File

@@ -23,6 +23,7 @@ static void lluphandler(MwLL handle, void* data) {
MwDispatch(h, click);
MwDispatch(h, mouse_up);
MwDispatchUserHandler(h, MwNmouseUpHandler, data);
}
static void lldownhandler(MwLL handle, void* data) {
@@ -33,6 +34,7 @@ static void lldownhandler(MwLL handle, void* data) {
h->mouse_point.y = p->y;
MwDispatch(h, mouse_down);
MwDispatchUserHandler(h, MwNmouseDownHandler, data);
}
static void llresizehandler(MwLL handle, void* data) {