Browse Source

Use enum in mac interop

pull/3539/head
Nathan Garside 7 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 IAvnAppMenu;
struct IAvnAppMenuItem; struct IAvnAppMenuItem;
enum SystemDecorations {
SystemDecorationsNone = 0,
SystemDecorationsBorderOnly = 1,
SystemDecorationsFull = 2,
};
struct AvnSize struct AvnSize
{ {
double Width, Height; double Width, Height;
@ -236,7 +242,7 @@ AVNCOM(IAvnWindow, 04) : virtual IAvnWindowBase
{ {
virtual HRESULT ShowDialog (IAvnWindow* parent) = 0; virtual HRESULT ShowDialog (IAvnWindow* parent) = 0;
virtual HRESULT SetCanResize(bool value) = 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 SetTitle (void* utf8Title) = 0;
virtual HRESULT SetTitleBarColor (AvnColor color) = 0; virtual HRESULT SetTitleBarColor (AvnColor color) = 0;
virtual HRESULT SetWindowState(AvnWindowState state) = 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; virtual void WindowStateChanged () = 0;
}; };
typedef NS_ENUM(NSInteger, SystemDecorations) {
SystemDecorationsNone = 0,
SystemDecorationsBorderOnly = 1,
SystemDecorationsFull = 2,
};
#endif /* window_h */ #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 @autoreleasepool
{ {
_hasDecorations = (SystemDecorations)value; _hasDecorations = value;
UpdateStyle(); UpdateStyle();
switch (_hasDecorations) switch (_hasDecorations)

4
src/Avalonia.Native/WindowImpl.cs

@ -68,9 +68,9 @@ namespace Avalonia.Native
_native.CanResize = value; _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) public void SetTitleBarColor (Avalonia.Media.Color color)

Loading…
Cancel
Save