From aae48f8cc040ca8ad7f9503e2627fb3fcaccb2ee Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 07:34:28 +0000 Subject: [PATCH] 2003/09/13 05:10:15 darcs-hash:20040130073428-2ba56-847448495ca766b5eef31d516dbe2888a8db9e27.gz --- src/org/xwt/plat/Darwin.cc | 48 ++++++++------------------------------------ 1 file changed, 8 insertions(+), 40 deletions(-) diff --git a/src/org/xwt/plat/Darwin.cc b/src/org/xwt/plat/Darwin.cc index b923803..716719f 100644 --- a/src/org/xwt/plat/Darwin.cc +++ b/src/org/xwt/plat/Darwin.cc @@ -9,8 +9,6 @@ #define __private_extern__ #include -//#include -//#include #include "POSIX.cc" #include "OpenGL.cc" @@ -469,7 +467,7 @@ OSStatus our_windowEventHandler(EventHandlerCallRef handler, EventRef e, void *u switch(eKind) { case kEventWindowUpdate: { - surface->Dirty(0,0,surface->root->width,surface->root->height); + surface->Dirty(0,0,surface->root->width,surface->root->height); return noErr; } case kEventWindowBoundsChanged: { @@ -536,34 +534,13 @@ void Darwin$CarbonSurface::natInit(jboolean framed) { // FIXME: unframed windows should appear in the window menu // This probably needs a hack similar to whats in Cocoa.mm WindowAttributes attr = kWindowStandardHandlerAttribute| - (framed ? kWindowInWindowMenuAttribute|kWindowStandardDocumentAttributes|kWindowLiveResizeAttribute/*|kWindowMetalAttribute*/ : 0); + (framed ? kWindowInWindowMenuAttribute|kWindowStandardDocumentAttributes|kWindowLiveResizeAttribute : 0); OSStatus r; rect.top = 0; rect.left = 0; rect.bottom = 10; rect.right=10; r = CreateNewWindow(wc,attr,&rect,&window); checkStatus(r,"CreateNewWindow"); - /* - // setBackingType - NSString* - Class NSWindowClass = NSClassFromString - NSWindowClass->methodLists - - void *iterator = 0; // Method list (category) iterator - struct objc_method_list* mlist; - Method currMethod; - int j; - while ( mlist = class_nextMethodList( NSWindowClass, &iterator ) ) { - for ( j = 0; j < mlist->method_count; ++j ) { - currMethod = (mlist->method_list + j); - if (strcmp((const char *)currMethod->method_name, "setBackingStore")) { - IMP imp = currMethod->method_imp; - (*imp)(NSWindowInstance, currMethod->method_name, 0); - // do stuff - } - } - } - NSWindow* window = - */ + GCJ$Retainer::retain(this); // Need to account for the EventHandlers pointer to us EventHandlerUPP upp = NewEventHandlerUPP(our_windowEventHandler); @@ -940,23 +917,21 @@ void Darwin$GLCarbonDoubleBuffer::natInit() { r = CreateNewWindow(wc,attr,&rect,&window); checkStatus(r,"CreateNewWindow"); - + shared = (AGLContext) gl->rawSharedContext; fmt = (AGLPixelFormat) gl->rawPixelFormat; ctx = aglCreateContext(fmt,shared); checkStatus(ctx, "aglCreateContext"); - b = aglSetDrawable(ctx, GetWindowPort(window)); + b = aglSetDrawable(ctx,GetWindowPort(window)); checkStatus(b,"aglSetDrawable"); aglSetCurrentContext(ctx); aglUpdateContext(ctx); - drawableInit(OpenGL::roundToPowerOf2(width), - OpenGL::roundToPowerOf2(height)); + drawableInit(width,height); glClear(GL_COLOR_BUFFER_BIT); aglSetCurrentContext(shared); - target = rectTexture ? GL_TEXTURE_RECTANGLE_EXT : GL_TEXTURE_2D; glEnable(target); glGenTextures(1,&tex); @@ -964,10 +939,6 @@ void Darwin$GLCarbonDoubleBuffer::natInit() { glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); aglSurfaceTexture (shared, target, GL_RGBA, ctx); - /* - glReadBuffer - glCopyTexImage2D(target, 0, GL_RGBA, 0, 0, width, height, 0); - */ checkGLError(); glDisable(target); @@ -1001,7 +972,7 @@ void Darwin$GLCarbonSurface::natBlit(Darwin$GLCarbonDoubleBuffer *db, jint sx1, if(db->rectTexture) { glEnable(GL_TEXTURE_RECTANGLE_EXT); checkGLError(); - glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)db->textureName); + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, db->textureName); checkGLError(); glBegin(GL_QUADS); glTexCoord2i (sx1, sy1 ); @@ -1025,10 +996,7 @@ void Darwin$GLCarbonSurface::natBlit(Darwin$GLCarbonDoubleBuffer *db, jint sx1, glColor4f(1.0f,1.0f,1.0f,1.0f); glEnable(GL_TEXTURE_2D); - GLuint tname; - glGenTextures(1, &tname); - glBindTexture(GL_TEXTURE_2D, tname); - aglSurfaceTexture (ctx, GL_TEXTURE_2D, GL_RGBA, (AGLContext)db->rawCTX); + glBindTexture(GL_TEXTURE_2D, db->textureName); checkGLError(); glBegin(GL_QUADS); glTexCoord2f (tx1, ty1 ); -- 1.7.10.4