-
Notifications
You must be signed in to change notification settings - Fork 4
/
ccDisplayOptionsDlg.h
128 lines (106 loc) · 3.73 KB
/
ccDisplayOptionsDlg.h
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
124
125
126
127
128
//##########################################################################
//# #
//# CLOUDCOMPARE #
//# #
//# This program is free software; you can redistribute it and/or modify #
//# it under the terms of the GNU General Public License as published by #
//# the Free Software Foundation; version 2 of the License. #
//# #
//# This program 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 General Public License for more details. #
//# #
//# COPYRIGHT: EDF R&D / TELECOM ParisTech (ENST-TSI) #
//# #
//##########################################################################
#ifndef CC_DISPLAY_OPTIONS_DIALOG_HEADER
#define CC_DISPLAY_OPTIONS_DIALOG_HEADER
//Local
#include "ccGuiParameters.h"
//CCLib
#include <CCPlatform.h>
//Qt
#include <QDialog>
#include <QColor>
#include <QAbstractButton>
#include <QPalette>
//system
#include <assert.h>
#include <ui_displayOptionsDlg.h>
//! Dialog to setup display settings
class ccDisplayOptionsDlg : public QDialog, public Ui::DisplayOptionsDlg
{
Q_OBJECT
public:
//! Default constructor
ccDisplayOptionsDlg(QWidget* parent);
//! Sets a button background color
/** Support Windows XP style particularity.
**/
inline static void SetButtonColor(QAbstractButton* button, const QColor &col)
{
if (button)
button->setStyleSheet(QString("* { background-color: rgb(%1,%2,%3) }").arg(col.red()).arg(col.green()).arg(col.blue()));
}
//! Sets a button text color
/** Support Windows XP style particularity.
**/
static void SetButtonTextColor(QAbstractButton* button, const QColor &col);
signals:
void aspectHasChanged();
protected slots:
void changeLightDiffuseColor();
void changeLightAmbientColor();
void changeLightSpecularColor();
void changeMeshFrontDiffuseColor();
void changeMeshBackDiffuseColor();
void changeMeshSpecularColor();
void changePointsColor();
void changeBBColor();
void changeTextColor();
void changeBackgroundColor();
void changeLabelBackgroundColor();
void changeLabelMarkerColor();
void changeBackgroundGradient();
void changeMeshDecimation();
void changeMaxMeshSize(double);
void changeCloudDecimation();
void changeMaxCloudSize(double);
void changeVBOUsage();
void changeCrossDisplayed();
void changeOpenGLPicking();
void changeColorScaleShowHistogram();
void changeColorScaleUseShader();
void changeColorScaleRampWidth(int);
void changeDefaultFontSize(int);
void changeLabelFontSize(int);
void changeNumberPrecision(int);
void changeLabelOpacity(int);
void changeLabelMarkerSize(int);
void changeZoomSpeed(double);
void doAccept();
void doReject();
void apply();
void reset();
protected:
//! Refreshes dialog to reflect new parameters values
void refresh();
QColor lightDiffuseColor;
QColor lightAmbientColor;
QColor lightSpecularColor;
QColor meshFrontDiff;
QColor meshBackDiff;
QColor meshSpecularColor;
QColor pointsDefaultCol;
QColor textDefaultCol;
QColor backgroundCol;
QColor labelBackgroundCol;
QColor labelMarkerCol;
QColor bbDefaultCol;
//! Current parameters
ccGui::ParamStruct parameters;
//! Old parameters (for restore)
ccGui::ParamStruct oldParameters;
};
#endif