public class DrawPane extends Canvas
<canvas>
tag and SVG (Scalable Vector Graphics)
where available,
and the VML (Vector Markup Language)
for legacy browsers (Internet Explorer 8 and earlier). To draw in
a DrawPane
you create DrawLine
s, DrawOval
s, DrawPath
s and other DrawItem
-based components, and place them in the DrawPane
via drawItems
or add them incrementally via DrawPane.addDrawItem()
.
DrawItems
support a
variety of common features, such as gradient fills
, arrowheads
, events such as click()
and built-in control knobs
for end user resizing and manipulation of shapes.
Common shapes such as rectangles
, ovals
and triangles
have dedicated DrawItem subclasses. For other shapes, consider:
DrawPath
- a multi-segment line with straight segments, defined by a series of
points
DrawPolygon
- a closed shape with straight sides, defined by a series of
points
DrawShape
- a multi-segment line or closed shape whose sides can be defined by a
series of commands, including curved arcs NOTE:To use the Drawing subsystem, include the Drawing module
in your application by including <inherits name="com.smartgwt.Drawing"/>
in your GWT module XML.
DrawRect
is configured with left:20, top:30, width:200, and height:100, the
DrawRect represents a rectangle from (20, 30) to (220, 130) in its local coordinate system. There is a local coordinate system for each DrawItem.
scale
or rotation
, have been applied. For DrawItems with no local transforms, the drawing coordinate system is identical to the local coordinate system.
translate
, zoomLevel
and rotation
applied. With the default global transforms, the global coordinate system is identical to the drawing coordinate system.
The view port
of the DrawPane is the rectangle in the global coordinate system from (0, 0) that is as wide as the DrawPane's inner content width
and as high as the DrawPane's inner content height
. Note: In the case of a FacetChart
showing a zoom chart
, the view port height is decreased by the height of the zoom chart.
One other coordinate system in use
by a DrawPane when drag-scrolling
is enabled is
the "viewbox coordinate system". The viewbox coordinate system is the drawing coordinate system with the translate
and zoomLevel
transforms applied.
config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName
Constructor and Description |
---|
DrawPane() |
DrawPane(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
void |
addDrawItem(DrawItem item,
boolean autoDraw)
Add a drawItem to this drawPane (if necessary removing it from any other drawPanes)
|
java.lang.String |
addGradient(Gradient gradient)
Add a new gradient to the drawPane shared gradient list (
gradients ). |
static double |
bezier(double p1,
double cp1,
double cp2,
double p2,
double t)
Computes a cubic Bézier curve polynomial:
B(t) = (1 - t)3P1 + 3(1 -
t)2tCP1 + 3(1 - t)t2CP2 + t3P2 |
static double[] |
bezierExtrema(double p1,
double cp1,
double cp2,
double p2)
Computes the minimum and maximum value of the cubic Bézier curve polynomial defined in
DrawPane.bezier() , for 0 ≤ t ≤ 1 . |
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
Canvas defaults)
Changes the defaults for Canvas 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() |
java.lang.String |
createLinearGradient(java.lang.String id,
LinearGradient linearGradient)
Deprecated.
in favor of
DrawPane.addGradient() |
java.lang.String |
createRadialGradient(java.lang.String id,
RadialGradient radialGradient)
Deprecated.
in favor of
DrawPane.addGradient() |
java.lang.String |
createSimpleGradient(java.lang.String id,
SimpleGradient simple)
Deprecated.
in favor of
DrawPane.addGradient() |
void |
destroyItems()
Permanently
destroy all DrawItems currently associated with
this DrawPane, leaving the DrawPane itself intact |
void |
erase()
Call
DrawItem.erase() on all DrawItems currently associated
with the DrawPane. |
static double[] |
getBezierBoundingBox(Point p1,
Point cp1,
Point cp2,
Point p2)
Calculate the bounding box of the cubic Bézier curve with endpoints
p1 and p2 and
control points cp1 and cp2 . |
boolean |
getCanDragScroll()
Can the user drag-scroll the DrawPane?
|
java.lang.String |
getDataURL()
Get a "data:" URL encoding the current contents of the DrawPane as a PNG file.
|
java.lang.String |
getDataURL(DataURLCallback callback)
Get a "data:" URL encoding the current contents of the DrawPane as a PNG file.
|
int |
getDrawingHeight()
When
canDragScroll is enabled, this is the height
of the area in viewbox coordinates that can be accessed through drag-scrolling. |
int |
getDrawingWidth()
When
canDragScroll is enabled, this is the width
of the area in viewbox coordinates that can be accessed through drag-scrolling. |
DrawItem[] |
getDrawItems()
Array of DrawItems to initially display in this DrawPane.
|
java.lang.String |
getEditProxyConstructor()
Default class used to construct the
EditProxy for this component when the component is
first placed into edit mode . |
Gradient |
getGradient(java.lang.String gradientID)
Returns gradient for gradientID.
|
Gradient[] |
getGradients()
Array of gradients that can be referenced by DrawItems placed on this DrawPane.
|
com.smartgwt.logicalstructure.core.LogicalStructureObject |
getLogicalStructure()
Getter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
static DrawPane |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
static Point[] |
getPolygonPoints(int width,
int height,
int xc,
int yc,
double[] angles)
Computes an array of Points for a polygon that has an equal distance from its center to any of its vertices and that
fits in the given width and height.
|
java.lang.String |
getPrintHTML(PrintProperties printProperties,
PrintHTMLCallback callback)
Retrieves printable HTML for this component and all printable subcomponents.
|
static Point[] |
getRegularPolygonPoints(int n,
int width,
int height,
int xc,
int yc,
double startAngle)
Calls
DrawPane.getPolygonPoints() with angles
spread evenly over the full 360 degrees. |
float |
getRotation()
Deprecated.
|
double |
getRotationAsDouble()
Rotation in degrees for the
DrawPane as a whole about the center of the DrawPane . |
java.lang.String |
getSvgString()
Converts this DrawPane to the source of an
<svg> element equivalent to the current drawing. |
int[] |
getTranslate()
Global translation.
|
float |
getZoomLevel()
Deprecated.
|
double |
getZoomLevelAsDouble()
Zoom for the
DrawPane as a whole, where 1 is normal size. |
void |
removeGradient(java.lang.String gradientID)
Removes gradient for gradientID.
|
void |
rotate(double degrees)
Synonym of
DrawPane.setRotation() . |
static void |
scaleAndCenter(int width,
int height,
int xc,
int yc,
Point... points)
Computes the top-, left-, bottom-, and right-most coordinates in a list of points, then translates and scales all points
to fit the entire shape into the given width and height.
|
static void |
scaleAndCenterBezier(int width,
int height,
int xc,
int yc,
Point startPoint,
Point endPoint,
Point controlPoint1,
Point controlPoint2)
Computes the top-, left-, bottom-, and right-most coordinates containing the Bézier curve defined by
startPoint , controlPoint1 , controlPoint2 , and endPoint , then
translates and scales these four points to fit the entire curve into the given width and height. |
void |
setCanDragScroll(boolean canDragScroll)
Can the user drag-scroll the DrawPane?
|
static void |
setDefaultProperties(DrawPane drawPaneProperties)
Class level method to set the default properties of this class.
|
void |
setDrawingHeight(int drawingHeight)
When
canDragScroll is enabled, this is the height
of the area in viewbox coordinates that can be accessed through drag-scrolling. |
void |
setDrawingWidth(int drawingWidth)
When
canDragScroll is enabled, this is the width
of the area in viewbox coordinates that can be accessed through drag-scrolling. |
void |
setDrawItems(DrawItem... drawItems)
Array of DrawItems to initially display in this DrawPane.
|
void |
setEditProxyConstructor(java.lang.String editProxyConstructor)
Default class used to construct the
EditProxy for this component when the component is
first placed into edit mode . |
void |
setGradients(Gradient... gradients)
Array of gradients that can be referenced by DrawItems placed on this DrawPane.
|
com.smartgwt.logicalstructure.core.LogicalStructureObject |
setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawPaneLogicalStructure s)
Setter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
void |
setRotation(double rotation)
Rotation in degrees for the
DrawPane as a whole about the center of the DrawPane . |
void |
setRotation(float rotation)
Deprecated.
|
void |
setTranslate(int[] translate)
Global translation.
|
void |
setZoomLevel(double zoomLevel)
Zoom for the
DrawPane as a whole, where 1 is normal size. |
void |
setZoomLevel(float zoomLevel)
Deprecated.
|
void |
zoom(double zoomLevel)
Synonym of
DrawPane.setZoomLevel() . |
void |
zoom(float zoomLevel)
Deprecated.
|
addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAlign, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop
addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents
public DrawPane()
public DrawPane(com.google.gwt.core.client.JavaScriptObject jsObj)
public static DrawPane getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static void changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)
autoChildName
.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.AutoChildUsage
public static void changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)
autoChildName
.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.AutoChildUsage
protected com.google.gwt.core.client.JavaScriptObject create()
public void setCanDragScroll(boolean canDragScroll) throws java.lang.IllegalStateException
setCanDragScroll
in class Canvas
canDragScroll
- Default value is falsejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdsetDrawingWidth(int)
,
setDrawingHeight(int)
public boolean getCanDragScroll()
getCanDragScroll
in class Canvas
getDrawingWidth()
,
getDrawingHeight()
public void setDrawingHeight(int drawingHeight) throws java.lang.IllegalStateException
canDragScroll
is enabled, this is the height
of the area in viewbox coordinates that can be accessed through drag-scrolling.drawingHeight
- Default value is 1000java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic int getDrawingHeight()
canDragScroll
is enabled, this is the height
of the area in viewbox coordinates that can be accessed through drag-scrolling.public void setDrawingWidth(int drawingWidth) throws java.lang.IllegalStateException
canDragScroll
is enabled, this is the width
of the area in viewbox coordinates that can be accessed through drag-scrolling.drawingWidth
- Default value is 1000java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic int getDrawingWidth()
canDragScroll
is enabled, this is the width
of the area in viewbox coordinates that can be accessed through drag-scrolling.public void setDrawItems(DrawItem... drawItems) throws java.lang.IllegalStateException
drawItems
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic DrawItem[] getDrawItems()
public void setEditProxyConstructor(java.lang.String editProxyConstructor) throws java.lang.IllegalStateException
EditProxy
for this component when the component is
first placed into edit mode
.setEditProxyConstructor
in class Canvas
editProxyConstructor
- See SCClassName
. Default value is "DrawPaneEditProxy"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getEditProxyConstructor()
EditProxy
for this component when the component is
first placed into edit mode
.getEditProxyConstructor
in class Canvas
SCClassName
public void setGradients(Gradient... gradients) throws java.lang.IllegalStateException
gradients
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic Gradient[] getGradients()
public void setRotation(float rotation)
GwtFloatVsDouble
DrawPane
as a whole about the center of the DrawPane
. The positive
direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation
counterclockwise by 10 degrees).
rotation
of the DrawPane
.rotation
- the new rotation in degrees. The positive direction corresponds to clockwise rotation.. Default value is 0public float getRotation()
GwtFloatVsDouble
DrawPane
as a whole about the center of the DrawPane
. The positive
direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation
counterclockwise by 10 degrees).public void setRotation(double rotation)
DrawPane
as a whole about the center of the DrawPane
. The positive
direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation
counterclockwise by 10 degrees).
rotation
of the DrawPane
.rotation
- the new rotation in degrees. The positive direction corresponds to clockwise rotation.. Default value is 0public double getRotationAsDouble()
DrawPane
as a whole about the center of the DrawPane
. The positive
direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation
counterclockwise by 10 degrees).public void setTranslate(int[] translate) throws java.lang.IllegalStateException
translate
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic int[] getTranslate()
public void setZoomLevel(float zoomLevel)
GwtFloatVsDouble
DrawPane
as a whole, where 1 is normal size.
DrawPane
to the specified magnification, maintaining the current viewport position.zoomLevel
- Desired zoom level as a float where 1.0
is equivalent to 100% magnification. Must be greater than 0.. Default value is 1public float getZoomLevel()
GwtFloatVsDouble
DrawPane
as a whole, where 1 is normal size.public void setZoomLevel(double zoomLevel)
DrawPane
as a whole, where 1 is normal size.
DrawPane
to the specified magnification, maintaining the current viewport position.zoomLevel
- Desired zoom level as a float where 1.0
is equivalent to 100% magnification. Must be greater than 0.. Default value is 1public double getZoomLevelAsDouble()
DrawPane
as a whole, where 1 is normal size.public void addDrawItem(DrawItem item, boolean autoDraw)
item
- drawItem to addautoDraw
- If explicitly set to false, and this drawPane is drawn, don't draw the newly added itempublic java.lang.String addGradient(Gradient gradient)
gradients
). If the gradient does not have an ID a new one
will be assigned.gradient
- gradient to addpublic java.lang.String createLinearGradient(java.lang.String id, LinearGradient linearGradient)
DrawPane.addGradient()
fillGradient
can reference the gradient by the given ID.id
- the ID of the linear gradientlinearGradient
- the linear gradientpublic java.lang.String createRadialGradient(java.lang.String id, RadialGradient radialGradient)
DrawPane.addGradient()
fillGradient
can reference the gradient by the given ID.id
- the ID of the radial gradientradialGradient
- the radial gradientpublic java.lang.String createSimpleGradient(java.lang.String id, SimpleGradient simple)
DrawPane.addGradient()
fillGradient
can reference the gradient by the given ID.id
- the ID of the simple linear gradientsimple
- the simple linear gradientpublic void destroyItems()
destroy
all DrawItems currently associated with
this DrawPane, leaving the DrawPane itself intactpublic void erase()
DrawItem.erase()
on all DrawItems currently associated
with the DrawPane. The DrawItems will continue to exist, and you can call draw() on them to make them appear
again, or destroy
to get rid of them permanetly. Use
DrawPane.destroyItems()
to permanently get rid of all
DrawItems.
public java.lang.String getDataURL()
The returned "data:" URLs can be used
anywhere a URL to an image is valid, for example, src
.
This method
will directly return the data URL on modern browsers when using <canvas>-style rendering (the default), and if
there are no DrawImage
s in this DrawPane
that load cross-domain
images.
On legacy browers (any version of IE in "quirks" mode, all versions of IE prior to 9.0), or if there is a
DrawImage
that loads a cross-domain image, data URL generation requires a server trip and requires the
Smart GWT Server to be installed with the same set of required
.jars
as are required for PDF export of charts in legacy IE. The method will return null and a callback must be
passed, which fires when the data URL has been retrieved from the server.
If the callback is passed but no server trip is required, the callback is fired immediately.
For obtaining PNG or other image data for use in server-side processing (such as attaching to automated emails or saving to a database), see also the server-side APIs in com.isomorphic.contentexport.ImageExport.
public java.lang.String getDataURL(DataURLCallback callback)
The returned "data:" URLs can be used
anywhere a URL to an image is valid, for example, src
.
This method
will directly return the data URL on modern browsers when using <canvas>-style rendering (the default), and if
there are no DrawImage
s in this DrawPane
that load cross-domain
images.
On legacy browers (any version of IE in "quirks" mode, all versions of IE prior to 9.0), or if there is a
DrawImage
that loads a cross-domain image, data URL generation requires a server trip and requires the
Smart GWT Server to be installed with the same set of required
.jars
as are required for PDF export of charts in legacy IE. The method will return null and a callback must be
passed, which fires when the data URL has been retrieved from the server.
If the callback is passed but no server trip is required, the callback is fired immediately.
For obtaining PNG or other image data for use in server-side processing (such as attaching to automated emails or saving to a database), see also the server-side APIs in com.isomorphic.contentexport.ImageExport.
callback
- callback to fire when data url is availablepublic Gradient getGradient(java.lang.String gradientID)
gradientID
- ID of gradient to retrievepublic java.lang.String getSvgString()
<svg>
element equivalent to the current drawing. In
Pro edition and above, the returned string can be used with RPCManager.exportImage()
to download an image, or with server-side APIs in com.isomorphic.contentexport.ImageExport to
obtain various kinds of images for further server-side processing.
<svg>
element.public void removeGradient(java.lang.String gradientID)
gradientID
- ID of gradient to removepublic void rotate(double degrees)
DrawPane.setRotation()
.degrees
- the new rotation in degrees. The positive direction corresponds to clockwise rotation.public void zoom(float zoomLevel)
GwtFloatVsDouble
DrawPane.setZoomLevel()
.zoomLevel
- Desired zoom level as a float where 1.0
is equivalent to 100% magnification. Must be greater than 0.public void zoom(double zoomLevel)
DrawPane.setZoomLevel()
.zoomLevel
- Desired zoom level as a float where 1.0
is equivalent to 100% magnification. Must be greater than 0.public static double bezier(double p1, double cp1, double cp2, double p2, double t)
B(t) = (1 - t)3P1 + 3(1 -
t)2tCP1 + 3(1 - t)t2CP2 + t3P2
p1
- starting point coordinatecp1
- first control point coordinatecp2
- second control point coordinatep2
- end point coordinatet
- the value of the parameter of the curve, between 0 and 1B(t)
at t
public static double[] bezierExtrema(double p1, double cp1, double cp2, double p2)
DrawPane.bezier()
, for 0 ≤ t ≤ 1
.p1
- starting point coordinatecp1
- first control point coordinatecp2
- second control point coordinatep2
- end point coordinatepublic static double[] getBezierBoundingBox(Point p1, Point cp1, Point cp2, Point p2)
p1
and p2
and
control points cp1
and cp2
.p1
- start point of the curvecp1
- first cubic Bézier control pointcp2
- second cubic Bézier control pointp2
- end point of the curve(x1, y1)
is the top-left point of the bounding box and the point
(x2, y2)
is the bottom-right point of the bounding box.public static Point[] getPolygonPoints(int width, int height, int xc, int yc, double[] angles)
width
- width of target spaceheight
- height of target spacexc
- center point xyc
- center point yangles
- the complete list of angles (in radians) with respect to the center point at which the polygon must have verticespublic static Point[] getRegularPolygonPoints(int n, int width, int height, int xc, int yc, double startAngle)
DrawPane.getPolygonPoints()
with angles
spread evenly over the full 360 degrees.n
- the number of vertices the polygonwidth
- width of target spaceheight
- height of target spacexc
- center point xyc
- center point ystartAngle
- the angle (in radians) with respect to the center point of the first vertex of the polygonpublic static void scaleAndCenter(int width, int height, int xc, int yc, Point... points)
width
- width of target spaceheight
- height of target spacexc
- center point xyc
- center point ypoints
- list of points to scale and translatepublic static void scaleAndCenterBezier(int width, int height, int xc, int yc, Point startPoint, Point endPoint, Point controlPoint1, Point controlPoint2)
startPoint
, controlPoint1
, controlPoint2
, and endPoint
, then
translates and scales these four points to fit the entire curve into the given width and height.width
- width of target spaceheight
- height of target spacexc
- center point xyc
- center point ystartPoint
- start point of the curveendPoint
- end point of the curvecontrolPoint1
- first cubic Bézier control pointcontrolPoint2
- second cubic Bézier control pointpublic static void setDefaultProperties(DrawPane drawPaneProperties)
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.
drawPaneProperties
- properties that should be used as new defaults when instances of this class are createdpublic java.lang.String getPrintHTML(PrintProperties printProperties, PrintHTMLCallback callback)
By default any Canvas with children will simply collect the printable HTML of its
children by calling getPrintHTML() on each child that is considered
printable
.
If overriding this method for a custom component, you should either return a String of printable HTML string directly or return null, and fire the callback (if provided).
To return an empty print representation, return an empty string ("") rather than null.
The printProperties
argument, if passed, must be passed to any subcomponents on
which getPrintHTML()
is called.
Notes on printing
To print a DrawPane
for export on IE8 and earlier, it is
PrintProperties
with printForExport
:true:
final PrintProperties pp = new PrintProperties(); pp.setPrintForExport(true); final String exportHTML = drawPane.getPrintHTML(pp, null);
Note: this is an override point.
getPrintHTML
in class Canvas
printProperties
- properties to configure printing behavior - may be null.callback
- optional callback to fire. Generated HTML should be passed to the
PrintHTMLCallback.setHTML(String)
method of the callback.Printing overview and related methods
public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawPaneLogicalStructure s)
LogicalStructure
interface,
which supports Eclipse's logical structure debugging facility.public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
LogicalStructure
interface,
which supports Eclipse's logical structure debugging facility.getLogicalStructure
in interface LogicalStructure
getLogicalStructure
in class Canvas