mirror of https://github.com/AxioDL/boo.git
Touch Bar support
This commit is contained in:
parent
bb227b9cc0
commit
27a455c61d
|
@ -304,6 +304,8 @@ public:
|
||||||
virtual void setStyle(EWindowStyle style)=0;
|
virtual void setStyle(EWindowStyle style)=0;
|
||||||
virtual EWindowStyle getStyle() const=0;
|
virtual EWindowStyle getStyle() const=0;
|
||||||
|
|
||||||
|
virtual void setTouchBarProvider(void*) {}
|
||||||
|
|
||||||
virtual IGraphicsCommandQueue* getCommandQueue()=0;
|
virtual IGraphicsCommandQueue* getCommandQueue()=0;
|
||||||
virtual IGraphicsDataFactory* getDataFactory()=0;
|
virtual IGraphicsDataFactory* getDataFactory()=0;
|
||||||
|
|
||||||
|
|
|
@ -18,10 +18,12 @@ namespace boo {class WindowCocoa; class GraphicsContextCocoa;}
|
||||||
@interface WindowCocoaInternal : NSWindow
|
@interface WindowCocoaInternal : NSWindow
|
||||||
{
|
{
|
||||||
boo::WindowCocoa* booWindow;
|
boo::WindowCocoa* booWindow;
|
||||||
|
id touchBarProvider;
|
||||||
}
|
}
|
||||||
- (id)initWithBooWindow:(boo::WindowCocoa*)bw title:(const std::string&)title;
|
- (id)initWithBooWindow:(boo::WindowCocoa*)bw title:(const std::string&)title;
|
||||||
- (void)setFrameDefault;
|
- (void)setFrameDefault;
|
||||||
- (NSRect)genFrameDefault;
|
- (NSRect)genFrameDefault;
|
||||||
|
- (void)setTouchBarProvider:(id)provider;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
/* AppKit applies OpenGL much differently than other platforms
|
/* AppKit applies OpenGL much differently than other platforms
|
||||||
|
@ -1490,6 +1492,14 @@ public:
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setTouchBarProvider(void* provider)
|
||||||
|
{
|
||||||
|
dispatch_sync(dispatch_get_main_queue(),
|
||||||
|
^{
|
||||||
|
[m_nsWindow setTouchBarProvider:(__bridge_transfer id)provider];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void waitForRetrace()
|
void waitForRetrace()
|
||||||
{
|
{
|
||||||
static_cast<GraphicsContextCocoa*>(m_gfxCtx)->waitForRetrace();
|
static_cast<GraphicsContextCocoa*>(m_gfxCtx)->waitForRetrace();
|
||||||
|
@ -1560,6 +1570,15 @@ IWindow* _WindowCocoaNew(const SystemString& title, NSOpenGLContext* lastGLCtx,
|
||||||
(scrFrame.size.height - height) / 2.0,
|
(scrFrame.size.height - height) / 2.0,
|
||||||
width, height);
|
width, height);
|
||||||
}
|
}
|
||||||
|
- (void)setTouchBarProvider:(id<NSTouchBarProvider>)provider
|
||||||
|
{
|
||||||
|
touchBarProvider = provider;
|
||||||
|
self.touchBar = nil;
|
||||||
|
}
|
||||||
|
- (NSTouchBar*)makeTouchBar
|
||||||
|
{
|
||||||
|
return [touchBarProvider makeTouchBar];
|
||||||
|
}
|
||||||
- (void)close
|
- (void)close
|
||||||
{
|
{
|
||||||
booWindow->_clearWindow();
|
booWindow->_clearWindow();
|
||||||
|
|
Loading…
Reference in New Issue