Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 #ifndef _XmDisplayP_h
0024 #define _XmDisplayP_h
0025 
0026 #include <Xm/DesktopP.h>
0027 #include <Xm/VendorSEP.h>
0028 #include <Xm/DropSMgr.h>
0029 #include <Xm/Display.h>
0030 #include <Xm/ScreenP.h>
0031 
0032 /* A little incest */
0033 #include <Xm/DragCP.h>
0034 #include <Xm/VirtKeysP.h>
0035 
0036 #include <Xm/TearOffP.h>
0037 
0038 #ifdef __cplusplus
0039 extern "C" {
0040 #endif
0041 
0042 typedef Widget (*XmDisplayGetDisplayProc)(Display *);
0043 
0044 
0045 typedef struct {
0046     XmDisplayGetDisplayProc GetDisplay;
0047     XtPointer               extension;
0048 } XmDisplayClassPart;
0049 
0050 /* 
0051  * we make it a appShell subclass so it can have it's own instance
0052  * hierarchy
0053  */
0054 typedef struct _XmDisplayClassRec{
0055     CoreClassPart           core_class;
0056     CompositeClassPart      composite_class;
0057     ShellClassPart          shell_class;
0058     WMShellClassPart        wm_shell_class;
0059     VendorShellClassPart    vendor_shell_class;
0060     TopLevelShellClassPart  top_level_shell_class;
0061     ApplicationShellClassPart   application_shell_class;
0062     XmDisplayClassPart      display_class;
0063 } XmDisplayClassRec;
0064 
0065 typedef struct _XmModalDataRec{
0066     Widget                      wid;
0067     XmVendorShellExtObject  ve;
0068     XmVendorShellExtObject  grabber;
0069     Boolean         exclusive;
0070     Boolean         springLoaded;
0071 } XmModalDataRec, *XmModalData;
0072 
0073 typedef struct {
0074     unsigned char       dragInitiatorProtocolStyle;
0075     unsigned char       dragReceiverProtocolStyle;
0076 
0077     unsigned char       userGrabbed; /* flag for menu vs dnd */
0078 
0079     WidgetClass         dragContextClass;
0080     WidgetClass         dropTransferClass;
0081     WidgetClass         dropSiteManagerClass;
0082     XmDragContext       activeDC;
0083     XmDropSiteManagerObject dsm;
0084     Time            lastDragTime;
0085     Window          proxyWindow;
0086 
0087     XmModalData         modals;
0088     Cardinal            numModals;
0089     Cardinal            maxModals;
0090     XtPointer           xmim_info;
0091 
0092     String          bindingsString;
0093     XmVKeyBindingRec        *bindings;
0094     XKeyEvent           *lastKeyEvent;           /* unused */
0095     unsigned char       keycode_tag[XmKEYCODE_TAG_SIZE]; /* unused */
0096 
0097     int             shellCount;
0098     XtPointer           displayInfo;    /* extension */
0099     XtPointer                   user_data;
0100     int                         motif_version ;
0101     XtEnum                      enable_warp ;
0102     Cardinal            num_bindings;
0103     XtCallbackList      dragStartCallback;
0104     XtCallbackList      noFontCallback;
0105     XtCallbackList      noRenditionCallback;
0106     Boolean         displayHasShapeExtension;
0107 
0108     XtEnum          enable_btn1_transfer ;
0109     Boolean         enable_button_tab ;
0110     Boolean         enable_etched_in_menu;
0111     Boolean         default_button_emphasis;
0112     Boolean         enable_toggle_color;
0113     Boolean         enable_toggle_visual;
0114     Boolean         enable_drag_icon;
0115     Boolean         enable_unselectable_drag;
0116     Boolean                     enable_thin_thickness;
0117     Boolean         enable_multi_key_bindings;
0118 } XmDisplayPart, *XmDisplayPartPtr;
0119 
0120 typedef struct _XmDisplayInfo {
0121   /* so much for information hiding */
0122   Cursor    SashCursor;     /* Sash.c */
0123   Widget    destinationWidget;  /* Dest.c */
0124   Cursor    TearOffCursor;      /* TearOff.c */
0125   XtPointer UniqueStamp;        /* UniqueEvnt.c */
0126   XmExcludedParentPaneRec excParentPane;/* TearOff.c */
0127   unsigned short resetFocusFlag;    /* TravAct.c */
0128   Boolean   traversal_in_progress;  /* Traversal.c */
0129 } XmDisplayInfo;
0130 
0131 typedef struct _XmDisplayRec{
0132     CorePart        core;
0133     CompositePart   composite;
0134     ShellPart       shell;
0135     WMShellPart     wm;
0136     VendorShellPart vendor;
0137     TopLevelShellPart   topLevel;
0138     ApplicationShellPart application;
0139     XmDisplayPart   display;
0140 } XmDisplayRec;
0141 
0142 externalref XmDisplayClassRec   xmDisplayClassRec;
0143 
0144 externalref String _Xm_MOTIF_DRAG_AND_DROP_MESSAGE ;
0145 
0146 
0147 #ifdef __cplusplus
0148 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0149 #endif
0150 
0151 #endif /* _XmDisplayP_h */
0152 /* DON'T ADD STUFF AFTER THIS #endif */
0153