2015-05-14 08:43:25 -05:00
// 6 april 2015
2015-11-17 18:18:55 -06:00
# ifdef __cplusplus
extern " C " {
# endif
2016-05-13 19:20:15 -05:00
# include <stdarg.h>
2016-04-24 14:46:29 -05:00
# include "controlsigs.h"
2015-05-14 08:43:25 -05:00
extern uiInitOptions options ;
extern void * uiAlloc ( size_t , const char * ) ;
# define uiNew(T) ((T *) uiAlloc(sizeof (T), #T))
extern void * uiRealloc ( void * , size_t , const char * ) ;
extern void uiFree ( void * ) ;
2016-05-13 22:29:41 -05:00
// ugh, this was only introduced in MSVC 2015...
# ifdef _MSC_VER
# define __func__ __FUNCTION__
# endif
2016-05-13 19:20:15 -05:00
extern void realbug ( const char * file , const char * line , const char * func , const char * prefix , const char * format , va_list ap ) ;
2016-05-13 19:14:46 -05:00
# define _ns2(s) #s
# define _ns(s) _ns2(s)
2016-05-13 17:27:08 -05:00
extern void _implbug ( const char * file , const char * line , const char * func , const char * format , . . . ) ;
2016-05-13 19:14:46 -05:00
# define implbug(...) _implbug(__FILE__, _ns(__LINE__), __func__, __VA_ARGS__)
2016-05-13 17:27:08 -05:00
extern void _userbug ( const char * file , const char * line , const char * func , const char * format , . . . ) ;
2016-05-13 20:00:12 -05:00
# define userbug(...) _userbug(__FILE__, _ns(__LINE__), __func__, __VA_ARGS__)
2015-05-14 08:43:25 -05:00
2016-04-24 15:14:19 -05:00
// control.c
2016-04-24 16:38:48 -05:00
extern uiControl * newControl ( size_t size , uint32_t OSsig , uint32_t typesig , const char * typenamestr ) ;
2016-04-24 15:14:19 -05:00
2015-05-14 08:43:25 -05:00
// shouldquit.c
2015-05-29 13:56:11 -05:00
extern int shouldQuit ( void ) ;
2015-10-08 17:24:09 -05:00
// areaevents.c
typedef struct clickCounter clickCounter ;
// you should call Reset() to zero-initialize a new instance
// it doesn't matter that all the non-count fields are zero: the first click will fail the curButton test straightaway, so it'll return 1 and set the rest of the structure accordingly
struct clickCounter {
uintmax_t curButton ;
intmax_t rectX0 ;
intmax_t rectY0 ;
intmax_t rectX1 ;
intmax_t rectY1 ;
uintptr_t prevTime ;
uintmax_t count ;
} ;
extern uintmax_t clickCounterClick ( clickCounter * , uintmax_t , intmax_t , intmax_t , uintptr_t , uintptr_t , intmax_t , intmax_t ) ;
extern void clickCounterReset ( clickCounter * ) ;
extern int fromScancode ( uintptr_t , uiAreaKeyEvent * ) ;
2015-10-11 10:13:01 -05:00
// matrix.c
2015-10-12 06:58:07 -05:00
extern void fallbackSkew ( uiDrawMatrix * , double , double , double , double ) ;
2015-10-12 00:43:12 -05:00
extern void scaleCenter ( double , double , double * , double * ) ;
2015-10-11 11:36:48 -05:00
extern void fallbackTransformSize ( uiDrawMatrix * , double * , double * ) ;
2015-11-17 18:18:55 -06:00
# ifdef __cplusplus
}
# endif