mirror of https://github.com/axmolengine/axmol.git
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "OpenGLESPage.g.h"
|
|
|
|
namespace cpp_tests
|
|
{
|
|
public ref class OpenGLESPage sealed
|
|
{
|
|
public:
|
|
OpenGLESPage();
|
|
virtual ~OpenGLESPage();
|
|
|
|
internal:
|
|
OpenGLESPage(OpenGLES* openGLES);
|
|
|
|
private:
|
|
void OnPageLoaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
|
|
void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args);
|
|
void OnSwapChainPanelSizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e);
|
|
void GetSwapChainPanelSize(GLsizei* width, GLsizei* height);
|
|
void CreateRenderSurface();
|
|
void DestroyRenderSurface();
|
|
void RecoverFromLostDevice();
|
|
void StartRenderLoop();
|
|
void StopRenderLoop();
|
|
|
|
OpenGLES* mOpenGLES;
|
|
|
|
Windows::Foundation::Size mSwapChainPanelSize;
|
|
Concurrency::critical_section mSwapChainPanelSizeCriticalSection;
|
|
|
|
Windows::Foundation::Size mCustomRenderSurfaceSize;
|
|
bool mUseCustomRenderSurfaceSize;
|
|
|
|
EGLSurface mRenderSurface; // This surface is associated with a swapChainPanel on the page
|
|
Concurrency::critical_section mRenderSurfaceCriticalSection;
|
|
Windows::Foundation::IAsyncAction^ mRenderLoopWorker;
|
|
};
|
|
}
|