annotate oldXMenu/X10.h @ 76022:e892213b9815

(w32_set_scroll_bar_thumb): Don't resize scroll-bar handle while dragging, except when we get close to eob. Fix position and size calculations so we don't scroll backwards just by clicking on the handle.
author Kim F. Storm <storm@cua.dk>
date Mon, 19 Feb 2007 14:45:39 +0000
parents 3d45362f1d38
children fec5e03aaf59 b8d9a391daf3 95d0cdf160ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
1 /*
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
2 * Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
Dave Love <fx@gnu.org>
parents:
diff changeset
3 *
Dave Love <fx@gnu.org>
parents:
diff changeset
4 * Permission to use, copy, modify, and distribute this software and its
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
5 * documentation for any purpose and without fee is hereby granted, provided
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
6 * that the above copyright notice appear in all copies and that both that
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
7 * copyright notice and this permission notice appear in supporting
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
8 * documentation, and that the name of M.I.T. not be used in advertising
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
9 * or publicity pertaining to distribution of the software without specific,
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
10 * written prior permission. M.I.T. makes no representations about the
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
11 * suitability of this software for any purpose. It is provided "as is"
Dave Love <fx@gnu.org>
parents:
diff changeset
12 * without express or implied warranty.
Dave Love <fx@gnu.org>
parents:
diff changeset
13 *
Dave Love <fx@gnu.org>
parents:
diff changeset
14 * The X Window System is a Trademark of MIT.
Dave Love <fx@gnu.org>
parents:
diff changeset
15 *
Dave Love <fx@gnu.org>
parents:
diff changeset
16 */
Dave Love <fx@gnu.org>
parents:
diff changeset
17
74548
ce127a46b1ca Update copyright years.
Glenn Morris <rgm@gnu.org>
parents: 68640
diff changeset
18 /* Copyright (C) 2001, 2002, 2003, 2004, 2005,
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 74548
diff changeset
19 2006, 2007 Free Software Foundation, Inc. */
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
22 * X10.h - Header definition and support file for the C subroutine
Dave Love <fx@gnu.org>
parents:
diff changeset
23 * interface library for V10 support routines.
Dave Love <fx@gnu.org>
parents:
diff changeset
24 */
Dave Love <fx@gnu.org>
parents:
diff changeset
25 #ifndef _X10_H_
Dave Love <fx@gnu.org>
parents:
diff changeset
26 #define _X10_H_
Dave Love <fx@gnu.org>
parents:
diff changeset
27
Dave Love <fx@gnu.org>
parents:
diff changeset
28 /* Used in XDraw and XDrawFilled */
Dave Love <fx@gnu.org>
parents:
diff changeset
29
Dave Love <fx@gnu.org>
parents:
diff changeset
30 typedef struct {
Dave Love <fx@gnu.org>
parents:
diff changeset
31 short x, y;
Dave Love <fx@gnu.org>
parents:
diff changeset
32 unsigned short flags;
Dave Love <fx@gnu.org>
parents:
diff changeset
33 } Vertex;
Dave Love <fx@gnu.org>
parents:
diff changeset
34
Dave Love <fx@gnu.org>
parents:
diff changeset
35 /* The meanings of the flag bits. If the bit is 1 the predicate is true */
Dave Love <fx@gnu.org>
parents:
diff changeset
36
Dave Love <fx@gnu.org>
parents:
diff changeset
37 #define VertexRelative 0x0001 /* else absolute */
Dave Love <fx@gnu.org>
parents:
diff changeset
38 #define VertexDontDraw 0x0002 /* else draw */
Dave Love <fx@gnu.org>
parents:
diff changeset
39 #define VertexCurved 0x0004 /* else straight */
Dave Love <fx@gnu.org>
parents:
diff changeset
40 #define VertexStartClosed 0x0008 /* else not */
Dave Love <fx@gnu.org>
parents:
diff changeset
41 #define VertexEndClosed 0x0010 /* else not */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
42 /*#define VertexDrawLastPoint 0x0020 */ /* else don't */
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 /*
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
45 The VertexDrawLastPoint option has not been implemented in XDraw and
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
46 XDrawFilled so it shouldn't be defined.
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
47 */
Dave Love <fx@gnu.org>
parents:
diff changeset
48
Dave Love <fx@gnu.org>
parents:
diff changeset
49 /*
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
50 * XAssoc - Associations used in the XAssocTable data structure. The
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
51 * associations are used as circular queue entries in the association table
Dave Love <fx@gnu.org>
parents:
diff changeset
52 * which is contains an array of circular queues (buckets).
Dave Love <fx@gnu.org>
parents:
diff changeset
53 */
Dave Love <fx@gnu.org>
parents:
diff changeset
54 typedef struct _XAssoc {
Dave Love <fx@gnu.org>
parents:
diff changeset
55 struct _XAssoc *next; /* Next object in this bucket. */
Dave Love <fx@gnu.org>
parents:
diff changeset
56 struct _XAssoc *prev; /* Previous obejct in this bucket. */
Dave Love <fx@gnu.org>
parents:
diff changeset
57 Display *display; /* Display which owns the id. */
Dave Love <fx@gnu.org>
parents:
diff changeset
58 XID x_id; /* X Window System id. */
Dave Love <fx@gnu.org>
parents:
diff changeset
59 char *data; /* Pointer to untyped memory. */
Dave Love <fx@gnu.org>
parents:
diff changeset
60 } XAssoc;
Dave Love <fx@gnu.org>
parents:
diff changeset
61
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
62 /*
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
63 * XAssocTable - X Window System id to data structure pointer association
Dave Love <fx@gnu.org>
parents:
diff changeset
64 * table. An XAssocTable is a hash table whose buckets are circular
Dave Love <fx@gnu.org>
parents:
diff changeset
65 * queues of XAssoc's. The XAssocTable is constructed from an array of
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
66 * XAssoc's which are the circular queue headers (bucket headers).
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
67 * An XAssocTable consists an XAssoc pointer that points to the first
Dave Love <fx@gnu.org>
parents:
diff changeset
68 * bucket in the bucket array and an integer that indicates the number
Dave Love <fx@gnu.org>
parents:
diff changeset
69 * of buckets in the array.
Dave Love <fx@gnu.org>
parents:
diff changeset
70 */
Dave Love <fx@gnu.org>
parents:
diff changeset
71 typedef struct {
Dave Love <fx@gnu.org>
parents:
diff changeset
72 XAssoc *buckets; /* Pointer to first bucket in bucket array.*/
Dave Love <fx@gnu.org>
parents:
diff changeset
73 int size; /* Table size (number of buckets). */
Dave Love <fx@gnu.org>
parents:
diff changeset
74 } XAssocTable;
Dave Love <fx@gnu.org>
parents:
diff changeset
75
Dave Love <fx@gnu.org>
parents:
diff changeset
76 XAssocTable *XCreateAssocTable();
Dave Love <fx@gnu.org>
parents:
diff changeset
77 char *XLookUpAssoc();
Dave Love <fx@gnu.org>
parents:
diff changeset
78
Dave Love <fx@gnu.org>
parents:
diff changeset
79 #endif /* _X10_H_ */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
80
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
81 /* arch-tag: b0b749fb-757b-470b-b405-af7d033a5aad
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
82 (do not change this comment) */