mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-05 18:00:41 +01:00
Compile fixed for OSX.
Thanks @Maksym Hamarnyk for sending those. Note: More patches are needed and I can only apply, not test, this. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6123 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
01a4f5d359
commit
49d7850d1e
|
@ -91,7 +91,7 @@ namespace irr
|
|||
|
||||
//! Get the position of this window on screen
|
||||
virtual core::position2di getWindowPosition() _IRR_OVERRIDE_;
|
||||
|
||||
|
||||
//! Activate any joysticks, and generate events for them.
|
||||
virtual bool activateJoysticks(core::array<SJoystickInfo> & joystickInfo) _IRR_OVERRIDE_;
|
||||
|
||||
|
@ -176,13 +176,13 @@ namespace irr
|
|||
}
|
||||
|
||||
//! Returns the current position of the mouse cursor.
|
||||
virtual const core::position2d<s32>& getPosition()
|
||||
virtual const core::position2d<s32>& getPosition(bool updateCursor) _IRR_OVERRIDE_
|
||||
{
|
||||
return CursorPos;
|
||||
}
|
||||
|
||||
//! Returns the current position of the mouse cursor.
|
||||
virtual core::position2d<f32> getRelativePosition()
|
||||
virtual core::position2d<f32> getRelativePosition(bool updateCursor) _IRR_OVERRIDE_
|
||||
{
|
||||
if (!UseReferenceRect)
|
||||
{
|
||||
|
|
|
@ -1222,7 +1222,7 @@ void CIrrDeviceMacOSX::storeMouseLocation()
|
|||
x = (int)point.x;
|
||||
y = (int)point.y;
|
||||
|
||||
const core::position2di& curr = ((CCursorControl *)CursorControl)->getPosition();
|
||||
const core::position2di& curr = ((CCursorControl *)CursorControl)->getPosition(true);
|
||||
if (curr.X != x || curr.Y != y)
|
||||
{
|
||||
// In fullscreen mode, events are not sent regularly so rely on polling
|
||||
|
@ -1262,7 +1262,7 @@ void CIrrDeviceMacOSX::setMouseLocation(int x,int y)
|
|||
c.y = p.y;
|
||||
|
||||
#ifdef __MAC_10_6
|
||||
CGEventRef ev = CGEventCreateMouseEvent(0, kCGEventMouseMoved, c, 0);
|
||||
CGEventRef ev = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, c, static_cast<CGMouseButton>(kCGEventMouseMoved));
|
||||
CGEventPost(kCGHIDEventTap, ev);
|
||||
CFRelease(ev);
|
||||
#else
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace video
|
|||
const SExposedVideoData& getContext() const;
|
||||
|
||||
//! Change render context, disable old and activate new defined by videoData
|
||||
bool activateContext(const SExposedVideoData& videoData);
|
||||
bool activateContext(const SExposedVideoData& videoData, bool restorePrimaryOnZero) _IRR_OVERRIDE_;
|
||||
|
||||
// Swap buffers.
|
||||
bool swapBuffers();
|
||||
|
@ -61,7 +61,7 @@ namespace video
|
|||
SIrrlichtCreationParameters Params;
|
||||
SExposedVideoData PrimaryContext;
|
||||
SExposedVideoData CurrentContext;
|
||||
|
||||
|
||||
NSOpenGLPixelFormat* PixelFormat;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -51,12 +51,12 @@ bool CNSOGLManager::generateSurface()
|
|||
NSOpenGLPFANoRecovery,
|
||||
NSOpenGLPFAAccelerated,
|
||||
NSOpenGLPFADoubleBuffer,
|
||||
NSOpenGLPFADepthSize, depthSize,
|
||||
NSOpenGLPFADepthSize, static_cast<NSOpenGLPixelFormatAttribute>(depthSize),
|
||||
NSOpenGLPFAColorSize, Params.Bits,
|
||||
NSOpenGLPFAAlphaSize, alphaSize,
|
||||
NSOpenGLPFAAlphaSize, static_cast<NSOpenGLPixelFormatAttribute>(alphaSize),
|
||||
NSOpenGLPFASampleBuffers, 1,
|
||||
NSOpenGLPFASamples, Params.AntiAlias,
|
||||
NSOpenGLPFAStencilSize, Params.Stencilbuffer ? 1 : 0,
|
||||
NSOpenGLPFAStencilSize, static_cast<NSOpenGLPixelFormatAttribute>(Params.Stencilbuffer ? 1 : 0),
|
||||
//NSOpenGLPFAFullScreen,
|
||||
0
|
||||
};
|
||||
|
@ -188,8 +188,9 @@ const SExposedVideoData& CNSOGLManager::getContext() const
|
|||
return CurrentContext;
|
||||
}
|
||||
|
||||
bool CNSOGLManager::activateContext(const SExposedVideoData& videoData)
|
||||
bool CNSOGLManager::activateContext(const SExposedVideoData& videoData, bool restorePrimaryOnZero)
|
||||
{
|
||||
//TODO: handle restorePrimaryOnZero
|
||||
if (videoData.OpenGLOSX.Context)
|
||||
{
|
||||
if ((NSOpenGLContext*)videoData.OpenGLOSX.Context != [NSOpenGLContext currentContext])
|
||||
|
|
Loading…
Reference in New Issue
Block a user