blob: 59b79203839458554e1ad580ea3c94b357b85e6f [file] [log] [blame]
chudy@google.com902ebe52012-06-29 14:21:22 +00001
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"
chudy@google.com7dcae672012-07-09 20:26:53 +000011#include <iostream>
12#include <math.h>
chudy@google.com902ebe52012-06-29 14:21:22 +000013
chudy@google.comea5488b2012-07-26 19:38:22 +000014// TODO(chudy): See if the layout can't be attached to the frame post construction.
kkinnunen41c79cc2014-12-30 22:49:58 -080015SkSettingsWidget::SkSettingsWidget() : QFrame()
chudy@google.com7dcae672012-07-09 20:26:53 +000016{
kkinnunen41c79cc2014-12-30 22:49:58 -080017 this->setLayout(&fVerticalLayout);
18 this->setFrameStyle(QFrame::Panel);
chudy@google.com7dcae672012-07-09 20:26:53 +000019 // Vertical Layout is the alignment inside of the main frame.
chudy@google.com7dcae672012-07-09 20:26:53 +000020 fVerticalLayout.setAlignment(Qt::AlignTop);
chudy@google.com902ebe52012-06-29 14:21:22 +000021
kkinnunen41c79cc2014-12-30 22:49:58 -080022 // Visualizations toggles.
23 fVisualizationsGroup.setTitle("Visualizations");
24 fVisibilityFilterCheckBox.setText("Visibility Filter");
25 fVisualizationsLayout.addWidget(&fVisibilityFilterCheckBox);
26 fMegaVizCheckBox.setText("Mega Viz");
27 fVisualizationsLayout.addWidget(&fMegaVizCheckBox);
28 fPathOpsCheckBox.setText("PathOps ");
29 fVisualizationsLayout.addWidget(&fPathOpsCheckBox);
30 fVisualizationsGroup.setLayout(&fVisualizationsLayout);
31 connect(&fVisibilityFilterCheckBox, SIGNAL(toggled(bool)), this,
32 SIGNAL(visualizationsChanged()));
33 connect(&fMegaVizCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(visualizationsChanged()));
34 connect(&fPathOpsCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(visualizationsChanged()));
commit-bot@chromium.org22d39332013-11-21 15:37:29 +000035
kkinnunen41c79cc2014-12-30 22:49:58 -080036 fVerticalLayout.addRow(&fVisualizationsGroup);
commit-bot@chromium.org22d39332013-11-21 15:37:29 +000037
kkinnunen41c79cc2014-12-30 22:49:58 -080038 // Raster toggles.
39 fRasterGroup.setTitle("Raster");
40 fRasterGroup.setCheckable(true);
41 fOverdrawVizCheckBox.setText("Overdraw Viz");
42 fRasterLayout.addWidget(&fOverdrawVizCheckBox);
43 fRasterGroup.setLayout(&fRasterLayout);
44 fVerticalLayout.addRow(&fRasterGroup);
chudy@google.com902ebe52012-06-29 14:21:22 +000045
kkinnunen41c79cc2014-12-30 22:49:58 -080046 connect(&fRasterGroup, SIGNAL(toggled(bool)), this, SIGNAL(rasterSettingsChanged()));
47 connect(&fOverdrawVizCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(rasterSettingsChanged()));
commit-bot@chromium.org768ac852014-03-03 16:32:17 +000048
robertphillips@google.come8fe4bc2013-02-13 13:26:13 +000049#if SK_SUPPORT_GPU
kkinnunen41c79cc2014-12-30 22:49:58 -080050 fGLGroup.setTitle("OpenGL");
51 fGLGroup.setCheckable(true);
52 fGLGroup.setChecked(false);
commit-bot@chromium.org22d39332013-11-21 15:37:29 +000053 fGLMSAACombo.addItem("Off", QVariant(0));
54 fGLMSAACombo.addItem("4", QVariant(4));
55 fGLMSAACombo.addItem("16", QVariant(16));
kkinnunen41c79cc2014-12-30 22:49:58 -080056 fGLLayout.addRow("MSAA", &fGLMSAACombo);
57 fGLGroup.setLayout(&fGLLayout);
commit-bot@chromium.orgfde1e7c2013-08-02 13:59:50 +000058
kkinnunen41c79cc2014-12-30 22:49:58 -080059 connect(&fGLGroup, SIGNAL(toggled(bool)), this,
commit-bot@chromium.org22d39332013-11-21 15:37:29 +000060 SIGNAL(glSettingsChanged()));
61 connect(&fGLMSAACombo, SIGNAL(activated(int)), this,
62 SIGNAL(glSettingsChanged()));
kkinnunen41c79cc2014-12-30 22:49:58 -080063
64 fVerticalLayout.addRow(&fGLGroup);
robertphillips@google.come8fe4bc2013-02-13 13:26:13 +000065#endif
chudy@google.comea5488b2012-07-26 19:38:22 +000066
reed93a12152015-03-16 10:08:34 -070067 fFilterCombo.addItem("As encoded", QVariant(kNone_SkFilterQuality));
68 fFilterCombo.addItem("None", QVariant(kNone_SkFilterQuality));
69 fFilterCombo.addItem("Low", QVariant(kLow_SkFilterQuality));
70 fFilterCombo.addItem("Medium", QVariant(kMedium_SkFilterQuality));
71 fFilterCombo.addItem("High", QVariant(kHigh_SkFilterQuality));
kkinnunen41c79cc2014-12-30 22:49:58 -080072 connect(&fFilterCombo, SIGNAL(activated(int)), this, SIGNAL(texFilterSettingsChanged()));
robertphillips@google.com32bbcf82013-10-17 17:56:10 +000073
kkinnunen41c79cc2014-12-30 22:49:58 -080074 fVerticalLayout.addRow("Filtering", &fFilterCombo);
chudy@google.come606d6e2012-07-12 14:31:25 +000075 this->setDisabled(true);
chudy@google.com902ebe52012-06-29 14:21:22 +000076}
77