Merge pull request #7657 from huangshiwu/v3_wp8glviewhookpr

V3 wp8glviewhookpr
This commit is contained in:
minggo 2014-08-05 13:51:15 +08:00
commit 1bad9ddbc2
15 changed files with 116 additions and 110 deletions

View File

@ -555,7 +555,7 @@ void RenderTexture::onBegin()
#if CC_TARGET_PLATFORM == CC_PLATFORM_WP8
Mat4 modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION);
modifiedProjection = CCEGLView::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection;
modifiedProjection = GLViewImpl::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection;
director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION,modifiedProjection);
#endif
@ -574,7 +574,7 @@ void RenderTexture::onBegin()
{
#if CC_TARGET_PLATFORM == CC_PLATFORM_WP8
Mat4 modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION);
modifiedProjection = CCEGLView::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection;
modifiedProjection = GLViewImpl::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection;
director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, modifiedProjection);
#endif
}

View File

@ -316,7 +316,7 @@
<ClCompile Include="..\physics\chipmunk\CCPhysicsShapeInfo_chipmunk.cpp" />
<ClCompile Include="..\physics\chipmunk\CCPhysicsWorldInfo_chipmunk.cpp" />
<ClCompile Include="..\platform\CCFileUtils.cpp" />
<ClCompile Include="..\platform\CCGLViewProtocol.cpp" />
<ClCompile Include="..\platform\CCGLView.cpp" />
<ClCompile Include="..\platform\CCImage.cpp" />
<ClCompile Include="..\platform\CCSAXParser.cpp" />
<ClCompile Include="..\platform\CCThread.cpp" />
@ -332,7 +332,7 @@
<ClCompile Include="..\platform\winrt\inet_ntop_winrt.cpp" />
<ClCompile Include="..\platform\winrt\InputEvent.cpp" />
<ClCompile Include="..\platform\winrt\sha1.cpp" />
<ClCompile Include="..\platform\wp8\CCGLView.cpp" />
<ClCompile Include="..\platform\wp8\CCGLViewImpl.cpp" />
<ClCompile Include="..\platform\wp8\Direct3DBase.cpp" />
<ClCompile Include="..\platform\wp8\DirectXBase.cpp" />
<ClCompile Include="..\platform\wp8\pch.cpp">
@ -534,7 +534,7 @@
<ClInclude Include="..\platform\CCCommon.h" />
<ClInclude Include="..\platform\CCDevice.h" />
<ClInclude Include="..\platform\CCFileUtils.h" />
<ClInclude Include="..\platform\CCGLViewProtocol.h" />
<ClInclude Include="..\platform\CCGLView.h" />
<ClInclude Include="..\platform\CCImage.h" />
<ClInclude Include="..\platform\CCSAXParser.h" />
<ClInclude Include="..\platform\CCThread.h" />
@ -553,7 +553,7 @@
<ClInclude Include="..\platform\winrt\InputEvent.h" />
<ClInclude Include="..\platform\winrt\InputEventTypes.h" />
<ClInclude Include="..\platform\winrt\sha1.h" />
<ClInclude Include="..\platform\wp8\CCGLView.h" />
<ClInclude Include="..\platform\wp8\CCGLViewImpl.h" />
<ClInclude Include="..\platform\wp8\Direct3DBase.h" />
<ClInclude Include="..\platform\wp8\DirectXBase.h" />
<ClInclude Include="..\platform\wp8\pch.h" />

View File

@ -514,9 +514,6 @@
<ClCompile Include="..\platform\CCFileUtils.cpp">
<Filter>platform</Filter>
</ClCompile>
<ClCompile Include="..\platform\CCGLViewProtocol.cpp">
<Filter>platform</Filter>
</ClCompile>
<ClCompile Include="..\platform\CCImage.cpp">
<Filter>platform</Filter>
</ClCompile>
@ -526,9 +523,6 @@
<ClCompile Include="..\platform\CCThread.cpp">
<Filter>platform</Filter>
</ClCompile>
<ClCompile Include="..\platform\wp8\CCGLView.cpp">
<Filter>platform\wp8</Filter>
</ClCompile>
<ClCompile Include="..\platform\wp8\Direct3DBase.cpp">
<Filter>platform\wp8</Filter>
</ClCompile>
@ -614,6 +608,12 @@
<ClCompile Include="CCFastTMXTiledMap.cpp">
<Filter>2d</Filter>
</ClCompile>
<ClCompile Include="..\platform\CCGLView.cpp">
<Filter>platform</Filter>
</ClCompile>
<ClCompile Include="..\platform\wp8\CCGLViewImpl.cpp">
<Filter>platform\wp8</Filter>
</ClCompile>
<ClCompile Include="CCProtectedNode.cpp">
<Filter>2d</Filter>
</ClCompile>
@ -1141,9 +1141,6 @@
<ClInclude Include="..\platform\CCFileUtils.h">
<Filter>platform</Filter>
</ClInclude>
<ClInclude Include="..\platform\CCGLViewProtocol.h">
<Filter>platform</Filter>
</ClInclude>
<ClInclude Include="..\platform\CCImage.h">
<Filter>platform</Filter>
</ClInclude>
@ -1156,9 +1153,6 @@
<ClInclude Include="..\platform\wp8\DirectXBase.h">
<Filter>platform\wp8</Filter>
</ClInclude>
<ClInclude Include="..\platform\wp8\CCGLView.h">
<Filter>platform\wp8</Filter>
</ClInclude>
<ClInclude Include="..\platform\wp8\Direct3DBase.h">
<Filter>platform\wp8</Filter>
</ClInclude>
@ -1259,6 +1253,12 @@
<ClInclude Include="CCFastTMXTiledMap.h">
<Filter>2d</Filter>
</ClInclude>
<ClInclude Include="..\platform\CCGLView.h">
<Filter>platform</Filter>
</ClInclude>
<ClInclude Include="..\platform\wp8\CCGLViewImpl.h">
<Filter>platform\wp8</Filter>
</ClInclude>
<ClInclude Include="CCProtectedNode.h">
<Filter>2d</Filter>
</ClInclude>

View File

@ -61,6 +61,7 @@ THE SOFTWARE.
#include "base/CCNS.h"
#include "math/CCMath.h"
#include "CCApplication.h"
#include "CCGLViewImpl.h"
/**
Position of the FPS

View File

@ -51,7 +51,7 @@ NS_CC_BEGIN
/* Forward declarations. */
class LabelAtlas;
class Scene;
class GLView;
//class GLView;
class DirectorDelegate;
class Node;
class Scheduler;

View File

@ -131,6 +131,11 @@ public:
virtual void* getEAGLView() const { return nullptr; }
#endif /* (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) */
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)
virtual Size getRenerTargetSize() const = 0;
virtual const Mat4& getOrientationMatrix() const = 0;
virtual const Mat4& getReverseOrientationMatrix() const = 0;
#endif
/**
* Get the visible area size of opengl viewport.
*/

View File

@ -26,7 +26,7 @@ THE SOFTWARE.
#if CC_TARGET_PLATFORM == CC_PLATFORM_WINRT
#include "platform/winrt/CCGLView.h"
#else
#include "platform/wp8/CCGLView.h"
#include "platform/wp8/CCGLViewImpl.h"
#endif
#include "base/CCDirector.h"
#include <algorithm>
@ -75,7 +75,7 @@ int Application::run()
return 0;
}
GLView::sharedOpenGLView()->Run();
GLViewImpl::sharedOpenGLView()->Run();
return 0;
}

View File

@ -27,7 +27,7 @@ THE SOFTWARE.
#include "CCWinRTUtils.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)
#include "platform/wp8/CCGLView.h"
#include "platform/wp8/CCGLViewImpl.h"
#endif
#if defined(VLD_DEBUG_MEMORY)
@ -50,7 +50,7 @@ void MessageBox(const char * pszMsg, const char * pszTitle)
// Show the message dialog
msg->ShowAsync();
#else
GLView::sharedOpenGLView()->ShowMessageBox(title, message);
GLViewImpl::sharedOpenGLView()->ShowMessageBox(title, message);
#endif
}

View File

@ -84,7 +84,7 @@ void Device::setAccelerometerEnabled(bool isEnabled)
acc.timestamp = 0;
#if CC_TARGET_PLATFORM == CC_PLATFORM_WP8
auto orientation = GLView::sharedOpenGLView()->getDeviceOrientation();
auto orientation = GLViewImpl::sharedOpenGLView()->getDeviceOrientation();
switch (orientation)
{
@ -115,7 +115,7 @@ void Device::setAccelerometerEnabled(bool isEnabled)
}
#endif
std::shared_ptr<cocos2d::InputEvent> event(new AccelerometerEvent(acc));
cocos2d::GLView::sharedOpenGLView()->QueueEvent(event);
cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(event);
});
}
else

View File

@ -57,13 +57,13 @@ void PointerEvent::execute()
switch(m_type)
{
case PointerEventType::PointerPressed:
GLView::sharedOpenGLView()->OnPointerPressed(m_args.Get());
GLViewImpl::sharedOpenGLView()->OnPointerPressed(m_args.Get());
break;
case PointerEventType::PointerMoved:
GLView::sharedOpenGLView()->OnPointerMoved(m_args.Get());
GLViewImpl::sharedOpenGLView()->OnPointerMoved(m_args.Get());
break;
case PointerEventType::PointerReleased:
GLView::sharedOpenGLView()->OnPointerReleased(m_args.Get());
GLViewImpl::sharedOpenGLView()->OnPointerReleased(m_args.Get());
break;
}
}
@ -119,7 +119,7 @@ BackButtonEvent::BackButtonEvent()
void BackButtonEvent::execute()
{
GLView::sharedOpenGLView()->OnBackKeyPress();
GLViewImpl::sharedOpenGLView()->OnBackKeyPress();
}

View File

@ -53,7 +53,7 @@ void Cocos2dRenderer::CreateGLResources()
if(!mInitialized)
{
mInitialized = true;
GLView* glview = GLView::create("Test Cpp");
GLViewImpl* glview = GLViewImpl::create("Test Cpp");
glview->Create(m_eglDisplay, m_eglContext, m_eglSurface, m_renderTargetSize.Width, m_renderTargetSize.Height,m_orientation);
director->setOpenGLView(glview);
CCApplication::getInstance()->run();
@ -102,14 +102,14 @@ IAsyncAction^ Cocos2dRenderer::OnSuspending()
void Cocos2dRenderer::OnUpdateDevice()
{
GLView* glview = GLView::sharedOpenGLView();
glview->UpdateDevice(m_eglDisplay, m_eglContext, m_eglSurface);
//GLView* glview = GLView::sharedOpenGLView();
GLViewImpl::sharedOpenGLView()->UpdateDevice(m_eglDisplay, m_eglContext, m_eglSurface);
}
void Cocos2dRenderer::OnOrientationChanged(Windows::Graphics::Display::DisplayOrientations orientation)
{
DirectXBase::OnOrientationChanged(orientation);
GLView::sharedOpenGLView()->UpdateOrientation(orientation);
GLViewImpl::sharedOpenGLView()->UpdateOrientation(orientation);
}
// return true if eglSwapBuffers was called by OnRender()
@ -117,8 +117,8 @@ bool Cocos2dRenderer::OnRender()
{
if(m_loadingComplete)
{
GLView* glview = GLView::sharedOpenGLView();
glview->Render();
//GLView* glview = GLView::sharedOpenGLView();
GLViewImpl::sharedOpenGLView()->Render();
return true; // eglSwapBuffers was called by glview->Render();
}
return false;
@ -154,7 +154,7 @@ void Cocos2dRenderer::OnCocos2dKeyEvent(Cocos2dKeyEvent event)
void Cocos2dRenderer::SetXamlEventDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEventDelegate^ delegate)
{
m_delegate = delegate;
GLView* eglView = GLView::sharedOpenGLView();
GLViewImpl* eglView = GLViewImpl::sharedOpenGLView();
if(eglView)
{
eglView->SetXamlEventDelegate(delegate);
@ -164,7 +164,7 @@ void Cocos2dRenderer::SetXamlEventDelegate(PhoneDirect3DXamlAppComponent::Cocos2
void Cocos2dRenderer::SetXamlMessageBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dMessageBoxDelegate^ delegate)
{
m_messageBoxDelegate = delegate;
GLView* eglView = GLView::sharedOpenGLView();
GLViewImpl* eglView = GLViewImpl::sharedOpenGLView();
if(eglView)
{
eglView->SetXamlMessageBoxDelegate(delegate);
@ -174,7 +174,7 @@ void Cocos2dRenderer::SetXamlMessageBoxDelegate(PhoneDirect3DXamlAppComponent::C
void Cocos2dRenderer::SetXamlEditBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEditBoxDelegate^ delegate)
{
m_editBoxDelegate = delegate;
GLView* eglView = GLView::sharedOpenGLView();
GLViewImpl* eglView = GLViewImpl::sharedOpenGLView();
if(eglView)
{
eglView->SetXamlEditBoxDelegate(delegate);

View File

@ -90,43 +90,43 @@ IAsyncAction^ Direct3DInterop::OnSuspending()
void Direct3DInterop::OnBackKeyPress()
{
cocos2d::GLView::sharedOpenGLView()->QueueBackKeyPress();
cocos2d::GLViewImpl::sharedOpenGLView()->QueueBackKeyPress();
}
// Pointer Event Handlers. We need to queue up pointer events to pass them to the drawing thread
void Direct3DInterop::OnPointerPressed(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args)
{
cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerPressed, args);
cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerPressed, args);
}
void Direct3DInterop::OnPointerMoved(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args)
{
cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerMoved, args);
cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerMoved, args);
}
void Direct3DInterop::OnPointerReleased(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args)
{
cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerReleased, args);
cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerReleased, args);
}
void Direct3DInterop::OnCocos2dKeyEvent(Cocos2dKeyEvent key)
{
std::shared_ptr<cocos2d::InputEvent> e(new cocos2d::KeyboardEvent(key));
cocos2d::GLView::sharedOpenGLView()->QueueEvent(e);
cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e);
}
void Direct3DInterop::OnCocos2dKeyEvent(Cocos2dKeyEvent key, Platform::String^ text)
{
std::shared_ptr<cocos2d::InputEvent> e(new cocos2d::KeyboardEvent(key,text));
cocos2d::GLView::sharedOpenGLView()->QueueEvent(e);
cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e);
}
void Direct3DInterop::OnCocos2dEditboxEvent(Object^ sender, Platform::String^ args, Windows::Foundation::EventHandler<Platform::String^>^ handler)
{
std::shared_ptr<cocos2d::InputEvent> e(new EditBoxEvent(sender, args, handler));
cocos2d::GLView::sharedOpenGLView()->QueueEvent(e);
cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e);
}
@ -150,7 +150,7 @@ HRESULT Direct3DInterop::Draw(_In_ ID3D11Device1* device, _In_ ID3D11DeviceConte
}
#endif // 0
cocos2d::GLView::sharedOpenGLView()->ProcessEvents();
cocos2d::GLViewImpl::sharedOpenGLView()->ProcessEvents();
m_renderer->Render();
RequestAdditionalFrame();
return S_OK;

View File

@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#include "CCGLView.h"
#include "CCGLViewImpl.h"
#include "deprecated/CCSet.h"
#include "base/ccMacros.h"
#include "base/CCDirector.h"
@ -54,11 +54,11 @@ using namespace PhoneDirect3DXamlAppComponent;
NS_CC_BEGIN
static GLView* s_pEglView = NULL;
static GLViewImpl* s_pEglView = NULL;
GLView* GLView::create(const std::string& viewName)
GLViewImpl* GLViewImpl::create(const std::string& viewName)
{
auto ret = new GLView;
auto ret = new GLViewImpl;
if(ret && ret->initWithFullScreen(viewName))
{
ret->autorelease();
@ -69,7 +69,7 @@ GLView* GLView::create(const std::string& viewName)
}
GLView::GLView()
GLViewImpl::GLViewImpl()
: _frameZoomFactor(1.0f)
, _supportTouch(true)
, _isRetina(false)
@ -91,7 +91,7 @@ GLView::GLView()
_viewName = "cocos2dx";
}
GLView::~GLView()
GLViewImpl::~GLViewImpl()
{
CC_ASSERT(this == s_pEglView);
s_pEglView = NULL;
@ -99,7 +99,7 @@ GLView::~GLView()
// TODO: cleanup
}
bool GLView::initWithRect(const std::string& viewName, Rect rect, float frameZoomFactor)
bool GLViewImpl::initWithRect(const std::string& viewName, Rect rect, float frameZoomFactor)
{
setViewName(viewName);
setFrameSize(rect.size.width, rect.size.height);
@ -107,13 +107,13 @@ bool GLView::initWithRect(const std::string& viewName, Rect rect, float frameZoo
return true;
}
bool GLView::initWithFullScreen(const std::string& viewName)
bool GLViewImpl::initWithFullScreen(const std::string& viewName)
{
return initWithRect(viewName, Rect(0, 0, m_width, m_height), 1.0f);
}
bool GLView::Create(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface, float width, float height, DisplayOrientations orientation)
bool GLViewImpl::Create(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface, float width, float height, DisplayOrientations orientation)
{
m_orientation = orientation;
m_eglDisplay = eglDisplay;
@ -123,7 +123,7 @@ bool GLView::Create(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface egl
return true;
}
void GLView::UpdateDevice(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface)
void GLViewImpl::UpdateDevice(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface)
{
m_eglDisplay = eglDisplay;
m_eglContext = eglContext;
@ -132,7 +132,7 @@ void GLView::UpdateDevice(EGLDisplay eglDisplay, EGLContext eglContext, EGLSurfa
//UpdateForWindowSizeChange(width, height);
}
void GLView::setIMEKeyboardState(bool bOpen)
void GLViewImpl::setIMEKeyboardState(bool bOpen)
{
if(m_delegate)
{
@ -147,34 +147,34 @@ void GLView::setIMEKeyboardState(bool bOpen)
}
}
void GLView::swapBuffers()
void GLViewImpl::swapBuffers()
{
eglSwapBuffers(m_eglDisplay, m_eglSurface);
}
bool GLView::isOpenGLReady()
bool GLViewImpl::isOpenGLReady()
{
// TODO: need to revisit this
return (m_eglDisplay && m_orientation != DisplayOrientations::None);
}
void GLView::end()
void GLViewImpl::end()
{
m_windowClosed = true;
}
void GLView::OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args)
void GLViewImpl::OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args)
{
}
void GLView::OnResuming(Platform::Object^ sender, Platform::Object^ args)
void GLViewImpl::OnResuming(Platform::Object^ sender, Platform::Object^ args)
{
}
// user pressed the Back Key on the phone
void GLView::OnBackKeyPress()
void GLViewImpl::OnBackKeyPress()
{
if(m_delegate)
{
@ -182,12 +182,12 @@ void GLView::OnBackKeyPress()
}
}
void GLView::OnPointerPressed(CoreWindow^ sender, PointerEventArgs^ args)
void GLViewImpl::OnPointerPressed(CoreWindow^ sender, PointerEventArgs^ args)
{
OnPointerPressed(args);
}
void GLView::OnPointerPressed(PointerEventArgs^ args)
void GLViewImpl::OnPointerPressed(PointerEventArgs^ args)
{
int id = args->CurrentPoint->PointerId;
Vec2 pt = GetPoint(args);
@ -195,7 +195,7 @@ void GLView::OnPointerPressed(PointerEventArgs^ args)
}
void GLView::OnPointerWheelChanged(CoreWindow^ sender, PointerEventArgs^ args)
void GLViewImpl::OnPointerWheelChanged(CoreWindow^ sender, PointerEventArgs^ args)
{
float direction = (float)args->CurrentPoint->Properties->MouseWheelDelta;
int id = 0;
@ -206,22 +206,22 @@ void GLView::OnPointerWheelChanged(CoreWindow^ sender, PointerEventArgs^ args)
handleTouchesEnd(1, &id, &p.x, &p.y);
}
void GLView::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args)
void GLViewImpl::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args)
{
m_windowVisible = args->Visible;
}
void GLView::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args)
void GLViewImpl::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args)
{
m_windowClosed = true;
}
void GLView::OnPointerMoved(CoreWindow^ sender, PointerEventArgs^ args)
void GLViewImpl::OnPointerMoved(CoreWindow^ sender, PointerEventArgs^ args)
{
OnPointerMoved(args);
}
void GLView::OnPointerMoved( PointerEventArgs^ args)
void GLViewImpl::OnPointerMoved( PointerEventArgs^ args)
{
auto currentPoint = args->CurrentPoint;
if (currentPoint->IsInContact)
@ -241,12 +241,12 @@ void GLView::OnPointerMoved( PointerEventArgs^ args)
}
}
void GLView::OnPointerReleased(CoreWindow^ sender, PointerEventArgs^ args)
void GLViewImpl::OnPointerReleased(CoreWindow^ sender, PointerEventArgs^ args)
{
OnPointerReleased(args);
}
void GLView::OnPointerReleased(PointerEventArgs^ args)
void GLViewImpl::OnPointerReleased(PointerEventArgs^ args)
{
int id = args->CurrentPoint->PointerId;
Vec2 pt = GetPoint(args);
@ -255,46 +255,46 @@ void GLView::OnPointerReleased(PointerEventArgs^ args)
void GLView::resize(int width, int height)
void GLViewImpl::resize(int width, int height)
{
}
void GLView::setFrameZoomFactor(float fZoomFactor)
void GLViewImpl::setFrameZoomFactor(float fZoomFactor)
{
_frameZoomFactor = fZoomFactor;
Director::getInstance()->setProjection(Director::getInstance()->getProjection());
//resize(m_obScreenSize.width * fZoomFactor, m_obScreenSize.height * fZoomFactor);
}
float GLView::getFrameZoomFactor()
float GLViewImpl::getFrameZoomFactor()
{
return _frameZoomFactor;
}
void GLView::centerWindow()
void GLViewImpl::centerWindow()
{
// not implemented in WinRT. Window is always full screen
}
GLView* GLView::sharedOpenGLView()
GLViewImpl* GLViewImpl::sharedOpenGLView()
{
return s_pEglView;
}
int GLView::Run()
int GLViewImpl::Run()
{
// XAML version does not have a run loop
m_running = true;
return 0;
};
void GLView::Render()
void GLViewImpl::Render()
{
OnRendering();
}
void GLView::OnRendering()
void GLViewImpl::OnRendering()
{
if(m_running && m_initialized)
{
@ -304,7 +304,7 @@ void GLView::OnRendering()
bool GLView::ShowMessageBox(Platform::String^ title, Platform::String^ message)
bool GLViewImpl::ShowMessageBox(Platform::String^ title, Platform::String^ message)
{
if(m_messageBoxDelegate)
{
@ -314,7 +314,7 @@ bool GLView::ShowMessageBox(Platform::String^ title, Platform::String^ message)
return false;
}
bool GLView::OpenXamlEditBox(Platform::String^ strPlaceHolder, Platform::String^ strText, int maxLength, int inputMode, int inputFlag, Windows::Foundation::EventHandler<Platform::String^>^ receiveHandler)
bool GLViewImpl::OpenXamlEditBox(Platform::String^ strPlaceHolder, Platform::String^ strText, int maxLength, int inputMode, int inputFlag, Windows::Foundation::EventHandler<Platform::String^>^ receiveHandler)
{
if(m_editBoxDelegate)
{
@ -327,7 +327,7 @@ bool GLView::OpenXamlEditBox(Platform::String^ strPlaceHolder, Platform::String^
// called by orientation change from WP8 XAML
void GLView::UpdateOrientation(DisplayOrientations orientation)
void GLViewImpl::UpdateOrientation(DisplayOrientations orientation)
{
if(m_orientation != orientation)
{
@ -337,7 +337,7 @@ void GLView::UpdateOrientation(DisplayOrientations orientation)
}
// called by size change from WP8 XAML
void GLView::UpdateForWindowSizeChange(float width, float height)
void GLViewImpl::UpdateForWindowSizeChange(float width, float height)
{
m_width = width;
m_height = height;
@ -361,7 +361,7 @@ void GLViewEventHandler::OnGLFWWindowSizeFunCallback(GLFWwindow *windows, int wi
}
#endif
void GLView::UpdateWindowSize()
void GLViewImpl::UpdateWindowSize()
{
float width, height;
@ -382,7 +382,7 @@ void GLView::UpdateWindowSize()
if(!m_initialized)
{
m_initialized = true;
GLViewProtocol::setFrameSize(width, height);
GLView::setFrameSize(width, height);
}
auto view = Director::getInstance()->getOpenGLView();
@ -397,13 +397,13 @@ void GLView::UpdateWindowSize()
}
}
const Mat4& GLView::getOrientationMatrix() const
const Mat4& GLViewImpl::getOrientationMatrix() const
{
return m_orientationMatrix;
};
void GLView::UpdateOrientationMatrix()
void GLViewImpl::UpdateOrientationMatrix()
{
kmMat4Identity(&m_orientationMatrix);
kmMat4Identity(&m_reverseOrientationMatrix);
@ -429,7 +429,7 @@ void GLView::UpdateOrientationMatrix()
}
}
cocos2d::Vec2 GLView::TransformToOrientation(Windows::Foundation::Point p)
cocos2d::Vec2 GLViewImpl::TransformToOrientation(Windows::Foundation::Point p)
{
cocos2d::Vec2 returnValue;
@ -453,7 +453,7 @@ cocos2d::Vec2 GLView::TransformToOrientation(Windows::Foundation::Point p)
break;
}
float zoomFactor = GLView::sharedOpenGLView()->getFrameZoomFactor();
float zoomFactor = GLViewImpl::sharedOpenGLView()->getFrameZoomFactor();
if(zoomFactor > 0.0f) {
returnValue.x /= zoomFactor;
returnValue.y /= zoomFactor;
@ -464,14 +464,14 @@ cocos2d::Vec2 GLView::TransformToOrientation(Windows::Foundation::Point p)
return returnValue;
}
Vec2 GLView::GetPoint(PointerEventArgs^ args) {
Vec2 GLViewImpl::GetPoint(PointerEventArgs^ args) {
return TransformToOrientation(args->CurrentPoint->Position);
}
void GLView::setViewPortInPoints(float x , float y , float w , float h)
void GLViewImpl::setViewPortInPoints(float x , float y , float w , float h)
{
switch(m_orientation)
{
@ -491,7 +491,7 @@ void GLView::setViewPortInPoints(float x , float y , float w , float h)
}
}
void GLView::setScissorInPoints(float x , float y , float w , float h)
void GLViewImpl::setScissorInPoints(float x , float y , float w , float h)
{
switch(m_orientation)
{
@ -511,27 +511,27 @@ void GLView::setScissorInPoints(float x , float y , float w , float h)
}
}
void GLView::QueueBackKeyPress()
void GLViewImpl::QueueBackKeyPress()
{
std::lock_guard<std::mutex> guard(mMutex);
std::shared_ptr<BackButtonEvent> e(new BackButtonEvent());
mInputEvents.push(e);
}
void GLView::QueuePointerEvent(PointerEventType type, PointerEventArgs^ args)
void GLViewImpl::QueuePointerEvent(PointerEventType type, PointerEventArgs^ args)
{
std::lock_guard<std::mutex> guard(mMutex);
std::shared_ptr<PointerEvent> e(new PointerEvent(type, args));
mInputEvents.push(e);
}
void GLView::QueueEvent(std::shared_ptr<InputEvent>& event)
void GLViewImpl::QueueEvent(std::shared_ptr<InputEvent>& event)
{
std::lock_guard<std::mutex> guard(mMutex);
mInputEvents.push(event);
}
void GLView::ProcessEvents()
void GLViewImpl::ProcessEvents()
{
std::lock_guard<std::mutex> guard(mMutex);

View File

@ -23,12 +23,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#ifndef __CC_EGLVIEW_WINRT_H__
#define __CC_EGLVIEW_WINRT_H__
#ifndef __CC_EGLVIEWIMPL_WINRT_H__
#define __CC_EGLVIEWIMPL_WINRT_H__
#include "CCStdC.h"
#include "platform/CCCommon.h"
#include "platform/CCGLViewProtocol.h"
#include "platform/CCGLView.h"
#include "InputEvent.h"
@ -47,13 +47,13 @@ THE SOFTWARE.
NS_CC_BEGIN
class GLView;
class GLViewImpl;
class CC_DLL GLView : public Ref, public GLViewProtocol
class CC_DLL GLViewImpl : public GLView
{
public:
static GLView* create(const std::string& viewName);
static GLViewImpl* create(const std::string& viewName);
/* override functions */
virtual bool isOpenGLReady();
@ -91,7 +91,7 @@ public:
void QueueBackKeyPress();
void QueuePointerEvent(PointerEventType type, Windows::UI::Core::PointerEventArgs^ args);
void GLView::QueueEvent(std::shared_ptr<InputEvent>& event);
void GLViewImpl::QueueEvent(std::shared_ptr<InputEvent>& event);
void SetXamlEventDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEventDelegate^ delegate) { m_delegate = delegate; };
void SetXamlMessageBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dMessageBoxDelegate^ delegate) { m_messageBoxDelegate = delegate; };
@ -115,7 +115,7 @@ public:
/**
@brief get the shared main open gl window
*/
static GLView* sharedOpenGLView();
static GLViewImpl* sharedOpenGLView();
void ProcessEvents();
void AddPointerEvent(PointerEventType type, Windows::UI::Core::PointerEventArgs^ args);
@ -123,8 +123,8 @@ public:
protected:
GLView();
virtual ~GLView();
GLViewImpl();
virtual ~GLViewImpl();
bool initWithRect(const std::string& viewName, Rect rect, float frameZoomFactor);
bool initWithFullScreen(const std::string& viewName);
@ -142,7 +142,7 @@ protected:
private:
CC_DISALLOW_COPY_AND_ASSIGN(GLView);
CC_DISALLOW_COPY_AND_ASSIGN(GLViewImpl);
void OnRendering();
void UpdateWindowSize();
@ -187,4 +187,4 @@ private:
NS_CC_END
#endif // end of __CC_EGLVIEW_WINRT_H__
#endif // end of __CC_EGLVIEWIMPL_WINRT_H__

View File

@ -89,7 +89,7 @@ void CCEditBoxImplWp8::openKeyboard()
}
});
GLView::sharedOpenGLView()->OpenXamlEditBox(stringToPlatformString(placeHolder), stringToPlatformString(getText()), m_nMaxLength, (int)m_eEditBoxInputMode, (int)m_eEditBoxInputFlag, receiveHandler);
GLViewImpl::sharedOpenGLView()->OpenXamlEditBox(stringToPlatformString(placeHolder), stringToPlatformString(getText()), m_nMaxLength, (int)m_eEditBoxInputMode, (int)m_eEditBoxInputFlag, receiveHandler);
}
bool CCEditBoxImplWp8::initWithSize( const Size& size )