Lines Matching refs:dvi
34 * parse dvi input
81 if (!dw->dvi.state)
132 map = QueryFontMap(dw, dw->dvi.state->font_number);
149 prevFont = dw->dvi.state->font_number;
150 dw->dvi.state->font_number = i;
161 dw->dvi.state->font_number = prevFont;
171 if (!dw->dvi.size_scale) {
180 dw->dvi.size_scale = guesses[i];
182 dw->dvi.state->font_size = n;
183 dw->dvi.state->line_width = n * (dw->dvi.device_resolution /
184 (720 * dw->dvi.size_scale));
190 dw->dvi.state->font_number = n;
226 NextPage = dw->dvi.current_page + 1;
243 dw->dvi.state->x = ToDevice(dw, dw->dvi.cache.x);
249 dw->dvi.last_page = dw->dvi.current_page;
251 return dw->dvi.current_page;
265 if (dw->dvi.state)
266 *new = *(dw->dvi.state);
268 new->font_size = 10 * dw->dvi.size_scale;
275 new->next = dw->dvi.state;
276 dw->dvi.state = new;
282 DviState *old = dw->dvi.state;
283 dw->dvi.state = old->next;
290 while (dw->dvi.state)
292 dw->dvi.size_scale = dw->dvi.size_scale_set;
300 dw->dvi.cache.font_size = dw->dvi.state->font_size;
301 dw->dvi.cache.font_number = dw->dvi.state->font_number;
302 dw->dvi.cache.font = QueryFont(dw,
303 dw->dvi.cache.font_number,
304 dw->dvi.cache.font_size);
312 int xx = ToX(dw, dw->dvi.state->x);
313 int yx = ToX(dw, dw->dvi.state->y);
314 int fy = FontSizeInPixels(dw, dw->dvi.state->font_size);
320 if (yx + fy >= dw->dvi.extents.y1 &&
321 yx - fy <= dw->dvi.extents.y2 &&
322 xx + fx >= dw->dvi.extents.x1 && xx - fx <= dw->dvi.extents.x2) {
331 if (!dw->dvi.display_enable)
334 if (yx != dw->dvi.cache.y ||
335 dw->dvi.cache.char_index + len > DVI_CHAR_CACHE_SIZE)
341 if (dw->dvi.cache.font_size != dw->dvi.state->font_size ||
342 dw->dvi.cache.font_number != dw->dvi.state->font_number) {
344 if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) {
345 ++dw->dvi.cache.index;
346 if (dw->dvi.cache.index >= dw->dvi.cache.max)
348 dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0;
351 if (xx != dw->dvi.cache.x) {
352 if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) {
353 ++dw->dvi.cache.index;
354 if (dw->dvi.cache.index >= dw->dvi.cache.max)
356 dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0;
359 if (!dw->dvi.cache.font)
361 text = &dw->dvi.cache.cache[dw->dvi.cache.index];
362 font = dw->dvi.cache.font;
363 dst = &dw->dvi.cache.char_cache[dw->dvi.cache.char_index];
369 text->delta = xx - dw->dvi.cache.x;
374 if (font != dw->dvi.font) {
378 dw->dvi.font = font;
384 dw->dvi.cache.x = xx;
386 dw->dvi.cache.char_index += len;
392 dw->dvi.cache.x += charWidth(dw, font, c);
425 dw->dvi.state->line_width = n;