Download
Documentation
Development
Examples
Donations
Contributions
Forum
Sources
API
CSSLayout
Layout
css_layout_element.h
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2013 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 "../api_csslayout.h"
32
#include "css_layout_node.h"
33
34
namespace
clan
35
{
38
39
class
CSSPropertyValue;
40
class
Rect;
41
42
class
CL_API_CSSLAYOUT
CSSLayoutElement
:
public
CSSLayoutNode
43
{
44
public
:
45
CSSLayoutElement
();
46
47
std::string get_name()
const
;
48
void
set_name(
const
std::string &name);
49
50
bool
has_attribute(
const
std::string &name)
const
;
51
void
set_attribute(
const
std::string &name,
const
std::string &value);
52
53
void
set_col_span(
int
span);
54
void
set_row_span(
int
span);
55
56
void
insert_before(
CSSLayoutNode
&new_child,
CSSLayoutNode
&ref_child);
57
void
append_child(
CSSLayoutNode
&new_child);
58
void
remove_child(
CSSLayoutNode
&old_child);
59
60
Rect
get_content_box();
61
62
CSSLayoutObject
create_object();
63
CSSLayoutElement
create_element(
const
std::string &name = std::string());
64
CSSLayoutText
create_text(
const
std::string &text);
65
66
protected
:
67
CSSLayoutElement
(
const
std::shared_ptr<CSSLayoutNode_Impl> &impl);
68
friend
class
CSSLayoutNode
;
69
};
70
72
}
clan::Rect
2D (left,top,right,bottom) rectangle structure - Integer
Definition:
rect.h:453
clan::CSSLayoutNode
Definition:
css_layout_node.h:45
clan::CSSLayoutText
Definition:
css_layout_text.h:40
clan::CSSLayoutObject
Definition:
css_layout_object.h:40
clan::CSSLayoutElement
Definition:
css_layout_element.h:42