quicktime.app.sg
Class SGDrawer

java.lang.Object
  |
  +--quicktime.app.time.Tasking
        |
        +--quicktime.app.sg.SGDrawer
All Implemented Interfaces:
Drawable, Listener, QTDrawable, Taskable, Transformable

public class SGDrawer
extends Tasking
implements QTDrawable

This class presents the SequenceGrabber/SGChannel component as a Drawable object so that it can be displayed within the confines of the QTCanvas.


Fields inherited from interface quicktime.app.time.Taskable
tasker
 
Constructor Summary
SGDrawer(SGVideoChannel sg)
          This constructor creates an SGDrawer object from a SGChannel component.
 
Method Summary
 void addedTo(java.lang.Object interest)
          This method is called by the specified object when the instance of the class that implements this interface is added to the object that is the source of the interest.
 Region getClip()
          Returns a region that defines the current clipping region for the object.
 QDRect getDisplayBounds()
          Returns the current display location and size of the SGDrawer.
 QDGraphics getGWorld()
          QTCanvas calls this method to get the destination QDGraphics of its client.
 java.awt.Dimension getInitialSize()
          Deprecated. since QTJava 4.0
 Matrix getMatrix()
          This will return the client's current display transformations
 QDDimension getOriginalSize()
          This method returns the original size before the transformations specified in the returned matrix are applied.
 SequenceGrabber getSequenceGrabber()
          This returns the SequenceGrabber that is presented by this drawable.
 SGCaptureCallback getSGCaptureCallback()
          Gets a SGCaptureCallback that is used by the SGDrawer to notify an application when a sequence grabbing operation has completed.
 SGVideoChannel getSGChannel()
          This returns the SequenceGrabber's VideoChannel that is presented by this drawable.
 void redraw(Region invalidRgn)
          QTCanvas calls this method when the client should redraw itself.
 void removedFrom(java.lang.Object interest)
          This method is called by the specified object when the instance of the class that implements this interface is removed from the object that is the source of the interest.
 void setClip(Region reg)
          Sets a region that will define the clipping region for the object
 void setDisplayBounds(QDRect bounds)
          Sets the display bounds for the SGDrawer
 void setGWorld(QDGraphics cgp)
          QTCanvas calls this method to give the client the QDGraphics object it should use to do its drawing.
 void setLocation(int x, int y)
          A convenience method to set the position of a QTDrawable object.
 void setMatrix(Matrix matrix)
          This method sets the current matrix of the Transformable object to the new matrix.
 void setSGCaptureCallback(SGCaptureCallback callback)
          Sets a SGCaptureCallback that will be used by the SGDrawer to notify an application when a sequence grabbing operation has completed.
 void task()
          This method performs idle processing for the SGDrawer and will be automatically called if this object is added to the TaskThread object.
 java.lang.String toString()
          Returns a String representation of this object.
 
Methods inherited from class quicktime.app.time.Tasking
addedToTasker, getDefaultTasker, getTasker, removedFromTasker, setDefaultTasker, startTasking, stopTasking
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SGDrawer

public SGDrawer(SGVideoChannel sg)
         throws QTException
This constructor creates an SGDrawer object from a SGChannel component. If the channel is set to useVideo then it will throw a paramErr QTException.
Parameters:
sg - the SequenceGrabber component channel to present.
Method Detail

getSGChannel

public SGVideoChannel getSGChannel()
This returns the SequenceGrabber's VideoChannel that is presented by this drawable.
Returns:
an SGVideoChannel

getSequenceGrabber

public SequenceGrabber getSequenceGrabber()
This returns the SequenceGrabber that is presented by this drawable.
Returns:
an SequenceGrabber

addedTo

public void addedTo(java.lang.Object interest)
This method is called by the specified object when the instance of the class that implements this interface is added to the object that is the source of the interest.
Specified by:
addedTo in interface Listener
Parameters:
interest - the object that is to be the source of interest for the the object that implements this interface.

removedFrom

public void removedFrom(java.lang.Object interest)
This method is called by the specified object when the instance of the class that implements this interface is removed from the object that is the source of the interest.
Specified by:
removedFrom in interface Listener
Parameters:
interest - the object that was the source of interest for the the object that implements this interface.

getGWorld

public QDGraphics getGWorld()
                     throws StdQTException
QTCanvas calls this method to get the destination QDGraphics of its client.
Specified by:
getGWorld in interface QTDrawable
Returns:
a QDGraphics object or null

setGWorld

public void setGWorld(QDGraphics cgp)
               throws QTException
QTCanvas calls this method to give the client the QDGraphics object it should use to do its drawing. If the incoming QDGraphics is the QDGraphics.scratch then the drawable will not be visible and can disable itself. If a client is unable to set the graphics world it should throw an exception.
Specified by:
setGWorld in interface QTDrawable
Parameters:
cgp - a QDGraphics object

getInitialSize

public java.awt.Dimension getInitialSize()
                                  throws QTException
Deprecated. since QTJava 4.0

This method returns the original size before the transformations specified in the returned matrix are applied.
See Also:
()

getOriginalSize

public QDDimension getOriginalSize()
                            throws QTException
This method returns the original size before the transformations specified in the returned matrix are applied.
Specified by:
getOriginalSize in interface Transformable
Returns:
the intial size of the SGDrawer

getMatrix

public Matrix getMatrix()
                 throws StdQTException
This will return the client's current display transformations
Specified by:
getMatrix in interface Transformable
Returns:
the display transformations of the client

setMatrix

public void setMatrix(Matrix matrix)
               throws QTException
This method sets the current matrix of the Transformable object to the new matrix.
Specified by:
setMatrix in interface Transformable
Parameters:
matrix - the new display Matrix

setDisplayBounds

public void setDisplayBounds(QDRect bounds)
                      throws StdQTException
Sets the display bounds for the SGDrawer
Specified by:
setDisplayBounds in interface Drawable
Parameters:
bounds - the new size and location.

setLocation

public void setLocation(int x,
                        int y)
                 throws QTException
A convenience method to set the position of a QTDrawable object.
Specified by:
setLocation in interface QTDrawable
Parameters:
x - the new x location
y - the new y location

getDisplayBounds

public QDRect getDisplayBounds()
                        throws StdQTException
Returns the current display location and size of the SGDrawer.
Specified by:
getDisplayBounds in interface Drawable
Returns:
the boundary of the client

redraw

public final void redraw(Region invalidRgn)
                  throws StdQTException
QTCanvas calls this method when the client should redraw itself. If the canvas is able to discern that only a part of the client's drawing area needs to be redrawn - then this area shall be passed in using the invalidRgn. Otherwise this will be null in which case the client should redraw itself entirely.
Specified by:
redraw in interface Drawable
Parameters:
invalidRgn - the invalidRgn that the client should redraw

getClip

public Region getClip()
               throws QTException
Returns a region that defines the current clipping region for the object.
Specified by:
getClip in interface QTDrawable
Returns:
the clipping region

setClip

public void setClip(Region reg)
             throws StdQTException
Sets a region that will define the clipping region for the object
Specified by:
setClip in interface QTDrawable
Parameters:
reg - the new clipping region

task

public final void task()
                throws StdQTException
This method performs idle processing for the SGDrawer and will be automatically called if this object is added to the TaskThread object. It the sequence grabber has completed its capture task this method will stop tasking the SGDrawer, stop the sequence grabber and call the SGCaptureCallback if registered to notify the application that Sequence grabbing is complete.
See Also:
quicktime.util.TaskThread

setSGCaptureCallback

public void setSGCaptureCallback(SGCaptureCallback callback)
Sets a SGCaptureCallback that will be used by the SGDrawer to notify an application when a sequence grabbing operation has completed.
Parameters:
callback - can be null to de-register notification

getSGCaptureCallback

public SGCaptureCallback getSGCaptureCallback()
Gets a SGCaptureCallback that is used by the SGDrawer to notify an application when a sequence grabbing operation has completed.
Returns:
the SGCaptureCallback object or null if none registered.

toString

public java.lang.String toString()
Returns a String representation of this object.
Overrides:
toString in class java.lang.Object