Fix CMakeLists.txt for vulkanExamples.xcodeproj build, fix macOS storyboard for resizable window, set animation rate based on display refresh period
This commit is contained in:
parent
d1975e91ee
commit
b1f10d7393
7 changed files with 71 additions and 47 deletions
|
|
@ -22,7 +22,7 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink,
|
|||
CVOptionFlags* flagsOut,
|
||||
void* target) {
|
||||
//((MVKExample*)target)->renderFrame();
|
||||
((MVKExample*)target)->displayLinkOutputCb(); // SRS - Call MVKExample::displayLinkOutputCb() to animate frames vs. MVKExample::renderFrame() for static image
|
||||
((MVKExample*)target)->displayLinkOutputCb(); // SRS - Call displayLinkOutputCb() to animate frames vs. renderFrame() for static image
|
||||
return kCVReturnSuccess;
|
||||
}
|
||||
|
||||
|
|
@ -48,23 +48,18 @@ MVKExample* _mvkExample;
|
|||
CVDisplayLinkStart(_displayLink);
|
||||
}
|
||||
|
||||
// SRS - get the actual refresh period of the display
|
||||
// SRS - Set window's initial content size and set VulkanExampleBase::refreshPeriod from the displayLink
|
||||
-(void) viewWillAppear {
|
||||
[super viewWillAppear];
|
||||
|
||||
_mvkExample->getRefreshPeriod(CVDisplayLinkGetActualOutputVideoRefreshPeriod(_displayLink));
|
||||
}
|
||||
|
||||
// SRS - Handle window resize events (FIXME: resizeable window not yet supported at init)
|
||||
-(NSSize) windowWillResize:(NSWindow*) sender toSize:(NSSize)frameSize {
|
||||
CVDisplayLinkStop(_displayLink);
|
||||
_mvkExample->windowWillResize(frameSize.width, frameSize.height);
|
||||
return frameSize;
|
||||
}
|
||||
NSWindow* window = self.view.window;
|
||||
NSSize viewSize;
|
||||
viewSize.width = _mvkExample->width;
|
||||
viewSize.height = _mvkExample->height;
|
||||
[window setContentSize:viewSize];
|
||||
[window center];
|
||||
|
||||
-(void) windowDidResize:(NSNotification*) notification {
|
||||
_mvkExample->windowDidResize();
|
||||
CVDisplayLinkStart(_displayLink);
|
||||
_mvkExample->setRefreshPeriod(CVDisplayLinkGetActualOutputVideoRefreshPeriod(_displayLink));
|
||||
}
|
||||
|
||||
-(void) dealloc {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="12118" systemVersion="16E195" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12118"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
|
|
@ -101,12 +101,13 @@
|
|||
<scene sceneID="R2V-B0-nI4">
|
||||
<objects>
|
||||
<windowController id="B8D-0N-5wS" sceneMemberID="viewController">
|
||||
<window key="window" title="MoltenVK Vulkan Example" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
|
||||
<window key="window" title="MoltenVK Vulkan Example" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<rect key="contentRect" x="1051" y="656" width="1024" height="768"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
||||
<value key="minSize" type="size" width="1024" height="768"/>
|
||||
<value key="maxSize" type="size" width="1024" height="768"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="B8D-0N-5wS" id="ayw-fB-DBj"/>
|
||||
</connections>
|
||||
</window>
|
||||
<connections>
|
||||
<segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue