mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-24 18:02:02 +01:00
Remove EbitenWindow.glContext_
This commit is contained in:
parent
0a16107cd6
commit
3c979825db
@ -6,9 +6,7 @@
|
||||
|
||||
#import "ebiten_content_view.h"
|
||||
|
||||
@implementation EbitenWindow {
|
||||
NSOpenGLContext* glContext_;
|
||||
}
|
||||
@implementation EbitenWindow
|
||||
|
||||
- (id)initWithSize:(NSSize)size {
|
||||
NSUInteger style = (NSTitledWindowMask | NSClosableWindowMask |
|
||||
@ -41,23 +39,6 @@
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)initializeGLContext {
|
||||
NSOpenGLPixelFormatAttribute attributes[] = {
|
||||
NSOpenGLPFAWindow,
|
||||
NSOpenGLPFADoubleBuffer,
|
||||
NSOpenGLPFAAccelerated,
|
||||
NSOpenGLPFADepthSize, 32,
|
||||
0,
|
||||
};
|
||||
NSOpenGLPixelFormat* format = [[NSOpenGLPixelFormat alloc]
|
||||
initWithAttributes:attributes];
|
||||
self->glContext_ = [[NSOpenGLContext alloc] initWithFormat:format
|
||||
shareContext:nil];
|
||||
[self->glContext_ makeCurrentContext];
|
||||
|
||||
[format release];
|
||||
}
|
||||
|
||||
- (BOOL)windowShouldClose:(id)sender {
|
||||
if ([sender isDocumentEdited]) {
|
||||
// TODO: add the application's name
|
||||
@ -86,15 +67,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (void)beginDrawing {
|
||||
[self->glContext_ setView:[self contentView]];
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
- (void)endDrawing {
|
||||
[self->glContext_ flushBuffer];
|
||||
}
|
||||
|
||||
- (BOOL)canBecomeMainWindow {
|
||||
return YES;
|
||||
}
|
||||
|
@ -8,9 +8,6 @@
|
||||
@interface EbitenWindow : NSWindow<NSWindowDelegate>
|
||||
|
||||
- (id)initWithSize:(NSSize)size;
|
||||
- (void)initializeGLContext;
|
||||
- (void)beginDrawing;
|
||||
- (void)endDrawing;
|
||||
|
||||
@end
|
||||
|
||||
|
@ -1,10 +1,13 @@
|
||||
// -*- objc -*-
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <OpenGL/gl.h>
|
||||
|
||||
#import "ebiten_controller.h"
|
||||
#import "ebiten_window.h"
|
||||
|
||||
static NSOpenGLContext* glContext_;
|
||||
|
||||
void StartApplication() {
|
||||
EbitenController* controller = [[EbitenController alloc] init];
|
||||
NSApplication* app = [NSApplication sharedApplication];
|
||||
@ -14,13 +17,30 @@ void StartApplication() {
|
||||
[app activateIgnoringOtherApps:YES];
|
||||
}
|
||||
|
||||
void* CreateGLContext() {
|
||||
NSOpenGLPixelFormatAttribute attributes[] = {
|
||||
NSOpenGLPFAWindow,
|
||||
NSOpenGLPFADoubleBuffer,
|
||||
NSOpenGLPFAAccelerated,
|
||||
NSOpenGLPFADepthSize, 32,
|
||||
0,
|
||||
};
|
||||
NSOpenGLPixelFormat* format = [[NSOpenGLPixelFormat alloc]
|
||||
initWithAttributes:attributes];
|
||||
NSOpenGLContext* glContext = [[NSOpenGLContext alloc] initWithFormat:format
|
||||
shareContext:nil];
|
||||
[format release];
|
||||
return glContext;
|
||||
}
|
||||
|
||||
void* CreateWindow(size_t width, size_t height, const char* title) {
|
||||
NSSize size = NSMakeSize(width, height);
|
||||
EbitenWindow* window = [[EbitenWindow alloc]
|
||||
initWithSize:size];
|
||||
[window setTitle: [[NSString alloc] initWithUTF8String:title]];
|
||||
[window makeKeyAndOrderFront:nil];
|
||||
[window initializeGLContext];
|
||||
glContext_ = CreateGLContext();
|
||||
[glContext_ makeCurrentContext];
|
||||
return window;
|
||||
}
|
||||
|
||||
@ -38,9 +58,10 @@ void PollEvents(void) {
|
||||
}
|
||||
|
||||
void BeginDrawing(void* window) {
|
||||
[(EbitenWindow*)window beginDrawing];
|
||||
[glContext_ setView:[(EbitenWindow*)window contentView]];
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
void EndDrawing(void* window) {
|
||||
[(EbitenWindow*)window endDrawing];
|
||||
[glContext_ flushBuffer];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user