2026-03-16 10:35:43 +00:00
|
|
|
#ifndef _FX_PRINT_H_
|
|
|
|
|
#define _FX_PRINT_H_
|
2024-10-24 21:31:22 +01:00
|
|
|
|
2026-03-16 10:35:43 +00:00
|
|
|
#include <fx/core/misc.h>
|
|
|
|
|
#include <fx/term.h>
|
2024-10-24 21:31:22 +01:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
2026-03-16 10:35:43 +00:00
|
|
|
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,
|
2024-11-14 22:01:40 +00:00
|
|
|
};
|
|
|
|
|
|
2026-03-16 10:35:43 +00:00
|
|
|
#define Z__FX_STREAM_MOD_GET_FG_COLOUR(x) \
|
2024-11-14 23:11:55 +00:00
|
|
|
((x) \
|
2026-03-16 10:35:43 +00:00
|
|
|
& (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) \
|
2024-11-14 23:11:55 +00:00
|
|
|
((x) \
|
2026-03-16 10:35:43 +00:00
|
|
|
& ~(Z__FX_STREAM_MOD_BLACK | Z__FX_STREAM_MOD_RED \
|
|
|
|
|
| Z__FX_STREAM_MOD_GREEN | Z__FX_STREAM_MOD_FX))
|
2024-11-14 22:01:40 +00:00
|
|
|
|
2026-03-16 10:35:43 +00:00
|
|
|
#define Z__FX_STREAM_MOD_GET_BG_COLOUR(x) \
|
2024-11-14 23:11:55 +00:00
|
|
|
((x) \
|
2026-03-16 10:35:43 +00:00
|
|
|
& (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) \
|
2024-11-14 23:11:55 +00:00
|
|
|
((x) \
|
2026-03-16 10:35:43 +00:00
|
|
|
& ~(Z__FX_STREAM_MOD_BG_BLACK | Z__FX_STREAM_MOD_BG_RED \
|
|
|
|
|
| Z__FX_STREAM_MOD_BG_GREEN | Z__FX_STREAM_MOD_BG_FX))
|
2024-11-14 22:01:40 +00:00
|
|
|
|
2026-03-16 10:35:43 +00:00
|
|
|
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(
|
2024-10-24 21:31:22 +01:00
|
|
|
FILE *in, FILE *out, unsigned int *x, unsigned int *y);
|
2026-03-16 10:35:43 +00:00
|
|
|
FX_API int z__fx_stream_set_modifier(FILE *fp, unsigned int mod);
|
2024-10-24 21:31:22 +01:00
|
|
|
|
|
|
|
|
#endif
|