edelib
2.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
edelib
IconTheme.h
1
/*
2
* $Id: IconTheme.h 2839 2009-09-28 11:36:20Z karijes $
3
*
4
* Icon theme
5
* Copyright (c) 2005-2009 edelib authors
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2 of the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public License
18
* along with this library. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef __EDELIB_ICONTHEME_H__
22
#define __EDELIB_ICONTHEME_H__
23
24
#include "String.h"
25
#include "List.h"
26
27
EDELIB_NS_BEGIN
28
33
enum
IconSizes
{
34
ICON_SIZE_TINY
= 16,
35
ICON_SIZE_SMALL
= 22,
36
ICON_SIZE_MEDIUM
= 32,
37
ICON_SIZE_LARGE
= 48,
38
ICON_SIZE_HUGE
= 64,
39
ICON_SIZE_ENORMOUS
= 128
40
};
41
46
enum
IconContext
{
47
ICON_CONTEXT_ANY
= 0,
48
ICON_CONTEXT_ACTION
,
49
ICON_CONTEXT_APPLICATION
,
50
ICON_CONTEXT_DEVICE
,
51
ICON_CONTEXT_FILESYSTEM
,
52
ICON_CONTEXT_MIMETYPE
,
53
ICON_CONTEXT_STOCK
,
54
ICON_CONTEXT_EMBLEM
,
55
ICON_CONTEXT_MISC
56
};
57
58
class
IconThemePrivate;
59
80
class
EDELIB_API
IconTheme
{
81
private
:
82
IconThemePrivate* priv;
83
84
void
load_theme(
const
char
* name);
85
void
read_inherits(
const
char
* buf);
86
87
E_DISABLE_CLASS_COPY
(
IconTheme
)
88
public
:
92
IconTheme
() : priv(NULL) { }
93
97
~IconTheme
() { clear(); }
98
103
void
load(
const
char
* name);
104
108
void
clear(
void
);
109
113
String
find_icon(
const
char
* icon,
IconSizes
size,
IconContext
context = ICON_CONTEXT_ANY);
114
118
const
char
* theme_name(
void
)
const
;
119
127
const
char
* stylized_theme_name(
void
)
const
;
128
132
const
char
* description(
void
)
const
;
133
138
const
char
* example_icon(
void
)
const
;
139
143
void
query_icons(
list<String>
& lst,
IconSizes
size,
IconContext
context = ICON_CONTEXT_ANY)
const
;
144
148
static
const
char
*
default_theme_name
(
void
) {
return
"edeneu"
; }
149
};
150
151
EDELIB_NS_END
152
#endif
Generated on Tue Jun 5 2012 17:52:42 for edelib by
1.8.1