Obj3DEngine/src/O3DEngine.m
Jonathan Schleifer 3902165c96 Add initial O3DEngine and O3DRenderer
Only supports querying resolutions so far.

FossilOrigin-Name: c504ea5dd9a25bfe49c16f256d64f3bf8c16fc78fa03c2cad2561fbbb10eb720
2022-12-25 16:37:58 +00:00

49 lines
1.1 KiB
Objective-C

/*
* Copyright (c) 2022 Jonathan Schleifer <js@nil.im>
*
* All rights reserved.
*
* This file is part of Obj3DEngine. It may be distributed under the terms of
* the Q Public License 1.0, which can be found in the file LICENSE.QPL
* included in the packaging of this file.
*
* Alternatively, it may be distributed under the terms of the GNU General
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of
* this file.
*/
#import "O3DEngine.h"
#import "O3DGlide3Renderer.h"
@implementation O3DEngine
@synthesize renderer = _renderer;
+ (OFArray OF_GENERIC(Class <O3DRenderer>) *)availableRenderers
{
return [OFArray arrayWithObject: [O3DGlide3Renderer class]];
}
- (instancetype)
initWithRenderer: (Class <O3DRenderer>)renderer
options: (OFDictionary OF_GENERIC(OFString *, id) *)options
{
self = [super init];
@try {
_renderer = [[renderer alloc] initWithOptions: options];
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (void)dealloc
{
[_renderer release];
[super dealloc];
}
@end