/* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #pragma off (unreferenced) static char rcsid[] = "$Id: winmono.c 1.1 1995/12/21 11:21:38 samir Exp $"; #pragma on (unreferenced) #include #include #include #include #include #include static int WinMonoInitialized = 0; static HANDLE hConOutput = 0; // ---------------------------------------------------------------------------- // Functions // ---------------------------------------------------------------------------- int minit(void) { if (WinMonoInitialized) return 1; if (!AllocConsole()) return 0; hConOutput = GetStdHandle(STD_OUTPUT_HANDLE); if (hConOutput == INVALID_HANDLE_VALUE) return 0; WinMonoInitialized = 1; return 1; } int mkill(void) { FreeConsole(); return 1; } void mopen(short n, short row, short col, short width, short height, char *title) { if (!WinMonoInitialized) return; } void mclose(int n) { if (!WinMonoInitialized) return; } void msetcursor(short row, short col) { COORD coord; coord.X = col; coord.Y = row; SetConsoleCursorPosition(hConOutput, coord); } void mputc(short n, char c) { char buf[2]; DWORD chwritten; if (!WinMonoInitialized) return; buf[0] = c; buf[1] = 0; WriteConsole(hConOutput, buf, 1, &chwritten, NULL); } void mputc_at(short n, short row, short col, char c) { if (!WinMonoInitialized) return; msetcursor(row,col); mputc(n, c); } void scroll(short n) { } static char temp_m_buffer[1000]; void mprintf(short n, char *format, ...) { char *ptr = temp_m_buffer; va_list args; DWORD chwritten; if (!WinMonoInitialized) return; va_start(args, format); vsprintf(temp_m_buffer, format, args); WriteConsole(hConOutput, ptr, strlen(ptr), &chwritten, NULL); } void mprintf_at(short n, short row, short col, char *format, ...) { char *ptr = temp_m_buffer; va_list args; DWORD chwritten; if (!WinMonoInitialized) return; va_start(args, format); vsprintf(temp_m_buffer, format, args); msetcursor(row, col); WriteConsole(hConOutput, ptr, strlen(ptr), &chwritten, NULL); } void drawbox(short n) { // Obsolete in the New Order } void mrefresh(short n) { // Huh??? :) }