org.jzy3d.plot3d.rendering.view
Class ImageViewport

java.lang.Object
  extended by org.jzy3d.plot3d.rendering.view.ImageViewport
Direct Known Subclasses:
Legend

public class ImageViewport
extends Object

A ImageViewport allows displaying a 2d Image within an OpenGL2 viewport.

Author:
Martin Pernollet

Field Summary
protected  int imageHeight
           
protected  Image imageObj
           
protected  int imageWidth
           
protected  ViewPort lastViewPort
           
protected  float ratioHeight
           
protected  float ratioWidth
           
protected  boolean screenGridDisplayed
           
protected  int screenHeight
           
protected  int screenLeft
           
protected  int screenRight
           
protected  int screenSquaredDim
           
protected  int screenWidth
           
protected  int screenXOffset
           
protected  int screenYOffset
           
protected  boolean stretchToFill
           
 
Constructor Summary
ImageViewport()
           
 
Method Summary
protected  void applyViewPort(javax.media.opengl.GL2 gl, javax.media.opengl.glu.GLU glu)
          Apply the GL viewport according to the settings given to setViewPort.
 Image getImage()
          Return the image rendered by the ImageViewport
 ViewPort getLastViewPort()
           
 Dimension getMinimumSize()
          Return the minimum size for this graphic.
 Dimension getPreferedSize()
          Return the prefered size for this graphic.
 Rectangle getRectangle()
          Returns the (x,y) offset that was applied to make this AbstractViewport stand in the appropriate canvas part.
 boolean getStretchToFill()
           
 void render(javax.media.opengl.GL2 gl, javax.media.opengl.glu.GLU glu)
          Renders the picture into the window, according to the viewport settings.
 void setImage(Image image)
           
 void setImage(Image image, int width, int height)
          Set the Image that will be displayed by the layer.
 void setImage(Image image, int width, int height, ByteBuffer buffer)
           
 void setScreenGridDisplayed(boolean status)
          Set the status of the screen grid.
 void setStretchToFill(boolean status)
          Set the status of the stretching mode (activated or not).
 void setViewPort(int width, int height)
          Set the view port (size of the renderer).
 void setViewPort(int width, int height, float left, float right)
          Set the view port (size of the renderer).
 void setViewPort(ViewPort viewport)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

imageObj

protected Image imageObj

imageHeight

protected int imageHeight

imageWidth

protected int imageWidth

lastViewPort

protected ViewPort lastViewPort

screenLeft

protected int screenLeft

screenRight

protected int screenRight

screenXOffset

protected int screenXOffset

screenYOffset

protected int screenYOffset

screenWidth

protected int screenWidth

screenHeight

protected int screenHeight

screenSquaredDim

protected int screenSquaredDim

screenGridDisplayed

protected boolean screenGridDisplayed

stretchToFill

protected boolean stretchToFill

ratioWidth

protected float ratioWidth

ratioHeight

protected float ratioHeight
Constructor Detail

ImageViewport

public ImageViewport()
Method Detail

render

public void render(javax.media.opengl.GL2 gl,
                   javax.media.opengl.glu.GLU glu)
Renders the picture into the window, according to the viewport settings. If the picture is bigger than the viewport, it is simply centered in it, otherwise, it is scaled in order to fit into the viewport.

Parameters:
gl -
glu -

setImage

public void setImage(Image image,
                     int width,
                     int height)
Set the Image that will be displayed by the layer.

Parameters:
image -

setImage

public void setImage(Image image,
                     int width,
                     int height,
                     ByteBuffer buffer)

setImage

public void setImage(Image image)

getImage

public Image getImage()
Return the image rendered by the ImageViewport


getMinimumSize

public Dimension getMinimumSize()
Return the minimum size for this graphic.


getPreferedSize

public Dimension getPreferedSize()
Return the prefered size for this graphic.


setStretchToFill

public void setStretchToFill(boolean status)
Set the status of the stretching mode (activated or not). Stretching consist in displaying the projection into the full screen slice (i.e. viewport).

Parameters:
status -

getStretchToFill

public boolean getStretchToFill()

setViewPort

public void setViewPort(int width,
                        int height)
Set the view port (size of the renderer).

Parameters:
width - the width of the target window.
height - the height of the target window.

setViewPort

public void setViewPort(int width,
                        int height,
                        float left,
                        float right)
Set the view port (size of the renderer).

Parameters:
width - the width of the target window.
height - the height of the target window.
left - the width's ratio where this subscreen starts in the target window.
right - the width's ratio where this subscreen stops in the target window.
Throws:
an - IllegalArgumentException if right is not greater than left.

setViewPort

public void setViewPort(ViewPort viewport)

getLastViewPort

public ViewPort getLastViewPort()

applyViewPort

protected void applyViewPort(javax.media.opengl.GL2 gl,
                             javax.media.opengl.glu.GLU glu)
Apply the GL viewport according to the settings given to setViewPort. If the screen grid was activated, the grid is rendered prior to the viewport definition. After a call to applyViewPort, one can query the offset that was applied to the viewport relative to the canvas. Indeed, when the stretchToFill option is disabled, the viewport is computed so that the content appears in a squared subpart of the canvas.

Parameters:
gl -
glu -

getRectangle

public Rectangle getRectangle()
Returns the (x,y) offset that was applied to make this AbstractViewport stand in the appropriate canvas part. and the actual width and height of the viewport. Only relevant after a call to applyViewPort.


setScreenGridDisplayed

public void setScreenGridDisplayed(boolean status)
Set the status of the screen grid.

Parameters:
status - the grid is displayed if status is set to true