draw button

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@32 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-09-28 22:10:42 +00:00
parent 0bc58045ae
commit 4597519598
5 changed files with 33 additions and 6 deletions

View File

@@ -3,11 +3,23 @@
#include "stb_ds.h"
static void llhandler(MilskoLL handle) {
static void lldrawhandler(MilskoLL handle) {
MilskoWidget h = (MilskoWidget)handle->user;
MilskoDispatch(h, draw);
}
static void lluphandler(MilskoLL handle) {
MilskoWidget h = (MilskoWidget)handle->user;
h->pressed = 0;
MilskoDispatch(h, click);
}
static void lldownhandler(MilskoLL handle) {
MilskoWidget h = (MilskoWidget)handle->user;
h->pressed = 1;
}
MilskoWidget MilskoCreateWidget(MilskoClass class, const char* name, MilskoWidget parent, int x, int y, unsigned int width, unsigned int height) {
MilskoWidget h = malloc(sizeof(*h));
@@ -18,9 +30,12 @@ MilskoWidget MilskoCreateWidget(MilskoClass class, const char* name, MilskoWidge
h->children = NULL;
h->lowlevel = MilskoLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height);
h->class = class;
h->pressed = 0;
h->lowlevel->user = h;
h->lowlevel->callback->draw = llhandler;
h->lowlevel->callback->draw = lldrawhandler;
h->lowlevel->callback->up = lluphandler;
h->lowlevel->callback->down = lldownhandler;
if(parent != NULL) arrput(parent->children, h);