Commit c44db125 by Szeberényi Imre

_WINX

parent 392b94f3
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
#include <iostream> #include <iostream>
#include <iomanip> #include <iomanip>
#if _WINX #if defined(_WINX)
#include <conio.h> #include <conio.h>
#include <windows.h> #include <windows.h>
#elif _UNIX #elif defined(_UNIX)
#include <termios.h> //termios, TCSANOW, ECHO, ICANON #include <termios.h> //termios, TCSANOW, ECHO, ICANON
#include <unistd.h> //STDIN_FILENO #include <unistd.h> //STDIN_FILENO
#endif #endif
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
/// Noname névtér. /// Noname névtér.
/// Csak ebből a fájlból érhető el /// Csak ebből a fájlból érhető el
namespace { namespace {
#if _WINX #if defined(_WINX)
void clrscr() { void clrscr() {
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi; CONSOLE_SCREEN_BUFFER_INFO csbi;
...@@ -44,7 +44,7 @@ void gotoxy(int x, int y) { ...@@ -44,7 +44,7 @@ void gotoxy(int x, int y) {
SetConsoleCursorPosition(hstdout, dwCursorPosition); SetConsoleCursorPosition(hstdout, dwCursorPosition);
} }
#elif _UNIX #elif defined(_UNIX)
/// Kihasználjuk, hogy ANSI terminál /// Kihasználjuk, hogy ANSI terminál
void clrscr() { void clrscr() {
...@@ -113,14 +113,14 @@ Console::~Console() { ...@@ -113,14 +113,14 @@ Console::~Console() {
int Console::getch() { int Console::getch() {
/// segédmakró /// segédmakró
#define C(c, k) {c,k} #define C(c, k) {c,k}
#if _WINX #if defined(_WINX)
static keyCodes arrows[] = { C(72,KEY_UP), C(80,KEY_DOWN), C(77,KEY_RIGHT), C(75,KEY_LEFT), C(0,0) }; static keyCodes arrows[] = { C(72,KEY_UP), C(80,KEY_DOWN), C(77,KEY_RIGHT), C(75,KEY_LEFT), C(0,0) };
int ch = ::_getch(); int ch = ::_getch();
if (ch == 0xE0) { /// windows ezt a kódot adja a nyílbillentyűk előtt if (ch == 0xE0) { /// windows ezt a kódot adja a nyílbillentyűk előtt
ch = ::_getch(); /// utána jön a billentyű kódja ch = ::_getch(); /// utána jön a billentyű kódja
return trCode(ch, arrows); return trCode(ch, arrows);
} }
#elif _UNIX #elif defined(_UNIX)
static keyCodes arrows[] = { C('A',KEY_UP), C('B',KEY_DOWN), C('C',KEY_RIGHT), C('D',KEY_LEFT), C(0,0) }; static keyCodes arrows[] = { C('A',KEY_UP), C('B',KEY_DOWN), C('C',KEY_RIGHT), C('D',KEY_LEFT), C(0,0) };
int ch = ::_getch(); int ch = ::_getch();
if (ch == 0x1b) { /// ANSI módban ezt adja be a terminál a nyilak előtt if (ch == 0x1b) { /// ANSI módban ezt adja be a terminál a nyilak előtt
......
...@@ -6,12 +6,11 @@ ...@@ -6,12 +6,11 @@
#ifndef CONSOLE_H #ifndef CONSOLE_H
#define CONSOLE_H #define CONSOLE_H
// VS: alatt nem megy #define _UNIX defined(__linux__) || defined(__sun) #define _WINX defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
#if defined(__linux__) || defined(__sun) #define _UNIX defined(__linux__) || defined(__sun)
#define _UNIX
#endif #if !defined(_WINX) && !defined(_UNIX)
#if defined(_WIN32) || defined(_WIN64) # error "OS?"
#define _WINX
#endif #endif
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment