--- a/ui/ui/toolkit.h Tue Oct 03 15:32:46 2023 +0200 +++ b/ui/ui/toolkit.h Tue Oct 03 16:30:42 2023 +0200 @@ -69,6 +69,8 @@ #elif UI_WINUI +#define UIEXPORT __declspec(dllexport) + #ifdef __cplusplus #include <Windows.h> @@ -346,85 +348,85 @@ }; -void ui_init(const char *appname, int argc, char **argv); -const char* ui_appname(); +UIEXPORT void ui_init(const char *appname, int argc, char **argv); +UIEXPORT const char* ui_appname(); -UiContext* ui_global_context(void); +UIEXPORT UiContext* ui_global_context(void); -void ui_context_closefunc(UiContext *ctx, ui_callback fnc, void *udata); +UIEXPORT void ui_context_closefunc(UiContext *ctx, ui_callback fnc, void *udata); -void ui_onstartup(ui_callback f, void *userdata); -void ui_onopen(ui_callback f, void *userdata); -void ui_onexit(ui_callback f, void *userdata); +UIEXPORT void ui_onstartup(ui_callback f, void *userdata); +UIEXPORT void ui_onopen(ui_callback f, void *userdata); +UIEXPORT void ui_onexit(ui_callback f, void *userdata); -void ui_main(); -void ui_show(UiObject *obj); -void ui_close(UiObject *obj); +UIEXPORT void ui_main(); +UIEXPORT void ui_show(UiObject *obj); +UIEXPORT void ui_close(UiObject *obj); -void ui_job(UiObject *obj, ui_threadfunc tf, void *td, ui_callback f, void *fd); +UIEXPORT void ui_job(UiObject *obj, ui_threadfunc tf, void *td, ui_callback f, void *fd); -void* ui_document_new(size_t size); -void ui_document_destroy(void *doc); +UIEXPORT void* ui_document_new(size_t size); +UIEXPORT void ui_document_destroy(void *doc); -void ui_set_document(UiObject *obj, void *document); // deprecated -void ui_detach_document(UiObject *obj); // deprecated -void* ui_get_document(UiObject *obj); // deprecated -void ui_set_subdocument(void *document, void *sub); // deprecated -void ui_detach_subdocument(void *document, void *sub); // deprecated -void* ui_get_subdocument(void *document); // deprecated +UIEXPORT void ui_set_document(UiObject *obj, void *document); // deprecated +UIEXPORT void ui_detach_document(UiObject *obj); // deprecated +UIEXPORT void* ui_get_document(UiObject *obj); // deprecated +UIEXPORT void ui_set_subdocument(void *document, void *sub); // deprecated +UIEXPORT void ui_detach_subdocument(void *document, void *sub); // deprecated +UIEXPORT void* ui_get_subdocument(void *document); // deprecated -UiContext* ui_document_context(void *doc); +UIEXPORT UiContext* ui_document_context(void *doc); -void ui_attach_document(UiContext *ctx, void *document); -void ui_detach_document2(UiContext *ctx, void *document); +UIEXPORT void ui_attach_document(UiContext *ctx, void *document); +UIEXPORT void ui_detach_document2(UiContext *ctx, void *document); -void ui_widget_set_groups(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, ...); +UIEXPORT void ui_widget_set_groups(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, ...); -void ui_set_group(UiContext *ctx, int group); -void ui_unset_group(UiContext *ctx, int group); -int* ui_active_groups(UiContext *ctx, int *ngroups); +UIEXPORT void ui_set_group(UiContext *ctx, int group); +UIEXPORT void ui_unset_group(UiContext *ctx, int group); +UIEXPORT int* ui_active_groups(UiContext *ctx, int *ngroups); -void* ui_malloc(UiContext *ctx, size_t size); -void* ui_calloc(UiContext *ctx, size_t nelem, size_t elsize); -void ui_free(UiContext *ctx, void *ptr); -void* ui_realloc(UiContext *ctx, void *ptr, size_t size); +UIEXPORT void* ui_malloc(UiContext *ctx, size_t size); +UIEXPORT void* ui_calloc(UiContext *ctx, size_t nelem, size_t elsize); +UIEXPORT void ui_free(UiContext *ctx, void *ptr); +UIEXPORT void* ui_realloc(UiContext *ctx, void *ptr, size_t size); // types -UiInteger* ui_int_new(UiContext *ctx, char *name); -UiDouble* ui_double_new(UiContext *ctx, char *name); -UiString* ui_string_new(UiContext *ctx, char *name); -UiText* ui_text_new(UiContext *ctx, char *name); -UiRange* ui_range_new(UiContext *ctx, char *name); +UIEXPORT UiInteger* ui_int_new(UiContext *ctx, char *name); +UIEXPORT UiDouble* ui_double_new(UiContext *ctx, char *name); +UIEXPORT UiString* ui_string_new(UiContext *ctx, char *name); +UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name); +UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name); -UiObserver* ui_observer_new(ui_callback f, void *data); -UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); -UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); -void ui_notify(UiObserver *observer, void *data); -void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data); -void ui_notify_evt(UiObserver *observer, UiEvent *event); +UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data); +UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); +UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); +UIEXPORT void ui_notify(UiObserver *observer, void *data); +UIEXPORT void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data); +UIEXPORT void ui_notify_evt(UiObserver *observer, UiEvent *event); -UiList* ui_list_new(UiContext *ctx, char *name); -void* ui_list_first(UiList *list); -void* ui_list_next(UiList *list); -void* ui_list_get(UiList *list, int i); -int ui_list_count(UiList *list); -void ui_list_append(UiList *list, void *data); -void ui_list_prepend(UiList *list, void *data); -void ui_list_clear(UiList *list); -void ui_list_addobsv(UiList *list, ui_callback f, void *data); -void ui_list_notify(UiList *list); +UIEXPORT UiList* ui_list_new(UiContext *ctx, char *name); +UIEXPORT void* ui_list_first(UiList *list); +UIEXPORT void* ui_list_next(UiList *list); +UIEXPORT void* ui_list_get(UiList *list, int i); +UIEXPORT int ui_list_count(UiList *list); +UIEXPORT void ui_list_append(UiList *list, void *data); +UIEXPORT void ui_list_prepend(UiList *list, void *data); +UIEXPORT void ui_list_clear(UiList *list); +UIEXPORT void ui_list_addobsv(UiList *list, ui_callback f, void *data); +UIEXPORT void ui_list_notify(UiList *list); -void ui_clipboard_set(char *str); -char* ui_clipboard_get(); +UIEXPORT void ui_clipboard_set(char *str); +UIEXPORT char* ui_clipboard_get(); -void ui_add_image(char *imgname, char *filename); // TODO: remove? +UIEXPORT void ui_add_image(char *imgname, char *filename); // TODO: remove? // general widget functions -void ui_set_enabled(UIWIDGET widget, int enabled); -void ui_set_show_all(UIWIDGET widget, int value); -void ui_set_visible(UIWIDGET widget, int visible); +UIEXPORT void ui_set_enabled(UIWIDGET widget, int enabled); +UIEXPORT void ui_set_show_all(UIWIDGET widget, int value); +UIEXPORT void ui_set_visible(UIWIDGET widget, int visible); #ifdef __cplusplus