mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-23 15:45:53 +00:00
68 lines
2.3 KiB
C++
68 lines
2.3 KiB
C++
/*
|
|
SPDX-FileCopyrightText: 2020 Benjamin Port <benjamin.port@enioka.com>
|
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "fontsaasettingsbase.h"
|
|
#include "kxftconfig.h"
|
|
|
|
class FontAASettingsStore;
|
|
|
|
class FontsAASettings : public FontsAASettingsBase
|
|
{
|
|
Q_OBJECT
|
|
|
|
Q_PROPERTY(bool exclude READ exclude WRITE setExclude NOTIFY excludeChanged)
|
|
Q_PROPERTY(int excludeFrom READ excludeFrom WRITE setExcludeFrom NOTIFY excludeFromChanged)
|
|
Q_PROPERTY(int excludeTo READ excludeTo WRITE setExcludeTo NOTIFY excludeToChanged)
|
|
Q_PROPERTY(bool antiAliasing READ antiAliasing WRITE setAntiAliasing NOTIFY antiAliasingChanged)
|
|
Q_PROPERTY(int dpi READ dpi WRITE setDpi NOTIFY dpiChanged)
|
|
Q_PROPERTY(KXftConfig::SubPixel::Type subPixel READ subPixel WRITE setSubPixel NOTIFY subPixelChanged)
|
|
Q_PROPERTY(KXftConfig::Hint::Style hinting READ hinting WRITE setHinting NOTIFY hintingChanged)
|
|
Q_PROPERTY(bool isAaImmutable READ isAaImmutable CONSTANT)
|
|
Q_PROPERTY(bool excludeStateProxy READ excludeStateProxy NOTIFY excludeStateProxyChanged)
|
|
|
|
public:
|
|
FontsAASettings(QObject *parent = nullptr);
|
|
|
|
bool exclude() const;
|
|
int excludeFrom() const;
|
|
int excludeTo() const;
|
|
bool antiAliasing() const;
|
|
int dpi() const;
|
|
KXftConfig::SubPixel::Type subPixel() const;
|
|
KXftConfig::Hint::Style hinting() const;
|
|
bool isAaImmutable() const;
|
|
bool excludeStateProxy() const;
|
|
|
|
void setExclude(bool exclude);
|
|
void setExcludeFrom(int excludeFrom);
|
|
void setExcludeTo(int excludeTo);
|
|
void setAntiAliasing(bool enabled);
|
|
void setDpi(int dpi);
|
|
void setSubPixel(KXftConfig::SubPixel::Type type);
|
|
void setHinting(KXftConfig::Hint::Style hinting);
|
|
|
|
Q_SIGNALS:
|
|
void excludeChanged();
|
|
void excludeFromChanged();
|
|
void excludeToChanged();
|
|
void antiAliasingChanged();
|
|
void dpiChanged();
|
|
void subPixelChanged();
|
|
void hintingChanged();
|
|
void aliasingChangeApplied();
|
|
void excludeStateProxyChanged();
|
|
|
|
private:
|
|
FontAASettingsStore *m_fontAASettingsStore;
|
|
bool m_isAaImmutable = false;
|
|
bool usrSave() override;
|
|
|
|
using NotifySignalType = void (FontsAASettings::*)();
|
|
void addItemInternal(const QByteArray &propertyName, const QVariant &defaultValue, NotifySignalType notifySignal);
|
|
};
|