1 #pragma once
2 #ifndef ES_APP_VIEWS_GAME_LIST_VIDEO_GAME_LIST_VIEW_H
3 #define ES_APP_VIEWS_GAME_LIST_VIDEO_GAME_LIST_VIEW_H
4 
5 #include "components/DateTimeComponent.h"
6 #include "components/RatingComponent.h"
7 #include "components/ScrollableContainer.h"
8 #include "views/gamelist/BasicGameListView.h"
9 
10 class VideoComponent;
11 
12 class VideoGameListView : public BasicGameListView
13 {
14 public:
15 	VideoGameListView(Window* window, FileData* root);
16 	virtual ~VideoGameListView();
17 
18 	virtual void onShow() override;
19 
20 	virtual void onThemeChanged(const std::shared_ptr<ThemeData>& theme) override;
21 
getName()22 	virtual const char* getName() const override { return "video"; }
23 	virtual void launch(FileData* game) override;
24 
25 protected:
26 	virtual void update(int deltaTime) override;
27 
28 private:
29 	void updateInfoPanel();
30 
31 	void initMDLabels();
32 	void initMDValues();
33 
34 	ImageComponent mThumbnail;
35 	ImageComponent mMarquee;
36 	VideoComponent* mVideo;
37 	ImageComponent mImage;
38 
39 	TextComponent mLblRating, mLblReleaseDate, mLblDeveloper, mLblPublisher, mLblGenre, mLblPlayers, mLblLastPlayed, mLblPlayCount;
40 
41 	RatingComponent mRating;
42 	DateTimeComponent mReleaseDate;
43 	TextComponent mDeveloper;
44 	TextComponent mPublisher;
45 	TextComponent mGenre;
46 	TextComponent mPlayers;
47 	DateTimeComponent mLastPlayed;
48 	TextComponent mPlayCount;
49 	TextComponent mName;
50 
51 	std::vector<TextComponent*> getMDLabels();
52 	std::vector<GuiComponent*> getMDValues();
53 
54 	ScrollableContainer mDescContainer;
55 	TextComponent mDescription;
56 
57 	bool		mVideoPlaying;
58 
59 };
60 
61 #endif // ES_APP_VIEWS_GAME_LIST_VIDEO_GAME_LIST_VIEW_H
62