From 833947c1ec99dc3ef015ab6e720a78dab59708b9 Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sun, 26 Apr 2026 23:08:52 +0900 Subject: [PATCH] introduce widget->user --- include/Mw/Core.h | 14 ++++++++++++++ include/Mw/TypeDefs.h | 1 + src/core.c | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/include/Mw/Core.h b/include/Mw/Core.h index 2562e9b..bf1c6f0 100644 --- a/include/Mw/Core.h +++ b/include/Mw/Core.h @@ -361,6 +361,20 @@ MWDECL int MWAPI MwGetCoordinateType(MwWidget handle); */ MWDECL void MWAPI MwGetClipboard(MwWidget handle, int clipboard_type); +/*! + * @brief Set user pointer. + * @param handle Widget + * @param user User pointer + */ +MWDECL void MWAPI MwSetUser(MwWidget handle, void* user); + +/*! + * @brief Get user pointer. + * @param handle Widget + * @return User pointer + */ +MWDECL void* MWAPI MwGetUser(MwWidget handle); + #ifdef _MILSKO MWDECL void MwForceRender_Internal(MwWidget handle); MWDECL void MwForceRender2_Internal(MwWidget handle, void* ptr); diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index f205de5..c3b86e0 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -90,6 +90,7 @@ struct _MwWidget { void* internal; void* opaque; + void* user; void (*draw_inject)(MwWidget handle); void (*destroy_inject)(MwWidget handle); diff --git a/src/core.c b/src/core.c index 1307e14..c07e24a 100644 --- a/src/core.c +++ b/src/core.c @@ -211,6 +211,7 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, h->internal = NULL; h->opaque = NULL; + h->user = NULL; h->top_step = 0; h->draw_queue = NULL; @@ -1066,3 +1067,11 @@ int MwGetCoordinateType(MwWidget handle) { void MwGetClipboard(MwWidget handle, int clipboard_type) { MwLLGetClipboard(handle->lowlevel, clipboard_type); } + +void MwSetUser(MwWidget handle, void* user){ + handle->user = user; +} + +void* MwGetUser(MwWidget handle){ + return handle->user; +}