1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 /*
9  * $Header: /src/master/dx/src/exec/dxmods/interact.h,v 1.8 2006/06/13 15:08:35 davidt Exp $
10  */
11 
12 #include <dxconfig.h>
13 
14 #ifndef _INTERACT_H_
15 #define _INTERACT_H_
16 
17 #include <dx/dx.h>
18 #if HAVE_VALUES_H
19 #include <values.h>
20 #endif
21 #include <math.h>
22 
23 #define CLAMP(c,a,b) ((c < a) ? a: ((c > b) ? b: c))
24 #define CLAMPMIN(c,a) ((c < a) ? a: c)
25 #define CLAMPMAX(c,b) ((c > b) ? b: c)
26 #define OUTOFRANGE(c,a,b) ((c < a) ? 1: ((c > b) ? 1: 0))
27 #define MAXPRINT 7
28 /* MAX_MSGLEN should be less than or equal to MSG_BUFLEN in dpexec/distp.h */
29 #define MAX_MSGLEN 4000
30 #define SLOP 64
31 #define AtEnd(p) ((p)->atend)
32 
33 #define NUMBER_CHARS 16   	/* number of print characters for each number*/
34 #define NAME_CHARS   10		/* number of print characters for each name */
35 #define METHOD_CHARS 10     	/* number of print characters for method */
36 
37 #if (defined(intelnt) || defined(WIN32)) && defined(ABSOLUTE)
38 #undef	ABSOLUTE
39 #endif
40 
41 typedef enum {
42         PERCENT_ROUND = 1,
43         PERCENT = 2,
44         ABSOLUTE = 3
45 } method_type;
46 
47 typedef enum {
48 		START_MINIMUM = 1,
49 		START_MIDPOINT = 2,
50 		START_MAXIMUM = 3
51 } start_type;
52 
53 struct einfo {
54     int maxlen;
55     int atend;
56     char *mp;
57     char *msgbuf;
58 };
59 
60 Error _dxfinteract_float(char *, Object,float *, float *,
61                          float *,int *,char *,int,method_type,int *,int *);
62 Error _dxfprint_message(Pointer ,struct einfo *,Type ,int ,int *,int);
63 int _dxfcheck_obj_cache(Object ,char *,int ,Object);
64 
65 #endif /* _INTERACT_H_ */
66