diff options
author | Nickolay V. Shmyrev <nshmyrev@yandex.ru> | 2005-04-07 15:28:06 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-04-07 15:28:06 (GMT) |
commit | c3e1500a4815225f08e1b20dd066559e8c92c280 (patch) | |
tree | 7474fe16fce807cda4845df116fec07c60b161e6 /dvi/mdvi-lib/dvimisc.c | |
parent | 52f67b9ce7a9f2282b2c85139d1d10f8c4df5786 (diff) |
Recent files support.
2005-04-07 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* cut-n-paste/recent-files/Makefile.am:
* data/evince-ui.xml, shell/Makefile.am:
* shell/ev-application.c, shell/ev-application.h:
* shell/ev-window.c: Recent files support.
* configure.ac: Added "ru" to ALL_LINGUAS.
* dvju: new backend to support DJVU files.
* dvi: new backend to support DVI.
* configure.ac, Makefile.am, shell/Makefile.am, ev-window.c:
* ev-application.c: Support for new backends.
* help, ev-window.c, main.c shell/Makefile.am:
Diffstat (limited to 'dvi/mdvi-lib/dvimisc.c')
-rw-r--r-- | dvi/mdvi-lib/dvimisc.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dvi/mdvi-lib/dvimisc.c b/dvi/mdvi-lib/dvimisc.c new file mode 100644 index 0000000..5dbacfb --- /dev/null +++ b/dvi/mdvi-lib/dvimisc.c @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2000, Matias Atria + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "mdvi.h" + +void mdvi_set_color(DviContext *dvi, Ulong fg, Ulong bg) +{ + if(dvi->curr_fg != fg || dvi->curr_bg != bg) { + DEBUG((DBG_DEVICE, "setting color to (%lu,%lu)\n", fg, bg)); + if(dvi->device.set_color) + dvi->device.set_color(dvi->device.device_data, fg, bg); + dvi->curr_fg = fg; + dvi->curr_bg = bg; + } +} + +void mdvi_push_color(DviContext *dvi, Ulong fg, Ulong bg) +{ + if(dvi->color_top == dvi->color_size) { + dvi->color_size += 32; + dvi->color_stack = xrealloc(dvi->color_stack, + dvi->color_size * sizeof(DviColorPair)); + } + dvi->color_stack[dvi->color_top].fg = dvi->curr_fg; + dvi->color_stack[dvi->color_top].bg = dvi->curr_bg; + dvi->color_top++; + mdvi_set_color(dvi, fg, bg); +} + +void mdvi_pop_color(DviContext *dvi) +{ + Ulong fg, bg; + + if(dvi->color_top == 0) + return; + dvi->color_top--; + fg = dvi->color_stack[dvi->color_top].fg; + bg = dvi->color_stack[dvi->color_top].bg; + mdvi_set_color(dvi, fg, bg); +} + +void mdvi_reset_color(DviContext *dvi) +{ + dvi->color_top = 0; + mdvi_set_color(dvi, dvi->params.fg, dvi->params.bg); +} + |