root/oldXMenu/X10.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /*
     2  * Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
     3  *
     4  * Permission to use, copy, modify, and distribute this software and its
     5  * documentation for any purpose and without fee is hereby granted, provided
     6  * that the above copyright notice appear in all copies and that both that
     7  * copyright notice and this permission notice appear in supporting
     8  * documentation, and that the name of M.I.T. not be used in advertising
     9  * or publicity pertaining to distribution of the software without specific,
    10  * written prior permission. M.I.T. makes no representations about the
    11  * suitability of this software for any purpose.  It is provided "as is"
    12  * without express or implied warranty.
    13  *
    14  * The X Window System is a Trademark of MIT.
    15  *
    16  */
    17 
    18 
    19 /*
    20  *      X10.h - Header definition and support file for the C subroutine
    21  *      interface library for V10 support routines.
    22  */
    23 #ifndef _X10_H_
    24 #define _X10_H_
    25 
    26 /* Used in XDraw and XDrawFilled */
    27 
    28 typedef struct {
    29         short x, y;
    30         unsigned short flags;
    31 } Vertex;
    32 
    33 /* The meanings of the flag bits.  If the bit is 1 the predicate is true */
    34 
    35 #define VertexRelative          0x0001          /* else absolute */
    36 #define VertexDontDraw          0x0002          /* else draw */
    37 #define VertexCurved            0x0004          /* else straight */
    38 #define VertexStartClosed       0x0008          /* else not */
    39 #define VertexEndClosed         0x0010          /* else not */
    40 /*#define VertexDrawLastPoint   0x0020  */      /* else don't */
    41 
    42 /*
    43 The VertexDrawLastPoint option has not been implemented in XDraw and
    44 XDrawFilled so it shouldn't be defined.
    45 */
    46 
    47 /*
    48  * XAssoc - Associations used in the XAssocTable data structure.  The
    49  * associations are used as circular queue entries in the association table
    50  * which is contains an array of circular queues (buckets).
    51  */
    52 typedef struct _XAssoc {
    53         struct _XAssoc *next;   /* Next object in this bucket. */
    54         struct _XAssoc *prev;   /* Previous object in this bucket. */
    55         Display *display;       /* Display which owns the id. */
    56         XID x_id;               /* X Window System id. */
    57         void *data;             /* Pointer to untyped memory. */
    58 } XAssoc;
    59 
    60 /*
    61  * XAssocTable - X Window System id to data structure pointer association
    62  * table.  An XAssocTable is a hash table whose buckets are circular
    63  * queues of XAssoc's.  The XAssocTable is constructed from an array of
    64  * XAssoc's which are the circular queue headers (bucket headers).
    65  * An XAssocTable consists an XAssoc pointer that points to the first
    66  * bucket in the bucket array and an integer that indicates the number
    67  * of buckets in the array.
    68  */
    69 typedef struct {
    70     XAssoc *buckets;            /* Pointer to first bucket in bucket array.*/
    71     int size;                   /* Table size (number of buckets). */
    72 } XAssocTable;
    73 
    74 XAssocTable *XCreateAssocTable(int size);
    75 char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id);
    76 
    77 #endif /* _X10_H_ */

/* [<][>][^][v][top][bottom][index][help] */