You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.2 KiB
89 lines
2.2 KiB
/*=========================================================================
|
|
|
|
Program: CMake - Cross-Platform Makefile Generator
|
|
Module: $RCSfile: cmCursesStandardIncludes.h,v $
|
|
Language: C++
|
|
Date: $Date: 2007-08-27 13:01:14 $
|
|
Version: $Revision: 1.16 $
|
|
|
|
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
|
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notices for more information.
|
|
|
|
=========================================================================*/
|
|
#ifndef cmCursesStandardIncludes_h
|
|
#define cmCursesStandardIncludes_h
|
|
#if defined(__sun__) && defined(__GNUC__)
|
|
#define _MSE_INT_H
|
|
#endif
|
|
|
|
#include <cmFormConfigure.h>
|
|
|
|
#if defined(__hpux)
|
|
# define _BOOL_DEFINED
|
|
# include <sys/time.h>
|
|
# define _XOPEN_SOURCE_EXTENDED
|
|
# include <curses.h>
|
|
# include <form.h>
|
|
# undef _XOPEN_SOURCE_EXTENDED
|
|
#else
|
|
/* figure out which curses.h to include */
|
|
# if defined(CURSES_HAVE_NCURSES_H)
|
|
# include <ncurses.h>
|
|
# elif defined(CURSES_HAVE_NCURSES_NCURSES_H)
|
|
# include <ncurses/ncurses.h>
|
|
# elif defined(CURSES_HAVE_NCURSES_CURSES_H)
|
|
# include <ncurses/curses.h>
|
|
# else
|
|
# include <curses.h>
|
|
# endif
|
|
|
|
# include <form.h>
|
|
#endif
|
|
|
|
// This is a hack to prevent warnings about these functions being
|
|
// declared but not referenced.
|
|
#if defined(__sgi) && !defined(__GNUC__)
|
|
class cmCursesStandardIncludesHack
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
Ref1 = sizeof(cfgetospeed(0)),
|
|
Ref2 = sizeof(cfgetispeed(0)),
|
|
Ref3 = sizeof(tcgetattr(0, 0)),
|
|
Ref4 = sizeof(tcsetattr(0, 0, 0)),
|
|
Ref5 = sizeof(cfsetospeed(0,0)),
|
|
Ref6 = sizeof(cfsetispeed(0,0))
|
|
};
|
|
};
|
|
#endif
|
|
|
|
#ifndef getmaxyx
|
|
#define getmaxyx(w,y,x) ((y) = getmaxy(w), (x) = getmaxx(w))
|
|
#endif
|
|
|
|
|
|
// on some machines move erase and clear conflict with stl
|
|
// so remove them from the namespace
|
|
inline void curses_move(unsigned int x, unsigned int y)
|
|
{
|
|
move(x,y);
|
|
}
|
|
|
|
inline void curses_clear()
|
|
{
|
|
erase();
|
|
clearok(stdscr, TRUE);
|
|
}
|
|
|
|
#undef move
|
|
#undef erase
|
|
#undef clear
|
|
|
|
|
|
#endif // cmCursesStandardIncludes_h
|