kodi
GUIRSSControl.h
Go to the documentation of this 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 
9 #pragma once
10 
16 #include "GUIControl.h"
17 #include "GUILabel.h"
18 #include "utils/IRssObserver.h"
19 
20 #include <vector>
21 
22 class CRssReader;
23 
28 class CGUIRSSControl : public CGUIControl, public IRssObserver
29 {
30 public:
31  CGUIRSSControl(int parentID, int controlID, float posX, float posY, float width, float height,
32  const CLabelInfo& labelInfo, const KODI::GUILIB::GUIINFO::CGUIInfoColor &channelColor,
33  const KODI::GUILIB::GUIINFO::CGUIInfoColor &headlineColor, std::string& strRSSTags);
34  CGUIRSSControl(const CGUIRSSControl &from);
35  ~CGUIRSSControl(void) override;
36  CGUIRSSControl* Clone() const override { return new CGUIRSSControl(*this); }
37 
38  void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
39  void Render() override;
40  void OnFeedUpdate(const vecText &feed) override;
41  void OnFeedRelease() override;
42  bool CanFocus() const override { return true; }
43  CRect CalcRenderRegion() const override;
44 
45  void OnFocus() override;
46  void OnUnFocus() override;
47 
48  void SetUrlSet(const int urlset);
49 
50 protected:
51  bool UpdateColors(const CGUIListItem* item) override;
52 
53  CCriticalSection m_criticalSection;
54 
55  CRssReader* m_pReader;
56  vecText m_feed;
57 
58  std::string m_strRSSTags;
59 
60  CLabelInfo m_label;
63 
64  std::vector<std::string> m_vecUrls;
65  std::vector<int> m_vecIntervals;
66  bool m_rtl;
67  CScrollInfo m_scrollInfo;
68  bool m_dirty = true;
69  bool m_stopped;
70  int m_urlset;
71 };
72 
CRect CalcRenderRegion() const override
calculate the render region in parentcontrol coordinates of this control Called during process to upd...
Definition: GUIRSSControl.cpp:182
Definition: GUIListItem.h:29
Base class for controls.
Definition: GUIControl.h:83
Definition: GUIFont.h:61
Definition: RssReader.h:25
Definition: GUILabel.h:22
Definition: GUIInfoColor.h:30
Definition: GUIRSSControl.h:28
Definition: IRssObserver.h:16