/xbmc/guilib/GUIRSSControl.h

http://github.com/xbmc/xbmc · C Header · 72 lines · 41 code · 16 blank · 15 comment · 0 complexity · 79e07f9f75f128b90c5dc08064b6981c 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 GUIRSSControl.h
  11. \brief
  12. */
  13. #include "GUIControl.h"
  14. #include "GUILabel.h"
  15. #include "utils/IRssObserver.h"
  16. #include <vector>
  17. class CRssReader;
  18. /*!
  19. \ingroup controls
  20. \brief
  21. */
  22. class CGUIRSSControl : public CGUIControl, public IRssObserver
  23. {
  24. public:
  25. CGUIRSSControl(int parentID, int controlID, float posX, float posY, float width, float height,
  26. const CLabelInfo& labelInfo, const KODI::GUILIB::GUIINFO::CGUIInfoColor &channelColor,
  27. const KODI::GUILIB::GUIINFO::CGUIInfoColor &headlineColor, std::string& strRSSTags);
  28. CGUIRSSControl(const CGUIRSSControl &from);
  29. ~CGUIRSSControl(void) override;
  30. CGUIRSSControl *Clone() const override { return new CGUIRSSControl(*this); };
  31. void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
  32. void Render() override;
  33. void OnFeedUpdate(const vecText &feed) override;
  34. void OnFeedRelease() override;
  35. bool CanFocus() const override { return true; };
  36. CRect CalcRenderRegion() const override;
  37. void OnFocus() override;
  38. void OnUnFocus() override;
  39. void SetUrlSet(const int urlset);
  40. protected:
  41. bool UpdateColors() override;
  42. CCriticalSection m_criticalSection;
  43. CRssReader* m_pReader;
  44. vecText m_feed;
  45. std::string m_strRSSTags;
  46. CLabelInfo m_label;
  47. KODI::GUILIB::GUIINFO::CGUIInfoColor m_channelColor;
  48. KODI::GUILIB::GUIINFO::CGUIInfoColor m_headlineColor;
  49. std::vector<std::string> m_vecUrls;
  50. std::vector<int> m_vecIntervals;
  51. bool m_rtl;
  52. CScrollInfo m_scrollInfo;
  53. bool m_dirty;
  54. bool m_stopped;
  55. int m_urlset;
  56. };