Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

fxdefs.h File Reference

Go to the source code of this file.

Namespaces

namespace  FX

Defines

#define TRUE   1
#define FALSE   0
#define MAYBE   2
#define NULL   0
#define PI   3.1415926535897932384626433833
#define EULER   2.7182818284590452353602874713
#define DTOR   0.0174532925199432957692369077
#define RTOD   57.295779513082320876798154814
#define PATHSEP   '/'
#define PATHSEPSTRING   "/"
#define PATHLISTSEP   ':'
#define PATHLISTSEPSTRING   ":"
#define ISPATHSEP(c)   ((c)=='/')
#define ENDLINE   "\n"
#define FXLOCAL
#define FXEXPORT
#define FXIMPORT
#define FXAPI
#define FX_PRINTF(fmt, arg)
#define FX_SCANF(fmt, arg)
#define FXABS(val)   (((val)>=0)?(val):-(val))
#define FXMAX(a, b)   (((a)>(b))?(a):(b))
#define FXMIN(a, b)   (((a)>(b))?(b):(a))
#define FXMIN3(x, y, z)   ((x)<(y)?FXMIN(x,z):FXMIN(y,z))
#define FXMAX3(x, y, z)   ((x)>(y)?FXMAX(x,z):FXMAX(y,z))
#define FXMIN4(x, y, z, w)   (FXMIN(FXMIN(x,y),FXMIN(z,w)))
#define FXMAX4(x, y, z, w)   (FXMAX(FXMAX(x,y),FXMAX(z,w)))
#define FXMINMAX(lo, hi, a, b)   ((a)<(b)?((lo)=(a),(hi)=(b)):((lo)=(b),(hi)=(a)))
#define FXCLAMP(lo, x, hi)   ((x)<(lo)?(lo):((x)>(hi)?(hi):(x)))
#define FXSWAP(a, b, t)   ((t)=(a),(a)=(b),(b)=(t))
#define FXLERP(a, b, f)   ((a)+((b)-(a))*(f))
#define STRUCTOFFSET(str, member)   (((char *)(&(((str *)0)->member)))-((char *)0))
#define ARRAYNUMBER(array)   (sizeof(array)/sizeof(array[0]))
#define CONTAINER(ptr, str, mem)   ((str*)(((char*)(ptr))-STRUCTOFFSET(str,mem)))
#define MKUINT(l, h)   ((((FX::FXuint)(l))&0xffff) | (((FX::FXuint)(h))<<16))
#define FXSEL(type, id)   ((((FX::FXuint)(id))&0xffff) | (((FX::FXuint)(type))<<16))
#define FXSELTYPE(s)   ((FX::FXushort)(((s)>>16)&0xffff))
#define FXSELID(s)   ((FX::FXushort)((s)&0xffff))
#define FXBITREVERSE(b)   (((b&0x01)<<7)|((b&0x02)<<5)|((b&0x04)<<3)|((b&0x08)<<1)|((b&0x10)>>1)|((b&0x20)>>3)|((b&0x40)>>5)|((b&0x80)>>7))
#define FXISUTF(c)   (((c)&0xC0)!=0x80)
#define FXRGBA(r, g, b, a)   (((FX::FXuint)(FX::FXuchar)(r)) | ((FX::FXuint)(FX::FXuchar)(g)<<8) | ((FX::FXuint)(FX::FXuchar)(b)<<16) | ((FX::FXuint)(FX::FXuchar)(a)<<24))
#define FXRGB(r, g, b)   (((FX::FXuint)(FX::FXuchar)(r)) | ((FX::FXuint)(FX::FXuchar)(g)<<8) | ((FX::FXuint)(FX::FXuchar)(b)<<16) | 0xff000000)
#define FXREDVAL(rgba)   ((FX::FXuchar)((rgba)&0xff))
#define FXGREENVAL(rgba)   ((FX::FXuchar)(((rgba)>>8)&0xff))
#define FXBLUEVAL(rgba)   ((FX::FXuchar)(((rgba)>>16)&0xff))
#define FXALPHAVAL(rgba)   ((FX::FXuchar)(((rgba)>>24)&0xff))
#define FXRGBACOMPVAL(rgba, comp)   ((FX::FXuchar)(((rgba)>>((comp)<<3))&0xff))
#define FXASSERT(exp)   ((exp)?((void)0):(void)FX::fxassert(#exp,__FILE__,__LINE__))
#define FXTRACE(arguments)   FX::fxtrace arguments
#define FXMALLOC(ptr, type, no)   (FX::fxmalloc((void **)(ptr),sizeof(type)*(no)))
#define FXCALLOC(ptr, type, no)   (FX::fxcalloc((void **)(ptr),sizeof(type)*(no)))
#define FXRESIZE(ptr, type, no)   (FX::fxresize((void **)(ptr),sizeof(type)*(no)))
#define FXMEMDUP(ptr, src, type, no)   (FX::fxmemdup((void **)(ptr),(const void*)(src),sizeof(type)*(no)))
#define FXFREE(ptr)   (FX::fxfree((void **)(ptr)))
#define fabsf(x)   ((float)fabs((double)(x)))
#define ceilf(x)   ((float)ceil((double)(x)))
#define floorf(x)   ((float)floor((double)(x)))
#define fmodf(x, y)   ((float)fmod((double)(x),(double)(y)))
#define sqrtf(x)   ((float)sqrt((double)(x)))
#define sinf(x)   ((float)sin((double)(x)))
#define cosf(x)   ((float)cos((double)(x)))
#define tanf(x)   ((float)tan((double)(x)))
#define asinf(x)   ((float)asin((double)(x)))
#define acosf(x)   ((float)acos((double)(x)))
#define atanf(x)   ((float)atan((double)(x)))
#define atan2f(y, x)   ((float)atan2((double)(y),(double)(x)))
#define powf(x, y)   ((float)pow((double)(x),(double)(y)))
#define expf(x)   ((float)exp((double)(x)))
#define logf(x)   ((float)log((double)(x)))
#define log10f(x)   ((float)log10((double)(x)))

Typedefs

typedef char FXchar
typedef unsigned char FXuchar
typedef FXuchar FXbool
typedef unsigned short FXushort
typedef short FXshort
typedef unsigned int FXuint
typedef int FXint
typedef float FXfloat
typedef double FXdouble
typedef FXObject * FXObjectPtr
typedef wchar_t FXwchar
typedef unsigned short FXnchar
typedef long FXival
typedef unsigned long FXuval
typedef unsigned long FXID
typedef long FXTime
typedef unsigned long FXPixel
typedef FXuint FXColor
typedef FXuint FXHotKey
typedef FXID FXDragType
typedef FXint FXInputHandle
typedef _XEvent FXRawEvent

Enumerations

enum  FXSelType {
  SEL_NONE,
  SEL_KEYPRESS,
  SEL_KEYRELEASE,
  SEL_LEFTBUTTONPRESS,
  SEL_LEFTBUTTONRELEASE,
  SEL_MIDDLEBUTTONPRESS,
  SEL_MIDDLEBUTTONRELEASE,
  SEL_RIGHTBUTTONPRESS,
  SEL_RIGHTBUTTONRELEASE,
  SEL_MOTION,
  SEL_ENTER,
  SEL_LEAVE,
  SEL_FOCUSIN,
  SEL_FOCUSOUT,
  SEL_KEYMAP,
  SEL_UNGRABBED,
  SEL_PAINT,
  SEL_CREATE,
  SEL_DESTROY,
  SEL_UNMAP,
  SEL_MAP,
  SEL_CONFIGURE,
  SEL_SELECTION_LOST,
  SEL_SELECTION_GAINED,
  SEL_SELECTION_REQUEST,
  SEL_RAISED,
  SEL_LOWERED,
  SEL_CLOSE,
  SEL_DELETE,
  SEL_MINIMIZE,
  SEL_RESTORE,
  SEL_MAXIMIZE,
  SEL_UPDATE,
  SEL_COMMAND,
  SEL_CLICKED,
  SEL_DOUBLECLICKED,
  SEL_TRIPLECLICKED,
  SEL_MOUSEWHEEL,
  SEL_CHANGED,
  SEL_VERIFY,
  SEL_DESELECTED,
  SEL_SELECTED,
  SEL_INSERTED,
  SEL_REPLACED,
  SEL_DELETED,
  SEL_OPENED,
  SEL_CLOSED,
  SEL_EXPANDED,
  SEL_COLLAPSED,
  SEL_BEGINDRAG,
  SEL_ENDDRAG,
  SEL_DRAGGED,
  SEL_LASSOED,
  SEL_TIMEOUT,
  SEL_SIGNAL,
  SEL_CLIPBOARD_LOST,
  SEL_CLIPBOARD_GAINED,
  SEL_CLIPBOARD_REQUEST,
  SEL_CHORE,
  SEL_FOCUS_SELF,
  SEL_FOCUS_RIGHT,
  SEL_FOCUS_LEFT,
  SEL_FOCUS_DOWN,
  SEL_FOCUS_UP,
  SEL_FOCUS_NEXT,
  SEL_FOCUS_PREV,
  SEL_DND_ENTER,
  SEL_DND_LEAVE,
  SEL_DND_DROP,
  SEL_DND_MOTION,
  SEL_DND_REQUEST,
  SEL_IO_READ,
  SEL_IO_WRITE,
  SEL_IO_EXCEPT,
  SEL_PICKED,
  SEL_QUERY_TIP,
  SEL_QUERY_HELP,
  SEL_DOCKED,
  SEL_FLOATED,
  SEL_SESSION_NOTIFY,
  SEL_SESSION_CLOSED,
  SEL_LAST
}
enum  {
  SHIFTMASK = 0x001,
  CAPSLOCKMASK = 0x002,
  CONTROLMASK = 0x004,
  ALTMASK = 0x008,
  METAMASK = 0x040,
  NUMLOCKMASK = 0x010,
  SCROLLLOCKMASK = 0x0E0,
  LEFTBUTTONMASK = 0x100,
  MIDDLEBUTTONMASK = 0x200,
  RIGHTBUTTONMASK = 0x400
}
enum  {
  LEFTBUTTON = 1,
  MIDDLEBUTTON = 2,
  RIGHTBUTTON = 3
}
enum  {
  CROSSINGNORMAL,
  CROSSINGGRAB,
  CROSSINGUNGRAB
}
enum  {
  VISIBILITYTOTAL,
  VISIBILITYPARTIAL,
  VISIBILITYNONE
}
enum  {
  FILEMATCH_FILE_NAME = 1,
  FILEMATCH_NOESCAPE = 2,
  FILEMATCH_PERIOD = 4,
  FILEMATCH_LEADING_DIR = 8,
  FILEMATCH_CASEFOLD = 16
}
enum  FXDragAction {
  DRAG_REJECT = 0,
  DRAG_ACCEPT = 1,
  DRAG_COPY = 2,
  DRAG_MOVE = 3,
  DRAG_LINK = 4,
  DRAG_PRIVATE = 5
}
enum  FXDNDOrigin {
  FROM_SELECTION = 0,
  FROM_CLIPBOARD = 1,
  FROM_DRAGNDROP = 2
}
enum  FXExponent {
  EXP_NEVER = FALSE,
  EXP_ALWAYS = TRUE,
  EXP_AUTO = MAYBE
}
enum  {
  SEARCH_FORWARD = 0,
  SEARCH_BACKWARD = 1,
  SEARCH_NOWRAP = 0,
  SEARCH_WRAP = 2,
  SEARCH_EXACT = 0,
  SEARCH_IGNORECASE = 4,
  SEARCH_REGEX = 8,
  SEARCH_PREFIX = 16
}

Functions

FXuint fxrandom (FXuint &seed)
FXint fxmalloc (void **ptr, unsigned long size)
FXint fxcalloc (void **ptr, unsigned long size)
FXint fxresize (void **ptr, unsigned long size)
FXint fxmemdup (void **ptr, const void *src, unsigned long size)
void fxfree (void **ptr)
void fxerror (const char *format,...) FX_PRINTF(1
void void fxwarning (const char *format,...) FX_PRINTF(1
void void void fxmessage (const char *format,...) FX_PRINTF(1
void void void void fxassert (const char *expression, const char *filename, unsigned int lineno)
void fxtrace (unsigned int level, const char *format,...) FX_PRINTF(2
void void fxsleep (unsigned int n)
bool fxfilematch (const char *pattern, const char *string, FXuint flags=(FILEMATCH_NOESCAPE|FILEMATCH_FILE_NAME))
FXColor makeHiliteColor (FXColor clr)
FXColor makeShadowColor (FXColor clr)
FXint fxgetpid ()
bool fxtoDOS (FXchar *&string, FXint &len)
bool fxfromDOS (FXchar *&string, FXint &len)
FXchar * fxstrdup (const FXchar *str)
FXuint fxstrhash (const FXchar *str)
FXColor fxcolorfromname (const FXchar *colorname)
FXchar * fxnamefromcolor (FXchar *colorname, FXColor color)
void fxrgb_to_hsv (FXfloat &h, FXfloat &s, FXfloat &v, FXfloat r, FXfloat g, FXfloat b)
void fxhsv_to_rgb (FXfloat &r, FXfloat &g, FXfloat &b, FXfloat h, FXfloat s, FXfloat v)
FXint fxieeefloatclass (FXfloat number)
FXint fxieeedoubleclass (FXdouble number)
FXwchar fxkeysym2ucs (FXwchar sym)
FXwchar fxucs2keysym (FXwchar ucs)
FXint fxparsegeometry (const FXchar *string, FXint &x, FXint &y, FXint &w, FXint &h)
FXbool fxisconsole (const FXchar *path)
FXwchar wc (const FXchar *ptr)
FXwchar wc (const FXnchar *ptr)
FXint wclen (const FXchar *ptr)
FXint wclen (const FXnchar *ptr)
FXint wcvalidate (const FXchar *string, FXint pos)
FXint wcvalidate (const FXnchar *string, FXint pos)
FXint wcinc (const FXchar *string, FXint pos)
FXint wcinc (const FXnchar *string, FXint pos)
FXint wcdec (const FXchar *string, FXint pos)
FXint wcdec (const FXnchar *string, FXint pos)
FXint utfslen (const FXwchar *str, FXint n)
FXint utfslen (const FXwchar *str)
FXint utfslen (const FXnchar *str, FXint n)
FXint utfslen (const FXnchar *str)
FXint wcslen (const FXchar *str, FXint n)
FXint wcslen (const FXchar *str)
FXint ncslen (const FXchar *str, FXint n)
FXint ncslen (const FXchar *str)
FXint utf2wcs (FXwchar *dst, const FXchar *src, FXint n)
FXint utf2wcs (FXwchar *dst, const FXchar *src)
FXint utf2ncs (FXnchar *dst, const FXchar *src, FXint n)
FXint utf2ncs (FXnchar *dst, const FXchar *src)
FXint wc2utfs (FXchar *dst, const FXwchar *src, FXint n)
FXint wc2utfs (FXchar *dst, const FXwchar *src)
FXint nc2utfs (FXchar *dst, const FXnchar *src, FXint n)
FXint nc2utfs (FXchar *dst, const FXnchar *src)

Variables

const FXuchar fxversion [3]
unsigned int fxTraceLevel


Define Documentation

#define TRUE   1
 

#define FALSE   0
 

#define MAYBE   2
 

#define NULL   0
 

#define PI   3.1415926535897932384626433833
 

Pi.

#define EULER   2.7182818284590452353602874713
 

Euler constant.

#define DTOR   0.0174532925199432957692369077
 

Multiplier for degrees to radians.

#define RTOD   57.295779513082320876798154814
 

Multiplier for radians to degrees.

#define PATHSEP   '/'
 

#define PATHSEPSTRING   "/"
 

#define PATHLISTSEP   ':'
 

#define PATHLISTSEPSTRING   ":"
 

#define ISPATHSEP (  c   )     ((c)=='/')
 

#define ENDLINE   "\n"
 

#define FXLOCAL
 

#define FXEXPORT
 

#define FXIMPORT
 

#define FXAPI
 

#define FX_PRINTF (  fmt,
arg   ) 
 

#define FX_SCANF (  fmt,
arg   ) 
 

#define FXABS (  val   )     (((val)>=0)?(val):-(val))
 

Abolute value.

#define FXMAX (  a,
b   )     (((a)>(b))?(a):(b))
 

Return the maximum of a or b.

#define FXMIN (  a,
b   )     (((a)>(b))?(b):(a))
 

Return the minimum of a or b.

#define FXMIN3 (  x,
y,
z   )     ((x)<(y)?FXMIN(x,z):FXMIN(y,z))
 

Return the minimum of x, y and z.

#define FXMAX3 (  x,
y,
z   )     ((x)>(y)?FXMAX(x,z):FXMAX(y,z))
 

Return the maximum of x, y and z.

#define FXMIN4 (  x,
y,
z,
w   )     (FXMIN(FXMIN(x,y),FXMIN(z,w)))
 

Return the minimum of x, y, z, and w.

#define FXMAX4 (  x,
y,
z,
w   )     (FXMAX(FXMAX(x,y),FXMAX(z,w)))
 

Return the maximum of of x, y, z, and w.

#define FXMINMAX (  lo,
hi,
a,
b   )     ((a)<(b)?((lo)=(a),(hi)=(b)):((lo)=(b),(hi)=(a)))
 

Return minimum and maximum of a, b.

#define FXCLAMP (  lo,
x,
hi   )     ((x)<(lo)?(lo):((x)>(hi)?(hi):(x)))
 

Clamp value x to range [lo..hi].

#define FXSWAP (  a,
b,
t   )     ((t)=(a),(a)=(b),(b)=(t))
 

Swap a pair of numbers.

#define FXLERP (  a,
b,
f   )     ((a)+((b)-(a))*(f))
 

Linear interpolation between a and b, where 0<=f<=1.

#define STRUCTOFFSET (  str,
member   )     (((char *)(&(((str *)0)->member)))-((char *)0))
 

Offset of member in a structure.

#define ARRAYNUMBER (  array   )     (sizeof(array)/sizeof(array[0]))
 

Number of elements in a static array.

#define CONTAINER (  ptr,
str,
mem   )     ((str*)(((char*)(ptr))-STRUCTOFFSET(str,mem)))
 

Container class of a member class.

#define MKUINT (  l,
h   )     ((((FX::FXuint)(l))&0xffff) | (((FX::FXuint)(h))<<16))
 

Make int out of two shorts.

#define FXSEL (  type,
id   )     ((((FX::FXuint)(id))&0xffff) | (((FX::FXuint)(type))<<16))
 

Make selector from message type and message id.

#define FXSELTYPE (  s   )     ((FX::FXushort)(((s)>>16)&0xffff))
 

Get type from selector.

#define FXSELID (  s   )     ((FX::FXushort)((s)&0xffff))
 

Get ID from selector.

#define FXBITREVERSE (  b   )     (((b&0x01)<<7)|((b&0x02)<<5)|((b&0x04)<<3)|((b&0x08)<<1)|((b&0x10)>>1)|((b&0x20)>>3)|((b&0x40)>>5)|((b&0x80)>>7))
 

Reverse bits in byte.

#define FXISUTF (  c   )     (((c)&0xC0)!=0x80)
 

Test if character c is at the start of a utf8 sequence.

#define FXRGBA (  r,
g,
b,
a   )     (((FX::FXuint)(FX::FXuchar)(r)) | ((FX::FXuint)(FX::FXuchar)(g)<<8) | ((FX::FXuint)(FX::FXuchar)(b)<<16) | ((FX::FXuint)(FX::FXuchar)(a)<<24))
 

Make RGBA color.

#define FXRGB (  r,
g,
b   )     (((FX::FXuint)(FX::FXuchar)(r)) | ((FX::FXuint)(FX::FXuchar)(g)<<8) | ((FX::FXuint)(FX::FXuchar)(b)<<16) | 0xff000000)
 

Make RGB color.

#define FXREDVAL (  rgba   )     ((FX::FXuchar)((rgba)&0xff))
 

Get red value from RGBA color.

#define FXGREENVAL (  rgba   )     ((FX::FXuchar)(((rgba)>>8)&0xff))
 

Get green value from RGBA color.

#define FXBLUEVAL (  rgba   )     ((FX::FXuchar)(((rgba)>>16)&0xff))
 

Get blue value from RGBA color.

#define FXALPHAVAL (  rgba   )     ((FX::FXuchar)(((rgba)>>24)&0xff))
 

Get alpha value from RGBA color.

#define FXRGBACOMPVAL (  rgba,
comp   )     ((FX::FXuchar)(((rgba)>>((comp)<<3))&0xff))
 

Get component value of RGBA color.

#define FXASSERT (  exp   )     ((exp)?((void)0):(void)FX::fxassert(#exp,__FILE__,__LINE__))
 

FXASSERT() prints out a message when the expression fails, and nothing otherwise.

Unlike assert(), FXASSERT() will not terminate the execution of the application. When compiling your application for release, all assertions are compiled out; thus there is no impact on execution speed.

#define FXTRACE (  arguments   )     FX::fxtrace arguments
 

FXTRACE() allows you to trace the execution of your application with increasing levels of detail the higher the trace level.

The trace level is determined by variable fxTraceLevel, which may be set from the command line with "-tracelevel <level>". When compiling your application for release, all trace statements are compiled out, just like FXASSERT. A statement like: FXTRACE((10,"The value of x=%d\n",x)) will generate output only if fxTraceLevel is set to 11 or greater. The default value fxTraceLevel=0 will block all trace outputs. Note the double parentheses!

#define FXMALLOC (  ptr,
type,
no   )     (FX::fxmalloc((void **)(ptr),sizeof(type)*(no)))
 

Allocate a memory block of no elements of type and store a pointer to it into the address pointed to by ptr.

Return FALSE if size!=0 and allocation fails, TRUE otherwise. An allocation of a zero size block returns a NULL pointer.

#define FXCALLOC (  ptr,
type,
no   )     (FX::fxcalloc((void **)(ptr),sizeof(type)*(no)))
 

Allocate a zero-filled memory block no elements of type and store a pointer to it into the address pointed to by ptr.

Return FALSE if size!=0 and allocation fails, TRUE otherwise. An allocation of a zero size block returns a NULL pointer.

#define FXRESIZE (  ptr,
type,
no   )     (FX::fxresize((void **)(ptr),sizeof(type)*(no)))
 

Resize the memory block referred to by the pointer at the address ptr, to a hold no elements of type.

Returns FALSE if size!=0 and reallocation fails, TRUE otherwise. If reallocation fails, pointer is left to point to old block; a reallocation to a zero size block has the effect of freeing it. The ptr argument must be the address where the pointer to the allocated block is to be stored.

#define FXMEMDUP (  ptr,
src,
type,
no   )     (FX::fxmemdup((void **)(ptr),(const void*)(src),sizeof(type)*(no)))
 

Allocate and initialize memory from another block.

Return FALSE if size!=0 and source!=NULL and allocation fails, TRUE otherwise. An allocation of a zero size block returns a NULL pointer. The ptr argument must be the address where the pointer to the allocated block is to be stored.

#define FXFREE (  ptr   )     (FX::fxfree((void **)(ptr)))
 

Free a block of memory allocated with either FXMALLOC, FXCALLOC, FXRESIZE, or FXMEMDUP.

It is OK to call free a NULL pointer. The argument must be the address of the pointer to the block to be released. The pointer is set to NULL to prevent any further references to the block after releasing it.

#define fabsf (  x   )     ((float)fabs((double)(x)))
 

These are some of the ISO C99 standard single-precision transcendental functions.

On LINUX, specify _GNU_SOURCE or _ISOC99_SOURCE to enable native implementation; otherwise, these macros will be used. Apple OS-X implements fabsf(x), ceilf(x), floorf(x), and fmodf(x,y). Define FLOAT_MATH_FUNCTIONS if these functions are available in some other library you're linking to.

#define ceilf (  x   )     ((float)ceil((double)(x)))
 

#define floorf (  x   )     ((float)floor((double)(x)))
 

#define fmodf (  x,
y   )     ((float)fmod((double)(x),(double)(y)))
 

#define sqrtf (  x   )     ((float)sqrt((double)(x)))
 

#define sinf (  x   )     ((float)sin((double)(x)))
 

#define cosf (  x   )     ((float)cos((double)(x)))
 

#define tanf (  x   )     ((float)tan((double)(x)))
 

#define asinf (  x   )     ((float)asin((double)(x)))
 

#define acosf (  x   )     ((float)acos((double)(x)))
 

#define atanf (  x   )     ((float)atan((double)(x)))
 

#define atan2f (  y,
x   )     ((float)atan2((double)(y),(double)(x)))
 

#define powf (  x,
y   )     ((float)pow((double)(x),(double)(y)))
 

#define expf (  x   )     ((float)exp((double)(x)))
 

#define logf (  x   )     ((float)log((double)(x)))
 

#define log10f (  x   )     ((float)log10((double)(x)))
 


Typedef Documentation

typedef char FX::FXchar
 

typedef unsigned char FX::FXuchar
 

typedef FXuchar FX::FXbool
 

typedef unsigned short FX::FXushort
 

typedef short FX::FXshort
 

typedef unsigned int FX::FXuint
 

typedef int FX::FXint
 

typedef float FX::FXfloat
 

typedef double FX::FXdouble
 

typedef FXObject* FX::FXObjectPtr
 

typedef wchar_t FX::FXwchar
 

typedef unsigned short FX::FXnchar
 

typedef long FX::FXival
 

typedef unsigned long FX::FXuval
 

typedef unsigned long FX::FXID
 

typedef long FX::FXTime
 

typedef unsigned long FX::FXPixel
 

typedef FXuint FX::FXColor
 

typedef FXuint FX::FXHotKey
 

typedef FXID FX::FXDragType
 

typedef FXint FX::FXInputHandle
 

typedef _XEvent FX::FXRawEvent
 


Function Documentation

FXuint FX::fxrandom (  FXuint &  seed  ) 
 

Simple, thread-safe, random number generator.

FXint FX::fxmalloc (  void **  ptr,
unsigned long  size
) 
 

Allocate memory.

FXint FX::fxcalloc (  void **  ptr,
unsigned long  size
) 
 

Allocate cleaned memory.

FXint FX::fxresize (  void **  ptr,
unsigned long  size
) 
 

Resize memory.

FXint FX::fxmemdup (  void **  ptr,
const void *  src,
unsigned long  size
) 
 

Duplicate memory.

void FX::fxfree (  void **  ptr  ) 
 

Free memory, resets ptr to NULL afterward.

void FX::fxerror (  const char *  format,
  ...
) 
 

Error routine.

void void FX::fxwarning (  const char *  format,
  ...
) 
 

Warning routine.

void void void FX::fxmessage (  const char *  format,
  ...
) 
 

Log message to [typically] stderr.

void void void void FX::fxassert (  const char *  expression,
const char *  filename,
unsigned int  lineno
) 
 

Assert failed routine:- usually not called directly but called through FXASSERT.

void FX::fxtrace (  unsigned int  level,
const char *  format,
  ...
) 
 

Trace printout routine:- usually not called directly but called through FXTRACE.

void void FX::fxsleep (  unsigned int  n  ) 
 

Sleep n microseconds.

bool FX::fxfilematch (  const char *  pattern,
const char *  string,
FXuint  flags = (FILEMATCH_NOESCAPE|FILEMATCH_FILE_NAME)
) 
 

Match a file name with a pattern.

FXColor FX::makeHiliteColor (  FXColor  clr  ) 
 

Get highlight color.

FXColor FX::makeShadowColor (  FXColor  clr  ) 
 

Get shadow color.

FXint FX::fxgetpid (   ) 
 

Get process id.

bool FX::fxtoDOS (  FXchar *&  string,
FXint &  len
) 
 

Convert string of length len to MSDOS; return new string and new length.

bool FX::fxfromDOS (  FXchar *&  string,
FXint &  len
) 
 

Convert string of length len from MSDOS; return new string and new length.

FXchar* FX::fxstrdup (  const FXchar *  str  ) 
 

Duplicate string.

FXuint FX::fxstrhash (  const FXchar *  str  ) 
 

Calculate a hash value from a string.

FXColor FX::fxcolorfromname (  const FXchar *  colorname  ) 
 

Get RGB value from color name.

FXchar* FX::fxnamefromcolor (  FXchar *  colorname,
FXColor  color
) 
 

Get name of (closest) color to RGB.

void FX::fxrgb_to_hsv (  FXfloat &  h,
FXfloat &  s,
FXfloat &  v,
FXfloat  r,
FXfloat  g,
FXfloat  b
) 
 

Convert RGB to HSV.

void FX::fxhsv_to_rgb (  FXfloat &  r,
FXfloat &  g,
FXfloat &  b,
FXfloat  h,
FXfloat  s,
FXfloat  v
) 
 

Convert HSV to RGB.

FXint FX::fxieeefloatclass (  FXfloat  number  ) 
 

Floating point number classification: 0=OK, +/-1=Inf, +/-2=NaN.

FXint FX::fxieeedoubleclass (  FXdouble  number  ) 
 

FXwchar FX::fxkeysym2ucs (  FXwchar  sym  ) 
 

Convert keysym to unicode character.

FXwchar FX::fxucs2keysym (  FXwchar  ucs  ) 
 

Convert unicode character to keysym.

FXint FX::fxparsegeometry (  const FXchar *  string,
FXint &  x,
FXint &  y,
FXint &  w,
FXint &  h
) 
 

Parse geometry, a-la X11 geometry specification.

FXbool FX::fxisconsole (  const FXchar *  path  ) 
 

True if executable with given path is a console application.

FXwchar FX::wc (  const FXchar *  ptr  ) 
 

Return wide character from utf8 string at ptr.

FXwchar FX::wc (  const FXnchar *  ptr  ) 
 

Return wide character from utf16 string at ptr.

FXint FX::wclen (  const FXchar *  ptr  ) 
 

Return number of FXchar's of wide character at ptr.

FXint FX::wclen (  const FXnchar *  ptr  ) 
 

Return number of FXnchar's of narrow character at ptr.

FXint FX::wcvalidate (  const FXchar *  string,
FXint  pos
) 
 

Return start of utf8 character containing position.

FXint FX::wcvalidate (  const FXnchar *  string,
FXint  pos
) 
 

Return start of utf16 character containing position.

FXint FX::wcinc (  const FXchar *  string,
FXint  pos
) 
 

Advance to next utf8 character start.

FXint FX::wcinc (  const FXnchar *  string,
FXint  pos
) 
 

Advance to next utf16 character start.

FXint FX::wcdec (  const FXchar *  string,
FXint  pos
) 
 

Retreat to previous utf8 character start.

FXint FX::wcdec (  const FXnchar *  string,
FXint  pos
) 
 

Retreat to previous utf16 character start.

FXint FX::utfslen (  const FXwchar *  str,
FXint  n
) 
 

Length of utf8 representation of wide characters string str of length n.

FXint FX::utfslen (  const FXwchar *  str  ) 
 

Length of utf8 representation of wide character string str.

FXint FX::utfslen (  const FXnchar *  str,
FXint  n
) 
 

Length of utf8 representation of narrow characters string str of length n.

FXint FX::utfslen (  const FXnchar *  str  ) 
 

Length of utf8 representation of narrow characters string str.

FXint FX::wcslen (  const FXchar *  str,
FXint  n
) 
 

Length of wide character representation of utf8 string str of length n.

FXint FX::wcslen (  const FXchar *  str  ) 
 

Length of wide character representation of utf8 string str.

FXint FX::ncslen (  const FXchar *  str,
FXint  n
) 
 

Length of narrow character representation of utf8 string str of length n.

FXint FX::ncslen (  const FXchar *  str  ) 
 

Length of narrow character representation of utf8 string str.

FXint FX::utf2wcs (  FXwchar *  dst,
const FXchar *  src,
FXint  n
) 
 

Copy utf8 string of length n to wide character string dst.

FXint FX::utf2wcs (  FXwchar *  dst,
const FXchar *  src
) 
 

Copy utf8 string to wide character string dst.

FXint FX::utf2ncs (  FXnchar *  dst,
const FXchar *  src,
FXint  n
) 
 

Copy utf8 string of length n to narrow character string dst.

FXint FX::utf2ncs (  FXnchar *  dst,
const FXchar *  src
) 
 

Copy utf8 string to narrow character string dst.

FXint FX::wc2utfs (  FXchar *  dst,
const FXwchar *  src,
FXint  n
) 
 

Copy wide character substring of length n to dst.

FXint FX::wc2utfs (  FXchar *  dst,
const FXwchar *  src
) 
 

Copy wide character string to dst.

FXint FX::nc2utfs (  FXchar *  dst,
const FXnchar *  src,
FXint  n
) 
 

Copy narrow character substring of length n to dst.

FXint FX::nc2utfs (  FXchar *  dst,
const FXnchar *  src
) 
 

Copy narrow character string to dst.


Variable Documentation

const FXuchar FX::fxversion[3]
 

Version number that the library has been compiled with.

unsigned int FX::fxTraceLevel
 

Controls tracing level.

Copyright © 1997-2005 Jeroen van der Zijp