remove all objective c++

This commit is contained in:
Greg Wells
2025-05-24 15:27:00 -04:00
parent ac2285c990
commit 587e68d186
3 changed files with 31 additions and 53 deletions

View File

@@ -0,0 +1,29 @@
#include "metal_bridge.h"
#import <Cocoa/Cocoa.h>
#import <QuartzCore/CAMetalLayer.h>
#import <QuartzCore/QuartzCore.h>
#import <Metal/Metal.h>
void mtlObjectCSetContentViewsLayer(void* view, void* layer) {
[CATransaction begin];
[CATransaction setDisableActions:YES];
NSView* contentView = (__bridge NSView*)view;
CAMetalLayer* metalLayer = (__bridge CAMetalLayer*)layer;
[contentView setWantsLayer:YES];
[contentView setLayer:metalLayer];
[CATransaction commit];
}
void mtlInitializeMetalLayer(void* layer, gnBool vsync) {
CAMetalLayer* metalLayer = (__bridge CAMetalLayer*)layer;
metalLayer.maximumDrawableCount = 3;
if (vsync == gnTrue)
metalLayer.displaySyncEnabled = true;
else
metalLayer.displaySyncEnabled = false;
metalLayer.framebufferOnly = true;
}

View File

@@ -1,51 +0,0 @@
#include "metal_bridge.h"
#import <Cocoa/Cocoa.h>
#import <QuartzCore/CAMetalLayer.h>
#import <QuartzCore/QuartzCore.h>
#import <Metal/Metal.h>
void mtlObjectCSetContentViewsLayer(void* view, void* layer) {
[CATransaction begin];
[CATransaction setDisableActions:YES];
NSView* contentView = (__bridge NSView*)view;
CAMetalLayer* metalLayer = (__bridge CAMetalLayer*)layer;
[contentView setWantsLayer:YES];
[contentView setLayer:metalLayer];
[CATransaction commit];
}
// void* mtlCreateContentView(void* targetWindow) {
// NSWindow* window = (__bridge NSWindow*)targetWindow;
// NSRect frame = [[window contentView] frame]; // fallback size
// NSView* contentView = [[NSView alloc] initWithFrame:frame];
// [window setContentView:contentView];
// if (contentView == nullptr)
// frame = NSMakeRect(0, 0, window.frame.size.width, window.frame.size.height);
// return contentView;
// }
// void* mtlInitContentView(void* targetView) {
// NSView* view = (__bridge NSView*)targetView;
// CAMetalLayer* metalLayer = [CAMetalLayer layer];
// // metalLayer.device = metalDevice;
// metalLayer.pixelFormat = MTLPixelFormatBGRA8Unorm;
// metalLayer.contentsScale = [view.window backingScaleFactor];
// metalLayer.framebufferOnly = YES;
// view.layer = metalLayer;
// view.wantsLayer = YES;
// return metalLayer;
// }
void mtlInitializeMetalLayer(void* layer, bool vsync) {
CAMetalLayer* metalLayer = (__bridge CAMetalLayer*)layer;
metalLayer.maximumDrawableCount = 3;
metalLayer.displaySyncEnabled = vsync;
metalLayer.framebufferOnly = true;
}

View File

@@ -1,5 +1,5 @@
#pragma once #pragma once
#include "gryphn/gryphn_utils.h"
void mtlObjectCSetContentViewsLayer(void* view, void* layer); void mtlObjectCSetContentViewsLayer(void* view, void* layer);
// void* mtlCreateContentView(void* targetView); void mtlInitializeMetalLayer(void* layer, gnBool vsync);
void mtlInitializeMetalLayer(void* layer, bool vsync);