1/* 2 * 3Copyright 1989, 1994, 1998 The Open Group 4 5Permission to use, copy, modify, distribute, and sell this software and its 6documentation for any purpose is hereby granted without fee, provided that 7the above copyright notice appear in all copies and that both that 8copyright notice and this permission notice appear in supporting 9documentation. 10 11The above copyright notice and this permission notice shall be included in 12all copies or substantial portions of the Software. 13 14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21Except as contained in this notice, the name of The Open Group shall not be 22used in advertising or otherwise to promote the sale, use or other dealings 23in this Software without prior written authorization from The Open Group. 24 * 25 * Author: Chris D. Peterson, MIT X Consortium 26 */ 27 28#ifndef _XawSmeBSBP_h 29#define _XawSmeBSBP_h 30 31/* 32 * Sme Object Private Data 33 */ 34#include <X11/Xaw/SmeP.h> 35#include <X11/Xaw/SmeBSB.h> 36 37typedef struct _SmeBSBClassPart { 38 XtPointer extension; 39} SmeBSBClassPart; 40 41/* Full class record declaration */ 42typedef struct _SmeBSBClassRec { 43 RectObjClassPart rect_class; 44 SmeClassPart sme_class; 45 SmeBSBClassPart sme_bsb_class; 46} SmeBSBClassRec; 47 48extern SmeBSBClassRec smeBSBClassRec; 49 50/* New fields for the Sme Object record */ 51typedef struct { 52 /* resources */ 53 String label; /* The entry label */ 54 int vert_space; /* extra vert space to leave, as a 55 percentage of the font height of 56 the label */ 57 Pixmap left_bitmap, right_bitmap; /* bitmaps to show */ 58 Dimension left_margin, right_margin;/* left and right margins */ 59 Pixel foreground; /* foreground color */ 60 XFontStruct *font; /* The font to show label in */ 61 XFontSet fontset; /* or fontset */ 62 XtJustify justify; /* Justification for the label. */ 63 64 /* private */ 65 Boolean set_values_area_cleared; /* do we need to unhighlight? */ 66 GC norm_gc; /* normal color gc */ 67 GC rev_gc; /* reverse color gc */ 68 GC norm_gray_gc; /* Normal color (grayed out) gc */ 69 GC invert_gc; /* gc for flipping colors */ 70 Dimension left_bitmap_width; /* size of each bitmap */ 71 Dimension left_bitmap_height; 72 Dimension right_bitmap_width; 73 Dimension right_bitmap_height; 74 75#ifndef OLDXAW 76 /* new resources */ 77 char * menu_name; /* name of nested sub menu or NULL */ 78 XtPointer pad[4]; /* for future use and keep binary compatibility */ 79#endif 80} SmeBSBPart; 81 82/* 83 * Full instance record declaration 84 */ 85typedef struct _SmeBSBRec { 86 ObjectPart object; 87 RectObjPart rectangle; 88 SmePart sme; 89 SmeBSBPart sme_bsb; 90} SmeBSBRec; 91 92#endif /* _XawSmeBSBP_h */ 93