summaryrefslogtreecommitdiffstats
path: root/xbmc/guilib/GUISettingsSliderControl.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xbmc/guilib/GUISettingsSliderControl.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/xbmc/guilib/GUISettingsSliderControl.h b/xbmc/guilib/GUISettingsSliderControl.h
new file mode 100644
index 0000000..98b0411
--- /dev/null
+++ b/xbmc/guilib/GUISettingsSliderControl.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2005-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#pragma once
+
+/*!
+\file GUISliderControl.h
+\brief
+*/
+
+#include "GUIButtonControl.h"
+#include "GUISliderControl.h"
+
+/*!
+ \ingroup controls
+ \brief
+ */
+class CGUISettingsSliderControl :
+ public CGUISliderControl
+{
+public:
+ CGUISettingsSliderControl(int parentID, int controlID, float posX, float posY, float width, float height, float sliderWidth, float sliderHeight, const CTextureInfo &textureFocus, const CTextureInfo &textureNoFocus, const CTextureInfo& backGroundTexture, const CTextureInfo& nibTexture, const CTextureInfo& nibTextureFocus, const CLabelInfo &labelInfo, int iType);
+ ~CGUISettingsSliderControl() override = default;
+ CGUISettingsSliderControl *Clone() const override { return new CGUISettingsSliderControl(*this); }
+
+ void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
+ void Render() override;
+ bool OnAction(const CAction &action) override;
+ void OnUnFocus() override;
+ EVENT_RESULT OnMouseEvent(const CPoint& point, const CMouseEvent& event) override;
+ void SetActive();
+ bool IsActive() const override { return m_active; }
+ void AllocResources() override;
+ void FreeResources(bool immediately = false) override;
+ void DynamicResourceAlloc(bool bOnOff) override;
+ void SetInvalid() override;
+ void SetPosition(float posX, float posY) override;
+ float GetWidth() const override { return m_buttonControl.GetWidth(); }
+ void SetWidth(float width) override;
+ float GetHeight() const override { return m_buttonControl.GetHeight(); }
+ void SetHeight(float height) override;
+ void SetEnabled(bool bEnable) override;
+
+ void SetText(const std::string& label) { m_buttonControl.SetLabel(label); }
+ float GetXPosition() const override { return m_buttonControl.GetXPosition(); }
+ float GetYPosition() const override { return m_buttonControl.GetYPosition(); }
+ std::string GetDescription() const override;
+ bool HitTest(const CPoint& point) const override { return m_buttonControl.HitTest(point); }
+
+protected:
+ bool UpdateColors(const CGUIListItem* item) override;
+ virtual void ProcessText();
+
+private:
+ CGUISettingsSliderControl(const CGUISettingsSliderControl& control);
+
+ CGUIButtonControl m_buttonControl;
+ CGUILabel m_label;
+ bool m_active; ///< Whether the slider has been activated by a click.
+};
+