// 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" ) );
    }

    /**
      Set Freedrawmeta
    */
    static
    void setFreedrawmeta( bool v )
    {
      if (!self()->isFreedrawmetaImmutable())
        self()->mFreedrawmeta = v;
    }

    /**
      Get Freedrawmeta
    */
    static
    bool freedrawmeta()
    {
      return self()->mFreedrawmeta;
    }

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

    /**
      Set Freedrawcontrol
    */
    static
    void setFreedrawcontrol( bool v )
    {
      if (!self()->isFreedrawcontrolImmutable())
        self()->mFreedrawcontrol = v;
    }

    /**
      Get Freedrawcontrol
    */
    static
    bool freedrawcontrol()
    {
      return self()->mFreedrawcontrol;
    }

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

    /**
      Set Freedrawalt
    */
    static
    void setFreedrawalt( bool v )
    {
      if (!self()->isFreedrawaltImmutable())
        self()->mFreedrawalt = v;
    }

    /**
      Get Freedrawalt
    */
    static
    bool freedrawalt()
    {
      return self()->mFreedrawalt;
    }

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

    /**
      Set Freedrawshift
    */
    static
    void setFreedrawshift( bool v )
    {
      if (!self()->isFreedrawshiftImmutable())
        self()->mFreedrawshift = v;
    }

    /**
      Get Freedrawshift
    */
    static
    bool freedrawshift()
    {
      return self()->mFreedrawshift;
    }

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

    /**
      Set Arrowdrawmeta
    */
    static
    void setArrowdrawmeta( bool v )
    {
      if (!self()->isArrowdrawmetaImmutable())
        self()->mArrowdrawmeta = v;
    }

    /**
      Get Arrowdrawmeta
    */
    static
    bool arrowdrawmeta()
    {
      return self()->mArrowdrawmeta;
    }

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

    /**
      Set Arrowdrawcontrol
    */
    static
    void setArrowdrawcontrol( bool v )
    {
      if (!self()->isArrowdrawcontrolImmutable())
        self()->mArrowdrawcontrol = v;
    }

    /**
      Get Arrowdrawcontrol
    */
    static
    bool arrowdrawcontrol()
    {
      return self()->mArrowdrawcontrol;
    }

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

    /**
      Set Arrowdrawalt
    */
    static
    void setArrowdrawalt( bool v )
    {
      if (!self()->isArrowdrawaltImmutable())
        self()->mArrowdrawalt = v;
    }

    /**
      Get Arrowdrawalt
    */
    static
    bool arrowdrawalt()
    {
      return self()->mArrowdrawalt;
    }

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

    /**
      Set Arrowdrawshift
    */
    static
    void setArrowdrawshift( bool v )
    {
      if (!self()->isArrowdrawshiftImmutable())
        self()->mArrowdrawshift = v;
    }

    /**
      Get Arrowdrawshift
    */
    static
    bool arrowdrawshift()
    {
      return self()->mArrowdrawshift;
    }

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

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


    // Effect-mousemark
    uint mLineWidth;
    QColor mColor;
    bool mFreedrawmeta;
    bool mFreedrawcontrol;
    bool mFreedrawalt;
    bool mFreedrawshift;
    bool mArrowdrawmeta;
    bool mArrowdrawcontrol;
    bool mArrowdrawalt;
    bool mArrowdrawshift;
};

}

#endif

