Add anti-aliasing quality menu
This commit is contained in:
parent
2d4c6a96e3
commit
35e2b2d71d
|
|
@ -50,5 +50,12 @@
|
|||
<label>Display Wrapping Scheme</label>
|
||||
<description>How to arrange monitors: 0=Auto, 1=Horizontal, 2=Vertical, 3=Flat</description>
|
||||
</entry>
|
||||
<entry name="AntialiasingQuality" type="Int">
|
||||
<default>3</default>
|
||||
<min>0</min>
|
||||
<max>3</max>
|
||||
<label>Antialiasing Quality</label>
|
||||
<description>0=None, 1=Medium, 2=High, 3=Very High</description>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
|
|
|
|||
|
|
@ -203,10 +203,12 @@ void BreezyDesktopEffect::reconfigure(ReconfigureFlags)
|
|||
qreal horiz = BreezyDesktopConfig::displayHorizontalOffset() / 100.0f;
|
||||
qreal vert = BreezyDesktopConfig::displayVerticalOffset() / 100.0f;
|
||||
int wrap = BreezyDesktopConfig::displayWrappingScheme();
|
||||
int aaQuality = BreezyDesktopConfig::antialiasingQuality();
|
||||
bool changed = false;
|
||||
if (!qFuzzyCompare(m_displayHorizontalOffset, horiz)) { m_displayHorizontalOffset = horiz; changed = true; }
|
||||
if (!qFuzzyCompare(m_displayVerticalOffset, vert)) { m_displayVerticalOffset = vert; changed = true; }
|
||||
if (m_displayWrappingScheme != wrap) { m_displayWrappingScheme = wrap; Q_EMIT displayWrappingSchemeChanged(); }
|
||||
if (m_antialiasingQuality != aaQuality) { m_antialiasingQuality = aaQuality; Q_EMIT antialiasingQualityChanged(); }
|
||||
if (changed) Q_EMIT displayOffsetChanged();
|
||||
}
|
||||
|
||||
|
|
@ -408,6 +410,10 @@ bool BreezyDesktopEffect::customBannerEnabled() const {
|
|||
return m_customBannerEnabled;
|
||||
}
|
||||
|
||||
int BreezyDesktopEffect::antialiasingQuality() const {
|
||||
return m_antialiasingQuality;
|
||||
}
|
||||
|
||||
bool BreezyDesktopEffect::checkParityByte(const char* data) {
|
||||
const uint8_t parityByte = static_cast<uint8_t>(data[DataView::IMU_PARITY_BYTE[DataView::OFFSET_INDEX]]);
|
||||
uint8_t parity = 0;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ namespace KWin
|
|||
Q_PROPERTY(qreal lensDistanceRatio READ lensDistanceRatio NOTIFY devicePropertiesChanged)
|
||||
Q_PROPERTY(bool sbsEnabled READ sbsEnabled NOTIFY devicePropertiesChanged)
|
||||
Q_PROPERTY(bool customBannerEnabled READ customBannerEnabled NOTIFY devicePropertiesChanged)
|
||||
Q_PROPERTY(int antialiasingQuality READ antialiasingQuality NOTIFY antialiasingQualityChanged)
|
||||
|
||||
public:
|
||||
|
||||
|
|
@ -71,6 +72,7 @@ namespace KWin
|
|||
qreal lensDistanceRatio() const;
|
||||
bool sbsEnabled() const;
|
||||
bool customBannerEnabled() const;
|
||||
int antialiasingQuality() const;
|
||||
|
||||
void showCursor();
|
||||
void hideCursor();
|
||||
|
|
@ -98,6 +100,7 @@ namespace KWin
|
|||
void cursorImageSourceChanged();
|
||||
void cursorPosChanged();
|
||||
void devicePropertiesChanged();
|
||||
void antialiasingQualityChanged();
|
||||
|
||||
protected:
|
||||
QVariantMap initialProperties(Output *screen) override;
|
||||
|
|
@ -134,6 +137,7 @@ namespace KWin
|
|||
qreal m_displayHorizontalOffset = 0.0;
|
||||
qreal m_displayVerticalOffset = 0.0;
|
||||
int m_displayWrappingScheme = 0; // 0=auto,1=horizontal,2=vertical,3=flat
|
||||
int m_antialiasingQuality = 3; // 0=None, 1=Medium, 2=High, 3=VeryHigh
|
||||
QList<Output *> m_virtualOutputs;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ BreezyDesktopEffectConfig::BreezyDesktopEffectConfig(QObject *parent, const KPlu
|
|||
connect(ui.kcfg_DisplayHorizontalOffset, &QSlider::valueChanged, this, &BreezyDesktopEffectConfig::save);
|
||||
connect(ui.kcfg_DisplayVerticalOffset, &QSlider::valueChanged, this, &BreezyDesktopEffectConfig::save);
|
||||
connect(ui.kcfg_DisplayWrappingScheme, qOverload<int>(&QComboBox::currentIndexChanged), this, &BreezyDesktopEffectConfig::save);
|
||||
connect(ui.kcfg_AntialiasingQuality, qOverload<int>(&QComboBox::currentIndexChanged), this, &BreezyDesktopEffectConfig::save);
|
||||
|
||||
if (auto label = widget()->findChild<QLabel*>("labelAppNameVersion")) {
|
||||
label->setText(QStringLiteral("Breezy Desktop - v%1").arg(QLatin1String(BREEZY_DESKTOP_VERSION_STR)));
|
||||
|
|
@ -217,6 +218,7 @@ void BreezyDesktopEffectConfig::updateUiFromConfig()
|
|||
ui.kcfg_DisplayHorizontalOffset->setValue(BreezyDesktopConfig::self()->displayHorizontalOffset());
|
||||
ui.kcfg_DisplayVerticalOffset->setValue(BreezyDesktopConfig::self()->displayVerticalOffset());
|
||||
ui.kcfg_DisplayWrappingScheme->setCurrentIndex(BreezyDesktopConfig::self()->displayWrappingScheme());
|
||||
ui.kcfg_AntialiasingQuality->setCurrentIndex(BreezyDesktopConfig::self()->antialiasingQuality());
|
||||
ui.kcfg_ZoomOnFocusEnabled->setChecked(BreezyDesktopConfig::self()->zoomOnFocusEnabled());
|
||||
ui.kcfg_FocusedDisplayDistance->setEnabled(ui.kcfg_ZoomOnFocusEnabled->isChecked());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -226,13 +226,44 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelAntialiasingQuality">
|
||||
<property name="text">
|
||||
<string>Anti-aliasing quality:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_AntialiasingQuality">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Medium</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>High</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Very High</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelDisplayHorizontalOffset">
|
||||
<property name="text">
|
||||
<string>Display Horizontal Offset:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="LabeledSlider" name="kcfg_DisplayHorizontalOffset">
|
||||
<property name="decimalShift">
|
||||
<double>2</double>
|
||||
|
|
@ -251,14 +282,14 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labelDisplayVerticalOffset">
|
||||
<property name="text">
|
||||
<string>Display Vertical Offset:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<item row="3" column="1">
|
||||
<widget class="LabeledSlider" name="kcfg_DisplayVerticalOffset">
|
||||
<property name="decimalShift">
|
||||
<double>2</double>
|
||||
|
|
|
|||
|
|
@ -104,8 +104,10 @@ Item {
|
|||
View3D {
|
||||
anchors.fill: parent
|
||||
environment: SceneEnvironment {
|
||||
antialiasingMode: SceneEnvironment.SSAA
|
||||
antialiasingQuality: SceneEnvironment.VeryHigh
|
||||
antialiasingMode: root.effect.antialiasingQuality === 0 ? SceneEnvironment.NoAA : SceneEnvironment.SSAA
|
||||
antialiasingQuality: root.effect.antialiasingQuality === 0 ? SceneEnvironment.Medium : (
|
||||
root.effect.antialiasingQuality === 1 ? SceneEnvironment.Medium : (
|
||||
root.effect.antialiasingQuality === 2 ? SceneEnvironment.High : SceneEnvironment.VeryHigh))
|
||||
}
|
||||
|
||||
PerspectiveCamera {
|
||||
|
|
|
|||
Loading…
Reference in New Issue