(field_pic_flag: 1 would indicate a normal interlaced frame).
*/
-// missing in 10.4/10.5 SDKs.
-#if (MAC_OS_X_VERSION_MAX_ALLOWED < 1060)
+// missing in 10.4 SDK
+#if (MAC_OS_X_VERSION_MAX_ALLOWED < 1050)
#include "dlfcn.h"
enum {
// component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 .
#define _off_t off_t
#if defined(__APPLE__)
-#include <sched.h>
-#include <AvailabilityMacros.h>
-typedef int64_t off64_t;
-typedef off_t __off_t;
-typedef off64_t __off64_t;
-typedef fpos_t fpos64_t;
-#if (MAC_OS_X_VERSION_MAX_ALLOWED < 1050)
-#define __stat64 stat
-#define stat64 stat
-#define statfs64 statfs
-#define fstat64 fstat
-#elif defined(__arm__)
-#define __stat64 stat
-#define stat64 stat
-#define statfs64 statfs
-#define fstat64 fstat
+ #include <sched.h>
+ #include <AvailabilityMacros.h>
+ typedef int64_t off64_t;
+ typedef off_t __off_t;
+ typedef off64_t __off64_t;
+ typedef fpos_t fpos64_t;
+ #define __stat64 stat
+ #define stat64 stat
+ #if (MAC_OS_X_VERSION_MAX_ALLOWED < 1050)
+ #define statfs64 statfs
+ #endif
+ #define fstat64 fstat
#else
-#define fstat64 fstat
-#endif
-#else
-#define __stat64 stat64
+ #define __stat64 stat64
#endif
struct _stati64 {
#include <string>
#include "utils/StdString.h"
-#if !defined(__arm__)
-#include <Carbon/Carbon.h>
-#endif
#include "AutoPool.h"
#ifdef __cplusplus
const char *Cocoa_Paste() ;
-#if !defined(__arm__)
- // helper from QA 1134
- // http://developer.apple.com/mac/library/qa/qa2001/qa1134.html
- OSStatus SendAppleEventToSystemProcess(AEEventID EventToSend);
-#endif
-
void Cocoa_ResetAudioDevices();
#ifdef __cplusplus
return NULL;
}
-OSStatus SendAppleEventToSystemProcess(AEEventID EventToSend)
-{
- AEAddressDesc targetDesc;
- static const ProcessSerialNumber kPSNOfSystemProcess = { 0, kSystemProcess };
- AppleEvent eventReply = {typeNull, NULL};
- AppleEvent appleEventToSend = {typeNull, NULL};
-
- OSStatus error = noErr;
-
- error = AECreateDesc(typeProcessSerialNumber, &kPSNOfSystemProcess,
- sizeof(kPSNOfSystemProcess), &targetDesc);
-
- if (error != noErr)
- {
- return(error);
- }
-
- error = AECreateAppleEvent(kCoreEventClass, EventToSend, &targetDesc,
- kAutoGenerateReturnID, kAnyTransactionID, &appleEventToSend);
-
- AEDisposeDesc(&targetDesc);
- if (error != noErr)
- {
- return(error);
- }
-
- error = AESend(&appleEventToSend, &eventReply, kAENoReply,
- kAENormalPriority, kAEDefaultTimeout, NULL, NULL);
-
- AEDisposeDesc(&appleEventToSend);
- if (error != noErr)
- {
- return(error);
- }
-
- AEDisposeDesc(&eventReply);
-
- return(error);
-}
-
void Cocoa_ResetAudioDevices()
{
// Reset any devices with an AC3/DTS/SPDIF stream back to a Linear PCM
#include "CocoaInterface.h"
+#if defined(TARGET_DARWIN_OSX)
+#include <Carbon/Carbon.h>
+
+OSErr SendAppleEventToSystemProcess(AEEventID EventToSend)
+{
+ AEAddressDesc targetDesc;
+ static const ProcessSerialNumber kPSNOfSystemProcess = { 0, kSystemProcess };
+ AppleEvent eventReply = {typeNull, NULL};
+ AppleEvent appleEventToSend = {typeNull, NULL};
+
+ OSStatus error = noErr;
+
+ error = AECreateDesc(typeProcessSerialNumber, &kPSNOfSystemProcess,
+ sizeof(kPSNOfSystemProcess), &targetDesc);
+
+ if (error != noErr)
+ {
+ return(error);
+ }
+
+ error = AECreateAppleEvent(kCoreEventClass, EventToSend, &targetDesc,
+ kAutoGenerateReturnID, kAnyTransactionID, &appleEventToSend);
+
+ AEDisposeDesc(&targetDesc);
+ if (error != noErr)
+ {
+ return(error);
+ }
+
+ error = AESend(&appleEventToSend, &eventReply, kAENoReply,
+ kAENormalPriority, kAEDefaultTimeout, NULL, NULL);
+
+ AEDisposeDesc(&appleEventToSend);
+ if (error != noErr)
+ {
+ return(error);
+ }
+
+ AEDisposeDesc(&eventReply);
+
+ return(error);
+}
+#endif
+
CCocoaPowerSyscall::CCocoaPowerSyscall()
{
m_OnResume = false;
+#pragma once
+
/*
* Copyright (C) 2005-2008 Team XBMC
* http://www.xbmc.org
*
*/
-#if !defined(__arm__)
-#ifndef WINDOW_SYSTEM_OSX_H
-#define WINDOW_SYSTEM_OSX_H
+#if defined(TARGET_DARWIN_OSX)
#include "windowing/WinSystem.h"
#include "threads/CriticalSection.h"
-#include <SDL/SDL_video.h>
-typedef struct _CGDirectDisplayID *CGDirectDisplayID;
-typedef u_int32_t CGDisplayChangeSummaryFlags;
+typedef struct SDL_Surface SDL_Surface;
class IDispResource;
-
class CWinEventsOSX;
+
class CWinSystemOSX : public CWinSystemBase
{
public:
void FillInVideoModes();
bool FlushBuffer(void);
- static void DisplayReconfigured(CGDirectDisplayID display,
- CGDisplayChangeSummaryFlags flags, void *userData);
-
void* m_glContext;
static void* m_lastOwnedContext;
SDL_Surface* m_SDLSurface;
std::vector<IDispResource*> m_resources;
};
-#endif // WINDOW_SYSTEM_H
#endif
#include "CocoaInterface.h"
#undef BOOL
+#include <SDL/SDL_video.h>
#include <SDL/SDL_events.h>
#import <Cocoa/Cocoa.h>
}
//---------------------------------------------------------------------------------
+static void DisplayReconfigured(CGDirectDisplayID display,
+ CGDisplayChangeSummaryFlags flags, void* userData)
+{
+ CWinSystemOSX *winsys = (CWinSystemOSX*)userData;
+ if (!winsys)
+ return;
+
+ if (flags & kCGDisplaySetModeFlag || flags & kCGDisplayBeginConfigurationFlag)
+ {
+ // pre/post-reconfiguration changes
+ RESOLUTION res = g_graphicsContext.GetVideoResolution();
+ NSScreen* pScreen = nil;
+ unsigned int screenIdx = g_settings.m_ResInfo[res].iScreen;
+
+ if( screenIdx < [[NSScreen screens] count] )
+ {
+ pScreen = [[NSScreen screens] objectAtIndex:screenIdx];
+ }
+
+ if (pScreen)
+ {
+ CGDirectDisplayID xbmc_display = GetDisplayIDFromScreen(pScreen);
+ if (xbmc_display == display)
+ {
+ // we only respond to changes on the display we are running on.
+ CLog::Log(LOGDEBUG, "CWinSystemOSX::DisplayReconfigured");
+ winsys->CheckDisplayChanging(flags);
+ }
+ }
+ }
+}
+
+//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
CWinSystemOSX::CWinSystemOSX() : CWinSystemBase()
{
void CWinSystemOSX::EnableVSync(bool enable)
{
// OpenGL Flush synchronised with vertical retrace
- GLint swapInterval;
-
- swapInterval = enable ? 1 : 0;
- [[NSOpenGLContext currentContext] setValues:(const long int*)&swapInterval forParameter:NSOpenGLCPSwapInterval];
+#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4
+ GLint swapInterval = enable ? 1 : 0;
+#else
+ const long int swapInterval = enable ? 1 : 0;
+#endif
+ [[NSOpenGLContext currentContext] setValues:&swapInterval forParameter:NSOpenGLCPSwapInterval];
}
bool CWinSystemOSX::SwitchToVideoMode(int width, int height, double refreshrate, int screenIdx)
}
}
-void CWinSystemOSX::DisplayReconfigured(CGDirectDisplayID display,
- CGDisplayChangeSummaryFlags flags, void* userData)
-{
- CWinSystemOSX *winsys = (CWinSystemOSX*)userData;
- if (!winsys)
- return;
-
- if (flags & kCGDisplaySetModeFlag || flags & kCGDisplayBeginConfigurationFlag)
- {
- // pre/post-reconfiguration changes
- RESOLUTION res = g_graphicsContext.GetVideoResolution();
- NSScreen* pScreen = nil;
- unsigned int screenIdx = g_settings.m_ResInfo[res].iScreen;
-
- if( screenIdx < [[NSScreen screens] count] )
- {
- pScreen = [[NSScreen screens] objectAtIndex:screenIdx];
- }
-
- if (pScreen)
- {
- CGDirectDisplayID xbmc_display = GetDisplayIDFromScreen(pScreen);
- if (xbmc_display == display)
- {
- // we only respond to changes on the display we are running on.
- CSingleLock lock(winsys->m_resourceSection);
- CLog::Log(LOGDEBUG, "CWinSystemOSX::DisplayReconfigured");
- winsys->CheckDisplayChanging(flags);
- }
- }
- }
-}
-
#endif