diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-02-16 06:48:41 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-02-16 06:48:41 +0000 |
| commit | e33d94fecd272db4bf542541c069e9e2c168c1d5 (patch) | |
| tree | c4c33fe97b817ed67fc505059a6323336660311f /Common/NativeApp | |
| parent | Updated samples (fixed linux/max build error) (diff) | |
| download | DiligentEngine-e33d94fecd272db4bf542541c069e9e2c168c1d5.tar.gz DiligentEngine-e33d94fecd272db4bf542541c069e9e2c168c1d5.zip | |
Moved NativeApp to Diligent namespace
Diffstat (limited to 'Common/NativeApp')
19 files changed, 112 insertions, 26 deletions
diff --git a/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.h b/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.h index 1931c69..ed9ebe4 100644 --- a/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.h +++ b/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.h @@ -34,7 +34,7 @@ -(void)initApp:(NSView*) view; -(void)destroyApp; -(NSString*)getError; --(NativeAppBase*)lockApp; +-(Diligent::NativeAppBase*)lockApp; -(void)unlockApp; -(void)stopDisplayLink; -(void)startDisplayLink; diff --git a/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.m b/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.m index 6f138c7..4e8d292 100644 --- a/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.m +++ b/Common/NativeApp/Apple/Source/Classes/OSX/ViewBase.m @@ -28,7 +28,7 @@ @implementation ViewBase { - std::unique_ptr<NativeAppBase> _theApp; + std::unique_ptr<Diligent::NativeAppBase> _theApp; std::string _error; NSRecursiveLock* appLock; } @@ -41,7 +41,7 @@ { [super awakeFromNib]; - _theApp.reset(CreateApplication()); + _theApp.reset(Diligent::CreateApplication()); // [self window] is nil here auto* mainWindow = [[NSApplication sharedApplication] mainWindow]; @@ -66,7 +66,7 @@ } } --(NativeAppBase*)lockApp +-(Diligent::NativeAppBase*)lockApp { [appLock lock]; return _theApp.get(); diff --git a/Common/NativeApp/Apple/Source/Classes/iOS/EAGLView.m b/Common/NativeApp/Apple/Source/Classes/iOS/EAGLView.m index 9ddb5f4..9120e99 100644 --- a/Common/NativeApp/Apple/Source/Classes/iOS/EAGLView.m +++ b/Common/NativeApp/Apple/Source/Classes/iOS/EAGLView.m @@ -14,7 +14,7 @@ @interface EAGLView () { - std::unique_ptr<NativeAppBase> _theApp; + std::unique_ptr<Diligent::NativeAppBase> _theApp; EAGLContext* _context; NSInteger _animationFrameInterval; CADisplayLink* _displayLink; @@ -52,7 +52,7 @@ try { - _theApp.reset(CreateApplication()); + _theApp.reset(Diligent::CreateApplication()); // Init our renderer. _theApp->OnGLContextCreated((__bridge void*)self.layer); } diff --git a/Common/NativeApp/include/Android/AndroidAppBase.h b/Common/NativeApp/include/Android/AndroidAppBase.h index eeedf75..43e76ef 100644 --- a/Common/NativeApp/include/Android/AndroidAppBase.h +++ b/Common/NativeApp/include/Android/AndroidAppBase.h @@ -31,19 +31,23 @@ #include "NDKHelper.h" struct android_app; + +namespace Diligent +{ + class AndroidAppBase : public AppBase { public: int InitDisplay(); - void SetState( android_app* state ); + void SetState(android_app* state); void InitSensors(); void ProcessSensors( int32_t id ); void DrawFrame(); bool IsReady(); virtual void TrimMemory() = 0; virtual void TermDisplay() = 0; - static int32_t HandleInput( android_app* app, AInputEvent* event ); - static void HandleCmd( struct android_app* app, int32_t cmd ); + static int32_t HandleInput(android_app* app, AInputEvent* event); + static void HandleCmd(android_app* app, int32_t cmd); bool CheckWindowSizeChanged() { auto new_window_width_ = ANativeWindow_getWidth(app_->window); @@ -102,3 +106,5 @@ private: const ASensor* accelerometer_sensor_ = nullptr; ASensorEventQueue* sensor_event_queue_ = nullptr; }; + +} diff --git a/Common/NativeApp/include/AppBase.h b/Common/NativeApp/include/AppBase.h index fcadd74..e5c4b21 100644 --- a/Common/NativeApp/include/AppBase.h +++ b/Common/NativeApp/include/AppBase.h @@ -23,16 +23,20 @@ #pragma once +namespace Diligent +{ + class AppBase { public: virtual ~AppBase() {} - virtual void ProcessCommandLine(const char *CmdLine) = 0; + virtual void ProcessCommandLine(const char* CmdLine) = 0; virtual const char* GetAppTitle()const = 0; virtual void Update(double CurrTime, double ElapsedTime) {}; - virtual void Render() = 0; + virtual void Render() = 0; virtual void Present() = 0; virtual void WindowResize(int width, int height) = 0; }; +} diff --git a/Common/NativeApp/include/IOS/IOSAppBase.h b/Common/NativeApp/include/IOS/IOSAppBase.h index 181cdf9..2efe4ab 100644 --- a/Common/NativeApp/include/IOS/IOSAppBase.h +++ b/Common/NativeApp/include/IOS/IOSAppBase.h @@ -26,17 +26,22 @@ #include "AppBase.h" #include "Timer.h" +namespace Diligent +{ + class IOSAppBase : public AppBase { public: using AppBase::Update; void Update(); - virtual void OnGLContextCreated(void *eaglLayer) = 0; + virtual void OnGLContextCreated(void* eaglLayer) = 0; virtual void OnTouchBegan(float x, float y){} virtual void OnTouchMoved(float x, float y){} virtual void OnTouchEnded(float x, float y){} protected: - Diligent::Timer timer; + Timer timer; double PrevTime = 0.0; }; + +} diff --git a/Common/NativeApp/include/Linux/LinuxAppBase.h b/Common/NativeApp/include/Linux/LinuxAppBase.h index d2f1cb4..83065d1 100644 --- a/Common/NativeApp/include/Linux/LinuxAppBase.h +++ b/Common/NativeApp/include/Linux/LinuxAppBase.h @@ -44,14 +44,19 @@ #include "AppBase.h" +namespace Diligent +{ + class LinuxAppBase : public AppBase { public: virtual void OnGLContextCreated(Display* display, Window window) = 0; - virtual int HandleXEvent(XEvent *xev){} + virtual int HandleXEvent(XEvent* xev){} #if VULKAN_SUPPORTED virtual void InitVulkan(xcb_connection_t* connection, uint32_t window) = 0; virtual void HandleXCBEvent(xcb_generic_event_t* event){} #endif }; + +} diff --git a/Common/NativeApp/include/MacOS/MacOSAppBase.h b/Common/NativeApp/include/MacOS/MacOSAppBase.h index 6081dd1..d8df9df 100644 --- a/Common/NativeApp/include/MacOS/MacOSAppBase.h +++ b/Common/NativeApp/include/MacOS/MacOSAppBase.h @@ -26,6 +26,9 @@ #include "AppBase.h" #include "Timer.h" +namespace Diligent +{ + class MacOSAppBase : public AppBase { public: @@ -38,6 +41,8 @@ public: virtual void OnKeyPressed(int key){} protected: - Diligent::Timer timer; + Timer timer; double PrevTime = 0.0; }; + +} diff --git a/Common/NativeApp/include/NativeAppBase.h b/Common/NativeApp/include/NativeAppBase.h index 85aa4eb..25d3429 100644 --- a/Common/NativeApp/include/NativeAppBase.h +++ b/Common/NativeApp/include/NativeAppBase.h @@ -25,37 +25,57 @@ #if PLATFORM_WIN32 #include "Win32AppBase.h" - using NativeAppBase = Win32AppBase; + namespace Diligent + { + using NativeAppBase = Win32AppBase; + } #elif PLATFORM_UNIVERSAL_WINDOWS #include "UWPAppBase.h" - using NativeAppBase = UWPAppBase; + namespace Diligent + { + using NativeAppBase = UWPAppBase; + } #elif PLATFORM_LINUX #include "LinuxAppBase.h" - using NativeAppBase = LinuxAppBase; + namespace Diligent + { + using NativeAppBase = LinuxAppBase; + } #elif PLATFORM_ANDROID #include "AndroidAppBase.h" - using NativeAppBase = AndroidAppBase; + namespace Diligent + { + using NativeAppBase = AndroidAppBase; + } #elif PLATFORM_MACOS #include "MacOSAppBase.h" - using NativeAppBase = MacOSAppBase; + namespace Diligent + { + using NativeAppBase = MacOSAppBase; + } #elif PLATFORM_IOS #include "IOSAppBase.h" - using NativeAppBase = IOSAppBase; - + namespace Diligent + { + using NativeAppBase = IOSAppBase; + } #else # error Usnupported paltform #endif -extern NativeAppBase* CreateApplication(); +namespace Diligent +{ + extern NativeAppBase* CreateApplication(); +}
\ No newline at end of file diff --git a/Common/NativeApp/include/UWP/UWPAppBase.h b/Common/NativeApp/include/UWP/UWPAppBase.h index dc56b80..cc0c71e 100644 --- a/Common/NativeApp/include/UWP/UWPAppBase.h +++ b/Common/NativeApp/include/UWP/UWPAppBase.h @@ -34,6 +34,9 @@ #include "Common/StepTimer.h" #include "Common/DeviceResources.h" +namespace Diligent +{ + class UWPAppBase : public AppBase { public: @@ -69,3 +72,5 @@ protected: DX::StepTimer m_timer; bool m_bFrameReady = false; }; + +} diff --git a/Common/NativeApp/include/Win32/Win32AppBase.h b/Common/NativeApp/include/Win32/Win32AppBase.h index f5699b3..9999e15 100644 --- a/Common/NativeApp/include/Win32/Win32AppBase.h +++ b/Common/NativeApp/include/Win32/Win32AppBase.h @@ -30,9 +30,23 @@ #include "AppBase.h" +namespace Diligent +{ + class Win32AppBase : public AppBase { public: - virtual void OnWindowCreated(HWND hWnd, LONG WindowWidth, LONG WindowHeight) = 0; - virtual LRESULT HandleWin32Message(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { return 0; } + virtual void OnWindowCreated(HWND hWnd, + LONG WindowWidth, + LONG WindowHeight) = 0; + + virtual LRESULT HandleWin32Message(HWND hWnd, + UINT message, + WPARAM wParam, + LPARAM lParam) + { + return 0; + } }; + +} diff --git a/Common/NativeApp/src/Android/AndroidAppBase.cpp b/Common/NativeApp/src/Android/AndroidAppBase.cpp index 31e2724..4a1a4e2 100644 --- a/Common/NativeApp/src/Android/AndroidAppBase.cpp +++ b/Common/NativeApp/src/Android/AndroidAppBase.cpp @@ -30,6 +30,9 @@ #include <android/native_window_jni.h> //#include <cpu-features.h> +namespace Diligent +{ + int AndroidAppBase::InitDisplay() { if( !initialized_resources_ ) @@ -258,3 +261,5 @@ void AndroidAppBase::UpdateFPS( float fFPS ) app_->activity->vm->DetachCurrentThread(); return; } + +} diff --git a/Common/NativeApp/src/Android/AndroidMain.cpp b/Common/NativeApp/src/Android/AndroidMain.cpp index cc5794c..27fd90c 100644 --- a/Common/NativeApp/src/Android/AndroidMain.cpp +++ b/Common/NativeApp/src/Android/AndroidMain.cpp @@ -31,6 +31,7 @@ #define HELPER_CLASS_NAME "com/android/helper/NDKHelper" //Class name of helper function +using namespace Diligent; // This is the main entry point of a native application that is using // android_native_app_glue. It runs in its own thread, with its own diff --git a/Common/NativeApp/src/IOS/IOSAppBase.cpp b/Common/NativeApp/src/IOS/IOSAppBase.cpp index eadbca5..d4defb8 100644 --- a/Common/NativeApp/src/IOS/IOSAppBase.cpp +++ b/Common/NativeApp/src/IOS/IOSAppBase.cpp @@ -23,6 +23,9 @@ #include "IOSAppBase.h" +namespace Diligent +{ + void IOSAppBase::Update() { // Render the scene @@ -32,3 +35,4 @@ void IOSAppBase::Update() Update(CurrTime, ElapsedTime); } +} diff --git a/Common/NativeApp/src/MacOS/MacOSAppBase.cpp b/Common/NativeApp/src/MacOS/MacOSAppBase.cpp index d4c68a8..f3d0313 100644 --- a/Common/NativeApp/src/MacOS/MacOSAppBase.cpp +++ b/Common/NativeApp/src/MacOS/MacOSAppBase.cpp @@ -23,6 +23,9 @@ #include "MacOSAppBase.h" +namespace Diligent +{ + void MacOSAppBase::Update() { // Render the scene @@ -32,3 +35,4 @@ void MacOSAppBase::Update() Update(CurrTime, ElapsedTime); } +} diff --git a/Common/NativeApp/src/UWP/App.cpp b/Common/NativeApp/src/UWP/App.cpp index 6147e6d..bf5a523 100644 --- a/Common/NativeApp/src/UWP/App.cpp +++ b/Common/NativeApp/src/UWP/App.cpp @@ -37,6 +37,7 @@ #include <ppltasks.h> using namespace SampleApp; +using namespace Diligent; using namespace concurrency; using namespace Windows::ApplicationModel; diff --git a/Common/NativeApp/src/UWP/App.h b/Common/NativeApp/src/UWP/App.h index 1b09441..6b3fea2 100644 --- a/Common/NativeApp/src/UWP/App.h +++ b/Common/NativeApp/src/UWP/App.h @@ -62,7 +62,7 @@ namespace SampleApp private: std::shared_ptr<DX::DeviceResources> GetDeviceResources(); - std::unique_ptr<NativeAppBase> m_Main; + std::unique_ptr<Diligent::NativeAppBase> m_Main; std::shared_ptr<DX::DeviceResources> m_deviceResources; bool m_windowClosed = false; bool m_windowVisible = false; diff --git a/Common/NativeApp/src/UWP/UWPAppBase.cpp b/Common/NativeApp/src/UWP/UWPAppBase.cpp index db1dd11..346b2bd 100644 --- a/Common/NativeApp/src/UWP/UWPAppBase.cpp +++ b/Common/NativeApp/src/UWP/UWPAppBase.cpp @@ -23,6 +23,9 @@ #include "UWPAppBase.h" +namespace Diligent +{ + UWPAppBase::UWPAppBase() { // TODO: Change the timer settings if you want something other than the default variable timestep mode. @@ -43,3 +46,5 @@ void UWPAppBase::Update() Update(CurrTime, ElapsedTime); }); } + +} diff --git a/Common/NativeApp/src/Win32/WinMain.cpp b/Common/NativeApp/src/Win32/WinMain.cpp index 30edd53..f82e2c8 100644 --- a/Common/NativeApp/src/Win32/WinMain.cpp +++ b/Common/NativeApp/src/Win32/WinMain.cpp @@ -29,6 +29,8 @@ #include "StringTools.h" #include "Timer.h" +using namespace Diligent; + std::unique_ptr<NativeAppBase> g_pTheApp; LRESULT CALLBACK MessageProc(HWND, UINT, WPARAM, LPARAM); |
