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.
15SkSettingsWidget::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