Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3584 sourcerer 1
/*
2
 * Copyright 2009 Vincent Sanders 
3
 *
4
 * This file is part of NetSurf, http://www.netsurf-browser.org/
5
 *
6
 * NetSurf is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License as published by
8
 * the Free Software Foundation; version 2 of the License.
9
 *
10
 * NetSurf is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program.  If not, see .
17
 */
18
 
19
/**
20
 * \file desktop/plot_style.c
21
 * \brief Plotter global styles.
22
 *
23
 * These plot styles are globaly available and used in many places.
24
 */
25
 
26
#include "desktop/plotters.h"
27
 
28
static plot_style_t plot_style_fill_white_static = {
29
	.fill_type = PLOT_OP_TYPE_SOLID,
30
	.fill_colour = 0xffffff,
31
};
32
plot_style_t *plot_style_fill_white = &plot_style_fill_white_static;
33
 
34
static plot_style_t plot_style_fill_black_static = {
35
	.fill_type = PLOT_OP_TYPE_SOLID,
36
	.fill_colour = 0x0,
37
};
38
plot_style_t *plot_style_fill_black = &plot_style_fill_black_static;
39
 
40
static plot_style_t plot_style_fill_red_static = {
41
	.fill_type = PLOT_OP_TYPE_SOLID,
42
	.fill_colour = 0x000000ff,
43
};
44
plot_style_t *plot_style_fill_red = &plot_style_fill_red_static;
45
 
46
/* Box model debug outline styles for content, padding and margin edges */
47
static const plot_style_t plot_style_content_edge_static = {
48
	.stroke_type = PLOT_OP_TYPE_SOLID,
49
	.stroke_colour = 0x00ff0000,
50
	.stroke_width = 1,
51
};
52
plot_style_t const * const plot_style_content_edge =
53
		&plot_style_content_edge_static;
54
 
55
static const plot_style_t plot_style_padding_edge_static = {
56
	.stroke_type = PLOT_OP_TYPE_SOLID,
57
	.stroke_colour = 0x000000ff,
58
	.stroke_width = 1,
59
};
60
plot_style_t const * const plot_style_padding_edge =
61
		&plot_style_padding_edge_static;
62
 
63
static const plot_style_t plot_style_margin_edge_static = {
64
	.stroke_type = PLOT_OP_TYPE_SOLID,
65
	.stroke_colour = 0x0000ffff,
66
	.stroke_width = 1,
67
};
68
plot_style_t const * const plot_style_margin_edge =
69
		&plot_style_margin_edge_static;
70
 
71
/* Broken object replacement styles */
72
static const plot_style_t plot_style_broken_object_static = {
73
	.fill_type = PLOT_OP_TYPE_SOLID,
74
	.fill_colour = 0x008888ff,
75
	.stroke_type = PLOT_OP_TYPE_SOLID,
76
	.stroke_colour = 0x000000ff,
77
	.stroke_width = 1,
78
};
79
plot_style_t const * const plot_style_broken_object =
80
		&plot_style_broken_object_static;
81
 
82
static const plot_font_style_t plot_fstyle_broken_object_static = {
83
	.family = PLOT_FONT_FAMILY_SANS_SERIF,
84
	.size = 16 * FONT_SIZE_SCALE,
85
	.weight = 400,
86
	.flags = FONTF_NONE,
87
	.background = 0x8888ff,
88
	.foreground = 0x000044,
89
};
90
plot_font_style_t const * const plot_fstyle_broken_object =
91
		&plot_fstyle_broken_object_static;
92
 
93
/* caret style used in html_redraw_caret */
94
static plot_style_t plot_style_caret_static = {
95
	.stroke_type = PLOT_OP_TYPE_SOLID,
96
	.stroke_colour = 0x0000ff,  /* todo - choose a proper colour */
97
};
98
plot_style_t *plot_style_caret = &plot_style_caret_static;
99
 
100
 
101
 
102
/* html redraw widget styles */
103
 
104
/** plot style for filled widget base colour. */
105
static plot_style_t plot_style_fill_wbasec_static = {
106
	.fill_type = PLOT_OP_TYPE_SOLID,
107
	.fill_colour = WIDGET_BASEC,
108
};
109
plot_style_t *plot_style_fill_wbasec = &plot_style_fill_wbasec_static;
110
 
111
/** plot style for dark filled widget base colour . */
112
static plot_style_t plot_style_fill_darkwbasec_static = {
113
	.fill_type = PLOT_OP_TYPE_SOLID,
114
	.fill_colour = double_darken_colour(WIDGET_BASEC),
115
};
116
plot_style_t *plot_style_fill_darkwbasec = &plot_style_fill_darkwbasec_static;
117
 
118
/** plot style for light filled widget base colour. */
119
static plot_style_t plot_style_fill_lightwbasec_static = {
120
	.fill_type = PLOT_OP_TYPE_SOLID,
121
	.fill_colour = double_lighten_colour(WIDGET_BASEC),
122
};
123
plot_style_t *plot_style_fill_lightwbasec = &plot_style_fill_lightwbasec_static;
124
 
125
 
126
/** plot style for widget background. */
127
static plot_style_t plot_style_fill_wblobc_static = {
128
	.fill_type = PLOT_OP_TYPE_SOLID,
129
	.fill_colour = WIDGET_BLOBC,
130
};
131
plot_style_t *plot_style_fill_wblobc = &plot_style_fill_wblobc_static;
132
 
133
/** plot style for checkbox cross. */
134
static plot_style_t plot_style_stroke_wblobc_static = {
135
	.stroke_type = PLOT_OP_TYPE_SOLID,
136
	.stroke_colour = WIDGET_BLOBC,
137
	.stroke_width = 2,
138
};
139
plot_style_t *plot_style_stroke_wblobc = &plot_style_stroke_wblobc_static;
140
 
141
/** stroke style for widget double dark colour. */
142
static plot_style_t plot_style_stroke_darkwbasec_static = {
143
	.stroke_type = PLOT_OP_TYPE_SOLID,
144
	.stroke_colour = double_darken_colour(WIDGET_BASEC),
145
};
146
plot_style_t *plot_style_stroke_darkwbasec = &plot_style_stroke_darkwbasec_static;
147
 
148
/** stroke style for widget double light colour. */
149
static plot_style_t plot_style_stroke_lightwbasec_static = {
150
	.stroke_type = PLOT_OP_TYPE_SOLID,
151
	.stroke_colour = double_lighten_colour(WIDGET_BASEC),
152
};
153
plot_style_t *plot_style_stroke_lightwbasec = &plot_style_stroke_lightwbasec_static;
154
 
155
/* history styles */
156
 
157
/** stroke style for history core. */
158
static plot_style_t plot_style_stroke_history_static = {
159
	.stroke_type = PLOT_OP_TYPE_SOLID,
160
	.stroke_colour = HISTORY_COLOUR_LINES,
161
	.stroke_width = 2,
162
};
163
plot_style_t *plot_style_stroke_history = &plot_style_stroke_history_static;
164
 
165
/* Generic font style */
166
static const plot_font_style_t plot_style_font_static = {
167
	.family = PLOT_FONT_FAMILY_SANS_SERIF,
168
	.size = 8 * FONT_SIZE_SCALE,
169
	.weight = 400,
170
	.flags = FONTF_NONE,
171
	.background = 0xffffff,
172
	.foreground = 0x000000,
173
};
174
plot_font_style_t const * const plot_style_font = &plot_style_font_static;
175