2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
16 #include "GUIControl.h"
18 #include "utils/IRssObserver.h"
28 class CGUIRSSControl
: public CGUIControl
, public IRssObserver
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); }
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
;
45 void OnFocus() override
;
46 void OnUnFocus() override
;
48 void SetUrlSet(const int urlset
);
51 bool UpdateColors(const CGUIListItem
* item
) override
;
53 CCriticalSection m_criticalSection
;
55 CRssReader
* m_pReader
;
58 std::string m_strRSSTags
;
61 KODI::GUILIB::GUIINFO::CGUIInfoColor m_channelColor
;
62 KODI::GUILIB::GUIINFO::CGUIInfoColor m_headlineColor
;
64 std::vector
<std::string
> m_vecUrls
;
65 std::vector
<int> m_vecIntervals
;
67 CScrollInfo m_scrollInfo
;