style_set_image.h
1 /*
2 ** ClanLib SDK
3 ** Copyright (c) 1997-2015 The ClanLib Team
4 **
5 ** This software is provided 'as-is', without any express or implied
6 ** warranty. In no event will the authors be held liable for any damages
7 ** arising from the use of this software.
8 **
9 ** Permission is granted to anyone to use this software for any purpose,
10 ** including commercial applications, and to alter it and redistribute it
11 ** freely, subject to the following restrictions:
12 **
13 ** 1. The origin of this software must not be misrepresented; you must not
14 ** claim that you wrote the original software. If you use this software
15 ** in a product, an acknowledgment in the product documentation would be
16 ** appreciated but is not required.
17 ** 2. Altered source versions must be plainly marked as such, and must not be
18 ** misrepresented as being the original software.
19 ** 3. This notice may not be removed or altered from any source distribution.
20 **
21 ** Note: Some of the libraries ClanLib may link to may have additional
22 ** requirements or restrictions.
23 **
24 ** File Author(s):
25 **
26 ** Magnus Norddahl
27 */
28
29 #pragma once
30
31 #include <vector>
32 #include "style_set_value.h"
33
34 namespace clan
35 {
37 class StyleGradientStop
38 {
39 public:
40 StyleGradientStop() { }
41 StyleGradientStop(const StyleSetValue &color, const StyleSetValue &position) : color(color), position(position) { }
42
43 StyleSetValue color;
44 StyleSetValue position;
45 };
46
48 class StyleGradient
49 {
50 public:
51 StyleSetValue type;
52 StyleSetValue linear_angle;
53 StyleSetValue radial_shape;
54 StyleSetValue radial_size_x;
55 StyleSetValue radial_size_y;
56 StyleSetValue radial_position_x;
57 StyleSetValue radial_position_y;
58 std::vector<StyleGradientStop> stops;
59 };
60
62 class StyleImage
63 {
64 public:
65 StyleImage() { }
66 StyleImage(const StyleSetValue &image) : image(image) { }
67 StyleImage(const StyleGradient &gradient) : gradient(gradient) { }
68
69 StyleSetValue image;
70 StyleGradient gradient;
71 };
72 }
clan
Definition: clanapp.h:35
clan::StyleGradientStop
Gradient stop in a style gradient.
Definition: style_set_image.h:37
clan::StyleGradient
Linear or radial gradient.
Definition: style_set_image.h:48
clan::StyleImage::gradient
StyleGradient gradient
Definition: style_set_image.h:70
clan::StyleGradient::radial_shape
StyleSetValue radial_shape
Definition: style_set_image.h:53
clan::StyleGradient::type
StyleSetValue type
Definition: style_set_image.h:51
clan::StyleGradientStop::position
StyleSetValue position
Definition: style_set_image.h:44
clan::StyleImage::image
StyleSetValue image
Definition: style_set_image.h:69
clan::StyleGradient::radial_position_x
StyleSetValue radial_position_x
Definition: style_set_image.h:56
clan::StyleGradient::radial_size_y
StyleSetValue radial_size_y
Definition: style_set_image.h:55
clan::StyleImage::StyleImage
StyleImage(const StyleGradient &gradient)
Definition: style_set_image.h:67
clan::StyleImage
Style image values.
Definition: style_set_image.h:62
clan::StyleGradientStop::color
StyleSetValue color
Definition: style_set_image.h:43
clan::StyleGradientStop::StyleGradientStop
StyleGradientStop()
Definition: style_set_image.h:40
clan::StyleGradient::stops
std::vector< StyleGradientStop > stops
Definition: style_set_image.h:58
clan::StyleGradient::radial_size_x
StyleSetValue radial_size_x
Definition: style_set_image.h:54
clan::StyleSetValue
Style value variable.
Definition: style_set_value.h:39
clan::StyleImage::StyleImage
StyleImage()
Definition: style_set_image.h:65
clan::StyleGradient::linear_angle
StyleSetValue linear_angle
Definition: style_set_image.h:52
clan::StyleGradientStop::StyleGradientStop
StyleGradientStop(const StyleSetValue &color, const StyleSetValue &position)
Definition: style_set_image.h:41
clan::StyleImage::StyleImage
StyleImage(const StyleSetValue &image)
Definition: style_set_image.h:66
clan::StyleGradient::radial_position_y
StyleSetValue radial_position_y
Definition: style_set_image.h:57