DriveHQ Start Menu
Cloud Drive Mapping
Folder Sync
Cloud Backup
True Drop Box
FTP/SFTP Hosting
Group Account
DriveHQ Start Menu
Online File Server
My Storage
|
Manage Shares
|
Publishes
|
Drop Boxes
|
Group Account
WebDAV Drive Mapping
Cloud Drive Home
|
WebDAV Guide
|
Drive Mapping Tool
|
Drive Mapping URL
Complete Data Backup
Backup Guide
|
Online Backup Tool
|
Cloud-to-Cloud Backup
FTP, Email & Web Service
FTP Home
|
FTP Hosting FAQ
|
Email Hosting
|
EmailManager
|
Web Hosting
Help & Resources
About
|
Enterprise Service
|
Partnership
|
Comparisons
|
Support
Quick Links
Security and Privacy
Download Software
Service Manual
Use Cases
Group Account
Online Help
Blog
Contact
Cloud Surveillance
Sign Up
Login
Features
Business Features
Online File Server
FTP Hosting
Cloud Drive Mapping
Cloud File Backup
Email Backup & Hosting
Cloud File Sharing
Folder Synchronization
Group Management
True Drop Box
Full-text Search
AD Integration/SSO
Mobile Access
IP Camera & DVR Solution
More...
Personal Features
Personal Cloud Drive
Backup All Devices
Mobile APPs
Personal Web Hosting
Sub-Account (for Kids)
Home/PC/Kids Monitoring
More...
Software
DriveHQ Drive Mapping Tool
DriveHQ FileManager
DriveHQ Online Backup
DriveHQ Mobile Apps
Pricing
Business Plans & Pricing
Personal Plans & Pricing
Price Comparison with Others
Feature Comparison with Others
Install Mobile App
Sign up
Creating account...
Invalid character in username! Only 0-9, a-z, A-Z, _, -, . allowed.
Username is required!
Invalid email address!
E-mail is required!
Password is required!
Password is invalid!
Password and confirmation do not match.
Confirm password is required!
I accept
Membership Agreement
Please read the Membership Agreement and check "I accept"!
Free Quick Sign-up
Sign-up Page
Log in
Signing in...
Username or e-mail address is required!
Password is required!
Keep me logged in
Quick Login
Forgot Password
Up
Upload
Download
Share
Publish
New Folder
New File
Copy
Cut
Delete
Paste
Rate
Upgrade
Rotate
Effect
Edit
Slide
History
/* ----------------------------------------------------------------------------- This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/ Copyright (c) 2000-2006 Torus Knot Software Ltd Also see acknowledgements in Readme.html You may use this sample code for anything you like, it is not covered by the LGPL like the rest of the engine. ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- Filename: ExampleLoadingBar.h Description: Defines an example loading progress bar which you can use during startup, level changes etc to display loading progress. IMPORTANT: Note that this progress bar relies on you having the OgreCore.zip package already added to a resource group called 'Bootstrap' - this provides the basic resources required for the progress bar and will be loaded automatically. */ #include "OgreResourceGroupManager.h" #include "OgreException.h" #include "OgreOverlay.h" #include "OgreOverlayManager.h" #include "OgreRenderWindow.h" using namespace Ogre; /** Defines an example loading progress bar which you can use during startup, level changes etc to display loading progress. @remarks Basically you just need to create an instance of this class, call start() before loading and finish() afterwards. You may also need to stop areas of your scene rendering in between since this method will call RenderWindow::update() to update the display of the bar - we advise using SceneManager's 'special case render queues' for this, see SceneManager::addSpecialCaseRenderQueue for details. @note This progress bar relies on you having the OgreCore.zip package already added to a resource group called 'Bootstrap' - this provides the basic resources required for the progress bar and will be loaded automatically. */ class ExampleLoadingBar : public ResourceGroupListener { protected: RenderWindow* mWindow; Overlay* mLoadOverlay; Real mInitProportion; unsigned short mNumGroupsInit; unsigned short mNumGroupsLoad; Real mProgressBarMaxSize; Real mProgressBarScriptSize; Real mProgressBarInc; OverlayElement* mLoadingBarElement; OverlayElement* mLoadingDescriptionElement; OverlayElement* mLoadingCommentElement; public: ExampleLoadingBar() {} virtual ~ExampleLoadingBar(){} /** Show the loading bar and start listening. @param window The window to update @param numGroupsInit The number of groups you're going to be initialising @param numGroupsLoad The number of groups you're going to be loading @param initProportion The proportion of the progress which will be taken up by initialisation (ie script parsing etc). Defaults to 0.7 since script parsing can often take the majority of the time. */ virtual void start(RenderWindow* window, unsigned short numGroupsInit = 1, unsigned short numGroupsLoad = 1, Real initProportion = 0.70f) { mWindow = window; mNumGroupsInit = numGroupsInit; mNumGroupsLoad = numGroupsLoad; mInitProportion = initProportion; // We need to pre-initialise the 'Bootstrap' group so we can use // the basic contents in the loading screen ResourceGroupManager::getSingleton().initialiseResourceGroup("Bootstrap"); OverlayManager& omgr = OverlayManager::getSingleton(); mLoadOverlay = (Overlay*)omgr.getByName("Core/LoadOverlay"); if (!mLoadOverlay) { OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Cannot find loading overlay", "ExampleLoadingBar::start"); } mLoadOverlay->show(); // Save links to the bar and to the loading text, for updates as we go mLoadingBarElement = omgr.getOverlayElement("Core/LoadPanel/Bar/Progress"); mLoadingCommentElement = omgr.getOverlayElement("Core/LoadPanel/Comment"); mLoadingDescriptionElement = omgr.getOverlayElement("Core/LoadPanel/Description"); OverlayElement* barContainer = omgr.getOverlayElement("Core/LoadPanel/Bar"); mProgressBarMaxSize = barContainer->getWidth(); mLoadingBarElement->setWidth(0); // self is listener ResourceGroupManager::getSingleton().addResourceGroupListener(this); } /** Hide the loading bar and stop listening. */ virtual void finish(void) { // hide loading screen mLoadOverlay->hide(); // Unregister listener ResourceGroupManager::getSingleton().removeResourceGroupListener(this); } // ResourceGroupListener callbacks void resourceGroupScriptingStarted(const String& groupName, size_t scriptCount) { assert(mNumGroupsInit > 0 && "You stated you were not going to init " "any groups, but you did! Divide by zero would follow..."); // Lets assume script loading is 70% mProgressBarInc = mProgressBarMaxSize * mInitProportion / (Real)scriptCount; mProgressBarInc /= mNumGroupsInit; mLoadingDescriptionElement->setCaption("Parsing scripts..."); mWindow->update(); } void scriptParseStarted(const String& scriptName) { mLoadingCommentElement->setCaption(scriptName); mWindow->update(); } void scriptParseEnded(const String& scriptName) { mLoadingBarElement->setWidth( mLoadingBarElement->getWidth() + mProgressBarInc); mWindow->update(); } void resourceGroupScriptingEnded(const String& groupName) { } void resourceGroupLoadStarted(const String& groupName, size_t resourceCount) { assert(mNumGroupsLoad > 0 && "You stated you were not going to load " "any groups, but you did! Divide by zero would follow..."); mProgressBarInc = mProgressBarMaxSize * (1-mInitProportion) / (Real)resourceCount; mProgressBarInc /= mNumGroupsLoad; mLoadingDescriptionElement->setCaption("Loading resources..."); mWindow->update(); } void resourceLoadStarted(const ResourcePtr& resource) { mLoadingCommentElement->setCaption(resource->getName()); mWindow->update(); } void resourceLoadEnded(void) { } void worldGeometryStageStarted(const String& description) { mLoadingCommentElement->setCaption(description); mWindow->update(); } void worldGeometryStageEnded(void) { mLoadingBarElement->setWidth( mLoadingBarElement->getWidth() + mProgressBarInc); mWindow->update(); } void resourceGroupLoadEnded(const String& groupName) { } };
ExampleLoadingBar.h
Page URL
File URL
Prev
11/35
Next
Download
( 6 KB )
Note: The DriveHQ service banners will NOT be displayed if the file owner is a paid member.
Comments
Total ratings:
0
Average rating:
Not Rated
Would you like to comment?
Join DriveHQ
for a free account, or
Logon
if you are already a member.