home *** CD-ROM | disk | FTP | other *** search
- /*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
- | Copyright (c) 1987-1991, Innovative Data Concepts, Inc.
- | All Rights Reserved.
- |
- | This Library is part of IDC's TesSeRact Development Tools product
- | line. For information about other IDC products, call 1-215-443-9705.
- *-V--------------------------------------------------------------------*
- | $Header: tcxleng.h 552.3 16 Apr 1991 12:45:02 $
- |
- | $Log: tcxleng.h $
- *-D--------------------------------------------------------------------*
- | <TCXLeng.h> : Internal Definitions and prototypes for the TCXL page
- | selection engine
- *-N-----------------------[ Notes and Caveats ]------------------------*
- | 1) The _Elst object is TRANSIENT and not intended for user access.
- *======================================================================*/
- #ifndef _TCXLeng_
- # define _TCXLeng_ 1 /* Only once! */
- # ifndef _TCXLdef_
- # include <TCXLdef.h> /* Standard definitions */
- # endif
-
- #define ENG_HOR 0x01
- #define ENG_VER 0x02
- #define ENG_BOT 0x03
- #define ENG_OMN 0x04
- #define ENG_BDR 0x08
- #define ENG_PGU 0x10
- #define ENG_PGD 0x20
- #define ENG_WRA 0x40
- #define ENG_HOT 0x80
-
- #define ENG_NOA 0x01
- #define ENG_DRP 0x02
- #define ENG_QUT 0x04
-
- /*------------------[ Data objects and access macros ]------------------*/
-
- TYP struct _Elst ElstT, *ElstP;
-
- struct _Elst /*-[ Transient page engine object ]-------*/
- { VposP epos; /* 00|00 : Item position array */
- BytP elen; /* 02|04 : Item length array */
- KeyP eret; /* 06|0C : Pointer to return keycode */
- IntT ecnt; /* 08|10 : Number of items on page */
- IntT ewid; /* 0A|12 : Number of columns on page */
- IntT ecur; /* 0C|14 : Initial Item on page */
- IfiCP ebef; /* 0E|16 : Function to call before bar */
- IfiCP eaft; /* 10|1A : Function to call after bar */
- BytT ebln; /* 12|1E : Width of Selection Bar */
- AtrT ewat; /* 13|1F : Attribute of Current Window */
- AtrT esat; /* 14|20 : Attribute of Selection Bar */
- AtrT eqat; /* 15|21 : Attribute of Quick-Sel Char */
- BytT eflg; /* 16|22 : Page Selection Engine Flags */
- BytT efut; /* 17|23 : Reserved for future */
- }; /* 18|24 ]--------------------------------*/
-
- #define EngPos(e) ((e)->epos)
- #define EngPosI(e,i) ((e)->epos[i])
- #define EngRowI(e,i) (VposR((e)->epos[i]))
- #define EngColI(e,i) (VposC((e)->epos[i]))
- #define EngLen(e) ((e)->elen)
- #define EngLenI(e,i) ((e)->elen[i])
- #define EngRet(e) ((e)->eret)
- #define EngRetP(e) (*((e)->eret))
- #define EngCnt(e) ((e)->ecnt)
- #define EngWid(e) ((e)->ewid)
- #define EngCur(e) ((e)->ecur)
- #define EngBef(e) ((e)->ebef)
- #define EngAft(e) ((e)->eaft)
- #define EngBln(e) ((e)->ebln)
- #define EngWat(e) ((e)->ewat)
- #define EngSat(e) ((e)->esat)
- #define EngQat(e) ((e)->eqat)
- #define EngFlg(e) ((e)->eflg)
- #define EngHor(e) (0 != (EngFlg(e) & ENG_HOR))
- #define EngVer(e) (0 != (EngFlg(e) & ENG_VER))
- #define EngBoth(e) (ENG_BOT == (EngFlg(e) & ENG_BOT))
- #define EngBdr(e) (0 != (EngFlg(e) & ENG_BDR))
- #define EngPgUp(e) (0 != (EngFlg(e) & ENG_PGU))
- #define EngPgDn(e) (0 != (EngFlg(e) & ENG_PGD))
- #define EngWrap(e) (0 != (EngFlg(e) & ENG_WRA))
- #define EngHot(e) (0 != (EngFlg(e) & ENG_HOT))
- #define EngFut(e) ((e)->efut)
- #define EngNoa(e) (0 != (EngFut(e) & ENG_NOA))
- #define EngDrp(e) (0 != (EngFut(e) & ENG_DRP))
- #define EngQut(e) (0 != (EngFut(e) & ENG_QUT))
-
- /*------------------------[ Function prototypes ]-----------------------*/
-
- #ifdef __cplusplus /* No mangling, please */
- extern "C" {
- #endif
- IntT CTYP _SelPag(ElstP el);
- IntT CTYP _SelMou(VposP pos, BytP len, IntT cnt);
- #ifdef __cplusplus
- }
- #endif
- #endif /*- _TCXLsel_ : End of TCXLeng.h ------------------------------*/