#ifndef _NumberLineP_h #define _NumberLineP_h /*********************************************************************** * * NumberLine Widget Private Data Definitions * ***********************************************************************/ #include #include "NumberLine.h" #define XtRDouble "double" typedef struct { GC gc; XFontStruct *big_font, *small_font; Cursor pointer_cursor; Cursor invisible_cursor; } NumberLineClassPart; typedef struct _NumberLineClassRec { CoreClassPart core_class; CompositeClassPart composite_class; NumberLineClassPart numberLine_class; } NumberLineClassRec; extern NumberLineClassRec numberLineClassRec; typedef struct { /*resources */ char *title; double min, max; double pres, def; double prev; /* value at previous call */ int done; int percentage; Pixel foreground, background; /* private state */ XtCallbackList callbacks; double head_val, ptr_val; /* to keep track of pointer and pointer head */ double sf, gran; /* scaling factor and granularity of pointer */ int old_ptr_x, old_ptr_y, old_hd_x, old_hd_y; int minpt, maxpt, yline, ticsize; /* minimum and maximum coordinates, ypos.*/ int ynums; /* y axis for numbers */ Widget target_w; /*this is the window which receives mousemoved events*/ Widget def_w, prev_w, done_w, key_w, title_w; /* all widgets */ char *string; } NumberLinePart; /**************************************************************** * * Full instance record declaration * ****************************************************************/ typedef struct _NumberLineRec { CorePart core; CompositePart composite; NumberLinePart numberLine; } NumberLineRec, *NumberLineWidget; #endif