/*
include file to convert AES and VDI identifiers to very C identifiers (with
[u]nder[sc]ores)

- note, there are two conflicts:

  1. the EXIT object flag
  2. NIL = -1 for ob_head etc.

  therefor:

  #define Exit EXITOB
  #define Nil NILOB

- don't define ApplInit(x) appl_init(x) in regard of import lists

- oops, I'm just thinking that this file has to be splitted and applied to
  each module, because not all identifiers are unique...
*/

#define RcMgr rc

#define GPnt GPNT
#define GX g_x
#define GY g_y

#define GRect GRECT
#define GW g_w
#define GH g_h

#define ORectPtr ORECTPTR
#define ORect ORECT
#define OLink o_link
#define OX o_x
#define OY o_y
#define OW o_w
#define OH o_h

#define Min min

#define Max max

#define RcIntersect rc_intersect

#define RcUnion rc_union

#define RcConstrain rc_constrain

#define RcEqual rc_equal

#define RcCopy rc_copy

#define RcInside rc_inside

#define RcSnap rc_snap

#define XYWHToGRect XYWH_to_GRECT

#define AES aes

#define KRShift K_RSHIFT
#define KLShift K_LSHIFT
#define KCtrl K_CTRL
#define KAlt K_ALT
#define SpecialKey spec_key

#define MBLeft MB_LEFT
#define Right MB_RIGHT
#define MouseButton mouse_button

#define Root ROOT

#define ObjectIndex object_index

#define GBox G_BOX
#define GText G_TEXT
#define GBoxText G_BOXTEXT
#define GImage G_IMAGE
#define GUserDef G_USERDEF
#define GIBox G_IBOX
#define GButton G_BUTTON
#define GBoxChar G_BOXCHAR
#define GString G_STRING
#define GFText G_FTEXT
#define GFBoxText G_FBOXTEXT
#define GIcon G_ICON
#define GTitle G_TITLE
#define GCIcon G_CICON

#define Selectable SELECTABLE
#define Default DEFAULT
#define Exit EXITOB /* exception */
#define Editable EDITABLE
#define RButton RBUTTON
#define LastOb LASTOB
#define TouchExit TOUCHEXIT
#define HideTree HIDETREE
#define Indirect INDIRECT
#define ObjectFlag object_flag

#define None NONE

#define Selected SELECTED
#define Crossed CROSSED
#define Checked CHECKED
#define Disabled DISABLED
#define Outlined OUTLINED
#define Shadowed SHADOWED
#define WhiteBak WHITEBAK
#define Draw3D DRAW3D
#define ObjectState object_state

#define Normal NORMAL

#define Small SMALL

#define TeLeft TE_LEFT
#define TeRight TE_RIGHT
#define TeCntr TE_CNTR

#define White WHITE
#define Black BLACK
#define Red RED
#define Green GREEN
#define Blue BLUE
#define Cyan CYAN
#define Yellow YELLOW
#define Magenta MAGENTA
#define LWhite LWHITE
#define LBlack LBLACK
#define LRed LRED
#define LGreen LGREEN
#define LBlue LBLUE
#define LCyan LCYAN
#define LYellow LYELLOW
#define LMagenta LMAGENTA

#define DWhite DWHITE
#define DBlack DBLACK
#define DRed DRED
#define DGreen DGREEN
#define DBlue DBLUE
#define DCyan DCYAN
#define DYellow DYELLOW
#define DMagenta DMAGENTA

#define IPHollow IP_HOLLOW
#define IP1Patt IP_1PATT
#define IP2Patt IP_2PATT
#define IP3Patt IP_3PATT
#define IP4Patt IP_4PATT
#define IP5Patt IP_5PATT
#define IP6Patt IP_6PATT
#define IPSolid IP_SOLID

#define IPTrans IP_TRANS
#define IPErase IP_ERASE

#define MaxLen MAX_LEN

#define StringRange string_range

#define String string

#define StringPtr string_ptr

#define TEdInfo TEDINFO
#define TEPText te_ptext
#define TEPTmplt te_ptmplt
#define TEPValid te_pvalid
#define TEFont te_font
#define TEResvd1 te_resvd1
#define TEJust te_just
#define TEColor te_color
#define TEResvd2 te_resvd2
#define TEThickness te_thickness
#define TETxtLen te_txtlen
#define TETmpLen te_templen

#define TEdInfoPtr TEDINFOPTR

#define IconBlk ICONBLK
#define IBPMask ib_pmask
#define IBPData ib_pdata
#define IBPText ib_ptext
#define IBChar ib_char
#define IBXChar ib_xchar
#define IBYChar ib_ychar
#define IBXIcon ib_xicon
#define IBYIcon ib_yicon
#define IBWIcon ib_wicon
#define IBHIcon ib_hicon
#define IBXText ib_xtext
#define IBYText ib_ytext
#define IBWText ib_wtext
#define IBHText ib_htext
#define IBResvd ib_resvd

#define IconBlkPtr ICONBLKPTR

#define BitBlk BITBLK
#define BIPData bi_pdata
#define BIWB bi_wb
#define BIHL bi_hl
#define BIX bi_x
#define BIY bi_y
#define BIColor bi_color

#define BitBlkPtr BITBLKPTR

#define UserBlkPtr USERBLKPTR

#define ExtensionPtr EXTPTR

#define ObjectSpec object_spec
#define Extension extension
#define HexCode hexcode
#define Char char
#define Thickness thickness
#define Color color
#define TextInfo textinfo
#define UserBlock userblock
#define IconBlock iconblock
#define BitBlock bitblock
#define UserSpec userspec

#define ObjectExtension object_ext
#define Spec spec

#define Nil NILOB /* exception */

#define ObjectPtr object_ptr

#define Object OBJECT
#define ObNext ob_next
#define ObHead ob_head
#define ObTail ob_tail
#define ObExtnd ob_extnd
#define ObType ob_type
#define ObFlags ob_flags
#define ObState ob_state
#define ObSpec ob_spec
#define ObX ob_x
#define ObY ob_y
#define ObWidth ob_width
#define ObHeight ob_height

#define TreePtr TREEPTR

#define UserDefParm userdef_parm

#define ParmBlk PARMBLK
#define PBTree pb_tree
#define PBObj pb_obj
#define PBPrevState pb_prevstate
#define PBCurrState pb_currstate
#define PBX pb_x
#define PBY pb_y
#define PBW pb_w
#define PBH pb_h
#define PBXC pb_xc
#define PBYC pb_yc
#define PBWC pb_wc
#define PBHC pb_hc
#define PBParm pb_parm

#define UserDefFunc userdef_func

#define UserDefCode userdef_code

#define UserDefBlk USERDEFBLK
#define Func func
#define Parm parm

#define UserBlk USERBLK
#define UBCode ub_code
#define UBParm ub_parm

#define ControlArray contrl_array
#define OpCode op_code
#define SizeIntIn size_int_in
#define SizeIntOut size_int_out
#define SizeAddrIn size_addr_in
#define SizeAddrOut size_addr_out

#define Control contrl

#define MaxTree MAX_TREE

#define TreeIndex tree_index

#define TrPtr TRPTR

#define RsHdr RSHDR
#define RsHVrsn rsh_vrsn
#define RsHObject rsh_object
#define RsHTEdInfo rsh_tedinfo
#define RsHIconBlk rsh_iconblk
#define RsHBitBlk rsh_bitblk
#define RsHFrStr rsh_frstr
#define RsHString rsh_string
#define RsHImData rsh_imdata
#define RsHFrImg rsh_frimg
#define RsHTrIndex rsh_trindex
#define RsHNObs rsh_nobs
#define RsHNTree rsh_ntree
#define RsHNTEd rsh_nted
#define RsHNIB rsh_nib
#define RsHNBB rsh_nbb
#define RsHNString rsh_nstring
#define RsHNImages rsh_nimages
#define RsHRsSize rsh_rssize

#define RsPtr RSPTR

#define GlobalBlk GLOBALBLK
#define ApVersion ap_version
#define ApCount ap_count
#define ApId ap_id
#define ApPPrivate ap_pprivate
#define ApPTree ap_ptree
#define ApPMem ap_pmem
#define ApLMem ap_lmem
#define ApNPlanes ap_nplanes
#define ApResvd ap_resvd
#define ApRes ap_res
#define ApNColors ap_ncolors
#define ApBVDisk ap_bvdisk
#define ApBVHard ap_bvhard

#define Global global

#define MaxInput MAX_INPUT
#define MaxOutput MAX_OUTPUT

#define Integer int

#define IntegerInput int_input
#define Array array

#define IntegerOutput int_output

#define IntIn int_in
#define IntOut int_out

#define MaxAddress MAX_ADDRESS

#define Address address
#define AddressArray address_array

#define Addr addr

#define PControl pcontrl
#define PGlobal pglobal
#define PIntIn pint_in
#define PIntOut pint_out
#define PAdrIn padr_in
#define PAdrOut padr_out

#define Error error

#define Version version

#define ApplMgr appl

#define ApplInit appl_init

#define ScrMgr SCR_MGR

#define ApplRead appl_read

#define ApplWrite appl_write

#define ApplFind appl_find

#define EvTimer EV_TIMER
#define EvButton EV_BUTTON
#define EvMouse EV_MOUSE
#define EvKeybd EV_KEYBD

#define EventRecord
#define Type
#define Time
#define Clicks
#define State
#define Position
#define Special
#define Input

#define MaxEvent MAX_EVENT

#define EventTape event_tape
#define TapePtr tape_ptr

#define ApplTPlay appl_tplay

#define ApplTRecord appl_trecord

#define ApplBVSet appl_bvset

#define ApplYield appl_yield

#define ApplSearch appl_search

#define ApplExit appl_exit

#define EvntMgr evnt

#define Messages mesag
#define ApMsg AP_MSG
#define MnSelected MN_SELECTED
#define WMRedraw WM_REDRAW
#define WMTopped WM_TOPPED
#define WMClosed WM_CLOSED
#define WMFulled WM_FULLED
#define WMArrowed WM_ARROWED
#define WHSlid WM_HSLID
#define WMVSlid WM_VSLID
#define WMSized WM_SIZED
#define WMMoved WM_MOVED
#define WMNewTop WM_NEWTOP
#define WMUntopped WM_UNTOPPED
#define WMOnTop WM_ONTOP
#define WMOffTop WM_OFFTOP
#define PrFinish PR_FINISH
#define AcOpen AC_OPEN
#define AcClose AC_CLOSE
#define CTUpdate CT_UPDATE
#define CTMove CT_MOVE
#define CTNewTop CT_NEWTOP
#define CTSwitch CT_SWITCH
#define ApResChg AP_RESCHG
#define ShutCompleted SHUT_COMPLETED
#define ResChgCompleted
#define ChExit CH_EXIT
#define SpSend SP_SEND
#define SpAck SP_ACK
#define SVOnTop
#define SVOffTop
#define ApTerm AP_TERM
#define ApTFail AP_TFAIL
#define CTKey CT_KEY

#define WindowMessages wind_mesag

#define ArrowMessages arrow_mesag

#define WAUpPage WA_UPPAGE
#define WADnPage WA_DNPAGE
#define WAUpLine
#define WADnLine
#define WALfPage
#define WARtPage
#define WALfLine
#define WARtLine
#define WASubWin WA_SUBWIN
#define WAKeepWin WA_KEEPWIN

#define MessageBlock MESAGBLK
#define Type mb_type
#define Kind mb_kind
#define Id mb_id
#define Length
#define Title
#define Item
#define Tree mb_tree
#define Parent
#define Handle
#define Rect
#define Action
#define Pos
#define OpenId
#define CloseId
#define Reason
#define ApId
#define Code
#define Info
#define MessagePtr MESAGBLKPTR

#define MessageBuffer mesag_buf

#define EvntKeybd evnt_keybd

#define EvntButton evnt_button

#define MoEnter MO_ENTER
#define MoExit MO_EXIT

#define EvntMouse evnt_mouse

#define EvntMesag evnt_mesag

#define EvntTimer evnt_timer

#define Events evnts

#define MuKeybd MU_KEYBD
#define MuButton MU_BUTTON
#define MuM1 MU_M1
#define MuM2 MU_M2
#define MuMesag MU_MESAG
#define MuTimer MU_TIMER
#define MuM3 MU_M3
#define MuSysMesag
#define MuPostEv

#define Event event

#define EvntMulti evnt_multi

#define MEvent MEVENT
#define EFlags e_flags
#define EBClk e_bclk
#define EBMsk e_bmsk
#define EBSt e_bst
#define EM1Flags e_m1flags
#define EM1 e_m1
#define EM2Flags e_m2flags
#define EM2 e_m2
#define ELoCount
#define EHiCount
#define ETime
#define EMePBuf
#define EEvent
#define EMePBuf
#define EMXY
#define EMB
#define EKS e_ks
#define EKR e_kr
#define EBR e_br
#define EM3Flags
#define EM3
#define Extra0
#define ESMePBuf
#define Extra1
#define Extra2

#define EvntEvent evnt_event

#define EvntDClick evnt_dclick

... to be continued
*/
