Mercurial > emacs
annotate admin/alloc-colors.c @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | e6db9ee945b8 |
children | ce88a631c161 |
rev | line source |
---|---|
39991 | 1 /* Allocate X colors. Used for testing with dense colormaps. |
79744 | 2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
75348 | 3 Free Software Foundation, Inc. |
39991 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
39991 | 8 it under the terms of the GNU General Public License as published by |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
10 (at your option) any later version. |
39991 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
19 |
39991 | 20 |
21 #include <X11/Xlib.h> | |
22 #include <stdio.h> | |
23 #include <stdlib.h> | |
24 #include <stdarg.h> | |
25 #include <unistd.h> | |
26 | |
27 void | |
28 fatal (const char *fmt, ...) | |
29 { | |
30 va_list ap; | |
31 | |
32 va_start (ap, fmt); | |
33 vfprintf (stderr, fmt, ap); | |
34 fputc ('\n', stderr); | |
35 va_end (ap); | |
36 exit (1); | |
37 } | |
38 | |
39 void | |
40 usage (const char *progname) | |
41 { | |
42 fprintf (stderr, "Usage %s options\n", progname); | |
43 fprintf (stderr, "-n NCOLORS allcoate NCOLORS colors\n"); | |
44 exit (1); | |
45 } | |
46 | |
47 int | |
48 main (int argc, char **argv) | |
49 { | |
50 Display *dpy; | |
51 int opt, ncolors = 0, i; | |
52 XColor *allocated; | |
53 int nallocated; | |
54 XColor color; | |
55 Colormap cmap; | |
56 | |
57 while ((opt = getopt (argc, argv, "n:")) != EOF) | |
58 switch (opt) | |
59 { | |
60 case 'n': | |
61 ncolors = atoi (optarg); | |
62 break; | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
39991
diff
changeset
|
63 |
39991 | 64 case '?': |
65 usage (argv[0]); | |
66 } | |
67 | |
68 if (ncolors == 0) | |
69 usage (argv[0]); | |
70 | |
71 dpy = XOpenDisplay (""); | |
72 if (dpy == NULL) | |
73 fatal ("Cannot open display"); | |
74 cmap = DefaultColormap (dpy, 0); | |
75 | |
76 allocated = malloc (ncolors * sizeof *allocated); | |
77 nallocated = 0; | |
78 memset (&color, 0, sizeof color); | |
79 | |
80 while (nallocated < ncolors | |
81 && color.red < 65536) | |
82 { | |
83 allocated[nallocated] = color; | |
84 if (XAllocColor (dpy, cmap, &allocated[nallocated])) | |
85 { | |
86 for (i = 0; i < nallocated; ++i) | |
87 if (allocated[i].red == allocated[nallocated].red | |
88 && allocated[i].green == allocated[nallocated].green | |
89 && allocated[i].blue == allocated[nallocated].blue) | |
90 break; | |
91 | |
92 if (i == nallocated) | |
93 { | |
94 printf ("allocated %d/%d/%d\n", | |
95 allocated[nallocated].red, | |
96 allocated[nallocated].green, | |
97 allocated[nallocated].blue); | |
98 ++nallocated; | |
99 } | |
100 } | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
39991
diff
changeset
|
101 |
39991 | 102 ++color.red; |
103 ++color.green; | |
104 ++color.blue; | |
105 } | |
106 | |
107 fprintf (stderr, "Waiting. Press ^C to stop.\n"); | |
108 while (1) | |
109 sleep (10); | |
110 | |
111 XCloseDisplay (dpy); | |
112 return 0; | |
113 } | |
52401 | 114 |
115 /* arch-tag: f1be90ac-5b70-43c2-835e-5a6432a25145 | |
116 (do not change this comment) */ |