1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-30 08:09:04 +00:00
emacs/oldXMenu/X10.h
Paul Eggert 55660072db Modernize to C89, for better static checking.
* Activate.c (XMenuActivate): Callback's first arg is readonly.
* AddPane.c (XMenuAddPane): Label is readonly.  Rename local
to avoid shadowing.
* AddSel.c (XMenuAddSelection): Help arg is readonly.  Rename local.
* Create.c (atoi, atof): Remove decls; include <stdlib.h>.
(MAX_INACT_PNUM, TILE_BUF_SIZE): Remove; unused.
(x_get_resource_string): Args are readonly.
(XAllocDisplayColor): colorName is readonly.
(XMenuCreate): def_env is readonly.  Remove unused locals.  Avoid
"else;".
* Destroy.c (XMenuDestroy): Return void.
* Error.c (XMenuError): Remove const pointer.
* EvHand.c (XMenuEventHandler): Return void.
* FindPane.c, FindSel.c: Include <string.h>.
* InsPane.c (XMenuInsertPane): Rename local to avoid shadowing.
* InsSel.c (XMenuInsertSelection): Likewise.
* Internal.c (toggle_color, BUFFER_SIZE): Remove; unused.
(_XMErrorList): Now const.
(_XMWinQueInit, _XMRecomputeGlobals, _XMTransToOrigin, _XMRefreshPane):
(_XMRefreshSelection): Return void.
(_XMWinQueFlush, _XMRefreshSelection): Rename locals to avoid
shadowing.
(_XMWinQueFlush): Use stack, not heap.  Don't use uninitialized var.
* SetAEQ.c (XMenuSetAEQ): Now returns void.
* SetFrz.c (XMenuSetFreeze): Likewise.
* X10.h (XAssoc): Use void * for generic pointer.
* XDelAssoc.c: Include XMenuInt.h rather than duplicating part of it.
* XDestAssoc.c, XMakeAssoc.c: Likewise.
* XDestAssoc.c (XDestroyAssocTable): Return void.
* XMakeAssoc.c (XMakeAssoc): Use void * for generic pointer.
* XMenu.h, XMenuInt.h: Adjust to signature changes.  Use const
for pointers to readonly storage.
* insque.c: Include XMenuInt.h, to check our own signature.
(emacs_insque, emacs_remque): Use void * for generic pointers.
2011-04-16 01:25:42 -07:00

78 lines
2.7 KiB
C

/*
* Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* The X Window System is a Trademark of MIT.
*
*/
/*
* X10.h - Header definition and support file for the C subroutine
* interface library for V10 support routines.
*/
#ifndef _X10_H_
#define _X10_H_
/* Used in XDraw and XDrawFilled */
typedef struct {
short x, y;
unsigned short flags;
} Vertex;
/* The meanings of the flag bits. If the bit is 1 the predicate is true */
#define VertexRelative 0x0001 /* else absolute */
#define VertexDontDraw 0x0002 /* else draw */
#define VertexCurved 0x0004 /* else straight */
#define VertexStartClosed 0x0008 /* else not */
#define VertexEndClosed 0x0010 /* else not */
/*#define VertexDrawLastPoint 0x0020 */ /* else don't */
/*
The VertexDrawLastPoint option has not been implemented in XDraw and
XDrawFilled so it shouldn't be defined.
*/
/*
* XAssoc - Associations used in the XAssocTable data structure. The
* associations are used as circular queue entries in the association table
* which is contains an array of circular queues (buckets).
*/
typedef struct _XAssoc {
struct _XAssoc *next; /* Next object in this bucket. */
struct _XAssoc *prev; /* Previous obejct in this bucket. */
Display *display; /* Display which owns the id. */
XID x_id; /* X Window System id. */
void *data; /* Pointer to untyped memory. */
} XAssoc;
/*
* XAssocTable - X Window System id to data structure pointer association
* table. An XAssocTable is a hash table whose buckets are circular
* queues of XAssoc's. The XAssocTable is constructed from an array of
* XAssoc's which are the circular queue headers (bucket headers).
* An XAssocTable consists an XAssoc pointer that points to the first
* bucket in the bucket array and an integer that indicates the number
* of buckets in the array.
*/
typedef struct {
XAssoc *buckets; /* Pointer to first bucket in bucket array.*/
int size; /* Table size (number of buckets). */
} XAssocTable;
XAssocTable *XCreateAssocTable(int size);
char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id);
#endif /* _X10_H_ */