diff options
| author | Bryan Galdrikian <[email protected]> | 2017-02-21 12:07:59 -0800 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2017-02-21 12:07:59 -0800 |
| commit | 446ce137c6823ba9eff273bdafdaf266287c7c98 (patch) | |
| tree | d20aab3e2ed08d7b3ca71c2f40db6a93ea00c459 /NvBlast/samples/SampleBase/core/Application.h | |
| download | blast-446ce137c6823ba9eff273bdafdaf266287c7c98.tar.xz blast-446ce137c6823ba9eff273bdafdaf266287c7c98.zip | |
first commitv1.0.0-beta
Diffstat (limited to 'NvBlast/samples/SampleBase/core/Application.h')
| -rw-r--r-- | NvBlast/samples/SampleBase/core/Application.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/NvBlast/samples/SampleBase/core/Application.h b/NvBlast/samples/SampleBase/core/Application.h new file mode 100644 index 0000000..b4bd75b --- /dev/null +++ b/NvBlast/samples/SampleBase/core/Application.h @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. +* +* NVIDIA CORPORATION and its licensors retain all intellectual property +* and proprietary rights in and to this software, related documentation +* and any modifications thereto. Any use, reproduction, disclosure or +* distribution of this software and related documentation without an express +* license agreement from NVIDIA CORPORATION is strictly prohibited. +*/ + +#ifndef APPLICATION_H +#define APPLICATION_H + +#include <DeviceManager.h> +#include <vector> +#include <string> + +/** +ISampleController adds more onstart and onstop callbacks to IVisualController +*/ +class IApplicationController : public IVisualController +{ + public: + virtual void onInitialize() {} + virtual void onSampleStart() {} + virtual void onSampleStop() {} + virtual void onTerminate() {} +}; + + +/** +Main manager which runs sample. +You have to add controllers to it which will receive all the start, animate, render etc. callbacks. +*/ +class Application +{ +public: + Application(std::wstring sampleName); + void addControllerToFront(IApplicationController* controller); + + const std::vector<IApplicationController*>& getControllers() const + { + return m_controllers; + } + + int run(); + +private: + DeviceManager* m_deviceManager; + std::vector<IApplicationController*> m_controllers; + std::wstring m_sampleName; +}; + + +#endif //APPLICATION_H
\ No newline at end of file |