Blame lib/Xm/DragOverSP.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/*   $XConsortium: DragOverSP.h /main/9 1995/07/14 10:26:38 drk $ */
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmDragOverSP_h
Packit b099d7
#define _XmDragOverSP_h
Packit b099d7
Packit b099d7
#include <X11/IntrinsicP.h>
Packit b099d7
Packit b099d7
#include <X11/Shell.h>
Packit b099d7
#include <X11/ShellP.h>
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
#include <Xm/DragIconP.h>
Packit b099d7
#include <Xm/DragOverS.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define DOExpose(do) \
Packit b099d7
	((XtClass(do))->core_class.expose) ((Widget)(do), NULL, NULL)
Packit b099d7
Packit b099d7
/* 
Packit b099d7
 * DRAGOVER SHELL
Packit b099d7
 */
Packit b099d7
typedef struct 
Packit b099d7
{
Packit b099d7
    XtPointer				extension;
Packit b099d7
} XmDragOverShellClassPart;
Packit b099d7
Packit b099d7
/* Full class record declaration */
Packit b099d7
Packit b099d7
typedef struct _XmDragOverShellClassRec 
Packit b099d7
{
Packit b099d7
    CoreClassPart 		core_class;
Packit b099d7
    CompositeClassPart 		composite_class;
Packit b099d7
    ShellClassPart 		shell_class;
Packit b099d7
    WMShellClassPart	        wm_shell_class;
Packit b099d7
    VendorShellClassPart 	vendor_shell_class;
Packit b099d7
    XmDragOverShellClassPart 	dragOver_shell_class;
Packit b099d7
} XmDragOverShellClassRec;
Packit b099d7
Packit b099d7
externalref XmDragOverShellClassRec xmDragOverShellClassRec;
Packit b099d7
Packit b099d7
typedef struct _XmBackingRec{
Packit b099d7
    Position	x, y;
Packit b099d7
    Pixmap	pixmap;
Packit b099d7
}XmBackingRec, *XmBacking;
Packit b099d7
Packit b099d7
typedef struct _XmDragOverBlendRec{
Packit b099d7
    XmDragIconObject		sourceIcon;	/* source icon */
Packit b099d7
    Position			sourceX;	/* source location in blend */
Packit b099d7
    Position			sourceY;	/* source location in blend */
Packit b099d7
    XmDragIconObject		mixedIcon;	/* blended icon */
Packit b099d7
    GC				gc;		/* appropriate depth */
Packit b099d7
}XmDragOverBlendRec, *XmDragOverBlend;
Packit b099d7
Packit b099d7
typedef struct _XmDragOverShellPart{
Packit b099d7
    Position		hotX;		/* current hotX */
Packit b099d7
    Position		hotY;		/* current hotY */
Packit b099d7
    unsigned char	cursorState;	/* current cursor state */
Packit b099d7
    unsigned char	mode;
Packit b099d7
    unsigned char	activeMode;
Packit b099d7
Packit b099d7
    Position		initialX;	/* initial hotX */
Packit b099d7
    Position		initialY;	/* initial hotY */
Packit b099d7
Packit b099d7
    XmDragIconObject	stateIcon;	/* current state icon */
Packit b099d7
    XmDragIconObject	opIcon;		/* current operation icon */
Packit b099d7
Packit b099d7
    XmDragOverBlendRec	cursorBlend;	/* cursor blending */
Packit b099d7
    XmDragOverBlendRec	rootBlend;	/* pixmap or window blending */
Packit b099d7
    Pixel		cursorForeground;
Packit b099d7
    Pixel		cursorBackground;
Packit b099d7
    Cursor		ncCursor;	/* noncached cursor */
Packit b099d7
    Cursor		activeCursor;	/* the current cursor */
Packit b099d7
Packit b099d7
    XmBackingRec	backing; 	/* backing store for pixdrag */
Packit b099d7
    Pixmap		tmpPix;		/* temp storage for pixdrag */
Packit b099d7
    Pixmap		tmpBit;		/* temp storage for pixdrag */
Packit b099d7
    Boolean             isVisible;	/* shell is visible */
Packit b099d7
Packit b099d7
    /* Added for ShapedWindow dragging */
Packit b099d7
    /* Resources */
Packit b099d7
    Boolean		installColormap;/* Install the colormap */
Packit b099d7
Packit b099d7
    /* locals */
Packit b099d7
    Boolean		holePunched;	/* true if hole is punched */
Packit b099d7
Packit b099d7
    /* the following variables are used to make sure the correct colormap */
Packit b099d7
    /* is installed.  colormapWidget is initially the parent widget, but */
Packit b099d7
    /* can be changed by calling DragShellColormapWidget.		*/
Packit b099d7
    Widget		colormapWidget;	/* The widget I'm dragging from */
Packit b099d7
    Widget		colormapShell;	/* It's shell, install colormap here */
Packit b099d7
    Boolean		colormapOverride; /* shell is override rediirect */
Packit b099d7
    Colormap*		savedColormaps;	/* used with override redirect */
Packit b099d7
    int			numSavedColormaps;
Packit b099d7
}XmDragOverShellPart;
Packit b099d7
Packit b099d7
typedef  struct _XmDragOverShellRec{
Packit b099d7
    CorePart	 	core;
Packit b099d7
    CompositePart 	composite;
Packit b099d7
    ShellPart 		shell;
Packit b099d7
    WMShellPart		wm;
Packit b099d7
    VendorShellPart	vendor;
Packit b099d7
    XmDragOverShellPart	drag;
Packit b099d7
} XmDragOverShellRec;
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmDragOverSP_h */