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:
FORWARD_IUNKNOWN()
virtual HRESULT GetScreenCount (int* ret)
virtual HRESULT GetScreenCount (int* ret) override
{
@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
{

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

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

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

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

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

@ -51,7 +51,7 @@ class CursorFactory : public ComSingleObject<IAvnCursorFactory, &IID_IAvnCursorF
public:
FORWARD_IUNKNOWN()
virtual HRESULT GetCursor (AvnStandardCursorType cursorType, IAvnCursor** retOut)
virtual HRESULT GetCursor (AvnStandardCursorType cursorType, IAvnCursor** retOut) override
{
*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];/*
glBindFramebufferEXT(GL_FRAMEBUFFER, Framebuffer);
@ -75,24 +75,24 @@ public:
_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;
return S_OK;
}
virtual HRESULT GetStencilSize(int* ret)
virtual HRESULT GetStencilSize(int* ret) override
{
*ret = _stencilSize;
return S_OK;
}
virtual HRESULT ClearContext()
virtual HRESULT ClearContext() override
{
[NSOpenGLContext clearCurrentContext];
return S_OK;
}
virtual void* GetProcAddress(char* proc)
virtual void* GetProcAddress(char* proc) override
{
return dlsym(_libgl, proc);
}
@ -121,14 +121,14 @@ public:
//return [[NSOpenGLContext alloc] initWithFormat:_format shareContext:nil];
}
virtual HRESULT ObtainDisplay(IAvnGlDisplay**retOut)
virtual HRESULT ObtainDisplay(IAvnGlDisplay**retOut) override
{
*retOut = _display;
_display->AddRef();
return S_OK;
}
virtual HRESULT ObtainImmediateContext(IAvnGlContext**retOut)
virtual HRESULT ObtainImmediateContext(IAvnGlContext**retOut) override
{
*retOut = _immediate;
_immediate->AddRef();
@ -193,14 +193,14 @@ public:
_view = view;
}
virtual HRESULT GetPixelSize(AvnPixelSize* ret)
virtual HRESULT GetPixelSize(AvnPixelSize* ret) override
{
auto fsize = [_view convertSizeToBacking: [_view frame].size];
ret->Width = (int)fsize.width;
ret->Height = (int)fsize.height;
return S_OK;
}
virtual HRESULT GetScaling(double* ret)
virtual HRESULT GetScaling(double* ret) override
{
*ret = [_window backingScaleFactor];
return S_OK;
@ -230,7 +230,7 @@ public:
_context = GetFeature()->CreateContext();
}
virtual HRESULT BeginDrawing(IAvnGlSurfaceRenderingSession** ret)
virtual HRESULT BeginDrawing(IAvnGlSurfaceRenderingSession** ret) override
{
auto f = GetFeature();
if(f == NULL)

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

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

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

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

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

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

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

@ -63,19 +63,20 @@ public:
#define FORWARD_IUNKNOWN() \
virtual ULONG Release(){ \
virtual ULONG Release() override \
{ \
return ComObject::Release(); \
} \
virtual ULONG AddRef() \
virtual ULONG AddRef() override \
{ \
return ComObject::AddRef(); \
} \
virtual HRESULT QueryInterface(REFIID riid, void **ppvObject) \
virtual HRESULT QueryInterface(REFIID riid, void **ppvObject) override \
{ \
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 END_INTERFACE_MAP() return E_NOINTERFACE; }
#define INHERIT_INTERFACE_MAP(TBase) if(TBase::QueryInterfaceImpl(riid, ppvObject) == S_OK) return S_OK;

Loading…
Cancel
Save