// This file is generated by kconfig_compiler_kf6 from mousemark.kcfg.
// All changes you do to this file will be lost.
#ifndef KWIN_MOUSEMARKCONFIG_H
#define KWIN_MOUSEMARKCONFIG_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

namespace KWin {

class MouseMarkConfig : public KConfigSkeleton
{
  public:

    static MouseMarkConfig *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~MouseMarkConfig() override;

    /**
      Set LineWidth
    */
    static
    void setLineWidth( uint v )
    {
      if (!self()->isLineWidthImmutable())
        self()->mLineWidth = v;
    }

    /**
      Get LineWidth
    */
    static
    uint lineWidth()
    {
      return self()->mLineWidth;
    }

    /**
      Is LineWidth Immutable
    */
    static
    bool isLineWidthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "LineWidth" ) );
    }

    /**
      Set Color
    */
    static
    void setColor( const QColor & v )
    {
      if (!self()->isColorImmutable())
        self()->mColor = v;
    }

    /**
      Get Color
    */
    static
    QColor color()
    {
      return self()->mColor;
    }

    /**
      Is Color Immutable
    */
    static
    bool isColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Color" ) );
    }

  protected:
    MouseMarkConfig(KSharedConfig::Ptr config);
    friend class MouseMarkConfigHelper;


    // Effect-mousemark
    uint mLineWidth;
    QColor mColor;
};

}

#endif

