118 lines
4.0 KiB
C
118 lines
4.0 KiB
C
|
/*
|
||
|
* $XConsortium: SmeMenuButtP.h,v 1.6 89/12/11 15:20:15 kit Exp $
|
||
|
*
|
||
|
* Copyright 1989 Massachusetts Institute of Technology
|
||
|
*
|
||
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||
|
* documentation for any purpose is hereby granted without fee, provided that
|
||
|
* the above copyright notice appear in all copies and that both that
|
||
|
* copyright notice and this permission notice appear in supporting
|
||
|
* documentation, and that the name of M.I.T. not be used in advertising or
|
||
|
* publicity pertaining to distribution of the software without specific,
|
||
|
* written prior permission. M.I.T. makes no representations about the
|
||
|
* suitability of this software for any purpose. It is provided "as is"
|
||
|
* without express or implied warranty.
|
||
|
*
|
||
|
* M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
|
||
|
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
*
|
||
|
* Author: Chris D. Peterson, MIT X Consortium
|
||
|
*
|
||
|
* Modifications for Wine
|
||
|
*
|
||
|
* 8/23/93 David Metcalfe (david@prism.demon.co.uk)
|
||
|
* Added code to translate ampersand to underlined char
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* SmeP.h - Private definitions for Sme object
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef _XawSmeMenuButtP_h
|
||
|
#define _XawSmeMenuButtP_h
|
||
|
|
||
|
/***********************************************************************
|
||
|
*
|
||
|
* Sme Object Private Data
|
||
|
*
|
||
|
***********************************************************************/
|
||
|
|
||
|
#include <X11/Xaw/SmeP.h>
|
||
|
#include "SmeMenuButto.h"
|
||
|
|
||
|
/************************************************************
|
||
|
*
|
||
|
* New fields for the Sme Object class record.
|
||
|
*
|
||
|
************************************************************/
|
||
|
|
||
|
typedef struct _SmeMenuButtonClassPart {
|
||
|
XtPointer extension;
|
||
|
} SmeMenuButtonClassPart;
|
||
|
|
||
|
/* Full class record declaration */
|
||
|
typedef struct _SmeMenuButtonClassRec {
|
||
|
RectObjClassPart rect_class;
|
||
|
SmeClassPart sme_class;
|
||
|
SmeMenuButtonClassPart sme_bsb_class;
|
||
|
} SmeMenuButtonClassRec;
|
||
|
|
||
|
extern SmeMenuButtonClassRec smeMenuButtonClassRec;
|
||
|
|
||
|
/* New fields for the Sme Object record */
|
||
|
typedef struct {
|
||
|
/* resources */
|
||
|
String label; /* The entry label. */
|
||
|
int vert_space; /* extra vert space to leave, as a percentage
|
||
|
of the font height of the label. */
|
||
|
Pixmap left_bitmap, right_bitmap; /* bitmaps to show. */
|
||
|
Dimension left_margin, right_margin; /* left and right margins. */
|
||
|
Pixel foreground; /* foreground color. */
|
||
|
XFontStruct * font; /* The font to show label in. */
|
||
|
XtJustify justify; /* Justification for the label. */
|
||
|
String menu_name; /* Menu to activate */
|
||
|
Boolean inactive; /* True if can't be selected */
|
||
|
|
||
|
/* private resources. */
|
||
|
|
||
|
Boolean set_values_area_cleared; /* Remember if we need to unhighlight. */
|
||
|
GC norm_gc; /* noral color gc. */
|
||
|
GC rev_gc; /* reverse color gc. */
|
||
|
GC norm_gray_gc; /* Normal color (grayed out) gc. */
|
||
|
GC invert_gc; /* gc for flipping colors. */
|
||
|
|
||
|
Dimension left_bitmap_width; /* size of each bitmap. */
|
||
|
Dimension left_bitmap_height;
|
||
|
Dimension right_bitmap_width;
|
||
|
Dimension right_bitmap_height;
|
||
|
|
||
|
int ul_pos; /* Offset in chars of underlined character */
|
||
|
/* in label */
|
||
|
} SmeMenuButtonPart;
|
||
|
|
||
|
/****************************************************************
|
||
|
*
|
||
|
* Full instance record declaration
|
||
|
*
|
||
|
****************************************************************/
|
||
|
|
||
|
typedef struct _SmeMenuButtonRec {
|
||
|
ObjectPart object;
|
||
|
RectObjPart rectangle;
|
||
|
SmePart sme;
|
||
|
SmeMenuButtonPart sme_bsb;
|
||
|
} SmeMenuButtonRec;
|
||
|
|
||
|
/************************************************************
|
||
|
*
|
||
|
* Private declarations.
|
||
|
*
|
||
|
************************************************************/
|
||
|
|
||
|
#endif /* _XawSmeMenuButtP_h */
|