OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
loadingscreen.hpp
Go to the documentation of this file.
1 #ifndef MWGUI_LOADINGSCREEN_H
2 #define MWGUI_LOADINGSCREEN_H
3 
4 #include <osg/Timer>
5 #include <osg/ref_ptr>
6 
7 #include "windowbase.hpp"
8 
10 
11 namespace osgViewer
12 {
13  class Viewer;
14 }
15 
16 namespace osg
17 {
18  class Texture2D;
19 }
20 
21 namespace VFS
22 {
23  class Manager;
24 }
25 
26 namespace MWGui
27 {
28  class BackgroundImage;
29 
31  {
32  public:
33  LoadingScreen(const VFS::Manager* vfs, osgViewer::Viewer* viewer);
34  virtual ~LoadingScreen();
35 
37  virtual void setLabel (const std::string& label, bool important);
38  virtual void loadingOn(bool visible=true);
39  virtual void loadingOff();
40  virtual void setProgressRange (size_t range);
41  virtual void setProgress (size_t value);
42  virtual void increaseProgress (size_t increase=1);
43 
44  virtual void setVisible(bool visible);
45 
46  double getTargetFrameRate() const;
47 
48  private:
49  void findSplashScreens();
51 
53 
55  osg::ref_ptr<osgViewer::Viewer> mViewer;
56 
58 
61  osg::Timer mTimer;
63 
65 
66  bool mVisible;
67 
68  size_t mProgress;
69 
71 
72  MyGUI::Widget* mLoadingBox;
73 
74  MyGUI::TextBox* mLoadingText;
75  MyGUI::ScrollBar* mProgressBar;
78 
79  std::vector<std::string> mSplashScreens;
80 
81  osg::ref_ptr<osg::Texture2D> mTexture;
82  std::unique_ptr<MyGUI::ITexture> mGuiTexture;
83 
84  void changeWallpaper();
85 
86  void draw();
87  };
88 
89 }
90 
91 
92 #endif
double mTargetFrameRate
Definition: loadingscreen.hpp:57
virtual void setLabel(const std::string &label, bool important)
Overridden from Loading::Listener, see the Loading::Listener documentation for usage details...
Definition: loadingscreen.cpp:99
BackgroundImage * mSceneImage
Definition: loadingscreen.hpp:77
void findSplashScreens()
Definition: loadingscreen.cpp:63
MyGUI::Widget * mLoadingBox
Definition: loadingscreen.hpp:72
osg::ref_ptr< osgViewer::Viewer > mViewer
Definition: loadingscreen.hpp:55
virtual void setProgressRange(size_t range)
Set the total range of progress (e.g. the number of objects to load).
Definition: loadingscreen.cpp:237
bool mShowWallpaper
Definition: loadingscreen.hpp:70
osg::Timer mTimer
Definition: loadingscreen.hpp:61
virtual void setProgress(size_t value)
Set current progress. Valid range is [0, progressRange)
Definition: loadingscreen.cpp:245
bool mVisible
Definition: loadingscreen.hpp:66
Definition: loadinglistener.hpp:8
const VFS::Manager * mVFS
Definition: loadingscreen.hpp:54
std::unique_ptr< MyGUI::ITexture > mGuiTexture
Definition: loadingscreen.hpp:82
bool mImportantLabel
Definition: loadingscreen.hpp:64
double getTargetFrameRate() const
Definition: loadingscreen.cpp:118
Definition: loadingscreen.hpp:30
void changeWallpaper()
Definition: loadingscreen.cpp:221
MyGUI::TextBox * mLoadingText
Definition: loadingscreen.hpp:74
std::vector< std::string > mSplashScreens
Definition: loadingscreen.hpp:79
virtual ~LoadingScreen()
Definition: loadingscreen.cpp:59
double mLastWallpaperChangeTime
Definition: loadingscreen.hpp:59
MyGUI::ScrollBar * mProgressBar
Definition: loadingscreen.hpp:75
virtual void loadingOff()
Definition: loadingscreen.cpp:194
void setupCopyFramebufferToTextureCallback()
Definition: loadingscreen.cpp:290
size_t mProgress
Definition: loadingscreen.hpp:68
Definition: windowbase.hpp:21
virtual void increaseProgress(size_t increase=1)
Increase current progress, default by 1.
Definition: loadingscreen.cpp:257
BackgroundImage * mBackgroundImage
Definition: loadingscreen.hpp:76
The main class responsible for loading files from a virtual file system.
Definition: manager.hpp:20
double mLoadingOnTime
Definition: loadingscreen.hpp:62
void draw()
Definition: loadingscreen.cpp:318
bool needToDrawLoadingScreen()
Definition: loadingscreen.cpp:267
virtual void loadingOn(bool visible=true)
Definition: loadingscreen.cpp:156
A variant of MyGUI::ImageBox with aspect ratio correction using black bars.
Definition: backgroundimage.hpp:12
osg::ref_ptr< osg::Texture2D > mTexture
Definition: loadingscreen.hpp:81
LoadingScreen(const VFS::Manager *vfs, osgViewer::Viewer *viewer)
Definition: loadingscreen.cpp:30
double mLastRenderTime
Definition: loadingscreen.hpp:60
virtual void setVisible(bool visible)
Sets the visibility of the window.
Definition: loadingscreen.cpp:111