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