initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
47
libs/wxWidgets-3.3.1/include/wx/private/terminal.h
Normal file
47
libs/wxWidgets-3.3.1/include/wx/private/terminal.h
Normal file
@@ -0,0 +1,47 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/private/terminal.h
|
||||
// Purpose: Helpers for working with terminal output
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2024-11-22
|
||||
// Copyright: (c) 2024 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_PRIVATE_TERMINAL_H_
|
||||
#define _WX_PRIVATE_TERMINAL_H_
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
#include "wx/utils.h"
|
||||
|
||||
#include "wx/msw/wrapwin.h"
|
||||
#endif
|
||||
|
||||
#ifdef __UNIX__
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
namespace wxTerminal
|
||||
{
|
||||
|
||||
// Return the current terminal width or 0 if we couldn't find it.
|
||||
inline int GetWidth()
|
||||
{
|
||||
#ifdef __WINDOWS__
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
if ( ::GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi) )
|
||||
return csbi.srWindow.Right - csbi.srWindow.Left + 1;
|
||||
#elif defined TIOCGWINSZ
|
||||
winsize w;
|
||||
int fd = fileno(stdout);
|
||||
if ( fd != -1 && ioctl(fd, TIOCGWINSZ, &w) == 0 )
|
||||
return w.ws_col;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace wxTerminal
|
||||
|
||||
#endif // _WX_PRIVATE_TERMINAL_H_
|
||||
Reference in New Issue
Block a user