⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cascadebgp.h

📁 安装DDD之前
💻 H
字号:
/** * * $Id: CascadeBGP.h,v 1.1 2004/08/28 19:23:24 dannybackx Exp $ * * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright (C) 1995-2000 LessTif Development Team * * This file is part of the GNU LessTif Library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * **/#ifndef _XM_CASCADEBGP_H#define _XM_CASCADEBGP_H#include <Xm/CascadeBG.h>#include <Xm/LabelGP.h>#ifdef __cplusplusextern "C" {#endif/* * arrow cache record */typedef struct _XmArrowPixmap {    Dimension height, width;    unsigned int depth;    Pixel top_shadow_color, bottom_shadow_color, foreground_color;    Display *display;    Screen *screen;    Pixmap pixmap;} XmArrowPixmap;/* * gadget class and instance records */typedef struct _XmCascadeButtonGCacheObjClassPart {    int foo;} XmCascadeButtonGCacheObjClassPart;typedef struct _XmCascadeButtonGCacheObjClassRec {    ObjectClassPart object_class;    XmExtClassPart ext_class;    XmLabelGCacheObjClassPart label_class_cache;    XmCascadeButtonGCacheObjClassPart cascade_button_class_cache;} XmCascadeButtonGCacheObjClassRec;XMLIBEXPORT extern XmCascadeButtonGCacheObjClassRec xmCascadeButtonGCacheObjClassRec;typedef struct _XmCascadeButtonGCacheObjPart {    Pixmap cascade_pixmap;    int map_delay;    Pixmap armed_pixmap;} XmCascadeButtonGCacheObjPart;typedef struct _XmCascadeButtonGCacheObjRec {    ObjectPart object;    XmExtPart ext;    XmLabelGCacheObjPart label_cache;    XmCascadeButtonGCacheObjPart cascade_button_cache;} XmCascadeButtonGCacheObjRec;/* * cascade button class and instance records */typedef struct {    XtPointer extension;} XmCascadeButtonGadgetClassPart;typedef struct _XmCascadeButtonGadgetClassRec {    RectObjClassPart rect_class;    XmGadgetClassPart gadget_class;    XmLabelGadgetClassPart label_class;    XmCascadeButtonGadgetClassPart cascade_button_class;} XmCascadeButtonGadgetClassRec;XMLIBEXPORT extern XmCascadeButtonGadgetClassRec xmCascadeButtonGadgetClassRec;typedef struct {    Widget submenu;    XtCallbackList activate_callback;    XtCallbackList cascade_callback;    Boolean armed;    XRectangle cascade_rect;    int map_delay;    XtIntervalId timer;    XmCascadeButtonGCacheObjPart *cache;} XmCascadeButtonGadgetPart;/* Define the full instance record */typedef struct _XmCascadeButtonGadgetRec {    ObjectPart object;    RectObjPart rectangle;    XmGadgetPart gadget;    XmLabelGadgetPart label;    XmCascadeButtonGadgetPart cascade_button;} XmCascadeButtonGadgetRec;/* * easy access macros */#define XmCBG_ARMED_BIT       (1 << 0)#define XmCBG_TRAVERSE_BIT    (1 << 1)#define CBG_Submenu(cb) \    (((XmCascadeButtonGadget)cb)->cascade_button.submenu)#define CBG_ActivateCall(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.activate_callback)#define CBG_CascadeCall(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_callback)#define CBG_Armed(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.armed)#define CBG_CascadeRect(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_rect)#define CBG_Timer(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.timer)#define CBG_Cascade_x(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_rect.x)#define CBG_Cascade_y(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_rect.y)#define CBG_Cascade_width(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_rect.width)#define CBG_Cascade_height(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.cascade_rect.height)#define CBG_HasCascade(cb) \    (((LabG_MenuType(cb) == XmMENU_PULLDOWN)  || \      (LabG_MenuType(cb) == XmMENU_POPUP) ||     \      (LabG_MenuType(cb) == XmMENU_OPTION)) &&  (CBG_Submenu(cb)))#define CBG_IsArmed(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.armed & XmCBG_ARMED_BIT)#define CBG_Traversing(cb) \    (((XmCascadeButtonGadget)(cb))->cascade_button.armed & XmCBG_TRAVERSE_BIT)#define CBG_SetBit(byte,bit,v) \    byte = (byte & (~bit)) | (v ? bit : 0)#define CBG_SetArmed(cb,v) \    CBG_SetBit(((XmCascadeButtonGadget)(cb))->cascade_button.armed, \                                      XmCBG_ARMED_BIT, v)#define CBG_SetTraverse(cb,v) \    CBG_SetBit(((XmCascadeButtonGadget)(cb))->cascade_button.armed, \                                      XmCBG_TRAVERSE_BIT, v)#define CBG_CascadePixmap(cb) \    (((XmCascadeButtonGadget)cb)->cascade_button.cache->cascade_pixmap)#define CBG_MapDelay(cb) \    (((XmCascadeButtonGadget)cb)->cascade_button.cache->map_delay)#define CBG_ArmedPixmap(cb) \    (((XmCascadeButtonGadget)cb)->cascade_button.cache->armed_pixmap)#define CBG_Cache(w) \    (((XmCascadeButtonGadget)(w))->cascade_button.cache)#define CBG_ClassCachePart(w) \    (((XmCascadeButtonGadgetClass)xmCascadeButtonGadgetClass)->gadget_class.cache_part)extern int _XmCascadeBCacheCompare(XtPointer A, XtPointer B);extern void _XmArrowPixmapCacheDelete(XtPointer data);extern void _XmCreateArrowPixmaps(Widget wid);#ifdef __cplusplus}#endif#endif /* _XM_CASCADEBGP_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -