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

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

namespace KWin {

class ShakeCursorConfig : public KConfigSkeleton
{
  public:

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

    /**
      Get TimeInterval
    */
    static
    uint timeInterval()
    {
      return self()->mTimeInterval;
    }

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

    /**
      Get Sensitivity
    */
    static
    double sensitivity()
    {
      return self()->mSensitivity;
    }

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

    /**
      Get Magnification
    */
    static
    double magnification()
    {
      return self()->mMagnification;
    }

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

    /**
      Get OverMagnification
    */
    static
    double overMagnification()
    {
      return self()->mOverMagnification;
    }

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

  protected:
    ShakeCursorConfig(KSharedConfig::Ptr config);
    friend class ShakeCursorConfigHelper;


    // Effect-shakecursor
    uint mTimeInterval;
    double mSensitivity;
    double mMagnification;
    double mOverMagnification;
};

}

#endif

