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 click;
MwHandler parent_resize;
MwHandler mouse_move;
MwHandler mouse_up;
MwHandler mouse_down;
};
struct _MwFont {

View File

@@ -22,6 +22,7 @@ static void lluphandler(MwLL handle, void* data) {
h->mouse_point.y = p->y;
MwDispatch(h, click);
MwDispatch(h, mouse_up);
}
static void lldownhandler(MwLL handle, void* data) {
@@ -30,6 +31,8 @@ static void lldownhandler(MwLL handle, void* data) {
h->pressed = 1;
h->mouse_point.x = p->x;
h->mouse_point.y = p->y;
MwDispatch(h, mouse_down);
}
static void llresizehandler(MwLL handle, void* data) {
@@ -57,6 +60,8 @@ static void llmovehandler(MwLL handle, void* data) {
MwPoint* p = data;
h->mouse_point.x = p->x;
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) {

View File

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

View File

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

View File

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

View File

@@ -148,7 +148,10 @@ MwClassRec MwMenuClassRec = {
destroy, /* destroy */
draw, /* draw */
NULL, /* click */
parent_resize /* parent_resize */
parent_resize, /* parent_resize */
NULL, /* mouse_move */
NULL, /* mouse_up */
NULL /* mouse_down */
};
MwClass MwMenuClass = &MwMenuClassRec;

View File

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

View File

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

View File

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

View File

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

View File

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