diff --git a/src/conio/CMakeLists.txt b/src/conio/CMakeLists.txt index beeb98b149c50f1d234a355cf02c2c0aeb9cb65c..278e9c8130accfd8e7370a0211778a340ebc3653 100644 --- a/src/conio/CMakeLists.txt +++ b/src/conio/CMakeLists.txt @@ -58,6 +58,8 @@ target_include_directories(ciolib PRIVATE "${XPDev_DIR}/../../../include/xpdev") target_compile_definitions(ciolib PRIVATE $<TARGET_PROPERTY:xpdev,INTERFACE_COMPILE_DEFINITIONS>) target_include_directories(ciolib PRIVATE $<TARGET_PROPERTY:xpdev,INTERFACE_INCLUDE_DIRECTORIES>) target_link_libraries(ciolib xpdev) +target_compile_definitions(ciolib PRIVATE CIOLIB_EXPORTS) +target_compile_definitions(ciolib INTERFACE CIOLIB_IMPORTS) if(SDL_FOUND) target_include_directories(ciolib PRIVATE ${SDL_INCLUDE_DIR}) diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index f9ac3946df847617e47ffe2cdf45204e23717ee9..bd55dbd2e4285915b75d06cd065aa6f8aa558c10 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -493,18 +493,18 @@ extern int ciolib_mouse_initialized; #ifdef __cplusplus extern "C" { #endif -void ciomouse_gotevent(int event, int x, int y); -int mouse_trywait(void); -int mouse_wait(void); -int mouse_pending(void); -int ciolib_getmouse(struct mouse_event *mevent); -int ciolib_ungetmouse(struct mouse_event *mevent); -void ciolib_mouse_thread(void *data); -int ciomouse_setevents(int events); -int ciomouse_addevents(int events); -int ciomouse_delevents(int events); -int ciomouse_addevent(int event); -int ciomouse_delevent(int event); +CIOLIBEXPORT void CIOLIBCALL ciomouse_gotevent(int event, int x, int y); +CIOLIBEXPORT int CIOLIBCALL mouse_trywait(void); +CIOLIBEXPORT int CIOLIBCALL mouse_wait(void); +CIOLIBEXPORT int CIOLIBCALL mouse_pending(void); +CIOLIBEXPORT int CIOLIBCALL ciolib_getmouse(struct mouse_event *mevent); +CIOLIBEXPORT int CIOLIBCALL ciolib_ungetmouse(struct mouse_event *mevent); +CIOLIBEXPORT void CIOLIBCALL ciolib_mouse_thread(void *data); +CIOLIBEXPORT int CIOLIBCALL ciomouse_setevents(int events); +CIOLIBEXPORT int CIOLIBCALL ciomouse_addevents(int events); +CIOLIBEXPORT int CIOLIBCALL ciomouse_delevents(int events); +CIOLIBEXPORT int CIOLIBCALL ciomouse_addevent(int event); +CIOLIBEXPORT int CIOLIBCALL ciomouse_delevent(int event); #ifdef __cplusplus } #endif diff --git a/src/conio/mouse.c b/src/conio/mouse.c index 5d5df3ea76ca7f562f2f5016a8743e85eb4e4abb..eb6aad6c7cbe50f64ac5a6b85dba5da5ffb6ef1b 100644 --- a/src/conio/mouse.c +++ b/src/conio/mouse.c @@ -100,7 +100,7 @@ int ciolib_mouse_initialized=0; static int ungot=0; pthread_mutex_t unget_mutex; -void init_mouse(void) +void CIOLIBCALL init_mouse(void) { memset(&state,0,sizeof(state)); state.click_timeout=0; @@ -111,37 +111,37 @@ void init_mouse(void) ciolib_mouse_initialized=1; } -int ciomouse_setevents(int events) +int CIOLIBCALL ciomouse_setevents(int events) { mouse_events=events; return mouse_events; } -int ciomouse_addevents(int events) +int CIOLIBCALL ciomouse_addevents(int events) { mouse_events |= events; return mouse_events; } -int ciomouse_delevents(int events) +int CIOLIBCALL ciomouse_delevents(int events) { mouse_events &= ~events; return mouse_events; } -int ciomouse_addevent(int event) +int CIOLIBCALL ciomouse_addevent(int event) { mouse_events |= (1<<event); return mouse_events; } -int ciomouse_delevent(int event) +int CIOLIBCALL ciomouse_delevent(int event) { mouse_events &= ~(1<<event); return mouse_events; } -void ciomouse_gotevent(int event, int x, int y) +void CIOLIBCALL ciomouse_gotevent(int event, int x, int y) { struct in_mouse_event *ime; @@ -157,7 +157,7 @@ void ciomouse_gotevent(int event, int x, int y) listPushNode(&state.input,ime); } -void add_outevent(int event, int x, int y) +void CIOLIBCALL add_outevent(int event, int x, int y) { struct out_mouse_event *ome; int but; @@ -179,7 +179,7 @@ void add_outevent(int event, int x, int y) listPushNode(&state.output,ome); } -int more_multies(int button, int clicks) +int CIOLIBCALL more_multies(int button, int clicks) { switch(clicks) { case 0: @@ -198,7 +198,7 @@ int more_multies(int button, int clicks) return(0); } -void ciolib_mouse_thread(void *data) +void CIOLIBCALL ciolib_mouse_thread(void *data) { int timedout; int timeout_button=0; @@ -431,7 +431,7 @@ void ciolib_mouse_thread(void *data) } } -int mouse_trywait(void) +int CIOLIBCALL mouse_trywait(void) { int result; @@ -449,7 +449,7 @@ int mouse_trywait(void) } } -int mouse_wait(void) +int CIOLIBCALL mouse_wait(void) { int result; @@ -467,14 +467,14 @@ int mouse_wait(void) } } -int mouse_pending(void) +int CIOLIBCALL mouse_pending(void) { while(!ciolib_mouse_initialized) SLEEP(1); return(listCountNodes(&state.output)); } -int ciolib_getmouse(struct mouse_event *mevent) +int CIOLIBCALL ciolib_getmouse(struct mouse_event *mevent) { int retval=0; @@ -505,7 +505,7 @@ int ciolib_getmouse(struct mouse_event *mevent) return(retval); } -int ciolib_ungetmouse(struct mouse_event *mevent) +int CIOLIBCALL ciolib_ungetmouse(struct mouse_event *mevent) { struct mouse_event *me;