18.01.2009, 19:28
this is a preview of the next version :P
Код:
/*
Console Colored Text 0.3
Author(s):
- Cosmy
- 0rb
Version log:
0.3
- Now SetConsoleTextColor() and GetConsoleTextColor() are called SetConsoleTextColors() and GetConsoleTextColors().
- Added an enum with all possible colors (i think).
- Added printc() and printfc() functions.
- Added GetConsoleForegroundColor(), GetConsoleBackgroundColor(), SetConsoleForegroundColor(), SetConsoleBackgroundColor() and SetConsoleColors().
- Deleted all old defines.
0.2
- Added GetConsoleTextColor() function.
0.1
- First release.
*/
#pragma unused g_console_colors
native SetConsoleTextColors(Attributes);
native GetConsoleTextColors();
new g_console_colors;
enum e_console_color
{
BLACK,
BLUE,
GREEN,
AQUA,
RED,
PURPLE,
YELLOW,
WHITE,
GRAY,
LIGHTBLUE,
LIGHTGREEN,
LIGHTAQUA,
LIGHTRED,
LIGHTPURLE,
LIGHTYELLOW,
BRIGHTWHITE
}
/* printc(colors, const string[]) */
#define printc(%1,%2); \
{\
g_console_colors = GetConsoleTextColors();\
SetConsoleTextColors(%1);\
print(%2);\
SetConsoleTextColors(g_console_colors);\
}
/* printfc(colors, const format[], {Float,_}:...) */
#define printfc(%1,%2); \
{\
g_console_colors = GetConsoleTextColors();\
SetConsoleTextColors(%1);\
printf(%2);\
SetConsoleTextColors(g_console_colors);\
}
/* GetConsoleForegroundColor() */
#define GetConsoleForegroundColor() \
(GetConsoleTextColors() & 0xF)
/* GetConsoleBackgroundColor() */
#define GetConsoleBackgroundColor() \
(GetConsoleTextColors() >> 4 & 0xF)
/* SetConsoleForegroundColor(e_console_color:color) */
#define SetConsoleForegroundColor(%1) \
SetConsoleTextColors(GetConsoleBackgroundColor() << 4 | _:%1)
/* SetConsoleBackgroundColor(e_console_color:color) */
#define SetConsoleBackgroundColor(%1) \
SetConsoleTextColors(_:%1 << 4 | GetConsoleForegroundColor())
/* SetConsoleColors(e_console_color:foreground, e_console_color:background) */
#define SetConsoleColors(%1,%2) \
SetConsoleTextColors(_:%2 << 4 | _:%1)

