Photon 1.0.0
Loading...
Searching...
No Matches
cairo_borders.h
Go to the documentation of this file.
1#ifndef LITEHTML_CAIRO_BORDERS_H
2#define LITEHTML_CAIRO_BORDERS_H
3
4#include <cairo.h>
5
6namespace cairo
7{
8 extern void add_path_arc(cairo_t* cr, double x, double y, double rx, double ry, double a1, double a2, bool neg);
9 inline void set_color(cairo_t* cr, const litehtml::web_color& color)
10 {
11 cairo_set_source_rgba(cr, color.red / 255.0, color.green / 255.0, color.blue / 255.0, color.alpha / 255.0);
12 }
13
14 class border
15 {
16 public:
24
28
32
37
38 border(cairo_t* _cr, int _left, int _top, int _bottom) :
40 color(),
41 style(litehtml::border_style_none),
42 border_width(0),
45 radius_top_x(0),
46 radius_top_y(0),
49 cr(_cr), left(_left), top(_top), bottom(_bottom)
50 {}
51
52 void draw_border();
53
54 private:
55 cairo_t* cr;
56 int left;
57 int top;
58 int bottom;
59 void draw_line(double line_offset, double top_line_offset, double bottom_line_offset);
60 void draw_solid();
61 void draw_dotted();
62 void draw_dashed();
63 void draw_double();
64 void draw_inset_outset(bool is_inset);
65 void draw_groove_ridge(bool is_groove);
66 };
67}
68
69#endif //LITEHTML_CAIRO_BORDERS_H
Definition cairo_borders.h:15
litehtml::border_style style
Definition cairo_borders.h:27
void draw_inset_outset(bool is_inset)
Definition cairo_borders.cpp:171
int radius_bottom_x
Definition cairo_borders.h:35
int left
Definition cairo_borders.h:56
int top_border_width
Definition cairo_borders.h:30
int radius_top_y
Definition cairo_borders.h:34
int bottom
Definition cairo_borders.h:58
void draw_line(double line_offset, double top_line_offset, double bottom_line_offset)
Definition cairo_borders.cpp:132
real_side_t real_side
Definition cairo_borders.h:25
void draw_double()
Definition cairo_borders.cpp:199
int bottom_border_width
Definition cairo_borders.h:31
void draw_dotted()
Definition cairo_borders.cpp:268
int radius_bottom_y
Definition cairo_borders.h:36
litehtml::web_color color
real side of the border
Definition cairo_borders.h:26
int radius_top_x
Definition cairo_borders.h:33
int border_width
Definition cairo_borders.h:29
void draw_solid()
Definition cairo_borders.cpp:256
void draw_border()
Definition cairo_borders.cpp:42
void draw_dashed()
Definition cairo_borders.cpp:225
border(cairo_t *_cr, int _left, int _top, int _bottom)
Definition cairo_borders.h:38
real_side_t
Definition cairo_borders.h:18
@ left_side
Definition cairo_borders.h:19
@ top_side
Definition cairo_borders.h:20
@ bottom_side
Definition cairo_borders.h:22
@ right_side
Definition cairo_borders.h:21
cairo_t * cr
Definition cairo_borders.h:55
int top
Definition cairo_borders.h:57
void draw_groove_ridge(bool is_groove)
Definition cairo_borders.cpp:302
Definition cairo_borders.h:7
void set_color(cairo_t *cr, const litehtml::web_color &color)
Definition cairo_borders.h:9
void add_path_arc(cairo_t *cr, double x, double y, double rx, double ry, double a1, double a2, bool neg)
Definition cairo_borders.cpp:9
Definition background.h:12
border_style
Definition types.h:465
Definition Bitmap.h:10
Definition web_color.h:9