add new methods to class

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@167 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-04 19:22:47 +00:00
parent ddbf4f13e4
commit d2ca65e5ed
11 changed files with 48 additions and 13 deletions

View File

@@ -102,6 +102,9 @@ struct _MwClass {
MwHandler draw; MwHandler draw;
MwHandler click; MwHandler click;
MwHandler parent_resize; MwHandler parent_resize;
MwHandler mouse_move;
MwHandler mouse_up;
MwHandler mouse_down;
}; };
struct _MwFont { struct _MwFont {

View File

@@ -22,6 +22,7 @@ static void lluphandler(MwLL handle, void* data) {
h->mouse_point.y = p->y; h->mouse_point.y = p->y;
MwDispatch(h, click); MwDispatch(h, click);
MwDispatch(h, mouse_up);
} }
static void lldownhandler(MwLL handle, void* data) { static void lldownhandler(MwLL handle, void* data) {
@@ -30,6 +31,8 @@ static void lldownhandler(MwLL handle, void* data) {
h->pressed = 1; h->pressed = 1;
h->mouse_point.x = p->x; h->mouse_point.x = p->x;
h->mouse_point.y = p->y; h->mouse_point.y = p->y;
MwDispatch(h, mouse_down);
} }
static void llresizehandler(MwLL handle, void* data) { static void llresizehandler(MwLL handle, void* data) {
@@ -57,6 +60,8 @@ static void llmovehandler(MwLL handle, void* data) {
MwPoint* p = data; MwPoint* p = data;
h->mouse_point.x = p->x; h->mouse_point.x = p->x;
h->mouse_point.y = p->y; h->mouse_point.y = p->y;
MwDispatch(h, mouse_move);
} }
MwWidget MwCreateWidget(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height) { MwWidget MwCreateWidget(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height) {

View File

@@ -66,6 +66,9 @@ MwClassRec MwButtonClassRec = {
NULL, /* destroy */ NULL, /* destroy */
draw, /* draw */ draw, /* draw */
click, /* click */ click, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwButtonClass = &MwButtonClassRec; MwClass MwButtonClass = &MwButtonClassRec;

View File

@@ -28,6 +28,9 @@ MwClassRec MwFrameClassRec = {
NULL, /* destroy */ NULL, /* destroy */
draw, /* draw */ draw, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwFrameClass = &MwFrameClassRec; MwClass MwFrameClass = &MwFrameClassRec;

View File

@@ -25,6 +25,9 @@ MwClassRec MwImageClassRec = {
NULL, /* destroy */ NULL, /* destroy */
draw, /* draw */ draw, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwImageClass = &MwImageClassRec; MwClass MwImageClass = &MwImageClassRec;

View File

@@ -144,11 +144,14 @@ static void parent_resize(MwWidget handle) {
} }
MwClassRec MwMenuClassRec = { MwClassRec MwMenuClassRec = {
create, /* create */ create, /* create */
destroy, /* destroy */ destroy, /* destroy */
draw, /* draw */ draw, /* draw */
NULL, /* click */ NULL, /* click */
parent_resize /* parent_resize */ parent_resize, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwMenuClass = &MwMenuClassRec; MwClass MwMenuClass = &MwMenuClassRec;

View File

@@ -133,7 +133,10 @@ MwClassRec MwOpenGLClassRec = {
destroy, /* destroy */ destroy, /* destroy */
NULL, /* draw */ NULL, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwOpenGLClass = &MwOpenGLClassRec; MwClass MwOpenGLClass = &MwOpenGLClassRec;

View File

@@ -80,6 +80,9 @@ MwClassRec MwScrollBarClassRec = {
destroy, /* destroy */ destroy, /* destroy */
draw, /* draw */ draw, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwScrollBarClass = &MwScrollBarClassRec; MwClass MwScrollBarClass = &MwScrollBarClassRec;

View File

@@ -156,7 +156,10 @@ MwClassRec MwSubMenuClassRec = {
destroy, /* destroy */ destroy, /* destroy */
draw, /* draw */ draw, /* draw */
click, /* click */ click, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwSubMenuClass = &MwSubMenuClassRec; MwClass MwSubMenuClass = &MwSubMenuClassRec;

View File

@@ -509,6 +509,9 @@ MwClassRec MwVulkanClassRec = {
destroy, /* destroy */ destroy, /* destroy */
NULL, /* draw */ NULL, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwVulkanClass = &MwVulkanClassRec; MwClass MwVulkanClass = &MwVulkanClassRec;

View File

@@ -26,7 +26,10 @@ MwClassRec MwWindowClassRec = {
NULL, /* destroy */ NULL, /* destroy */
draw, /* draw */ draw, /* draw */
NULL, /* click */ NULL, /* click */
NULL /* parent_resize */ NULL, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
}; };
MwClass MwWindowClass = &MwWindowClassRec; MwClass MwWindowClass = &MwWindowClassRec;