|
|
1.1 root 1: .TH XTEXT 3X "April 10 1986" "X Version 10"
2: .SH NAME
3: Xtext \- routines to provide simple text output windows
4: .SH SYNOPSIS
5: .nf
6: .B #include <X/Xtext.h>
7: .PP
8: .fi
9: .B TextWindow *TextCreate(width, height, x, y, parent,
10: .br
11: .B fontname, bwidth, fgpixel, bgpixel,
12: .br
13: .B bordercolor, fastscroll);
14: .br
15: .B int height, width, x, y,
16: .B bwidth, fgpixel, bgpixel, fastscroll;
17: .nf
18: .B Window parent;
19: .B char *fontname;
20: .B Pixmap bordercolor;
21: .PP
22: .B TextDestroy(t);
23: .B TextWindow *t;
24: .PP
25: .B TextClear(t);
26: .B TextWindow *t;
27: .PP
28: .B TextRedisplay(t);
29: .B TextWindow *t;
30: .PP
31: .B int TextEvent(t, e);
32: .B TextWindow *t;
33: .B XEvent *e;
34: .PP
35: .B TextPutString(t, str);
36: .B TextWindow *t;
37: .B char *str;
38: .PP
39: .B TextPutChar(t, ch);
40: .B TextWindow *t;
41: .B char ch;
42: .PP
43: .fi
44: .B TextPrintf(t, format
45: .B [ , arg ] ... )
46: .nf
47: .B TextWindow *t;
48: .B char *format;
49: .PP
50: .B TextFlush(t);
51: .B TextWindow *t;
52: .SH DESCRIPTION
53: These functions provide a simple interface to text output windows.
54: .PP
55: .I TextCreate
56: creates a window that is
57: .I width
58: characters wide and
59: .I height
60: characters high. It is located with its upper left hand corner located
61: at the point
62: .I x, y
63: in the window
64: .I parent.
65: The foreground (i.e. the characters) is in the color
66: .I fgpixel
67: and the background is the color
68: .I bgpixel.
69: The border is
70: .I bwidth
71: pixels wide and filled with the Pixmap
72: .I bordercolor.
73: If
74: .I fastscroll
75: is nonzero, text containing multiple newlines is displayed with a single
76: jump scroll rather than with a single scroll for each newline.
77: .PP
78: The structure
79: .I TextWindow
80: is defined in
81: \fI/usr/include/X/Xtext.h\fP.
82: The only field that should be of interest to most applications is
83: .I w,
84: the X Window id of the created window. This is quite useful if the
85: application wishes to map the created window.
86: .PP
87: .I TextDestroy
88: destroys the window described by its argument. The window is also
89: destroyed automatically if the process creating it is terminated.
90: .PP
91: .I TextClear
92: clears the window described by its argument.
93: .PP
94: .I TextRedisplay
95: redisplays the window described by its argument. If the argument
96: is NULL, all active text windows are redisplayed.
97: .PP
98: .I TextEvent
99: handles the event passed to it. It returns 0 if it was an event
100: the library knows how to deal with, and 1 if it was an event of an
101: unknown type; the latter should only happen if the application has
102: changed the event mask for the window. Any event that the application
103: receives that has as its
104: .I window
105: the window id of the text window should be passed to
106: .I TextEvent
107: for handling. Scrolling text generates an event per line of events, so the
108: application should check for them frequently. An alternative routine,
109: .I TextFlush,
110: can be used to handle all outstanding events for all active text windows.
111: .PP
112: .I TextPutString
113: prints its string in its window. The character '\\n' (newline) is
114: treated specially, and any other character is taken from the font.
115: If the string contains multiple newlines, a single scroll is done for
116: each line unless the
117: .I fastscroll
118: argument was non-zero in the call to
119: .I TextCreate.
120: .PP
121: .I TextPutChar
122: is similar to
123: .I TextPutString
124: but only prints a single character. Again, newline is treated
125: specially.
126: .PP
127: .I TextPrintf
128: is similar to the standard function
129: .I printf
130: except that it prints its result in the specified window. The
131: resulting string is passed to
132: .I TextPutString.
133: See also the
134: .B BUGS
135: section at the end of this page.
136: .PP
137: .I TextFlush
138: is analogous to the stdio function
139: .I fflush
140: in that it causes all outstanding output requests to be flushed
141: to the specified window. If the argument is NULL, all windows are
142: flushed. For novice X developers, this routine
143: eliminates the need for event handling from X applications.
144: .SH "SEE ALSO"
145: printf(3S), xterm(1), X(8C)
146: .SH AUTHORS
147: Paul Asente, Stanford University; Mark Colan, MIT Project Athena/IBM
148: .SH BUGS
149: \fITextPrintf\fP will truncate the output if the resulting string is more than
150: 2048 characters long.
151: .PP
152: Since X operates asynchronously, it is possible to get way ahead of the
153: server. This means that it may be quite a while between when a scroll
154: happens on the screen and when \fIXtext\fP gets around to filling in areas
155: that couldn't be scrolled normally. This should only happen if the
156: application issues a great many output requests very quickly, or if it
157: doesn't get around to receiving the events \fIXtext\fP needs to fill these
158: areas in. Also, some strange TCP bugs are invoked if an application
159: which has gotten far ahead of the X server is stopped (as with a
160: control-Z).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.