1
2 /*
3 * Copyright 2012 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10 #include "SkSettingsWidget.h"
11 #include <iostream>
12 #include <math.h>
13
14 // TODO(chudy): See if the layout can't be attached to the frame post construction.
SkSettingsWidget()15 SkSettingsWidget::SkSettingsWidget() : QFrame()
16 {
17 this->setLayout(&fVerticalLayout);
18 this->setFrameStyle(QFrame::Panel);
19 // Vertical Layout is the alignment inside of the main frame.
20 fVerticalLayout.setAlignment(Qt::AlignTop);
21
22 // Visualizations toggles.
23 fVisualizationsGroup.setTitle("Visualizations");
24
25 fVisibilityFilterCheckBox.setText("Visibility Filter");
26 fVisualizationsLayout.addWidget(&fVisibilityFilterCheckBox);
27
28 fMegaVizCheckBox.setText("Mega Viz");
29 fVisualizationsLayout.addWidget(&fMegaVizCheckBox);
30
31 fPathOpsCheckBox.setText("PathOps ");
32 fVisualizationsLayout.addWidget(&fPathOpsCheckBox);
33
34 fOverdrawVizCheckBox.setText("Overdraw Viz");
35 fVisualizationsLayout.addWidget(&fOverdrawVizCheckBox);
36
37 fVisualizationsGroup.setLayout(&fVisualizationsLayout);
38
39 connect(&fVisibilityFilterCheckBox, SIGNAL(toggled(bool)), this,
40 SIGNAL(visualizationsChanged()));
41 connect(&fMegaVizCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(visualizationsChanged()));
42 connect(&fPathOpsCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(visualizationsChanged()));
43 connect(&fOverdrawVizCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(visualizationsChanged()));
44
45 fVerticalLayout.addRow(&fVisualizationsGroup);
46
47 // Raster toggles.
48 fRasterGroup.setTitle("Raster");
49 fRasterGroup.setCheckable(true);
50 fRasterGroup.setLayout(&fRasterLayout);
51 fVerticalLayout.addRow(&fRasterGroup);
52
53 connect(&fRasterGroup, SIGNAL(toggled(bool)), this, SIGNAL(rasterSettingsChanged()));
54
55 #if SK_SUPPORT_GPU
56 fGLGroup.setTitle("OpenGL");
57 fGLGroup.setCheckable(true);
58 fGLGroup.setChecked(false);
59 fGLMSAACombo.addItem("Off", QVariant(0));
60 fGLMSAACombo.addItem("4", QVariant(4));
61 fGLMSAACombo.addItem("16", QVariant(16));
62 fGLLayout.addRow("MSAA", &fGLMSAACombo);
63 fGLGroup.setLayout(&fGLLayout);
64
65 connect(&fGLGroup, SIGNAL(toggled(bool)), this,
66 SIGNAL(glSettingsChanged()));
67 connect(&fGLMSAACombo, SIGNAL(activated(int)), this,
68 SIGNAL(glSettingsChanged()));
69
70 fVerticalLayout.addRow(&fGLGroup);
71 #endif
72
73 fFilterCombo.addItem("As encoded", QVariant(kNone_SkFilterQuality));
74 fFilterCombo.addItem("None", QVariant(kNone_SkFilterQuality));
75 fFilterCombo.addItem("Low", QVariant(kLow_SkFilterQuality));
76 fFilterCombo.addItem("Medium", QVariant(kMedium_SkFilterQuality));
77 fFilterCombo.addItem("High", QVariant(kHigh_SkFilterQuality));
78 connect(&fFilterCombo, SIGNAL(activated(int)), this, SIGNAL(texFilterSettingsChanged()));
79
80 fVerticalLayout.addRow("Filtering", &fFilterCombo);
81 this->setDisabled(true);
82 }
83
84