Generic_Window_Manager/wl_active.h

79 lines
2.2 KiB
C

/* Copyright 1989 GROUPE BULL -- See license conditions in file COPYRIGHT
* Copyright 1989 Massachusetts Institute of Technology
*/
/************************\
* *
* WOOL_OBJECT Active *
* DEFINITIONS *
* *
\************************/
#ifndef INCLUDE_WL_ACTIVE_H
#define INCLUDE_WL_ACTIVE_H
/* type */
typedef struct _WOOL_Active {
WOOL_HEADER;
WOOL_METHOD get; /* function called when got */
char p_name[1]; /* same as for atoms */
} *WOOL_Active;
/* we need to store the set object without perturbing the name homogeneity */
typedef struct _WOOL_Active_internal {
WOOL_METHOD set; /* function called when set */
WOOL_HEADER;
WOOL_METHOD get; /* function called when got */
char p_name[1]; /* same as for atoms */
} *WOOL_Active_internal;
/* macro to access the set field */
#define ActiveSet(a) \
(((WOOL_Active_internal) (((char *) a) - \
(sizeof(struct _WOOL_Active_internal) - \
sizeof(struct _WOOL_Active)))) -> set)
/* exported functions */
EXT WOOL_Active wool_active_make();
EXT WOOL_Active wool_func_active_make();
EXT WOOL_OBJECT WLActive_eval();
EXT WOOL_OBJECT WLActive_execute();
EXT WOOL_OBJECT WLActive_set();
EXT WOOL_OBJECT WLActive_setq();
EXT WOOL_OBJECT WLActive_get_C_value();
/* methods */
EXT WOOL_METHOD WLActive[]
#ifdef DO_INIT
= {
(WOOL_METHOD) 0, /* METHODS_ARRAY */
WLActive_eval, /* WOOL_eval 1 */
WLAtom_print, /* WOOL_print 2 */
WLAtom_free, /* same error as to free an atom */
WLActive_execute, /* WOOL_execute 4 */
WLActive_set, /* WOOL_set 5 */
WLActive_get_C_value, /* WOOL_get_C_value 6 */
wool_undefined_method_1, /* WOOL_open 7 */
wool_undefined_method_1, /* WOOL_close 8 */
wool_undefined_method_2, /* WOOL_process_event 9 */
wool_undefined_method_1, /* WOOL_copy 10 */
wool_undefined_method_2, /* WOOL_get_dimensions 11 */
wool_undefined_method_2, /* WOOL_draw 12 */
WLAtom_equal, /* WOOL_equal 13 */
wool_undefined_method_2,
WLActive_setq, /* WOOL_setq 15 */
wool_undefined_method_1,
WLActive_eval,
wool_undefined_method_1,
wool_undefined_method_1,
wool_undefined_method_1
}
#endif /* DO_INIT */
;
#endif /* INCLUDE_WL_ACTIVE_H */