Evince
Evince is a document viewer capable of displaying multiple and single page document formats like PDF and Postscript.
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
dvimisc.c
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2000, Matias Atria
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
*/
18
19
#include <config.h>
20
#include "
mdvi.h
"
21
22
void
mdvi_set_color
(
DviContext
*dvi,
Ulong
fg,
Ulong
bg)
23
{
24
if
(dvi->
curr_fg
!= fg || dvi->
curr_bg
!= bg) {
25
DEBUG
((
DBG_DEVICE
,
"setting color to (%lu,%lu)\n"
, fg, bg));
26
if
(dvi->
device
.
set_color
)
27
dvi->
device
.
set_color
(dvi->
device
.
device_data
, fg, bg);
28
dvi->
curr_fg
= fg;
29
dvi->
curr_bg
= bg;
30
}
31
}
32
33
void
mdvi_push_color
(
DviContext
*dvi,
Ulong
fg,
Ulong
bg)
34
{
35
if
(dvi->
color_top
== dvi->
color_size
) {
36
dvi->
color_size
+= 32;
37
dvi->
color_stack
=
mdvi_realloc
(dvi->
color_stack
,
38
dvi->
color_size
*
sizeof
(
DviColorPair
));
39
}
40
dvi->
color_stack
[dvi->
color_top
].
fg
= dvi->
curr_fg
;
41
dvi->
color_stack
[dvi->
color_top
].
bg
= dvi->
curr_bg
;
42
dvi->
color_top
++;
43
mdvi_set_color
(dvi, fg, bg);
44
}
45
46
void
mdvi_pop_color
(
DviContext
*dvi)
47
{
48
Ulong
fg, bg;
49
50
if
(dvi->
color_top
== 0)
51
return
;
52
dvi->
color_top
--;
53
fg = dvi->
color_stack
[dvi->
color_top
].
fg
;
54
bg = dvi->
color_stack
[dvi->
color_top
].
bg
;
55
mdvi_set_color
(dvi, fg, bg);
56
}
57
58
void
mdvi_reset_color
(
DviContext
*dvi)
59
{
60
dvi->
color_top
= 0;
61
mdvi_set_color
(dvi, dvi->
params
.
fg
, dvi->
params
.
bg
);
62
}
63
evince-master
backend
dvi
mdvi-lib
dvimisc.c
Generated on Thu Jul 13 2017 13:41:44 for Evince by
1.8.4