com.smartgwt.client.widgets.drawing

## Class DrawImage

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.drawing.DrawItem
        - - com.smartgwt.client.widgets.drawing.DrawImage

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClickHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDrawEndHandlers, HasDrawStartHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasResizedHandlers, HasShowContextMenuHandlers

      public class DrawImage
      extends DrawItem

  DrawItem subclass to render embedded images.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DrawImage()`
    `DrawImage(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, DrawItem defaults)` Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `Point` | `getCenter()` Get the center point of the image.
    `int` | `getHeight()` Height in pixels relative to the `local coordinate system`.
    `double` | `getHeightAsDouble()` Height in pixels relative to the `local coordinate system`.
    `int` | `getLeft()` Left coordinate in pixels relative to the `local coordinate system`.
    `double` | `getLeftAsDouble()` Left coordinate in pixels relative to the `local coordinate system`.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `static DrawImage` | `getOrCreateRef(com.google.gwt.core.client.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 `local coordinate system`.
    `double` | `getTopAsDouble()` Top coordinate in pixels relative to the `local coordinate system`.
    `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 relative to the `local coordinate system`.
    `double` | `getWidthAsDouble()` Width in pixels relative to the `local coordinate system`.
    `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 relative to the `local coordinate system`.
    `void` | `setLeft(int left)` Left coordinate in pixels relative to the `local coordinate system`.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawImageLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `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 `local coordinate system`.
    `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 relative to the `local coordinate system`.

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

      `addClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDrawEndHandler, addDrawStartHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, bringToFront, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getBoundingBox, getBoundingBoxAsDouble, getById, getByJSObject, 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, getPaletteDefaults, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotateKnob, getRotation, getRotationAsDouble, getScale, getShadow, getShowHover, getShowResizeOutline, getShowTitleLabelBackground, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTitleAutoFit, getTitleAutoFitMargin, getTitleAutoFitRotationMode, getTitleLabel, getTitleLabelBackground, getTitleLabelPadding, getTitleRotationMode, getTranslate, getUnderlyingGWTCanvas, getUseSimpleTransform, getXShearFactor, getYShearFactor, getZIndex, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, sendToBack, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, 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, setLogicalStructure, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setRotation, setRotation, setScale, setShadow, setShapeData, setShowHover, setShowResizeOutline, setShowTitleLabelBackground, setStartArrow, setTitleAutoFit, setTitleAutoFitMargin, setTitleAutoFitRotationMode, setTitleLabelPadding, setTitleRotationMode, setTranslate, setUseSimpleTransform, setXShearFactor, setYShearFactor, setZIndex, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, applyFactoryProperties, completeCreation, destroy, doAddHandler, doInit, doOnRender, equals, error, errorIfNotCreated, getAttribute, getAttributeAsDateArray, getAttributeAsFloatArray, getAttributeAsIntArray, getAttributeAsRecord, getAttributeAsStringArray, getClassName, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, onInit, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setHtmlElement, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, setVisible, setWidth, sinkBitlessEvent`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

      `fireEvent`

- - ### Constructor Detail

    - #### DrawImage

          public DrawImage()

    - #### DrawImage

          public DrawImage(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawImage getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     DrawItem defaults)

      Changes the defaults for DrawItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setHeight

          public void setHeight(int height)

      Height in pixels relative to the `local coordinate system`.
      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 relative to the `local coordinate system`.
      Returns:
        Current height value. Default value is 16

    - #### getHeightAsDouble

          public double getHeightAsDouble()

      Height in pixels relative to the `local coordinate system`.
      Returns:
        Current height value. Default value is 16

    - #### setLeft

          public void setLeft(int left)

      Left coordinate in pixels relative to the `local coordinate system`.
      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 `local coordinate system`.
      Returns:
        Current left value. Default value is 0

    - #### getLeftAsDouble

          public double getLeftAsDouble()

      Left coordinate in pixels relative to the `local coordinate system`.
      Returns:
        Current left value. Default value is 0

    - #### 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"
      See Also:
        `URL`

    - #### getSrc

          public java.lang.String getSrc()

      URL to the image file.
      Returns:
        Current src value. Default value is "blank.png"
      See Also:
        `URL`

    - #### setTitle

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

      Title (tooltip hover text) for this image.
      Overrides:
        `setTitle` in class `DrawItem`
      Parameters:
        `title` - New title value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `DrawItem.setTitleRotationMode(com.smartgwt.client.types.TitleRotationMode)`

    - #### getTitle

          public java.lang.String getTitle()

      Title (tooltip hover text) for this image.
      Overrides:
        `getTitle` in class `DrawItem`
      Returns:
        Current title value. Default value is null
      See Also:
        `DrawItem.getTitleRotationMode()`

    - #### setTop

          public void setTop(int top)

      Top coordinate in pixels relative to the `local coordinate system`.
      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 `local coordinate system`.
      Returns:
        Current top value. Default value is 0

    - #### getTopAsDouble

          public double getTopAsDouble()

      Top coordinate in pixels relative to the `local coordinate system`.
      Returns:
        Current top value. Default value is 0

    - #### 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` - New useMatrixFilter value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the 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:
        Current useMatrixFilter value. Default value is null
      See Also:
        `IEFilters overview and related methods`

    - #### setWidth

          public void setWidth(int width)

      Width in pixels relative to the `local coordinate system`.
      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 relative to the `local coordinate system`.
      Returns:
        Current width value. Default value is 16

    - #### getWidthAsDouble

          public double getWidthAsDouble()

      Width in pixels relative to the `local coordinate system`.
      Returns:
        Current width value. Default value is 16

    - #### 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
      See Also:
        `SGWTProperties`

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawImageLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `DrawItem`