#ifndef _FX_PRINT_H_ #define _FX_PRINT_H_ #include #include #include enum z__fx_stream_modifier { Z__FX_STREAM_MOD_BLACK = 0x1, Z__FX_STREAM_MOD_RED = 0x2, Z__FX_STREAM_MOD_GREEN = 0x4, Z__FX_STREAM_MOD_FX = 0x8, Z__FX_STREAM_MOD_BRIGHT = 0x10, Z__FX_STREAM_MOD_BG_BLACK = 0x20, Z__FX_STREAM_MOD_BG_RED = 0x40, Z__FX_STREAM_MOD_BG_GREEN = 0x80, Z__FX_STREAM_MOD_BG_FX = 0x100, Z__FX_STREAM_MOD_BG_BRIGHT = 0x200, Z__FX_STREAM_MOD_BOLD = 0x400, Z__FX_STREAM_MOD_ITALIC = 0x800, Z__FX_STREAM_MOD_ULINE = 0x1000, Z__FX_STREAM_MOD_INVERT = 0x2000, Z__FX_STREAM_MOD_RESET = 0x4000, }; #define Z__FX_STREAM_MOD_GET_FG_COLOUR(x) \ ((x) \ & (Z__FX_STREAM_MOD_BLACK | Z__FX_STREAM_MOD_RED \ | Z__FX_STREAM_MOD_GREEN | Z__FX_STREAM_MOD_FX)) #define Z__FX_STREAM_MOD_CLEAR_FG_COLOUR(x) \ ((x) \ & ~(Z__FX_STREAM_MOD_BLACK | Z__FX_STREAM_MOD_RED \ | Z__FX_STREAM_MOD_GREEN | Z__FX_STREAM_MOD_FX)) #define Z__FX_STREAM_MOD_GET_BG_COLOUR(x) \ ((x) \ & (Z__FX_STREAM_MOD_BG_BLACK | Z__FX_STREAM_MOD_BG_RED \ | Z__FX_STREAM_MOD_BG_GREEN | Z__FX_STREAM_MOD_BG_FX)) #define Z__FX_STREAM_MOD_CLEAR_BG_COLOUR(x) \ ((x) \ & ~(Z__FX_STREAM_MOD_BG_BLACK | Z__FX_STREAM_MOD_BG_RED \ | Z__FX_STREAM_MOD_BG_GREEN | Z__FX_STREAM_MOD_BG_FX)) FX_API int z__fx_stream_is_tty(FILE *fp); FX_API int z__fx_stream_dimensions(FILE *fp, unsigned int *w, unsigned int *h); FX_API int z__fx_stream_cursorpos( FILE *in, FILE *out, unsigned int *x, unsigned int *y); FX_API int z__fx_stream_set_modifier(FILE *fp, unsigned int mod); #endif