This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
magicka/deps/cdk-5.0-20161210/include/cdk.h
2017-03-20 21:40:32 +10:00

337 lines
7.2 KiB
C

/*
* $Id: cdk.h,v 1.37 2012/03/20 22:01:57 tom Exp $
*/
#ifndef CDK_H
#define CDK_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Changes 2000-2009,2012 copyright Thomas E. Dickey
*
* Copyright 1999, Mike Glover
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgment:
* This product includes software developed by Mike Glover
* and contributors.
* 4. Neither the name of Mike Glover, nor the names of contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY MIKE GLOVER AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL MIKE GLOVER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <cdk_config.h>
#include <cdk_version.h>
#ifdef CDK_PERL_EXT
#undef instr
#endif
#ifdef HAVE_XCURSES
#include <xcurses.h>
#ifndef mvwhline
#define mvwhline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : whline(win,c,n))
#endif
#ifndef mvwvline
#define mvwvline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))
#endif
#elif defined(HAVE_NCURSESW_NCURSES_H)
#include <ncursesw/ncurses.h>
#elif defined(HAVE_NCURSES_NCURSES_H)
#include <ncurses/ncurses.h>
#elif defined(HAVE_NCURSES_H)
#include <ncurses.h>
#else
#include <curses.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#include <time.h>
#include <errno.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
#ifdef HAVE_GRP_H
#include <grp.h>
#endif
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#ifdef HAVE_GETOPT_HEADER
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#else
extern int optind;
extern char * optarg;
#endif
/*
* Definitions that we do not want if term.h does
*/
#ifdef buttons
#undef buttons
#endif
#ifdef lines
#undef lines
#endif
#ifdef newline
#undef newline
#endif
/*
* Values we normally get from limits.h (assume 32-bits)
*/
#ifndef INT_MIN
#define INT_MIN (-INT_MAX - 1)
#endif
#ifndef INT_MAX
#define INT_MAX 2147483647
#endif
#ifndef GCC_UNUSED
#define GCC_UNUSED /*nothing*/
#endif
#ifdef HAVE_LIBDMALLOC
#include <dmalloc.h> /* Gray Watson's library */
#else
#undef HAVE_LIBDMALLOC
#define HAVE_LIBDMALLOC 0
#endif
#ifdef HAVE_LIBDBMALLOC
#include <dbmalloc.h> /* Conor Cahill's library */
#else
#undef HAVE_LIBDBMALLOC
#define HAVE_LIBDBMALLOC 0
#endif
/*
* This enumerated typedef lists all of the CDK widget types.
*/
typedef enum { vNULL = 0
,vALPHALIST
,vBUTTON
,vBUTTONBOX
,vCALENDAR
,vDIALOG
,vDSCALE
,vENTRY
,vFSCALE
,vFSELECT
,vFSLIDER
,vGRAPH
,vHISTOGRAM
,vITEMLIST
,vLABEL
,vMARQUEE
,vMATRIX
,vMENTRY
,vMENU
,vRADIO
,vSCALE
,vSCROLL
,vSELECTION
,vSLIDER
,vSWINDOW
,vTEMPLATE
,vTRAVERSE
,vUSCALE
,vUSLIDER
,vVIEWER
} EObjectType;
/*
* This enumerated typedef lists all the valid display types for
* the entry, mentry, and template widgets.
*/
typedef enum { vINVALID = 0
,vCHAR
,vHCHAR
,vINT
,vHINT
,vMIXED
,vHMIXED
,vUCHAR
,vLCHAR
,vUHCHAR
,vLHCHAR
,vUMIXED
,vLMIXED
,vUHMIXED
,vLHMIXED
,vVIEWONLY
} EDisplayType;
/*
* This enumerated typedef lists all the display types for
* the histogram widget.
*/
typedef enum {vNONE, vPERCENT, vFRACTION, vREAL} EHistogramDisplayType;
/*
* This enumerated typedef defines the display types for the graph.
*/
typedef enum {vPLOT, vLINE} EGraphDisplayType;
/*
* This enumerated typedef defines where white space is to be
* stripped from in the function stripWhiteSpace.
*/
typedef enum {vFRONT, vBACK, vBOTH} EStripType;
/*
* This enumerated typedef defines the type of exits the widgets
* recognize.
*/
typedef enum {vEARLY_EXIT, vESCAPE_HIT, vNORMAL, vNEVER_ACTIVATED, vERROR} EExitType;
/*
* This defines a boolean type.
*/
typedef int boolean;
/*
* Declare miscellaneous defines.
*/
#define LEFT 9000
#define RIGHT 9001
#define CENTER 9002
#define TOP 9003
#define BOTTOM 9004
#define HORIZONTAL 9005
#define VERTICAL 9006
#define FULL 9007
#define NONE 0
#define ROW 1
#define COL 2
#define MAX_BINDINGS 300 /* unused by widgets */
#define MAX_ITEMS 2000 /* unused by widgets */
#define MAX_BUTTONS 200 /* unused by widgets */
#define MAXIMUM(a,b) ((a) > (b) ? (a) : (b))
#define MINIMUM(a,b) ((a) < (b) ? (a) : (b))
#define HALF(a) ((a) >> 1)
#ifndef COLOR_PAIR
#define COLOR_PAIR(a) A_NORMAL
#endif
#define CONTROL(c) ((c) & 0x1f) /* obsolete: use CTRL() */
/* Define the 'GLOBAL DEBUG FILEHANDLE' */
extern FILE *CDKDEBUG;
/*
* =========================================================
* Declare Debugging Routines.
* =========================================================
*/
#define START_DEBUG(a) (CDKDEBUG=startCDKDebug(a))
#define WRITE_DEBUGMESG(a,b) (writeCDKDebugMessage (CDKDEBUG,__FILE__,a,__LINE__,b))
#define END_DEBUG (stopCDKDebug(CDKDEBUG)
FILE *startCDKDebug(const char *filename);
void writeCDKDebugMessage (FILE *fd, const char *filename, const char *function, int line, const char *message);
void stopCDKDebug (FILE *fd);
/*
* These header files define miscellaneous values and prototypes.
*/
#include <cdkscreen.h>
#include <curdefs.h>
#include <binding.h>
#include <cdk_util.h>
#include <cdk_objs.h>
#include <cdk_params.h>
/*
* Include the CDK widget header files.
*/
#include <alphalist.h>
#include <buttonbox.h>
#include <calendar.h>
#include <dialog.h>
#include <entry.h>
#include <fselect.h>
#include <graph.h>
#include <histogram.h>
#include <itemlist.h>
#include <label.h>
#include <marquee.h>
#include <matrix.h>
#include <mentry.h>
#include <menu.h>
#include <radio.h>
#include <scroll.h>
#include <selection.h>
#include <swindow.h>
#include <template.h>
#include <viewer.h>
#include <traverse.h>
#include <button.h>
/*
* Generated headers:
*/
#include <dscale.h>
#include <fscale.h>
#include <scale.h>
#include <uscale.h>
#include <fslider.h>
#include <slider.h>
#include <uslider.h>
/*
* Low-level object drawing
*/
#include <draw.h>
#ifdef __cplusplus
}
#endif
#endif /* CDK_H */