ClanLib
2.3.7
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Sources
API
CSSLayout
PropertyTypes
css_box_background_size.h
Go to the documentation of this file.
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2011 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 "../css_box_property.h"
32
#include "../css_box_length.h"
33
34
class
CL_CSSBoxBackgroundSize
:
public
CL_CSSBoxProperty
35
{
36
public
:
37
CL_CSSBoxBackgroundSize
();
38
void
compute
(
const
CL_CSSBoxBackgroundSize
*parent, CL_CSSResourceCache *layout,
float
em_size,
float
ex_size);
39
CL_String
to_string
()
const
;
40
41
enum
Type
42
{
43
type_value
,
44
type_inherit
45
}
type
;
46
47
enum
SizeType
48
{
49
size_contain
,
50
size_cover
,
51
size_values
,
52
};
53
54
enum
ValueType
55
{
56
value_type_auto
,
57
value_type_length
,
58
value_type_percentage
59
};
60
61
class
Size
62
{
63
public
:
64
Size
() :
type
(
size_values
),
value_x
(
value_type_auto
),
value_y
(
value_type_auto
),
percentage_x
(0.0f),
percentage_y
(0.0f) { }
65
66
SizeType
type
;
67
ValueType
value_x
,
value_y
;
68
CL_CSSBoxLength
length_x
;
69
float
percentage_x
;
70
CL_CSSBoxLength
length_y
;
71
float
percentage_y
;
72
};
73
74
std::vector<Size>
values
;
75
};
Generated on Fri Jun 14 2013 13:05:44 for ClanLib by
1.8.4