From fd418a69eca7b8c1bb74244982305fc6004d0a52 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Thu, 18 Apr 2013 03:16:33 +0200
Subject: Fix Bug 720: Unify all platform specific GLContextImpl
 specializations; Fix Bug 719 - Windows BITMAP Offscreen Orientation is not
 propagated through API

Fix Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API
  Depends on Bug 720, since cleaning up GLContextImpl* is required to move
  property 'GLContext.isGLOrientationFlippedVertical()'
  to 'GLDrawable.isGLOriented()' where it belongs!

  Windows BITMAP GLDrawable impl. isGLOriented() shall return false,
  while we keep the BITMAPINFOHEADER's height field negative
  to remove the need for vertical flip when used w/ AWT or Windows, ..

  Then property 'GLDrawable.isGLOriented()' has to be recognized throughout the
  utility functions, i.e. TextureData's mustFlipVertically and hence TextureIO writer.

Fix Bug 720: Unify all platform specific GLContextImpl specializations
  GLContextImpl shall have only _one_ unique platform derivative
  to allow proper swapping of GLDrawables of any type via:
    - 'GLAutoDrawable.setContext(GLContext newCtx, boolean destroyPrevCtx)', which calls
    - 'GLContext.setGLDrawable(GLDrawable readWrite, boolean setWriteOnly)'

  Exception: External context may be specialized.

  All drawable specific property handling shall be provided
  and implemented (if possible) via GLDrawable specializations.

- GLContext.isGLOrientationFlippedVertical() -> GLDrawable.isGLOriented()
  - PNGImage.createFromData() takes 'isGLOriented' to properly handle vertical flipping simply by line ordering
  - TextureIO's PNG writer passes TextureData's getMustFlipVertically() as isGLOriented to PNGImage.createFromData()
  - GLReadBufferUtil respects GLDrawable's isGLOriented() when creating TextureData instance.
  - Screenshot respects GLDrawable's isGLOriented()

- Screenshot is deprecated, use GLReadBufferUtil.

- Removed all PBuffer attributes, i.e. floatingPoint, RenderToTexture and RenderToTextureRectangle.
   - Allows removal of special pbuffer handling in GLContext* implementations.
   - Removed also from GLCapabilities*
   - Removed from deprecated GLPbuffer

  Impact:
    - Low, users who desire to render into a texture shall use our FBO GLOffscreenDrawable.
    - Only use case was the deprecated GLPbuffer
    - floating point framebuffer technology is still patented anyways :)

- Removed Java2DGLContext, which was only used for OSX's GLJPanel Java2D bridge,
  which is no more supported anyways.
---
 src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

(limited to 'src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java')

diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
index 575ff51b8..c60619452 100644
--- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
+++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
@@ -65,7 +65,7 @@ import com.jogamp.gluegen.runtime.opengl.GLProcAddressResolver;
 import com.jogamp.nativewindow.x11.X11GraphicsDevice;
 import com.jogamp.opengl.GLExtensions;
 
-public abstract class X11GLXContext extends GLContextImpl {
+public class X11GLXContext extends GLContextImpl {
   private static final Map<String, String> functionNameMap;
   private static final Map<String, String> extensionNameMap;
   private GLXExt _glXExt;
@@ -623,16 +623,6 @@ public abstract class X11GLXContext extends GLContextImpl {
     return getGLXExt().glXAllocateMemoryNV(arg0, arg1, arg2, arg3);
   }
 
-  @Override
-  public void bindPbufferToTexture() {
-    throw new GLException("Should not call this");
-  }
-
-  @Override
-  public void releasePbufferFromTexture() {
-    throw new GLException("Should not call this");
-  }
-
   @Override
   public String toString() {
     StringBuilder sb = new StringBuilder();
-- 
cgit v1.2.3