packages feed

AWin32Console-1.1: c/BWin32Console.c

// Copyright (c) 2010 - Harald Wolfsgruber
// All rights reserved.
//
// Name:                AWin32Console
// Version:             1.1
// Description:         ANSI escape code 
// License:             BSD3
// License-file:        LICENSE
// Author:              Harald Wolfsgruber

#include <windows.h>

void SetAttr(WORD a)
{
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleTextAttribute(hStdOut,a);
  return;
}

void SetPos(SHORT x, SHORT y)
{
  COORD a;
  a.X = x;
  a.Y = y;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleCursorPosition(hStdOut,a);
  return;
}

void SetCls()
{
  COORD a = {0, 0};
  DWORD c;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  CONSOLE_SCREEN_BUFFER_INFO b;
  GetConsoleScreenBufferInfo(hStdOut, &b);
  DWORD hSize = b.dwSize.X*b.dwSize.Y;
  FillConsoleOutputCharacter(hStdOut, (TCHAR) ' ', hSize, a, &c);
  FillConsoleOutputAttribute(hStdOut, b.wAttributes, hSize, a, &c);
  return;
}

void SetScroll(SHORT xTO, SHORT yTO, SHORT lR, SHORT tR, SHORT rR, SHORT bR)
{
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  CONSOLE_SCREEN_BUFFER_INFO e;
  GetConsoleScreenBufferInfo(hStdOut,&e);
  COORD a;
  a.X = xTO;
  a.Y = yTO;
  SMALL_RECT b = {lR,tR,rR,bR};
  SMALL_RECT *bP = &b;
  CHAR_INFO d = {(CHAR) ' ', e.wAttributes};
  CHAR_INFO *dP = &d;
  ScrollConsoleScreenBuffer(hStdOut, bP, NULL, a, dP);
  return;
}

SHORT GetPosX()
{
  CONSOLE_SCREEN_BUFFER_INFO a;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut,&a);
  return a.dwCursorPosition.X;
}

SHORT GetPosY()
{
  CONSOLE_SCREEN_BUFFER_INFO a;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut,&a);
  return a.dwCursorPosition.Y;
}

SHORT GetSizeX()
{
  CONSOLE_SCREEN_BUFFER_INFO a;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut,&a);
  return a.dwSize.X;
}

SHORT GetSizeY()
{
  CONSOLE_SCREEN_BUFFER_INFO a;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut,&a);
  return a.dwSize.Y;
}

WORD GetAttr()
{
  CONSOLE_SCREEN_BUFFER_INFO a;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdOut,&a);
  return a.wAttributes;
}