Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:24

0001 /*
0002  *
0003 Copyright 1989, 1994, 1998  The Open Group
0004 
0005 Permission to use, copy, modify, distribute, and sell this software and its
0006 documentation for any purpose is hereby granted without fee, provided that
0007 the above copyright notice appear in all copies and that both that
0008 copyright notice and this permission notice appear in supporting
0009 documentation.
0010 
0011 The above copyright notice and this permission notice shall be included in
0012 all copies or substantial portions of the Software.
0013 
0014 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0015 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0016 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
0017 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
0018 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
0019 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0020 
0021 Except as contained in this notice, the name of The Open Group shall not be
0022 used in advertising or otherwise to promote the sale, use or other dealings
0023 in this Software without prior written authorization from The Open Group.
0024  *
0025  * Author:  Chris D. Peterson, MIT X Consortium
0026  */
0027 
0028 #ifndef _XawSmeBSBP_h
0029 #define _XawSmeBSBP_h
0030 
0031 /*
0032  * Sme Object Private Data
0033  */
0034 #include <X11/Xaw/SmeP.h>
0035 #include <X11/Xaw/SmeBSB.h>
0036 
0037 typedef struct _SmeBSBClassPart {
0038     XtPointer extension;
0039 } SmeBSBClassPart;
0040 
0041 /* Full class record declaration */
0042 typedef struct _SmeBSBClassRec {
0043     RectObjClassPart    rect_class;
0044     SmeClassPart    sme_class;
0045     SmeBSBClassPart sme_bsb_class;
0046 } SmeBSBClassRec;
0047 
0048 extern SmeBSBClassRec smeBSBClassRec;
0049 
0050 /* New fields for the Sme Object record */
0051 typedef struct {
0052     /* resources */
0053     String label;           /* The entry label */
0054     int vert_space;         /* extra vert space to leave, as a
0055                        percentage of the font height of
0056                        the label */
0057     Pixmap left_bitmap, right_bitmap;   /* bitmaps to show */
0058     Dimension left_margin, right_margin;/* left and right margins */
0059     Pixel foreground;           /* foreground color */
0060     XFontStruct *font;          /* The font to show label in */
0061     XFontSet fontset;           /* or fontset */
0062     XtJustify justify;          /* Justification for the label. */
0063 
0064     /* private */
0065     Boolean set_values_area_cleared;    /* do we need to unhighlight? */
0066     GC norm_gc;             /* normal color gc */
0067     GC rev_gc;              /* reverse color gc */
0068     GC norm_gray_gc;            /* Normal color (grayed out) gc */
0069     GC invert_gc;           /* gc for flipping colors */
0070     Dimension left_bitmap_width;    /* size of each bitmap */
0071     Dimension left_bitmap_height;
0072     Dimension right_bitmap_width;
0073     Dimension right_bitmap_height;
0074 
0075 #ifndef OLDXAW
0076     /* new resources */
0077     char * menu_name;           /* name of nested sub menu or NULL */
0078     XtPointer pad[4];   /* for future use and keep binary compatibility */
0079 #endif
0080 } SmeBSBPart;
0081 
0082 /*
0083  * Full instance record declaration
0084  */
0085 typedef struct _SmeBSBRec {
0086     ObjectPart  object;
0087     RectObjPart rectangle;
0088     SmePart sme;
0089     SmeBSBPart  sme_bsb;
0090 } SmeBSBRec;
0091 
0092 #endif /* _XawSmeBSBP_h */