Blame lib/Xm/DragBSI.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
/* $TOG: DragBSI.h /main/12 1998/03/18 15:10:55 csn $ */
Packit b099d7
/* (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
Packit b099d7
#ifndef _XmDragBSI_h
Packit b099d7
#define _XmDragBSI_h
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
#include <X11/Xmd.h>		/* for CARD32, B32, etc. */
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * defalut values for XmNnumImportTargets and XmNimportTargets. 
Packit b099d7
 */
Packit b099d7
#define _XmDefaultNumImportTargets	0;
Packit b099d7
#define _XmDefaultImportTargets		NULL;
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 *  atoms and targets table structures
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
  Atom		atom;
Packit b099d7
  Time		time;
Packit b099d7
} xmAtomsTableEntryRec, *xmAtomsTableEntry;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
  Cardinal	numEntries;
Packit b099d7
  xmAtomsTableEntry entries;
Packit b099d7
} xmAtomsTableRec, *xmAtomsTable;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    Cardinal	numTargets;
Packit b099d7
    Atom	*targets;
Packit b099d7
} xmTargetsTableEntryRec, *xmTargetsTableEntry;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    Cardinal	numEntries;
Packit b099d7
    xmTargetsTableEntry entries;
Packit b099d7
} xmTargetsTableRec, *xmTargetsTable;
Packit b099d7
Packit b099d7
/*
Packit b099d7
 *  The following are structures for property access.
Packit b099d7
 *  They must have 64-bit multiple lengths to support 64-bit architectures.
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    CARD32	atom B32;
Packit b099d7
    CARD16	name_length B16;
Packit b099d7
    CARD16	pad B16;
Packit b099d7
} xmMotifAtomPairRec;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    BYTE	byte_order;
Packit b099d7
    BYTE	protocol_version;
Packit b099d7
    CARD16	num_atom_pairs B16;
Packit b099d7
    CARD32	heap_offset B32;
Packit b099d7
    /* xmMotifAtomPairRec 	 atomPairs[];	*/
Packit b099d7
} xmMotifAtomPairPropertyRec;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    CARD32	atom B32;
Packit b099d7
    CARD32	time B32;
Packit b099d7
} xmMotifAtomsTableRec;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    BYTE	byte_order;
Packit b099d7
    BYTE	protocol_version;
Packit b099d7
    CARD16	num_atoms B16;
Packit b099d7
    CARD32	heap_offset B32;
Packit b099d7
    /* xmMotifAtomsTableRec atoms[]; 	*/
Packit b099d7
} xmMotifAtomsPropertyRec;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    BYTE	byte_order;
Packit b099d7
    BYTE	protocol_version;
Packit b099d7
    CARD16	num_target_lists B16;
Packit b099d7
    CARD32	heap_offset B32;
Packit b099d7
} xmMotifTargetsPropertyRec;
Packit b099d7
Packit b099d7
/********    Private Function Declarations for DragBS.c   ********/
Packit b099d7
Packit b099d7
extern void _XmInitTargetsTable( 
Packit b099d7
                        Display *display) ;
Packit b099d7
extern void _XmClearDisplayTables (Display *display);
Packit b099d7
extern Cardinal _XmIndexToTargets( 
Packit b099d7
                        Widget shell,
Packit b099d7
                        Cardinal t_index,
Packit b099d7
                        Atom **targetsRtn) ;
Packit b099d7
extern Cardinal _XmTargetsToIndex( 
Packit b099d7
                        Widget shell,
Packit b099d7
                        Atom *targets,
Packit b099d7
                        Cardinal numTargets) ;
Packit b099d7
extern Atom _XmAllocMotifAtom( 
Packit b099d7
                        Widget shell,
Packit b099d7
                        Time time) ;
Packit b099d7
extern void _XmFreeMotifAtom( 
Packit b099d7
                        Widget shell,
Packit b099d7
                        Atom atom) ;
Packit b099d7
extern void _XmDestroyMotifWindow( 
Packit b099d7
                        Display *dpy) ;
Packit b099d7
extern Window _XmGetDragProxyWindow(
Packit b099d7
			Display *display) ;
Packit b099d7
Packit b099d7
/********    End Private Function Declarations    ********/
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 /* _XmDragBSI_h */