/xbmc/guilib/GUIListGroup.h

http://github.com/xbmc/xbmc · C Header · 50 lines · 26 code · 9 blank · 15 comment · 0 complexity · 87195a0ee2b29750020eaff59dbe070c MD5 · raw file

  1. /*
  2. * Copyright (C) 2005-2018 Team Kodi
  3. * This file is part of Kodi - https://kodi.tv
  4. *
  5. * SPDX-License-Identifier: GPL-2.0-or-later
  6. * See LICENSES/README.md for more information.
  7. */
  8. #pragma once
  9. /*!
  10. \file GUIListGroup.h
  11. \brief
  12. */
  13. #include "GUIControlGroup.h"
  14. /*!
  15. \ingroup controls
  16. \brief a group of controls within a list/panel container
  17. */
  18. class CGUIListGroup final : public CGUIControlGroup
  19. {
  20. public:
  21. CGUIListGroup(int parentID, int controlID, float posX, float posY, float width, float height);
  22. CGUIListGroup(const CGUIListGroup &right);
  23. ~CGUIListGroup(void) override;
  24. CGUIListGroup *Clone() const override { return new CGUIListGroup(*this); };
  25. void AddControl(CGUIControl *control, int position = -1) override;
  26. void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
  27. void ResetAnimation(ANIMATION_TYPE type) override;
  28. void UpdateVisibility(const CGUIListItem *item = NULL) override;
  29. void UpdateInfo(const CGUIListItem *item) override;
  30. void SetInvalid() override;
  31. void EnlargeWidth(float difference);
  32. void EnlargeHeight(float difference);
  33. void SetFocusedItem(unsigned int subfocus);
  34. unsigned int GetFocusedItem() const;
  35. bool MoveLeft();
  36. bool MoveRight();
  37. void SetState(bool selected, bool focused);
  38. void SelectItemFromPoint(const CPoint &point);
  39. protected:
  40. const CGUIListItem *m_item;
  41. };