LunaSysMgr
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
icongeometrysettings.h
Go to the documentation of this file.
1
/* @@@LICENSE
2
*
3
* Copyright (c) 2011-2012 Hewlett-Packard Development Company, L.P.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
* LICENSE@@@ */
18
19
20
21
22
#ifndef ICONGEOMETRYSETTINGS_H_
23
#define ICONGEOMETRYSETTINGS_H_
24
25
#include "Common.h"
26
27
#include <glib.h>
28
#include <QtGlobal>
29
#include <QSize>
30
#include <QSizeF>
31
#include <QColor>
32
#include <QPoint>
33
34
class
IconGeometrySettings
35
{
36
public
:
37
38
bool
useAbsoluteGeom
;
39
QSize
absoluteGeomSizePx
;
40
41
QSize
decoratorEdgeOffsetPx
;
// 0 is outward edge of decorator flush with outward edge of icon frame/main icon
42
quint32
labelVerticalSpacingPx
;
// distance from bottom of frame/main icon to label boundary start (top edge)
43
44
bool
useAbsoluteLabelBoxGeom
;
45
QSize
labelBoxAbsoluteGeomSizePx
;
46
QSizeF
labelBoxProportionToGeom
;
// [0.1,1.0] bounded... 0.5,0.5 means label bound box will be 50% width, 50% height
47
// of the icon picture area bounds
48
bool
useAbsoluteFrameGeom
;
//the "frame" is the box icon surrounding the main icon, for
49
// designating reorder mode, and on whose edges decorators are located
50
QSize
frameBoxAbsoluteGeomSizePx
;
51
QSizeF
frameBoxProportionToGeom
;
52
53
bool
useAbsoluteMainIconGeom
;
54
QSize
mainIconBoxAbsoluteGeomSizePx
;
55
QSizeF
mainIconBoxProportionToGeom
;
56
57
bool
useAbsoluteRemoveDeleteDecoratorGeom
;
58
QSize
removeDeleteDecoratorBoxAbsoluteGeomSizePx
;
59
QSizeF
removeDeleteDecoratorBoxProportionToGeom
;
60
61
QPoint
mainIconOffsetFromGeomOriginPx
;
62
QPoint
frameOffsetFromGeomOriginPx
;
63
QPoint
feedbackOffsetFromGeomOriginPx
;
64
65
bool
useAbsoluteRemoveDeleteDecoratorOffsetFromGeomOrigin
;
//if true, then removeDeleteDecoratorOffsetFromGeomOriginPx is used.
66
//if false, it's icon frame geom.topLeft
67
QPoint
removeDeleteDecoratorOffsetFromGeomOriginPx
;
68
69
bool
useAbsoluteInstallStatusDecoratorGeom
;
70
QSize
installStatusDecoratorBoxAbsoluteGeomSizePx
;
71
QSizeF
installStatusDecoratorBoxProportionToGeom
;
72
73
bool
useAbsoluteInstallStatusDecoratorOffsetFromGeomOrigin
;
//if true, then installStatusDecoratorOffsetFromGeomOriginPx is used.
74
//if false, it's icon frame geom.topRight
75
QPoint
installStatusDecoratorOffsetFromGeomOriginPx
;
76
77
quint32
labelFontSizePx
;
78
QColor
labelFontColor
;
79
bool
labelFontEmbolden
;
80
81
bool
useAlignmentGeom
;
// "alignment" geoms are a virtual total geom, for when you want the outside
82
// world to see a different icon overall cell size (i.e. the whole icon; the total geom usually)
83
// then what the icon logic is using to lay out its internal components.
84
// this allows effects like overlapping and interleaving at the page level but doesn't
85
// disturb the icon internals. Alignment geoms are always absolute specs. It doesn't make
86
// much sense to make the proportional since what they are used for requires precise control on sizes
87
QSize
alignmentGeomSizePx
;
88
89
public
:
90
static
IconGeometrySettings
*
settings
() {
91
92
if
(G_UNLIKELY(s_instance == 0))
93
new
IconGeometrySettings
;
94
95
return
s_instance;
96
}
97
98
private
:
99
100
static
IconGeometrySettings
* s_instance;
101
102
private
:
103
104
IconGeometrySettings
();
105
~
IconGeometrySettings
();
106
107
void
readSettings(
const
char
* filePath);
108
void
verify();
109
};
110
111
112
#endif
/* ICONGEOMETRYSETTINGS_H_ */
luna-sysmgr
Src
lunaui
launcher
elements
icons
icongeometrysettings.h
Generated on Fri Jun 21 2013 00:53:53 for LunaSysMgr by
1.8.3.1