#ifndef VNC_MACROS_H
#define VNC_MACROS_H
/*********************************************************
 ** ViNCEd                                              **
 ** a DOS - window handler                              **
 **                                                     **
 ** © 1991-97 THOR-Software inc.                        **
 ** Version 3.30                                        **
 **                                                     **
 ** program version 1.23 05/03/91       THOR            **
 ** update  version 1.25 06/19/91       THOR            **
 ** header file 06/19/91                THOR            **
 ** updated to 3.30      03/31/97       THOR            **
 **                                                     **
 ** ViNCEd Macro functions                              **
 **-----------------------------------------------------**
 **                                                     **
 ** all use at your own risk,etc.,etc.                  **
 **                                                     **
 ** Everything declared as "reserved" or                **
 ** "not used" is NOT free for your use,                **
 ** it will propably used in a later release.           **
 ** All FREE entries are free for public                **
 ** use and are, if not otherwise noticed,              **
 ** initialized as ZERO                                 **
 *********************************************************/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifndef VNC_WINDOW_H
#include <vnc/window.h>
#endif

/* A macro. The whole structure is allocvec'd, with the name attached
  at the END of this structure */

struct ViNCMacro {
        struct ViNCMacro        *vmac_succ;
        struct ViNCMacro        *vmac_pred;     /* linked list */
        UBYTE                    vmac_type;     /* set to VINC_MACROTYPE */
        BYTE                     vmac_count;    /* set to the NEGATED number
                                                   of the macro, e.g -5
                                                   is macro 5 */
        char                    *vmac_text;     /* pointer to the name */
};


/* vmac_text points actually to macro+sizeof(struct ViNCMacro) */

/* A button. Looks almost the same, and is allocated in the same way.
   Both strings are included at the END of this list */

struct ViNCButton {
        struct ViNCButton       *vbut_succ;
        struct ViNCButton       *vbut_pred;     /* linked list */
        UBYTE                    vbut_type;     /* set to VINC_MACROTYPE */
        BYTE                     vbut_count;    /* set to the NEGATED number
                                                   of the button, e.g -5
                                                   is button 5 */
        char                    *vbut_text;     /* pointer to the name */
        char                    *vbut_title;    /* what to put into the
                                                   title bar */
};

#define VINC_MACROTYPE  0x1e

/* The sizes of all strings are limited. The size of a macro body and the
   button body is limited to VPF_FUNCLENGTH, the size of the button title
   is limited to VPF_SHORTLENGTH. See vnc/prefs.h for the defines */

#endif





