com.smartgwt.client.widgets.drawing

## Class DrawImage

- java.lang.Object
- - com.smartgwt.client.core.BaseClass
  - - com.smartgwt.client.widgets.drawing.DrawItem
    - - com.smartgwt.client.widgets.drawing.DrawImage

- All Implemented Interfaces:
    HasHandlers, HasClickHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasResizedHandlers, HasShowContextMenuHandlers

      public class DrawImage
      extends DrawItem

  DrawItem subclass to render embedded images.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.BaseClass

      `config, factoryCreated, factoryProperties, id, scClassName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DrawImage()`
    `DrawImage(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JavaScriptObject` | `create()`
    `Point` | `getCenter()` Get the center point of the image.
    `int` | `getHeight()` Height in pixels.
    `int` | `getLeft()` Left coordinate in pixels relative to the DrawPane.
    `static DrawImage` | `getOrCreateRef(JavaScriptObject jsObj)`
    `java.lang.String` | `getSrc()` URL to the image file.
    `java.lang.String` | `getTitle()` Title (tooltip hover text) for this image.
    `int` | `getTop()` Top coordinate in pixels relative to the DrawPane.
    `java.lang.Boolean` | `getUseMatrixFilter()` Configures whether a Matrix filter is used to render this DrawImage in Internet Explorer 6-8.
    `int` | `getWidth()` Width in pixels.
    `void` | `moveBy(int dX, int dY)` Move the drawImage by the specified delta
    `void` | `moveTo(java.lang.Integer left, java.lang.Integer top)` Move the drawImage to the specified position
    `static void` | `setDefaultProperties(DrawImage drawImageProperties)` Class level method to set the default properties of this class.
    `void` | `setHeight(int height)` Height in pixels.
    `void` | `setLeft(int left)` Left coordinate in pixels relative to the DrawPane.
    `void` | `setRect(java.lang.Integer left, java.lang.Integer top, java.lang.Integer width, java.lang.Integer height)` Updates the drawImage to match the specified coordinates and size in local coordinates.
    `void` | `setSrc(java.lang.String src)` URL to the image file.
    `void` | `setTitle(java.lang.String title)` Title (tooltip hover text) for this image.
    `void` | `setTop(int top)` Top coordinate in pixels relative to the DrawPane.
    `void` | `setUseMatrixFilter(java.lang.Boolean useMatrixFilter)` Configures whether a Matrix filter is used to render this DrawImage in Internet Explorer 6-8.
    `void` | `setWidth(int width)` Width in pixels.

    - ### Methods inherited from class com.smartgwt.client.widgets.drawing.DrawItem

      `addClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, changeAutoChildDefaults, changeAutoChildDefaults, changeAutoChildDefaults, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsIntArray, getBoundingBox, getBoundingBoxAsDouble, getCanDrag, getCanHover, getCanvasAutoChild, getContextMenu, getCornerResizeKnob, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawItemAutoChild, getDrawPane, getEditProxyConstructor, getEndArrow, getEndKnob, getEventOpaque, getFillColor, getFillGradient, getFillGradientAsString, getFillOpacity, getFormItemAutoChild, getHoverDelay, getHoverHTML, getKeepInParentRect, getKnobs, getLineCap, getLineColor, getLineOpacity, getLinePattern, getLineWidth, getMoveKnob, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotation, getRotationAsDouble, getScale, getShadow, getShowHover, getShowResizeOutline, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTranslate, getXShearFactor, getYShearFactor, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setEditProxyConstructor, setEndArrow, setEventOpaque, setFillColor, setFillGradient, setFillGradient, setFillOpacity, setHoverDelay, setKeepInParentRect, setKeepInParentRect, setKnobs, setLineCap, setLineColor, setLineOpacity, setLinePattern, setLineWidth, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setRotation, setRotation, setScale, setShadow, setShowHover, setShowResizeOutline, setStartArrow, setTranslate, setXShearFactor, setYShearFactor, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

    - ### Methods inherited from class com.smartgwt.client.core.BaseClass

      `applyFactoryProperties, asSGWTComponent, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getJsObj, getOrCreateJsObj, getScClassName, getTestInstance, hasAutoAssignedID, internalSetID, internalSetID, isCreated, isFactoryCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setFactoryCreated, setID, setJavaScriptObject, setProperty, setProperty, setProperty, setProperty, setScClassName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### DrawImage

          public DrawImage()

    - #### DrawImage

          public DrawImage(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawImage getOrCreateRef(JavaScriptObject jsObj)

    - #### create

          public JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setHeight

          public void setHeight(int height)

      Height in pixels.
      If this method is called after the component has been drawn/initialized: Set the height of the drawImage.
      Parameters:
        `height` - new height. Default value is 16

    - #### getHeight

          public int getHeight()

      Height in pixels.
      Returns:
        int

    - #### setLeft

          public void setLeft(int left)

      Left coordinate in pixels relative to the DrawPane.
      If this method is called after the component has been drawn/initialized: Set the left coordinate of the drawImage.
      Parameters:
        `left` - new left coordinate. Default value is 0

    - #### getLeft

          public int getLeft()

      Left coordinate in pixels relative to the DrawPane.
      Returns:
        int

    - #### setSrc

          public void setSrc(java.lang.String src)

      URL to the image file.
      If this method is called after the component has been drawn/initialized: Change the URL of the image displayed.
      Parameters:
        `src` - new URL. Default value is "blank.png"

    - #### getSrc

          public java.lang.String getSrc()

      URL to the image file.
      Returns:
        String

    - #### setTitle

          public void setTitle(java.lang.String title)
                        throws java.lang.IllegalStateException

      Title (tooltip hover text) for this image.
      Parameters:
        `title` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getTitle

          public java.lang.String getTitle()

      Title (tooltip hover text) for this image.
      Returns:
        String

    - #### setTop

          public void setTop(int top)

      Top coordinate in pixels relative to the DrawPane.
      If this method is called after the component has been drawn/initialized: Set the top coordinate of the drawImage.
      Parameters:
        `top` - new top coordinate. Default value is 0

    - #### getTop

          public int getTop()

      Top coordinate in pixels relative to the DrawPane.
      Returns:
        int

    - #### setUseMatrixFilter

          public void setUseMatrixFilter(java.lang.Boolean useMatrixFilter)
                                  throws java.lang.IllegalStateException

      Configures whether a Matrix filter is used to render this DrawImage in Internet Explorer 6-8.

      With the default of `null`, matrix filters may be used unless `neverUseFilters` has been set. When set explicitly to `true`, matrix filters may be used even if `neverUseFilters` is `true`.

      This setting exists due to platform limitations in Internet Explorer where it is impossible to implement shearing transforms on an image without a matrix filter. Shear can arise by:

      - specifying a nonzero `xShearFactor` or `yShearFactor`,
      - specifying a nonuniform `scale` (where the scale values along the x- and y-dimensions are not equal) and a nonzero `rotation`, or
      - using `KnobType.RESIZE` `control knobs` on a rotated DrawImage.
      When prohibited from using a matrix filter, DrawImage will ignore the shearing components of its local transform. If any of the above conditions are met then the DrawImage might not be drawn correctly. Setting `useMatrixFilter` to `true` avoids this possibility but it also suffers from a range of side-effects mentioned `here`.
      Parameters:
        `useMatrixFilter` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `IEFilters overview and related methods`

    - #### getUseMatrixFilter

          public java.lang.Boolean getUseMatrixFilter()

      Configures whether a Matrix filter is used to render this DrawImage in Internet Explorer 6-8.

      With the default of `null`, matrix filters may be used unless `neverUseFilters` has been set. When set explicitly to `true`, matrix filters may be used even if `neverUseFilters` is `true`.

      This setting exists due to platform limitations in Internet Explorer where it is impossible to implement shearing transforms on an image without a matrix filter. Shear can arise by:

      - specifying a nonzero `xShearFactor` or `yShearFactor`,
      - specifying a nonuniform `scale` (where the scale values along the x- and y-dimensions are not equal) and a nonzero `rotation`, or
      - using `KnobType.RESIZE` `control knobs` on a rotated DrawImage.
      When prohibited from using a matrix filter, DrawImage will ignore the shearing components of its local transform. If any of the above conditions are met then the DrawImage might not be drawn correctly. Setting `useMatrixFilter` to `true` avoids this possibility but it also suffers from a range of side-effects mentioned `here`.
      Returns:
        Boolean
      See Also:
        `IEFilters overview and related methods`

    - #### setWidth

          public void setWidth(int width)

      Width in pixels.
      If this method is called after the component has been drawn/initialized: Set the width of the drawImage.
      Parameters:
        `width` - new width. Default value is 16

    - #### getWidth

          public int getWidth()

      Width in pixels.
      Returns:
        int

    - #### getCenter

          public Point getCenter()

      Get the center point of the image.
      Overrides:
        `getCenter` in class `DrawItem`
      Returns:
        the center point

    - #### moveBy

          public void moveBy(int dX,
                    int dY)

      Move the drawImage by the specified delta
      Overrides:
        `moveBy` in class `DrawItem`
      Parameters:
        `dX` - number of pixels to move horizontally
        `dY` - number of pixels to move vertically

    - #### moveTo

          public void moveTo(java.lang.Integer left,
                    java.lang.Integer top)

      Move the drawImage to the specified position
      Overrides:
        `moveTo` in class `DrawItem`
      Parameters:
        `left` - new left coordinate
        `top` - new top coordinate

    - #### setRect

          public void setRect(java.lang.Integer left,
                     java.lang.Integer top,
                     java.lang.Integer width,
                     java.lang.Integer height)

      Updates the drawImage to match the specified coordinates and size in local coordinates.
      Parameters:
        `left` - new left coordinate
        `top` - new top coordinate
        `width` - new width
        `height` - new height

    - #### setDefaultProperties

          public static void setDefaultProperties(DrawImage drawImageProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `drawImageProperties` - properties that should be used as new defaults when instances of this class are created