Browse Source

Use enum in mac interop

pull/3539/head
Nathan Garside 6 years ago
parent
commit
c0e337d61f
  1. 8
      native/Avalonia.Native/inc/avalonia-native.h
  2. 6
      native/Avalonia.Native/src/OSX/window.h
  3. 4
      native/Avalonia.Native/src/OSX/window.mm
  4. 4
      src/Avalonia.Native/WindowImpl.cs

8
native/Avalonia.Native/inc/avalonia-native.h

@ -25,6 +25,12 @@ struct IAvnGlSurfaceRenderingSession;
struct IAvnAppMenu;
struct IAvnAppMenuItem;
enum SystemDecorations {
SystemDecorationsNone = 0,
SystemDecorationsBorderOnly = 1,
SystemDecorationsFull = 2,
};
struct AvnSize
{
double Width, Height;
@ -236,7 +242,7 @@ AVNCOM(IAvnWindow, 04) : virtual IAvnWindowBase
{
virtual HRESULT ShowDialog (IAvnWindow* parent) = 0;
virtual HRESULT SetCanResize(bool value) = 0;
virtual HRESULT SetHasDecorations(int value) = 0;
virtual HRESULT SetHasDecorations(SystemDecorations value) = 0;
virtual HRESULT SetTitle (void* utf8Title) = 0;
virtual HRESULT SetTitleBarColor (AvnColor color) = 0;
virtual HRESULT SetWindowState(AvnWindowState state) = 0;

6
native/Avalonia.Native/src/OSX/window.h

@ -36,10 +36,4 @@ struct IWindowStateChanged
virtual void WindowStateChanged () = 0;
};
typedef NS_ENUM(NSInteger, SystemDecorations) {
SystemDecorationsNone = 0,
SystemDecorationsBorderOnly = 1,
SystemDecorationsFull = 2,
};
#endif /* window_h */

4
native/Avalonia.Native/src/OSX/window.mm

@ -508,11 +508,11 @@ private:
}
}
virtual HRESULT SetHasDecorations(int value) override
virtual HRESULT SetHasDecorations(SystemDecorations value) override
{
@autoreleasepool
{
_hasDecorations = (SystemDecorations)value;
_hasDecorations = value;
UpdateStyle();
switch (_hasDecorations)

4
src/Avalonia.Native/WindowImpl.cs

@ -68,9 +68,9 @@ namespace Avalonia.Native
_native.CanResize = value;
}
public void SetSystemDecorations(SystemDecorations enabled)
public void SetSystemDecorations(Controls.SystemDecorations enabled)
{
_native.HasDecorations = (int)enabled;
_native.HasDecorations = (Interop.SystemDecorations)enabled;
}
public void SetTitleBarColor (Avalonia.Media.Color color)

Loading…
Cancel
Save