Browse Source

Add C++11 override specifier to be explicit about overrides

test-meta-packages
Jeremy Koritzinsky 8 years ago
parent
commit
f53d491bca
  1. 6
      build-native.sh
  2. 4
      src/Avalonia.Native.OSX/Screens.mm
  3. 6
      src/Avalonia.Native.OSX/SystemDialogs.mm
  4. 6
      src/Avalonia.Native.OSX/clipboard.mm
  5. 2
      src/Avalonia.Native.OSX/cursor.mm
  6. 20
      src/Avalonia.Native.OSX/gl.mm
  7. 22
      src/Avalonia.Native.OSX/main.mm
  8. 14
      src/Avalonia.Native.OSX/platformthreading.mm
  9. 74
      src/Avalonia.Native.OSX/window.mm
  10. 9
      src/Avalonia.Native/headers/comimpl.h

6
build-native.sh

@ -0,0 +1,6 @@
# /bin/sh
mkdir native-build
cd native-build
cmake -DCMAKE_BUILD_TYPE=$1 ../native
cmake --build . --target install

4
src/Avalonia.Native.OSX/Screens.mm

@ -7,7 +7,7 @@ class Screens : public ComSingleObject<IAvnScreens, &IID_IAvnScreens>
{ {
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
virtual HRESULT GetScreenCount (int* ret) virtual HRESULT GetScreenCount (int* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -17,7 +17,7 @@ class Screens : public ComSingleObject<IAvnScreens, &IID_IAvnScreens>
} }
} }
virtual HRESULT GetScreen (int index, AvnScreen* ret) virtual HRESULT GetScreen (int index, AvnScreen* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {

6
src/Avalonia.Native.OSX/SystemDialogs.mm

@ -11,7 +11,7 @@ public:
virtual void SelectFolderDialog (IAvnWindow* parentWindowHandle, virtual void SelectFolderDialog (IAvnWindow* parentWindowHandle,
IAvnSystemDialogEvents* events, IAvnSystemDialogEvents* events,
const char* title, const char* title,
const char* initialDirectory) const char* initialDirectory) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -88,7 +88,7 @@ public:
const char* title, const char* title,
const char* initialDirectory, const char* initialDirectory,
const char* initialFile, const char* initialFile,
const char* filters) const char* filters) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -179,7 +179,7 @@ public:
const char* title, const char* title,
const char* initialDirectory, const char* initialDirectory,
const char* initialFile, const char* initialFile,
const char* filters) const char* filters) override
{ {
@autoreleasepool @autoreleasepool
{ {

6
src/Avalonia.Native.OSX/clipboard.mm

@ -7,7 +7,7 @@ class Clipboard : public ComSingleObject<IAvnClipboard, &IID_IAvnClipboard>
{ {
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
virtual HRESULT GetText (void** retOut) virtual HRESULT GetText (void** retOut) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -18,7 +18,7 @@ public:
return S_OK; return S_OK;
} }
virtual HRESULT SetText (char* text) virtual HRESULT SetText (char* text) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -30,7 +30,7 @@ public:
return S_OK; return S_OK;
} }
virtual HRESULT Clear() virtual HRESULT Clear() override
{ {
@autoreleasepool @autoreleasepool
{ {

2
src/Avalonia.Native.OSX/cursor.mm

@ -51,7 +51,7 @@ class CursorFactory : public ComSingleObject<IAvnCursorFactory, &IID_IAvnCursorF
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
virtual HRESULT GetCursor (AvnStandardCursorType cursorType, IAvnCursor** retOut) virtual HRESULT GetCursor (AvnStandardCursorType cursorType, IAvnCursor** retOut) override
{ {
*retOut = s_cursorMap[cursorType]; *retOut = s_cursorMap[cursorType];

20
src/Avalonia.Native.OSX/gl.mm

@ -48,7 +48,7 @@ public:
} }
virtual HRESULT MakeCurrent() virtual HRESULT MakeCurrent() override
{ {
[GlContext makeCurrentContext];/* [GlContext makeCurrentContext];/*
glBindFramebufferEXT(GL_FRAMEBUFFER, Framebuffer); glBindFramebufferEXT(GL_FRAMEBUFFER, Framebuffer);
@ -75,24 +75,24 @@ public:
_libgl = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib", RTLD_LAZY); _libgl = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib", RTLD_LAZY);
} }
virtual HRESULT GetSampleCount(int* ret) virtual HRESULT GetSampleCount(int* ret) override
{ {
*ret = _sampleCount; *ret = _sampleCount;
return S_OK; return S_OK;
} }
virtual HRESULT GetStencilSize(int* ret) virtual HRESULT GetStencilSize(int* ret) override
{ {
*ret = _stencilSize; *ret = _stencilSize;
return S_OK; return S_OK;
} }
virtual HRESULT ClearContext() virtual HRESULT ClearContext() override
{ {
[NSOpenGLContext clearCurrentContext]; [NSOpenGLContext clearCurrentContext];
return S_OK; return S_OK;
} }
virtual void* GetProcAddress(char* proc) virtual void* GetProcAddress(char* proc) override
{ {
return dlsym(_libgl, proc); return dlsym(_libgl, proc);
} }
@ -121,14 +121,14 @@ public:
//return [[NSOpenGLContext alloc] initWithFormat:_format shareContext:nil]; //return [[NSOpenGLContext alloc] initWithFormat:_format shareContext:nil];
} }
virtual HRESULT ObtainDisplay(IAvnGlDisplay**retOut) virtual HRESULT ObtainDisplay(IAvnGlDisplay**retOut) override
{ {
*retOut = _display; *retOut = _display;
_display->AddRef(); _display->AddRef();
return S_OK; return S_OK;
} }
virtual HRESULT ObtainImmediateContext(IAvnGlContext**retOut) virtual HRESULT ObtainImmediateContext(IAvnGlContext**retOut) override
{ {
*retOut = _immediate; *retOut = _immediate;
_immediate->AddRef(); _immediate->AddRef();
@ -193,14 +193,14 @@ public:
_view = view; _view = view;
} }
virtual HRESULT GetPixelSize(AvnPixelSize* ret) virtual HRESULT GetPixelSize(AvnPixelSize* ret) override
{ {
auto fsize = [_view convertSizeToBacking: [_view frame].size]; auto fsize = [_view convertSizeToBacking: [_view frame].size];
ret->Width = (int)fsize.width; ret->Width = (int)fsize.width;
ret->Height = (int)fsize.height; ret->Height = (int)fsize.height;
return S_OK; return S_OK;
} }
virtual HRESULT GetScaling(double* ret) virtual HRESULT GetScaling(double* ret) override
{ {
*ret = [_window backingScaleFactor]; *ret = [_window backingScaleFactor];
return S_OK; return S_OK;
@ -230,7 +230,7 @@ public:
_context = GetFeature()->CreateContext(); _context = GetFeature()->CreateContext();
} }
virtual HRESULT BeginDrawing(IAvnGlSurfaceRenderingSession** ret) virtual HRESULT BeginDrawing(IAvnGlSurfaceRenderingSession** ret) override
{ {
auto f = GetFeature(); auto f = GetFeature();
if(f == NULL) if(f == NULL)

22
src/Avalonia.Native.OSX/main.mm

@ -16,7 +16,7 @@ class MacOptions : public ComSingleObject<IAvnMacOptions, &IID_IAvnMacOptions>
{ {
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
virtual HRESULT SetShowInDock(int show) virtual HRESULT SetShowInDock(int show) override
{ {
ShowInDock = show; ShowInDock = show;
SetActivationPolicy(); SetActivationPolicy();
@ -64,7 +64,7 @@ class AvaloniaNative : public ComSingleObject<IAvaloniaNativeFactory, &IID_IAval
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
virtual HRESULT Initialize() virtual HRESULT Initialize() override
{ {
@autoreleasepool{ @autoreleasepool{
[[ThreadingInitializer new] do]; [[ThreadingInitializer new] do];
@ -72,12 +72,12 @@ public:
} }
}; };
virtual IAvnMacOptions* GetMacOptions() virtual IAvnMacOptions* GetMacOptions() override
{ {
return (IAvnMacOptions*)new MacOptions(); return (IAvnMacOptions*)new MacOptions();
} }
virtual HRESULT CreateWindow(IAvnWindowEvents* cb, IAvnWindow** ppv) virtual HRESULT CreateWindow(IAvnWindowEvents* cb, IAvnWindow** ppv) override
{ {
if(cb == nullptr || ppv == nullptr) if(cb == nullptr || ppv == nullptr)
return E_POINTER; return E_POINTER;
@ -85,7 +85,7 @@ public:
return S_OK; return S_OK;
}; };
virtual HRESULT CreatePopup(IAvnWindowEvents* cb, IAvnPopup** ppv) virtual HRESULT CreatePopup(IAvnWindowEvents* cb, IAvnPopup** ppv) override
{ {
if(cb == nullptr || ppv == nullptr) if(cb == nullptr || ppv == nullptr)
return E_POINTER; return E_POINTER;
@ -94,37 +94,37 @@ public:
return S_OK; return S_OK;
} }
virtual HRESULT CreatePlatformThreadingInterface(IAvnPlatformThreadingInterface** ppv) virtual HRESULT CreatePlatformThreadingInterface(IAvnPlatformThreadingInterface** ppv) override
{ {
*ppv = CreatePlatformThreading(); *ppv = CreatePlatformThreading();
return S_OK; return S_OK;
} }
virtual HRESULT CreateSystemDialogs(IAvnSystemDialogs** ppv) virtual HRESULT CreateSystemDialogs(IAvnSystemDialogs** ppv) override
{ {
*ppv = ::CreateSystemDialogs(); *ppv = ::CreateSystemDialogs();
return S_OK; return S_OK;
} }
virtual HRESULT CreateScreens (IAvnScreens** ppv) virtual HRESULT CreateScreens (IAvnScreens** ppv) override
{ {
*ppv = ::CreateScreens (); *ppv = ::CreateScreens ();
return S_OK; return S_OK;
} }
virtual HRESULT CreateClipboard(IAvnClipboard** ppv) virtual HRESULT CreateClipboard(IAvnClipboard** ppv) override
{ {
*ppv = ::CreateClipboard (); *ppv = ::CreateClipboard ();
return S_OK; return S_OK;
} }
virtual HRESULT CreateCursorFactory(IAvnCursorFactory** ppv) virtual HRESULT CreateCursorFactory(IAvnCursorFactory** ppv) override
{ {
*ppv = ::CreateCursorFactory(); *ppv = ::CreateCursorFactory();
return S_OK; return S_OK;
} }
virtual HRESULT ObtainGlFeature(IAvnGlFeature** ppv) virtual HRESULT ObtainGlFeature(IAvnGlFeature** ppv) override
{ {
auto rv = ::GetGlFeature(); auto rv = ::GetGlFeature();
if(rv == NULL) if(rv == NULL)

14
src/Avalonia.Native.OSX/platformthreading.mm

@ -63,7 +63,7 @@ private:
public: public:
FORWARD_IUNKNOWN() FORWARD_IUNKNOWN()
bool Cancelled = 0; bool Cancelled = 0;
virtual void Cancel() virtual void Cancel() override
{ {
Cancelled = 1; Cancelled = 1;
} }
@ -86,20 +86,20 @@ public:
_signaler = NULL; _signaler = NULL;
} }
virtual bool GetCurrentThreadIsLoopThread() virtual bool GetCurrentThreadIsLoopThread() override
{ {
return [[NSThread currentThread] isMainThread]; return [[NSThread currentThread] isMainThread];
} }
virtual void SetSignaledCallback(IAvnSignaledCallback* cb) virtual void SetSignaledCallback(IAvnSignaledCallback* cb) override
{ {
SignaledCallback = cb; SignaledCallback = cb;
} }
virtual IAvnLoopCancellation* CreateLoopCancellation() virtual IAvnLoopCancellation* CreateLoopCancellation() override
{ {
return new LoopCancellation(); return new LoopCancellation();
} }
virtual void RunLoop(IAvnLoopCancellation* cancel) virtual void RunLoop(IAvnLoopCancellation* cancel) override
{ {
@autoreleasepool { @autoreleasepool {
auto can = dynamic_cast<LoopCancellation*>(cancel); auto can = dynamic_cast<LoopCancellation*>(cancel);
@ -125,12 +125,12 @@ public:
} }
} }
virtual void Signal(int priority) virtual void Signal(int priority) override
{ {
[_signaler signal:priority]; [_signaler signal:priority];
} }
virtual IUnknown* StartTimer(int priority, int ms, IAvnActionCallback* callback) virtual IUnknown* StartTimer(int priority, int ms, IAvnActionCallback* callback) override
{ {
@autoreleasepool { @autoreleasepool {

74
src/Avalonia.Native.OSX/window.mm

@ -81,12 +81,12 @@ public:
[Window setContentView: View]; [Window setContentView: View];
} }
virtual AvnWindow* GetNSWindow() virtual AvnWindow* GetNSWindow() override
{ {
return Window; return Window;
} }
virtual HRESULT Show() virtual HRESULT Show() override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -102,7 +102,7 @@ public:
} }
} }
virtual HRESULT Hide () virtual HRESULT Hide () override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -115,7 +115,7 @@ public:
} }
} }
virtual HRESULT Activate () virtual HRESULT Activate () override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -128,7 +128,7 @@ public:
return S_OK; return S_OK;
} }
virtual HRESULT SetTopMost (bool value) virtual HRESULT SetTopMost (bool value) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -138,7 +138,7 @@ public:
} }
} }
virtual HRESULT Close() virtual HRESULT Close() override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -147,7 +147,7 @@ public:
} }
} }
virtual HRESULT GetClientSize(AvnSize* ret) virtual HRESULT GetClientSize(AvnSize* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -160,7 +160,7 @@ public:
} }
} }
virtual HRESULT GetMaxClientSize(AvnSize* ret) virtual HRESULT GetMaxClientSize(AvnSize* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -176,7 +176,7 @@ public:
} }
} }
virtual HRESULT GetScaling (double* ret) virtual HRESULT GetScaling (double* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -194,7 +194,7 @@ public:
} }
} }
virtual HRESULT SetMinMaxSize (AvnSize minSize, AvnSize maxSize) virtual HRESULT SetMinMaxSize (AvnSize minSize, AvnSize maxSize) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -205,7 +205,7 @@ public:
} }
} }
virtual HRESULT Resize(double x, double y) virtual HRESULT Resize(double x, double y) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -215,7 +215,7 @@ public:
} }
} }
virtual HRESULT Invalidate (AvnRect rect) virtual HRESULT Invalidate (AvnRect rect) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -225,7 +225,7 @@ public:
} }
} }
virtual bool TryLock() virtual bool TryLock() override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -233,7 +233,7 @@ public:
} }
} }
virtual void Unlock() virtual void Unlock() override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -241,7 +241,7 @@ public:
} }
} }
virtual HRESULT BeginMoveDrag () virtual HRESULT BeginMoveDrag () override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -258,12 +258,12 @@ public:
} }
} }
virtual HRESULT BeginResizeDrag (AvnWindowEdge edge) virtual HRESULT BeginResizeDrag (AvnWindowEdge edge) override
{ {
return S_OK; return S_OK;
} }
virtual HRESULT GetPosition (AvnPoint* ret) virtual HRESULT GetPosition (AvnPoint* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -283,7 +283,7 @@ public:
} }
} }
virtual HRESULT SetPosition (AvnPoint point) virtual HRESULT SetPosition (AvnPoint point) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -294,7 +294,7 @@ public:
} }
} }
virtual HRESULT PointToClient (AvnPoint point, AvnPoint* ret) virtual HRESULT PointToClient (AvnPoint point, AvnPoint* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -312,7 +312,7 @@ public:
} }
} }
virtual HRESULT PointToScreen (AvnPoint point, AvnPoint* ret) virtual HRESULT PointToScreen (AvnPoint point, AvnPoint* ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -329,13 +329,13 @@ public:
} }
} }
virtual HRESULT ThreadSafeSetSwRenderedFrame(AvnFramebuffer* fb, IUnknown* dispose) virtual HRESULT ThreadSafeSetSwRenderedFrame(AvnFramebuffer* fb, IUnknown* dispose) override
{ {
[View setSwRenderedFrame: fb dispose: dispose]; [View setSwRenderedFrame: fb dispose: dispose];
return S_OK; return S_OK;
} }
virtual HRESULT GetSoftwareFramebuffer(AvnFramebuffer*ret) virtual HRESULT GetSoftwareFramebuffer(AvnFramebuffer*ret) override
{ {
if(![[NSThread currentThread] isMainThread]) if(![[NSThread currentThread] isMainThread])
return E_FAIL; return E_FAIL;
@ -345,7 +345,7 @@ public:
return S_OK; return S_OK;
} }
virtual HRESULT SetCursor(IAvnCursor* cursor) virtual HRESULT SetCursor(IAvnCursor* cursor) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -367,7 +367,7 @@ public:
} }
} }
virtual HRESULT CreateGlRenderTarget(IAvnGlSurfaceRenderTarget** ppv) virtual HRESULT CreateGlRenderTarget(IAvnGlSurfaceRenderTarget** ppv) override
{ {
if(View == NULL) if(View == NULL)
return E_FAIL; return E_FAIL;
@ -440,7 +440,7 @@ private:
[Window setCanBecomeKeyAndMain]; [Window setCanBecomeKeyAndMain];
} }
virtual HRESULT Show () virtual HRESULT Show () override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -450,7 +450,7 @@ private:
} }
} }
virtual HRESULT ShowDialog (IUnknown**ppv) virtual HRESULT ShowDialog (IUnknown**ppv) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -475,7 +475,7 @@ private:
} }
} }
void WindowStateChanged () void WindowStateChanged () override
{ {
AvnWindowState state; AvnWindowState state;
GetWindowState(&state); GetWindowState(&state);
@ -509,7 +509,7 @@ private:
} }
} }
virtual HRESULT SetCanResize(bool value) virtual HRESULT SetCanResize(bool value) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -519,7 +519,7 @@ private:
} }
} }
virtual HRESULT SetHasDecorations(bool value) virtual HRESULT SetHasDecorations(bool value) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -530,7 +530,7 @@ private:
} }
} }
virtual HRESULT SetTitle (const char* title) virtual HRESULT SetTitle (const char* title) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -542,7 +542,7 @@ private:
} }
} }
virtual HRESULT SetTitleBarColor(AvnColor color) virtual HRESULT SetTitleBarColor(AvnColor color) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -571,7 +571,7 @@ private:
return S_OK; return S_OK;
} }
virtual HRESULT GetWindowState (AvnWindowState*ret) virtual HRESULT GetWindowState (AvnWindowState*ret) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -598,7 +598,7 @@ private:
} }
} }
virtual HRESULT SetWindowState (AvnWindowState state) virtual HRESULT SetWindowState (AvnWindowState state) override
{ {
@autoreleasepool @autoreleasepool
{ {
@ -642,7 +642,7 @@ private:
} }
protected: protected:
virtual void OnResized () virtual void OnResized () override
{ {
auto windowState = [Window isMiniaturized] ? Minimized auto windowState = [Window isMiniaturized] ? Minimized
: (IsZoomed() ? Maximized : Normal); : (IsZoomed() ? Maximized : Normal);
@ -655,7 +655,7 @@ protected:
} }
} }
virtual NSWindowStyleMask GetStyle() virtual NSWindowStyleMask GetStyle() override
{ {
unsigned long s = NSWindowStyleMaskBorderless; unsigned long s = NSWindowStyleMaskBorderless;
if(_hasDecorations) if(_hasDecorations)
@ -1192,12 +1192,12 @@ private:
} }
protected: protected:
virtual NSWindowStyleMask GetStyle() virtual NSWindowStyleMask GetStyle() override
{ {
return NSWindowStyleMaskBorderless; return NSWindowStyleMaskBorderless;
} }
virtual HRESULT Resize(double x, double y) virtual HRESULT Resize(double x, double y) override
{ {
@autoreleasepool @autoreleasepool
{ {

9
src/Avalonia.Native/headers/comimpl.h

@ -63,19 +63,20 @@ public:
#define FORWARD_IUNKNOWN() \ #define FORWARD_IUNKNOWN() \
virtual ULONG Release(){ \ virtual ULONG Release() override \
{ \
return ComObject::Release(); \ return ComObject::Release(); \
} \ } \
virtual ULONG AddRef() \ virtual ULONG AddRef() override \
{ \ { \
return ComObject::AddRef(); \ return ComObject::AddRef(); \
} \ } \
virtual HRESULT QueryInterface(REFIID riid, void **ppvObject) \ virtual HRESULT QueryInterface(REFIID riid, void **ppvObject) override \
{ \ { \
return ComObject::QueryInterface(riid, ppvObject); \ return ComObject::QueryInterface(riid, ppvObject); \
} }
#define BEGIN_INTERFACE_MAP() public: virtual HRESULT STDMETHODCALLTYPE QueryInterfaceImpl(REFIID riid, void **ppvObject){ #define BEGIN_INTERFACE_MAP() public: virtual HRESULT STDMETHODCALLTYPE QueryInterfaceImpl(REFIID riid, void **ppvObject) override {
#define INTERFACE_MAP_ENTRY(TInterface, IID) if(0 == memcmp(riid, &IID, sizeof(GUID))) { TInterface* casted = this; *ppvObject = casted; return S_OK; } #define INTERFACE_MAP_ENTRY(TInterface, IID) if(0 == memcmp(riid, &IID, sizeof(GUID))) { TInterface* casted = this; *ppvObject = casted; return S_OK; }
#define END_INTERFACE_MAP() return E_NOINTERFACE; } #define END_INTERFACE_MAP() return E_NOINTERFACE; }
#define INHERIT_INTERFACE_MAP(TBase) if(TBase::QueryInterfaceImpl(riid, ppvObject) == S_OK) return S_OK; #define INHERIT_INTERFACE_MAP(TBase) if(TBase::QueryInterfaceImpl(riid, ppvObject) == S_OK) return S_OK;

Loading…
Cancel
Save