OpenCOBOL 1.1pre-rel
|
00001 /* 00002 * Copyright (C) 2002-2009 Keisuke Nishida 00003 * Copyright (C) 2007-2009 Roger While 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public License 00007 * as published by the Free Software Foundation; either version 2.1, 00008 * or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; see the file COPYING.LIB. If 00017 * not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor 00018 * Boston, MA 02110-1301 USA 00019 */ 00020 00021 #ifndef COB_SCREENIO_H 00022 #define COB_SCREENIO_H 00023 00024 #include <libcob/common.h> 00025 00026 #define COB_SCREEN_BLACK 0 00027 #define COB_SCREEN_BLUE 1 00028 #define COB_SCREEN_GREEN 2 00029 #define COB_SCREEN_CYAN 3 00030 #define COB_SCREEN_RED 4 00031 #define COB_SCREEN_MAGENTA 5 00032 #define COB_SCREEN_YELLOW 6 00033 #define COB_SCREEN_WHITE 7 00034 00035 #define COB_SCREEN_LINE_PLUS 0x00000001 00036 #define COB_SCREEN_LINE_MINUS 0x00000002 00037 #define COB_SCREEN_COLUMN_PLUS 0x00000004 00038 #define COB_SCREEN_COLUMN_MINUS 0x00000008 00039 00040 #define COB_SCREEN_AUTO 0x00000010 00041 #define COB_SCREEN_BELL 0x00000020 00042 #define COB_SCREEN_BLANK_LINE 0x00000040 00043 #define COB_SCREEN_BLANK_SCREEN 0x00000080 00044 #define COB_SCREEN_BLINK 0x00000100 00045 #define COB_SCREEN_ERASE_EOL 0x00000200 00046 #define COB_SCREEN_ERASE_EOS 0x00000400 00047 #define COB_SCREEN_FULL 0x00000800 00048 #define COB_SCREEN_HIGHLIGHT 0x00001000 00049 #define COB_SCREEN_LOWLIGHT 0x00002000 00050 #define COB_SCREEN_REQUIRED 0x00004000 00051 #define COB_SCREEN_REVERSE 0x00008000 00052 #define COB_SCREEN_SECURE 0x00010000 00053 #define COB_SCREEN_UNDERLINE 0x00020000 00054 #define COB_SCREEN_OVERLINE 0x00040000 00055 #define COB_SCREEN_PROMPT 0x00080000 00056 #define COB_SCREEN_UPDATE 0x00100000 00057 #define COB_SCREEN_INPUT 0x00200000 00058 #define COB_SCREEN_SCROLL_DOWN 0x00400000 00059 00060 #define COB_SCREEN_TYPE_GROUP 0 00061 #define COB_SCREEN_TYPE_FIELD 1 00062 #define COB_SCREEN_TYPE_VALUE 2 00063 #define COB_SCREEN_TYPE_ATTRIBUTE 3 00064 00065 typedef struct __cob_screen cob_screen; 00066 00067 struct __cob_screen { 00068 cob_screen *next; 00069 cob_screen *child; /* for COB_SCREEN_TYPE_GROUP */ 00070 cob_field *field; /* for COB_SCREEN_TYPE_FIELD */ 00071 cob_field *value; /* for COB_SCREEN_TYPE_VALUE */ 00072 cob_field *line; 00073 cob_field *column; 00074 cob_field *foreg; 00075 cob_field *backg; 00076 int type; 00077 int occurs; 00078 int attr; /* for COB_SCREEN_TYPE_ATTRIBUTE */ 00079 }; 00080 00081 DLL_EXPIMP extern int cob_screen_mode; 00082 00083 extern void cob_screen_line_col (cob_field *, const int); 00084 extern void cob_screen_display (cob_screen *, cob_field *, cob_field *); 00085 extern void cob_screen_accept (cob_screen *, cob_field *, cob_field *); 00086 extern void cob_field_display (cob_field *, cob_field *, cob_field *, 00087 cob_field *, cob_field *, cob_field *, 00088 const int); 00089 extern void cob_field_accept (cob_field *, cob_field *, cob_field *, 00090 cob_field *, cob_field *, cob_field *, 00091 const int); 00092 00093 #endif /* COB_SCREENIO_H */