From cf4c403733363a0e0e06079d85ddae91399696ab Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sat, 3 Oct 2009 01:18:34 -0700
Subject: Offscreen/PBuffer capabilities cleanup ; Generic read drawable
 support

---
 src/jogl/classes/javax/media/opengl/GLContext.java | 30 ++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

(limited to 'src/jogl/classes/javax/media/opengl/GLContext.java')

diff --git a/src/jogl/classes/javax/media/opengl/GLContext.java b/src/jogl/classes/javax/media/opengl/GLContext.java
index 8ff52b6e9..840de4764 100644
--- a/src/jogl/classes/javax/media/opengl/GLContext.java
+++ b/src/jogl/classes/javax/media/opengl/GLContext.java
@@ -73,6 +73,19 @@ public abstract class GLContext {
    */
   public abstract GLDrawable getGLDrawable();
 
+  /**
+   * Set the GLDrawable from which this context may be used to
+   * read.<br>
+   * If read is null, the default write drawable will be used.
+   */
+  public abstract void setGLDrawableRead(GLDrawable read);
+
+  /**
+   * Returns the GLDrawable from which this context may be used to
+   * read.
+   */
+  public abstract GLDrawable getGLDrawableRead();
+
   /**
    * Makes this GLContext current on the calling thread.
    *
@@ -244,8 +257,21 @@ public abstract class GLContext {
    * Classname, GL, GLDrawable
    */
   public final String toString() {
-    return getClass().getName()+" ["+getGL()+
-           ",\n\tDrawable: "+ getGLDrawable()+"] ";
+    StringBuffer sb = new StringBuffer();
+    sb.append(getClass().getName());
+    sb.append(" [");
+    sb.append(getGL());
+    if(getGLDrawable()!=getGLDrawableRead()) {
+        sb.append(",\n\tDrawable Read : ");
+        sb.append(getGLDrawableRead());
+        sb.append(",\n\tDrawable Write: ");
+        sb.append(getGLDrawable());
+    } else {
+        sb.append(",\n\tDrawable Read/Write: ");
+        sb.append(getGLDrawable());
+    }
+    sb.append("] ");
+    return sb.toString();
   }
 
   /** Returns a non-null (but possibly empty) string containing the
-- 
cgit v1.2.3