Back to index

wims  3.65+svn20090927
Public Member Functions | Private Attributes
fr.ove.openmath.jome.ctrlview.bidim.ImageSymbol Class Reference

The Displayable implementation of an image symbol. More...

Inheritance diagram for fr.ove.openmath.jome.ctrlview.bidim.ImageSymbol:
Inheritance graph
[legend]
Collaboration diagram for fr.ove.openmath.jome.ctrlview.bidim.ImageSymbol:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ImageSymbol (String imgId, ImageObserver observer)
 The constructor.
void setGraphicContext (GraphicContext graphicContext)
 Sets the graphic context in which the object is.
void paint (Graphics g)
 The paint method of the object to display.
Dimension getPreferredSize ()
 Returns the preferred size of the display.
Image getSymbol ()
 Returns the image of the symbol.
void setAscent (int ascent)
 Sets the ascent.
int getAscent ()
 Returns the ascent.
void setDescent (int descent)
 Sets the descent.
int getDescent ()
 Returns the descent.
void setShiftX (int shiftX)
 Sets the horizontal shift.
int getShiftX ()
 Returns the horizontal shift.
void setShiftY (int shiftY)
 Sets the vertical shift.
int getShiftY ()
 Returns the vertical shift.
void setAttributes (int ascent, int descent, int shiftX, int shiftY)
 Sets all the attributes.
GraphicContext getGraphicContext ()
 Returns the graphic context of the instance.
void setX (int x)
 Sets the x-location of the instance.
int getX ()
 Returns the x-location of the instance.
void setY (int y)
 Sets the y-location of the instance.
int getY ()
 Returns the y-location of the instance.
void setLocation (int x, int y)
 Sets the location of the instance.
void setLocation (Point location)
 Sets the location of the instance.
Point getLocation ()
 Returns the location of the instance.
int getWidth ()
 Returns the width of the instance.
void setWidth (int width)
 Sets the width of the instance.
int getHeight ()
 Returns the height of the instance.
void setHeight (int height)
 Sets the height of the instance.
Dimension getSize ()
 Returns the size of the instance.
void setSize (int width, int height)
 Sets the size of the instance.
void setSize (Dimension size)
 Sets the size of the instance.

Private Attributes

String imgId
 The image identifier.
Image symbolInit
 The initial image.
Image symbol
ImageObserver observer
 Object to be notified as more of the image is converted.
Insets insets = new Insets(0, 0, 0, 0)

Detailed Description

The Displayable implementation of an image symbol.

Author:
© 2000 DIRAT Laurent
Version:
2.0 05/01/2000

Definition at line 42 of file ImageSymbol.java.


Constructor & Destructor Documentation

fr.ove.openmath.jome.ctrlview.bidim.ImageSymbol.ImageSymbol ( String  imgId,
ImageObserver  observer 
) [inline]

The constructor.

Parameters:
imgIdthe image identifier of the symbol.
observerthe object to be notified as more of the image is converted.

Definition at line 71 of file ImageSymbol.java.

                                                             {
        symbolInit = ImageLoader.getImage(imgId);
        this.observer = observer;
        this.imgId = imgId;
    }

Here is the call graph for this function:


Member Function Documentation

Returns the ascent.

Returns:
the ascent.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 122 of file DisplayableImpl.java.

                           {
        return ascent;
    }

Here is the caller graph for this function:

Returns the descent.

Returns:
the descent.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 138 of file DisplayableImpl.java.

                            {
        return descent;
    }

Returns the graphic context of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 202 of file DisplayableImpl.java.

                                              {
        return graphicContext;
    }

Here is the caller graph for this function:

Returns the height of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Definition at line 291 of file DisplayableImpl.java.

                           {
        return bounds.height;
    }

Here is the caller graph for this function:

Returns the location of the instance.

Returns:
A Point representing the location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 263 of file DisplayableImpl.java.

                               {
        return bounds.getLocation();
    }

Returns the preferred size of the display.

Reimplemented from fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.

Definition at line 125 of file ImageSymbol.java.

                                        {
              MediaTracker tracker = new MediaTracker((Component) observer);
        // Le -1 signifie que la largeur sera proportionnelle à la hauteur.
        symbol = symbolInit.getScaledInstance(-1, getHeight()- insets.top - insets.bottom, Image.SCALE_SMOOTH);
        tracker.addImage(symbol, 0);
        // On attend que toutes les images soient chargées.
              try {
                  tracker.waitForAll();
              }
              catch (InterruptedException e) {
                  System.out.print(e.toString());
              }
                      
        tracker.removeImage(symbol);
        return new Dimension(symbol.getWidth(observer) + insets.left + insets.right, getHeight());
    }

Here is the call graph for this function:

Returns the horizontal shift.

Returns:
the horizontal shift.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 154 of file DisplayableImpl.java.

                           {
        return shiftX;
    }

Returns the vertical shift.

Returns:
the vertical shift.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 170 of file DisplayableImpl.java.

                           {
        return shiftY;
    }

Returns the size of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Reimplemented in fr.ove.openmath.jome.ctrlview.bidim.SquaredBracketSymbol.

Definition at line 306 of file DisplayableImpl.java.

                               {
        return bounds.getSize();
    }

Here is the caller graph for this function:

Returns the image of the symbol.

Definition at line 145 of file ImageSymbol.java.

                             {
        return symbol;
    }

Returns the width of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Definition at line 276 of file DisplayableImpl.java.

                          {
        return bounds.width;
    }

Here is the caller graph for this function:

Returns the x-location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 223 of file DisplayableImpl.java.

                      {
        return bounds.x;
    }

Returns the y-location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 238 of file DisplayableImpl.java.

                      {
        return bounds.y;
    }

The paint method of the object to display.

Parameters:
gthe drawing area of the symbol.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 118 of file ImageSymbol.java.

                                  {
        g.drawImage(symbol, insets.left, insets.top, observer);
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setAscent ( int  ascent) [inline, inherited]

Sets the ascent.

Parameters:
ascentthe new ascent value.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 114 of file DisplayableImpl.java.

                                      {
        this.ascent = ascent;
    }

Here is the caller graph for this function:

void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setAttributes ( int  ascent,
int  descent,
int  shiftX,
int  shiftY 
) [inline, inherited]

Sets all the attributes.

Parameters:
ascentthe new ascent value.
descentthe new descent value.
shiftXthe new horizontal shift value.
shiftYthe new vertical shift value.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 181 of file DisplayableImpl.java.

                                                                               {
        this.ascent = ascent;
        this.descent = descent;
        this.shiftX = shiftX;
        this.shiftY = shiftY;
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setDescent ( int  descent) [inline, inherited]

Sets the descent.

Parameters:
descentthe new descent value.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 130 of file DisplayableImpl.java.

                                        {
        this.descent = descent;
    }

Here is the caller graph for this function:

Sets the graphic context in which the object is.

Parameters:
graphicContextthe object graphic context. Actually, this methods gives information to the object, notably when its preferred size is required. If the context has changed, the displayable object must be informed. However, in the most part of the time, the whole graphic context won't be necessary stored, but only specific and usefull data.

Reimplemented from fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.

Definition at line 85 of file ImageSymbol.java.

                                                                 {
        super.setGraphicContext(graphicContext);
        FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(graphicContext.getFont());
        
        float heightFactor = ImageLoader.getHeightFactor(imgId);
        int fontHeight = fm.getHeight();
        
        insets.top = Math.round(ImageLoader.getTopInset(imgId)*fontHeight);
        insets.bottom = Math.round(ImageLoader.getBottomInset(imgId)*fontHeight);
        insets.left = Math.round(ImageLoader.getLeftInset(imgId)*fontHeight);
        insets.right = Math.round(ImageLoader.getRightInset(imgId)*fontHeight);
        
        setHeight((int) Math.round(fontHeight*heightFactor + insets.top + insets.bottom));
        
        float baseline = ImageLoader.getBaseline(imgId);
        int ascent;
        if (baseline == -1) {
            // C'est la baseline de la police courante.
            // Par contre, dans le cas d'un éventuel facteur de taille, l'ascent s'en trouve aussi
            // modifié
            ascent = (int) Math.round(fm.getAscent()*heightFactor);
        }
        else
            ascent = (int) Math.round(fontHeight*heightFactor*baseline);
            
        setAscent(ascent + insets.top);
        setDescent(getHeight() - ascent);
    }

Here is the call graph for this function:

void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setHeight ( int  height) [inline, inherited]

Sets the height of the instance.

Parameters:
heightthe height of the instance

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Reimplemented in fr.ove.openmath.jome.ctrlview.bidim.Bar.

Definition at line 299 of file DisplayableImpl.java.

                                      {
        bounds.height = height;
    }

Here is the caller graph for this function:

void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setLocation ( int  x,
int  y 
) [inline, inherited]

Sets the location of the instance.

Parameters:
xthe x-location of the instance.
ythe y-location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 247 of file DisplayableImpl.java.

                                          {
        bounds.setLocation(x, y);
    }

Sets the location of the instance.

Parameters:
locationthe location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 255 of file DisplayableImpl.java.

                                            {
        bounds.setLocation(location);
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setShiftX ( int  shiftX) [inline, inherited]

Sets the horizontal shift.

Parameters:
shiftXthe new horizontal shift value.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 146 of file DisplayableImpl.java.

                                      {
        this.shiftX = shiftX;
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setShiftY ( int  shiftY) [inline, inherited]

Sets the vertical shift.

Parameters:
shiftYthe new vertical shift value.

Implements fr.ove.openmath.jome.ctrlview.bidim.Displayable.

Definition at line 162 of file DisplayableImpl.java.

                                      {
        this.shiftY = shiftY;
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setSize ( int  width,
int  height 
) [inline, inherited]

Sets the size of the instance.

Parameters:
widththe width of the instance.
heightthe height of the instance

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Definition at line 315 of file DisplayableImpl.java.

                                               {
        bounds.setSize(width, height);
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setSize ( Dimension  size) [inline, inherited]

Sets the size of the instance.

Parameters:
sizethe size of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Definition at line 323 of file DisplayableImpl.java.

                                        {
        bounds.setSize(size);
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setWidth ( int  width) [inline, inherited]

Sets the width of the instance.

Parameters:
widththe width of the instance

Implements fr.ove.openmath.jome.ctrlview.bidim.Sizable.

Definition at line 284 of file DisplayableImpl.java.

                                    {
        bounds.width = width;
    }

Here is the caller graph for this function:

void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setX ( int  x) [inline, inherited]

Sets the x-location of the instance.

Parameters:
xthe x-location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 216 of file DisplayableImpl.java.

                            {
        bounds.x = x;
    }
void fr.ove.openmath.jome.ctrlview.bidim.DisplayableImpl.setY ( int  y) [inline, inherited]

Sets the y-location of the instance.

Parameters:
ythe y-location of the instance.

Implements fr.ove.openmath.jome.ctrlview.bidim.Localisable.

Definition at line 231 of file DisplayableImpl.java.

                            {
        bounds.y = y;
    }

Member Data Documentation

The image identifier.

Definition at line 46 of file ImageSymbol.java.

Insets fr.ove.openmath.jome.ctrlview.bidim.ImageSymbol.insets = new Insets(0, 0, 0, 0) [private]

Definition at line 64 of file ImageSymbol.java.

Object to be notified as more of the image is converted.

Definition at line 62 of file ImageSymbol.java.

Definition at line 57 of file ImageSymbol.java.

The initial image.

The reason of this field is we need to create an instance of the image which will have a size proportional with the characters of the formula. Because all the characters don't have the same size (exponents for example), we need to keep a reference of the initial size of the icon, to compute correctly its real size for displaying.

Definition at line 56 of file ImageSymbol.java.


The documentation for this class was generated from the following file: