Horus Doc || Java GUI Reference || Doxygen's quick Index  

CanvasCorbaSequence Class Reference

A CanvasImage to display a Corba ImageSeq object. More...

Inheritance diagram for CanvasCorbaSequence::

CanvasImage CanvasObject CanvasCorbaSeqThread List of all members.

Public Methods

 CanvasCorbaSequence (HxCorba.ImageSeq seq)
 CanvasCorbaSequence (HxCorba.ImageSeq seq, String displayMode)
 CanvasCorbaSequence (HxCorba.ImageSeq seq, String displayMode, double scale)
void showFrame (int n)
void draw (Graphics g)
 Draw CanvasObject on 'g', using internal CCS values. More...

Color getPixel (int x, int y)
void setPixel (int x, int y, Color c)
int[] getPixels (int x, int y, int w, int h)
BufferedImage getSubImage (int x, int y, int w, int h)
String[] getPixelStrings (int x, int y, int w, int h)

Protected Methods

SequenceBufferedImage makeSequenceBufferedImage ()

Protected Attributes

HxCorba.ImageSeq _theSeq
int _nrFrames
int _current
SequenceBufferedImage _bufIm
HxCorba.ImageSeqDisplayer _displayer

Detailed Description

A CanvasImage to display a Corba ImageSeq object.


Constructor & Destructor Documentation

CanvasCorbaSequence::CanvasCorbaSequence HxCorba.ImageSeq    seq [inline]
 

00027 {
00028     this(seq, "Direct", 1.0);
00029 }

CanvasCorbaSequence::CanvasCorbaSequence HxCorba.ImageSeq    seq,
String    displayMode
[inline]
 

00032 {
00033     this(seq, displayMode, 1.0);
00034 }

CanvasCorbaSequence::CanvasCorbaSequence HxCorba.ImageSeq    seq,
String    displayMode,
double    scale
[inline]
 

00038 {
00039     super(Converter.ICS_ORIGIN, Converter.ICS_ORIGIN, 0., 0.);
00040     setInputSource(INP_SASYSTEM);
00041 
00042     _theSeq = seq;
00043     _nrFrames = _theSeq.nrFrames();
00044 //    _mode = displayMode;
00045     _current = -1;
00046 
00047     HxCorba.Sizes sizes = _theSeq.frameSizes();
00048     sizes.x *= scale;
00049     sizes.y *= scale;
00050 
00051     _displayer = _theSeq.getDisplayer();
00052     _displayer.setDisplayMode(displayMode);
00053     _displayer.setSize(sizes);
00054 
00055     setImageDim(sizes.x, sizes.y);
00056     _bufIm = new SequenceBufferedImage(sizes);
00057 }


Member Function Documentation

void CanvasCorbaSequence::showFrame int    n [inline]
 

Reimplemented in CanvasCorbaSeqThread.

00060 {
00061     if(n >= _nrFrames) n = _nrFrames - 1;
00062 
00063     if(n == _current) return;
00064 
00065     _bufIm.setFrame(n);
00066     _current = n;
00067 }

void CanvasCorbaSequence::draw Graphics    g [inline, virtual]
 

Draw CanvasObject on 'g', using internal CCS values.

Reimplemented from CanvasObject.

00070 {
00071     setupDrawMode(g);
00072     if (!getTransformOK()) {
00073         transformICStoCCS();
00074     }
00075     g.drawImage(_bufIm, getX1Ccs(), getY1Ccs(), getWidthCcs(), getHeightCcs(), null);
00076 }

Color CanvasCorbaSequence::getPixel int    x,
int    y
[inline]
 

00079 {
00080     return (new Color(_bufIm.getRGB(x, y)));
00081 }

void CanvasCorbaSequence::setPixel int    x,
int    y,
Color    c
[inline, virtual]
 

Reimplemented from CanvasImage.

00085 {
00086     _bufIm.setRGB(x, y, c.getRGB());
00087 }

int [] CanvasCorbaSequence::getPixels int    x,
int    y,
int    w,
int    h
[inline]
 

00091 {
00092     return _bufIm.getRGB(x, y, w, h, null, 0, w);
00093 }

BufferedImage CanvasCorbaSequence::getSubImage int    x,
int    y,
int    w,
int    h
[inline, virtual]
 

Reimplemented from CanvasImage.

00097 {
00098     return _bufIm.getSubimage(x, y, w, h);
00099 }

String [] CanvasCorbaSequence::getPixelStrings int    x,
int    y,
int    w,
int    h
[inline, virtual]
 

Reimplemented from CanvasImage.

00103 {
00104     String[] strs = new String[w*h];
00105     int imWidth = _bufIm.getWidth();
00106     int imHeight = _bufIm.getHeight();
00107     for (int i=0; i<w; i++) {
00108         for (int j=0; j<h; j++) {
00109             if (x+i < 0 || y+j < 0 || x+i >= imWidth || y+j >= imHeight) {
00110                 strs[i+j*w] = new String("");
00111             } else {
00112                 int pix = _bufIm.getRGB(x+i, y+j);
00113                 Color c = new Color(pix);
00114                 strs[i+j*w] = HX.colorToString(c);
00115             }
00116         }
00117     }
00118     return strs;
00119 }

SequenceBufferedImage CanvasCorbaSequence::makeSequenceBufferedImage   [inline, protected]
 

00129 {
00130     return new SequenceBufferedImage();
00131 }


Member Data Documentation

HxCorba.ImageSeq CanvasCorbaSequence::_theSeq [protected]
 

int CanvasCorbaSequence::_nrFrames [protected]
 

int CanvasCorbaSequence::_current [protected]
 

SequenceBufferedImage CanvasCorbaSequence::_bufIm [protected]
 

HxCorba.ImageSeqDisplayer CanvasCorbaSequence::_displayer [protected]
 


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:15 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001