1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
/**
* @file llstyle.cpp
* @brief Text style class
*
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llstyle.h"
#include "llfontgl.h"
#include "llstring.h"
#include "llui.h"
LLStyle::Params::Params()
: visible("visible", true),
drop_shadow("drop_shadow", LLFontGL::NO_SHADOW),
color("color", LLColor4::black),
readonly_color("readonly_color", LLColor4::black),
selected_color("selected_color", LLColor4::black),
alpha("alpha", 1.f),
font("font", LLFontGL::getFontMonospace()),
image("image"),
link_href("href"),
is_link("is_link")
{
}
LLStyle::LLStyle(const LLStyle::Params& p)
: mVisible(p.visible),
mColor(p.color),
mReadOnlyColor(p.readonly_color),
mSelectedColor(p.selected_color),
mFont(p.font()),
mLink(p.link_href),
mIsLink(p.is_link.isProvided() ? p.is_link : !p.link_href().empty()),
mDropShadow(p.drop_shadow),
mImagep(p.image()),
mAlpha(p.alpha)
{
}
LLStyle* LLStyle::makeCopy() const
{
LLStyle* copy = new LLStyle();
copy->mDropShadow = mDropShadow;
copy->mFontName = mFontName;
copy->mLink = mLink;
copy->mColor.set(mColor.get());
copy->mReadOnlyColor.set(mReadOnlyColor.get());
copy->mSelectedColor.set(mSelectedColor.get());
copy->mFont = mFont;
copy->mImagep = mImagep;
copy->mAlpha = mAlpha;
copy->mVisible = mVisible;
copy->mIsLink = mIsLink;
return copy;
}
void LLStyle::setFont(const LLFontGL* font)
{
mFont = font;
}
const LLFontGL* LLStyle::getFont() const
{
return mFont;
}
void LLStyle::setLinkHREF(const std::string& href)
{
mLink = href;
}
bool LLStyle::isLink() const
{
return mIsLink;
}
bool LLStyle::isVisible() const
{
return mVisible;
}
void LLStyle::setVisible(bool is_visible)
{
mVisible = is_visible;
}
LLPointer<LLUIImage> LLStyle::getImage() const
{
return mImagep;
}
void LLStyle::setImage(const LLUUID& src)
{
mImagep = LLUI::getUIImageByID(src);
}
void LLStyle::setImage(const std::string& name)
{
mImagep = LLUI::getUIImage(name);
}
|