* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
* COPYRIGHT: See COPYING in the top level directory
NULL);
}
+BOOL
+CONSOLE_Flush(VOID)
+{
+ return FlushConsoleInputBuffer(StdInput);
+}
+
SHORT
CONSOLE_GetCursorX(VOID)
{
&Written);
}
-VOID
-CONSOLE_SetStatusText(
- IN LPCSTR fmt, ...)
-{
- CHAR Buffer[128];
- va_list ap;
- COORD coPos;
- DWORD Written;
-
- va_start(ap, fmt);
- vsprintf(Buffer, fmt, ap);
- va_end(ap);
-
- coPos.X = 0;
- coPos.Y = yScreen - 1;
-
- FillConsoleOutputAttribute(
- StdOutput,
- BACKGROUND_WHITE,
- xScreen,
- coPos,
- &Written);
-
- FillConsoleOutputCharacterA(
- StdOutput,
- ' ',
- xScreen,
- coPos,
- &Written);
-
- WriteConsoleOutputCharacterA(
- StdOutput,
- Buffer,
- (ULONG)strlen(Buffer),
- coPos,
- &Written);
-}
-
VOID
CONSOLE_InvertTextXY(
IN SHORT x,
&Written);
}
+VOID
+CONSOLE_SetStatusText(
+ IN LPCSTR fmt, ...)
+{
+ CHAR Buffer[128];
+ va_list ap;
+ COORD coPos;
+ DWORD Written;
+
+ va_start(ap, fmt);
+ vsprintf(Buffer, fmt, ap);
+ va_end(ap);
+
+ coPos.X = 0;
+ coPos.Y = yScreen - 1;
+
+ FillConsoleOutputAttribute(
+ StdOutput,
+ BACKGROUND_WHITE,
+ xScreen,
+ coPos,
+ &Written);
+
+ FillConsoleOutputCharacterA(
+ StdOutput,
+ ' ',
+ xScreen,
+ coPos,
+ &Written);
+
+ WriteConsoleOutputCharacterA(
+ StdOutput,
+ Buffer,
+ (ULONG)strlen(Buffer),
+ coPos,
+ &Written);
+}
+
+VOID
+CONSOLE_SetStatusTextX(
+ IN SHORT x,
+ IN LPCSTR fmt, ...)
+{
+ CHAR Buffer[128];
+ va_list ap;
+ COORD coPos;
+ DWORD Written;
+
+ va_start(ap, fmt);
+ vsprintf(Buffer, fmt, ap);
+ va_end(ap);
+
+ coPos.X = 0;
+ coPos.Y = yScreen - 1;
+
+ FillConsoleOutputAttribute(
+ StdOutput,
+ BACKGROUND_WHITE,
+ xScreen,
+ coPos,
+ &Written);
+
+ FillConsoleOutputCharacterA(
+ StdOutput,
+ ' ',
+ xScreen,
+ coPos,
+ &Written);
+
+ coPos.X = x;
+
+ WriteConsoleOutputCharacterA(
+ StdOutput,
+ Buffer,
+ (ULONG)strlen(Buffer),
+ coPos,
+ &Written);
+}
+
+VOID
+CONSOLE_SetStatusTextAutoFitX(
+ IN SHORT x,
+ IN LPCSTR fmt, ...)
+{
+ CHAR Buffer[128];
+ DWORD Length;
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsprintf(Buffer, fmt, ap);
+ va_end(ap);
+
+ Length = (ULONG)strlen(Buffer);
+
+ if (Length + x <= 79)
+ {
+ CONSOLE_SetStatusTextX (x , Buffer);
+ }
+ else
+ {
+ CONSOLE_SetStatusTextX (79 - Length , Buffer);
+ }
+}
+
VOID
CONSOLE_SetInvertedTextXY(
IN SHORT x,
}
}
+VOID
+CONSOLE_SetStyledText(
+ IN SHORT x,
+ IN SHORT y,
+ IN INT Flags,
+ IN LPCSTR Text)
+{
+ COORD coPos;
+ DWORD Length;
+
+ coPos.X = x;
+ coPos.Y = y;
+
+ Length = (ULONG)strlen(Text);
+
+ if (Flags & TEXT_TYPE_STATUS)
+ {
+ coPos.X = x;
+ coPos.Y = yScreen - 1;
+ }
+ else /* TEXT_TYPE_REGULAR (Default) */
+ {
+ coPos.X = x;
+ coPos.Y = y;
+ }
+
+ if (Flags & TEXT_ALIGN_CENTER)
+ {
+ coPos.X = (xScreen - Length) /2;
+ }
+ else if(Flags & TEXT_ALIGN_RIGHT)
+ {
+ coPos.X = coPos.X - Length;
+
+ if (Flags & TEXT_PADDING_SMALL)
+ {
+ coPos.X -= 1;
+ }
+ else if (Flags & TEXT_PADDING_MEDIUM)
+ {
+ coPos.X -= 2;
+ }
+ else if (Flags & TEXT_PADDING_BIG)
+ {
+ coPos.X -= 3;
+ }
+ }
+ else /* TEXT_ALIGN_LEFT (Default) */
+ {
+ if (Flags & TEXT_PADDING_SMALL)
+ {
+ coPos.X += 1;
+ }
+ else if (Flags & TEXT_PADDING_MEDIUM)
+ {
+ coPos.X += 2;
+ }
+ else if (Flags & TEXT_PADDING_BIG)
+ {
+ coPos.X += 3;
+ }
+ }
+
+ if (Flags & TEXT_TYPE_STATUS)
+ {
+ CONSOLE_SetStatusTextX(coPos.X, Text);
+ }
+ else /* TEXT_TYPE_REGULAR (Default) */
+ {
+ if (Flags & TEXT_STYLE_HIGHLIGHT)
+ {
+ CONSOLE_SetHighlightedTextXY(coPos.X, coPos.Y, Text);
+ }
+ else if (Flags & TEXT_STYLE_UNDERLINE)
+ {
+ CONSOLE_SetUnderlinedTextXY(coPos.X, coPos.Y, Text);
+ }
+ else /* TEXT_STYLE_NORMAL (Default) */
+ {
+ CONSOLE_SetTextXY(coPos.X, coPos.Y, Text);
+ }
+ }
+}
+
/* EOF */