Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4463/src
Added Files:
console.c richedit.c
Log Message:
2 new source files with version 4.4.0.4
--- NEW FILE: richedit.c ---
/******************************************************************************/
/*** File: richedit.c
/******************************************************************************/
/* WINVER and _WIN32_WINNT are for wheel mouse and 5 mouse button support */
#ifndef WINVER
#define WINVER 0x5000
#endif
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <windowsx.h>
#include <winuser.h> // Had to include to support wheel mouse
#include <stdio.h>
#include <limits.h>
#include <string.h>
#include <richedit.h>
#include "copyright2.h"
#include "config.h"
#include "Wlib.h"
#include "defs.h"
#include "struct.h"
#include "data.h"
#include "xclrs.h"
#include "cursors.h"
#include "proto.h"
#include "resource.h"
--- NEW FILE: console.c ---
/******************************************************************************/
/*** File: console.c ***/
/*** ***/
/*** Function: set of functions to manupulate text output to console ***/
/*** window ***/
/******************************************************************************/
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include "config.h"
#include "Wlib.h"
#include "defs.h"
#include "struct.h"
#include "data.h"
#include "proto.h"
/******************************************************************************/
/*** IsConsoleVisible () ***/
/******************************************************************************/
int
IsConsoleVisible (void)
{
char ConsoleTitle[256];
return GetConsoleTitle (ConsoleTitle, sizeof (ConsoleTitle));
}
/******************************************************************************/
/*** ShowConsole () ***/
/******************************************************************************/
void
ShowConsole (void)
{
if (IsConsoleVisible ())
return;
/* If the console is not visible it means that we freed it, so we'll have
to allocate it once again and write everything there */
AllocConsole ();
BufferToConsole ();
}
/******************************************************************************/
/*** LineToConsole () ***/
/******************************************************************************/
void
LineToConsole (char * format, ...)
{
struct cons_buffer * tmp; // temporary pointer to our linked list;
char str[256];
DWORD numChars;
va_list args;
va_start (args, format);
vsprintf (str, format, args);
va_end (args);
/* First of all let's put the string into our linked list */
tmp = consTail;
if (tmp == NULL)
{
consHead = (struct cons_buffer *) malloc (sizeof (struct cons_buffer));
consTail = consHead;
consHead->string = (char *) malloc (sizeof (char) * strlen (str) + 1);
consHead->next = NULL;
strcpy (consHead->string, str);
}
else
{
tmp = (struct cons_buffer *) malloc (sizeof (struct cons_buffer));
consTail = consTail->next;
consTail = tmp;
consTail->string = (char *) malloc (sizeof (char) * strlen (str) + 1);
consTail->next = NULL;
strcpy (consTail->string, str);
}
/* Now if console is visible we can also output the string to the console */
if (IsConsoleVisible ())
WriteConsole (GetStdHandle (STD_OUTPUT_HANDLE), str, strlen (str), &numChars, NULL);
}
/******************************************************************************/
/*** BufferToConsole () ***/
/******************************************************************************/
void
BufferToConsole (void)
{
struct cons_buffer * tmp;
DWORD numChars;
if (!IsConsoleVisible ())
return;
tmp = consHead;
while (tmp)
{
WriteConsole (GetStdHandle (STD_OUTPUT_HANDLE), tmp->string, strlen (tmp->string),
&numChars, NULL);
tmp = tmp->next;
}
}