Lines Matching refs:dvi
21 #define DeviceToX(dw, n) ((int)((n) * (dw)->dvi.scale_factor + .5))
22 #define XPos(dw) (DeviceToX((dw), (dw)->dvi.state->x - \
23 (dw)->dvi.text_device_width) + (dw)->dvi.text_x_width)
24 #define YPos(dw) (DeviceToX((dw), (dw)->dvi.state->y))
34 dw->dvi.state->x += delta; in HorizontalMove()
40 dw->dvi.state->x = NewPosition; in HorizontalGoto()
46 dw->dvi.state->y += delta; in VerticalMove()
52 dw->dvi.state->y = NewPosition; in VerticalGoto()
63 extra = DeviceToX(dw, dw->dvi.text_device_width) in AdjustCacheDeltas()
64 - dw->dvi.text_x_width; in AdjustCacheDeltas()
67 for (i = 0; i <= dw->dvi.cache.index; i++) in AdjustCacheDeltas()
68 if (dw->dvi.cache.adjustable[i]) in AdjustCacheDeltas()
70 dw->dvi.text_x_width += extra; in AdjustCacheDeltas()
73 for (i = 0; i <= dw->dvi.cache.index; i++) in AdjustCacheDeltas()
74 if (dw->dvi.cache.adjustable[i]) { in AdjustCacheDeltas()
79 deltap = &dw->dvi.cache.cache[i].delta; in AdjustCacheDeltas()
92 dw->dvi.cache.adjustable[i] = 0; in AdjustCacheDeltas()
99 if (dw->dvi.cache.char_index != 0) { in FlushCharCache()
101 XDrawText (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in FlushCharCache()
102 dw->dvi.cache.start_x, dw->dvi.cache.start_y, in FlushCharCache()
103 dw->dvi.cache.cache, dw->dvi.cache.index + 1); in FlushCharCache()
105 dw->dvi.cache.index = 0; in FlushCharCache()
106 dw->dvi.cache.max = DVI_TEXT_CACHE_SIZE; in FlushCharCache()
108 if (dw->dvi.noPolyText) in FlushCharCache()
109 dw->dvi.cache.max = 1; in FlushCharCache()
111 dw->dvi.cache.char_index = 0; in FlushCharCache()
112 dw->dvi.cache.cache[0].nchars = 0; in FlushCharCache()
113 dw->dvi.cache.start_x = dw->dvi.cache.x = XPos (dw); in FlushCharCache()
114 dw->dvi.cache.start_y = dw->dvi.cache.y = YPos (dw); in FlushCharCache()
121 dw->dvi.text_x_width = dw->dvi.text_device_width = 0; in Newline()
122 dw->dvi.word_flag = 0; in Newline()
128 dw->dvi.word_flag = 1; in Word()
168 if (!(y + 24 >= dw->dvi.extents.y1 in DoCharacter()
169 && y - 24 <= dw->dvi.extents.y2 in DoCharacter()
171 && x + 24 >= dw->dvi.extents.x1 in DoCharacter()
172 && x - 24 <= dw->dvi.extents.x2 in DoCharacter()
177 if (y != dw->dvi.cache.y in DoCharacter()
178 || dw->dvi.cache.char_index >= DVI_CHAR_CACHE_SIZE) { in DoCharacter()
180 x = dw->dvi.cache.x; in DoCharacter()
181 dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; in DoCharacter()
187 if (dw->dvi.cache.font_size != dw->dvi.state->font_size || in DoCharacter()
188 dw->dvi.cache.font_number != dw->dvi.state->font_number) in DoCharacter()
191 x = dw->dvi.cache.x; in DoCharacter()
192 dw->dvi.cache.font_size = dw->dvi.state->font_size; in DoCharacter()
193 dw->dvi.cache.font_number = dw->dvi.state->font_number; in DoCharacter()
194 dw->dvi.cache.font = QueryFont (dw, in DoCharacter()
195 dw->dvi.cache.font_number, in DoCharacter()
196 dw->dvi.cache.font_size); in DoCharacter()
197 if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) { in DoCharacter()
198 ++dw->dvi.cache.index; in DoCharacter()
199 if (dw->dvi.cache.index >= dw->dvi.cache.max) in DoCharacter()
201 dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0; in DoCharacter()
202 dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; in DoCharacter()
205 if (x != dw->dvi.cache.x || dw->dvi.word_flag) { in DoCharacter()
206 if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) { in DoCharacter()
207 ++dw->dvi.cache.index; in DoCharacter()
208 if (dw->dvi.cache.index >= dw->dvi.cache.max) in DoCharacter()
210 dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0; in DoCharacter()
211 dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; in DoCharacter()
213 dw->dvi.cache.adjustable[dw->dvi.cache.index] in DoCharacter()
214 = dw->dvi.word_flag; in DoCharacter()
215 dw->dvi.word_flag = 0; in DoCharacter()
217 font = dw->dvi.cache.font; in DoCharacter()
218 text = &dw->dvi.cache.cache[dw->dvi.cache.index]; in DoCharacter()
220 text->chars = &dw->dvi.cache.char_cache[dw->dvi.cache.char_index]; in DoCharacter()
221 text->delta = x - dw->dvi.cache.x; in DoCharacter()
222 if (font != dw->dvi.font) { in DoCharacter()
224 dw->dvi.font = font; in DoCharacter()
227 dw->dvi.cache.x += text->delta; in DoCharacter()
231 dw->dvi.cache.char_cache[dw->dvi.cache.char_index++] = (char) c; in DoCharacter()
234 dw->dvi.cache.x += w; in DoCharacter()
236 dw->dvi.text_x_width += w; in DoCharacter()
237 dw->dvi.text_device_width += wid; in DoCharacter()
248 if (dw->dvi.device_font == 0 in FindCharWidth()
249 || dw->dvi.state->font_number != dw->dvi.device_font_number) { in FindCharWidth()
250 dw->dvi.device_font_number = dw->dvi.state->font_number; in FindCharWidth()
251 dw->dvi.device_font in FindCharWidth()
252 = QueryDeviceFont (dw, dw->dvi.device_font_number); in FindCharWidth()
254 if (dw->dvi.device_font in FindCharWidth()
255 && device_char_width (dw->dvi.device_font, in FindCharWidth()
256 dw->dvi.state->font_size, buf, widp)) in FindCharWidth()
263 && device_char_width (f, dw->dvi.state->font_size, in FindCharWidth()
265 dw->dvi.state->font_number = i; in FindCharWidth()
281 if (!dw->dvi.display_enable) in PutCharacter()
283 prevFont = dw->dvi.state->font_number; in PutCharacter()
286 map = QueryFontMap (dw, dw->dvi.state->font_number); in PutCharacter()
293 dw->dvi.state->font_number = prevFont; in PutCharacter()
329 oldx = dw->dvi.state->x; in FakeCharacter()
330 oldw = dw->dvi.text_device_width; in FakeCharacter()
334 dw->dvi.state->x += PutCharacter (dw, ch); in FakeCharacter()
336 dw->dvi.state->x = oldx; in FakeCharacter()
337 dw->dvi.text_device_width = oldw + wid; in FakeCharacter()
348 if (!dw->dvi.display_enable) in PutNumberedCharacter()
351 if (dw->dvi.device_font == 0 in PutNumberedCharacter()
352 || dw->dvi.state->font_number != dw->dvi.device_font_number) { in PutNumberedCharacter()
353 dw->dvi.device_font_number = dw->dvi.state->font_number; in PutNumberedCharacter()
354 dw->dvi.device_font in PutNumberedCharacter()
355 = QueryDeviceFont (dw, dw->dvi.device_font_number); in PutNumberedCharacter()
358 if (dw->dvi.device_font == 0 in PutNumberedCharacter()
359 || !device_code_width (dw->dvi.device_font, in PutNumberedCharacter()
360 dw->dvi.state->font_size, c, &wid)) in PutNumberedCharacter()
362 if (dw->dvi.native) { in PutNumberedCharacter()
366 map = QueryFontMap (dw, dw->dvi.state->font_number); in PutNumberedCharacter()
369 for (name = device_name_for_code (dw->dvi.device_font, c); in PutNumberedCharacter()
393 if (dw->dvi.line_thickness < 0) in setGC()
394 desired_line_width = (int)(((double)dw->dvi.device_resolution in setGC()
395 * dw->dvi.state->font_size) in setGC()
396 / (10.0*72.0*dw->dvi.sizescale)); in setGC()
398 desired_line_width = dw->dvi.line_thickness; in setGC()
400 if (desired_line_width != dw->dvi.line_width) { in setGC()
405 XChangeGC(XtDisplay (dw), dw->dvi.normal_GC, in setGC()
407 dw->dvi.line_width = desired_line_width; in setGC()
417 fill_type = (dw->dvi.fill * 10) / (DVI_FILL_MAX + 1); in setFillGC()
418 if (dw->dvi.fill_type != fill_type) { in setFillGC()
421 values.foreground = dw->dvi.background; in setFillGC()
424 values.foreground = dw->dvi.foreground; in setFillGC()
427 values.foreground = dw->dvi.foreground; in setFillGC()
429 values.stipple = dw->dvi.gray[fill_type - 1]; in setFillGC()
432 XChangeGC(XtDisplay (dw), dw->dvi.fill_GC, mask, &values); in setFillGC()
433 dw->dvi.fill_type = fill_type; in setFillGC()
446 XDrawLine (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawLine()
459 XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawCircle()
472 XFillArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledCircle()
475 XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledCircle()
485 XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawEllipse()
495 XFillArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledEllipse()
498 XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledEllipse()
523 XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawArc()
553 XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawPolygon()
582 XFillPolygon (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledPolygon()
584 XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, in DrawFilledPolygon()
685 XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, in DrawSpline()