diff --git a/FL/Fl.H b/FL/Fl.H index ccecb3adb..720899b91 100644 --- a/FL/Fl.H +++ b/FL/Fl.H @@ -22,8 +22,9 @@ # define Fl_H #include - #include // for FL_SOCKET +#include // experimental + #ifdef FLTK_HAVE_CAIRO # include #endif diff --git a/FL/fl_casts.H b/FL/fl_casts.H new file mode 100644 index 000000000..b4968c055 --- /dev/null +++ b/FL/fl_casts.H @@ -0,0 +1,23 @@ +// experimental inline cast functions for the Fast Light Toolkit (FLTK) + +#include + +inline char fl_char(void *v) { return (char)(fl_intptr_t)v; } +inline int fl_int(void *v) { return (int)(fl_intptr_t)v; } +inline long fl_long(void *v) { return (long)(fl_intptr_t)v; } + +inline unsigned char fl_uchar(void *v) { return (unsigned char)(fl_uintptr_t)v; } +inline unsigned int fl_uint(void *v) { return (unsigned int)(fl_uintptr_t)v; } +inline unsigned long fl_ulong(void *v) { return (unsigned long)(fl_uintptr_t)v; } + +#if 0 /* not necessary */ + +inline char fl_char(size_t v) { return (char)v; } +inline int fl_int(size_t v) { return (int)v; } +inline long fl_long(size_t v) { return (long)v; } + +inline unsigned char fl_uchar(size_t v) { return (unsigned char)v; } +inline unsigned int fl_uint(size_t v) { return (unsigned int)v; } +inline unsigned long fl_ulong(size_t v) { return (unsigned long)v; } + +#endif /* not necessary */