Class DrawPane
- All Implemented Interfaces:
HasAttachHandlers
,HasHandlers
,EventListener
,HasVisibility
,IsWidget
,LogicalStructure
,HasDrawEndHandlers
,HasDrawStartHandlers
,HasClearHandlers
,HasClickHandlers
,HasDoubleClickHandlers
,HasDragMoveHandlers
,HasDragRepositionMoveHandlers
,HasDragRepositionStartHandlers
,HasDragRepositionStopHandlers
,HasDragResizeMoveHandlers
,HasDragResizeStartHandlers
,HasDragResizeStopHandlers
,HasDragStartHandlers
,HasDragStopHandlers
,HasDropHandlers
,HasDropMoveHandlers
,HasDropOutHandlers
,HasDropOverHandlers
,HasFocusChangedHandlers
,HasHoverHandlers
,HasHoverHiddenHandlers
,HasKeyDownHandlers
,HasKeyPressHandlers
,HasMouseDownHandlers
,HasMouseMoveHandlers
,HasMouseOutHandlers
,HasMouseOverHandlers
,HasMouseStillDownHandlers
,HasMouseUpHandlers
,HasMouseWheelHandlers
,HasMovedHandlers
,HasParentMovedHandlers
,HasResizedHandlers
,HasRightMouseDownHandlers
,HasRuleContextChangedHandlers
,HasScrolledHandlers
,HasShowContextMenuHandlers
,HasVisibilityChangedHandlers
- Direct Known Subclasses:
FacetChart
,Gauge
<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 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 ofpoints
-
DrawPolygon
- a closed shape with straight sides, defined by a series ofpoints
-
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.
Note on Coordinate Systems
There are three different coordinate systems involved when a DrawItem is drawn onto a DrawPane:- The "local coordinate system" for a DrawItem refers to the Cartesian coordinate system in which
dimensional and positional values are interpreted. For example, when a
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. For this same DrawRect,top
is going to be 30 even if the shape is scaled by 3x, such that the (transformed) top coordinate in the drawing coordinate system actually lies outside the visible region of the DrawPane. Similarly, no matter what rotation is applied,top
will continue to be 30.Use
DrawItem.getBoundingBox()
to obtain the bounding box of the item in local coordinates. Subclass properties also typically provide data in the local coordinate system, such asDrawRect.left
,DrawRect.top
,DrawRect.width
,DrawRect.height
,DrawPath.points
, andDrawTriangle.points
.There is a local coordinate system for each DrawItem.
- The "drawing coordinate system" refers to the Cartesian coordinate system shared by
all DrawItems after their local transforms, such as
DrawItem.scale
orDrawItem.rotation
, have been applied.Since
DrawGroup
s pass through applied transforms to the underlying items,DrawGroup
properties such asDrawGroup.left
,DrawGroup.top
,DrawGroup.width
, andDrawGroup.height
, represent coordinates in the drawing coordinate system, as does thereforeDrawGroup.getBoundingBox()
. The APIsgetDrawingPoint()
,getDrawingX()
, andgetDrawingY()
, also return drawing coordinates.For DrawItems with no local transforms, the drawing coordinate system is identical to the local coordinate system.
- The "global coordinate system" refers to the drawing coordinate system with global DrawPane
transforms
translate
,zoomLevel
androtation
applied.Use
DrawItem.getResizeBoundingBox()
to obtain the bounding box of aDrawItem
in global coordinates. The APIsDrawItem.getPageLeft()
andDrawItem.getPageTop()
reflect global coordinates rounded to the nearest pixel and offset by the page-relative coordinates of theDrawPane
's top left corner. (See for exampleCanvas.getPageLeft()
andCanvas.getPageTop()
.)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.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, 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
-
Method Summary
Modifier and TypeMethodDescriptionaddDrawEndHandler
(DrawEndHandler handler) Add a drawEnd handler.void
addDrawItem
(DrawItem item, boolean autoDraw) Adds a draw item to thisDrawPane
.addDrawStartHandler
(DrawStartHandler handler) Add a drawStart handler.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 inbezier()
, for0 ≤ t ≤ 1
.static void
changeAutoChildDefaults
(String autoChildName, Canvas defaults) Changes the defaults for Canvas AutoChildren namedautoChildName
.static void
changeAutoChildDefaults
(String autoChildName, FormItem defaults) Changes the defaults for FormItem AutoChildren namedautoChildName
.protected JavaScriptObject
create()
createLinearGradient
(String id, LinearGradient linearGradient) Deprecated.createRadialGradient
(String id, RadialGradient radialGradient) Deprecated.in favor ofaddGradient()
createSimpleGradient
(String id, SimpleGradient simple) Deprecated.in favor ofaddGradient()
void
Permanentlydestroy
all DrawItems currently associated with this DrawPane, leaving the DrawPane itself intactvoid
erase()
CallDrawItem.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 endpointsp1
andp2
and control pointscp1
andcp2
.boolean
Can the user drag-scroll the DrawPane?Get a "data:" URL encoding the current contents of theDrawPane
.getDataURL
(DataURLCallback callback) getDataURL
(DataURLCallback callback, DataURLFormat format) Get a "data:" URL encoding the current contents of theDrawPane
.int
WhencanDragScroll
is enabled, this is the height of the area in viewbox coordinates that can be accessed through drag-scrolling.Returns the point of the last event in thedrawing coordinate system
.Which type of drawing back-end should be used by thisDrawPane
? A default drawing back-end is automatically selected based on the browser.int
WhencanDragScroll
is enabled, this is the width of the area in viewbox coordinates that can be accessed through drag-scrolling.int
Returns the X coordinate in thedrawing coordinate system
of the last event.int
Returns the Y coordinate in thedrawing coordinate system
of the last event.DrawItem[]
Array of DrawItems to initially display in this DrawPane.Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.getGradient
(String gradientID) Returns gradient for gradientID.Gradient[]
Array of gradients that can be referenced by DrawItems placed on this DrawPane.Getter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.static DrawPane
getOrCreateRef
(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.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) CallsgetPolygonPoints()
with angles spread evenly over the full 360 degrees.float
Deprecated.double
Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
.Converts this DrawPane to the source of an<svg>
element equivalent to the current drawing.int[]
Global translation.Returns the GWT Canvas underlying this DrawPane.float
Deprecated.double
Zoom for theDrawPane
as a whole, where 1 is normal size.void
Immediately draws or redraws any items of thisDrawPane
that are scheduled to be drawn or redrawn after a delay.void
removeGradient
(String gradientID) Removes gradient for gradientID.void
rotate
(double degrees) Synonym ofsetRotation()
.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 bystartPoint
,controlPoint1
,controlPoint2
, andendPoint
, then translates and scales these four points to fit the entire curve into the given width and height.void
setAutoChildProperties
(String autoChildName, DrawItem properties) Sets the properties for creating aDrawItem
AutoChild namedautoChildName
.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.setDrawingHeight
(int drawingHeight) WhencanDragScroll
is enabled, this is the height of the area in viewbox coordinates that can be accessed through drag-scrolling.setDrawingType
(DrawingType drawingType) Which type of drawing back-end should be used by thisDrawPane
? A default drawing back-end is automatically selected based on the browser.setDrawingWidth
(int drawingWidth) WhencanDragScroll
is enabled, this is the width of the area in viewbox coordinates that can be accessed through drag-scrolling.setDrawItems
(DrawItem... drawItems) Array of DrawItems to initially display in this DrawPane.setEditProxyConstructor
(String editProxyConstructor) Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.setGradients
(Gradient... gradients) Array of gradients that can be referenced by DrawItems placed on this DrawPane.Setter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.setRotation
(double rotation) Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
.setRotation
(float rotation) Deprecated.setTranslate
(int[] translate) Global translation.setZoomLevel
(double zoomLevel) Zoom for theDrawPane
as a whole, where 1 is normal size.setZoomLevel
(float zoomLevel) Deprecated.void
zoom
(double zoomLevel) Synonym ofsetZoomLevel()
.void
zoom
(float zoomLevel) Deprecated.Methods inherited from class com.smartgwt.client.widgets.Canvas
addChild, addChild, addChild, addChild, addChild, addClearHandler, 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, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, 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, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsEventTarget, containsFocus, containsPoint, containsPoint, dataContextChanged, deparent, depeer, disable, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAriaStateDefaults, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getChildTabPosition, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDefaultHeight, getDefaultWidth, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getTabIndex, getTestDataContext, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUISummary, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getWorkflows, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, initComplete, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAlign, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefaultWidth, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startDebuggingOverflow, stopDebuggingOverflow, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop
Methods inherited from class com.smartgwt.client.widgets.BaseWidget
addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, 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, setDefaultProperties, setDragTracker, setFactoryCreated, 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, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, 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 Details
-
DrawPane
public DrawPane() -
DrawPane
-
-
Method Details
-
getOrCreateRef
-
changeAutoChildDefaults
Changes the defaults for Canvas AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
changeAutoChildDefaults
Changes the defaults for FormItem AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
create
-
setCanDragScroll
Can the user drag-scroll the DrawPane?- Overrides:
setCanDragScroll
in classCanvas
- Parameters:
canDragScroll
- New canDragScroll value. Default value is false- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created- See Also:
-
getCanDragScroll
public boolean getCanDragScroll()Can the user drag-scroll the DrawPane?- Overrides:
getCanDragScroll
in classCanvas
- Returns:
- Current canDragScroll value. Default value is false
- See Also:
-
setDrawingHeight
WhencanDragScroll
is enabled, this is the height of the area in viewbox coordinates that can be accessed through drag-scrolling.- Parameters:
drawingHeight
- New drawingHeight value. Default value is 1000- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getDrawingHeight
public int getDrawingHeight()WhencanDragScroll
is enabled, this is the height of the area in viewbox coordinates that can be accessed through drag-scrolling.- Returns:
- Current drawingHeight value. Default value is 1000
-
setDrawingType
Which type of drawing back-end should be used by thisDrawPane
? A default drawing back-end is automatically selected based on the browser.The
drawingType
can only be set to a drawing back-end type that is supported by the browser. It is provided for cases where the browser supports more than one drawing back-end. See theDrawingType
documentation for the supported drawing back-ends and the list of browsers that support each type of drawing back-end.Note : This is an advanced setting
- Parameters:
drawingType
- New drawingType value. Default value is based on browser- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getDrawingType
Which type of drawing back-end should be used by thisDrawPane
? A default drawing back-end is automatically selected based on the browser.The
drawingType
can only be set to a drawing back-end type that is supported by the browser. It is provided for cases where the browser supports more than one drawing back-end. See theDrawingType
documentation for the supported drawing back-ends and the list of browsers that support each type of drawing back-end.- Returns:
- Current drawingType value. Default value is based on browser
-
setDrawingWidth
WhencanDragScroll
is enabled, this is the width of the area in viewbox coordinates that can be accessed through drag-scrolling.- Parameters:
drawingWidth
- New drawingWidth value. Default value is 1000- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getDrawingWidth
public int getDrawingWidth()WhencanDragScroll
is enabled, this is the width of the area in viewbox coordinates that can be accessed through drag-scrolling.- Returns:
- Current drawingWidth value. Default value is 1000
-
setDrawItems
Array of DrawItems to initially display in this DrawPane.- Parameters:
drawItems
- New drawItems value. Default value is null- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getDrawItems
Array of DrawItems to initially display in this DrawPane.- Returns:
- Current drawItems value. Default value is null
-
setEditProxyConstructor
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
setEditProxyConstructor
in classCanvas
- Parameters:
editProxyConstructor
- New editProxyConstructor value. Default value is "DrawPaneEditProxy"- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created- See Also:
-
getEditProxyConstructor
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
getEditProxyConstructor
in classCanvas
- Returns:
- Current editProxyConstructor value. Default value is "DrawPaneEditProxy"
- See Also:
-
setGradients
Array of gradients that can be referenced by DrawItems placed on this DrawPane. Each gradient must have an ID assigned to be used for reference.- Parameters:
gradients
- New gradients value. Default value is null- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getGradients
Array of gradients that can be referenced by DrawItems placed on this DrawPane. Each gradient must have an ID assigned to be used for reference.- Returns:
- Current gradients value. Default value is null
-
setRotation
Deprecated.Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
. The positive direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation counterclockwise by 10 degrees).
If this method is called after the component has been drawn/initialized: Sets therotation
of theDrawPane
.- Parameters:
rotation
- the new rotation in degrees. The positive direction corresponds to clockwise rotation. Default value is 0- Returns:
DrawPane
instance, for chaining setter calls
-
getRotation
public float getRotation()Deprecated.Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
. The positive direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation counterclockwise by 10 degrees).- Returns:
- Current rotation value. Default value is 0
-
setRotation
Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
. The positive direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation counterclockwise by 10 degrees).
If this method is called after the component has been drawn/initialized: Sets therotation
of theDrawPane
.- Parameters:
rotation
- the new rotation in degrees. The positive direction corresponds to clockwise rotation. Default value is 0- Returns:
DrawPane
instance, for chaining setter calls
-
getRotationAsDouble
public double getRotationAsDouble()Rotation in degrees for theDrawPane
as a whole about the center of theDrawPane
. The positive direction corresponds to clockwise rotation (for example, 45 is rotation clockwise by 45 degrees and -10 is rotation counterclockwise by 10 degrees).- Returns:
- Current rotation value. Default value is 0
-
setTranslate
Global translation. This array has two numbers. The first number is the X translation amount in pixels and the second number is the Y translation amount in pixels.- Parameters:
translate
- New translate value. Default value is null- Returns:
DrawPane
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getTranslate
public int[] getTranslate()Global translation. This array has two numbers. The first number is the X translation amount in pixels and the second number is the Y translation amount in pixels.- Returns:
- Current translate value. Default value is null
-
setZoomLevel
Deprecated.Zoom for theDrawPane
as a whole, where 1 is normal size.
If this method is called after the component has been drawn/initialized: Sets the zoom on thisDrawPane
to the specified magnification, maintaining the current viewport position.- Parameters:
zoomLevel
- Desired zoom level as a float where1.0
is equivalent to 100% magnification. Must be greater than 0. Default value is 1- Returns:
DrawPane
instance, for chaining setter calls
-
getZoomLevel
public float getZoomLevel()Deprecated.Zoom for theDrawPane
as a whole, where 1 is normal size.- Returns:
- Current zoomLevel value. Default value is 1
-
setZoomLevel
Zoom for theDrawPane
as a whole, where 1 is normal size.
If this method is called after the component has been drawn/initialized: Sets the zoom on thisDrawPane
to the specified magnification, maintaining the current viewport position.- Parameters:
zoomLevel
- Desired zoom level as a float where1.0
is equivalent to 100% magnification. Must be greater than 0. Default value is 1- Returns:
DrawPane
instance, for chaining setter calls
-
getZoomLevelAsDouble
public double getZoomLevelAsDouble()Zoom for theDrawPane
as a whole, where 1 is normal size.- Returns:
- Current zoomLevel value. Default value is 1
-
addDrawItem
Adds a draw item to thisDrawPane
. If already added to aDrawPane
, the draw item is removed from its currentDrawPane
and added to thisDrawPane
.NOTE: For performance reasons, this
DrawPane
may draw the new item on a delay to allow multiple items to be added and drawn at one time. TherefreshNow()
API will force the item to be drawn immediately.- Parameters:
item
- item to add.autoDraw
- If explicitly set to false, and this drawPane is drawn, don't draw the newly added item
-
addGradient
Add a new gradient to the drawPane shared gradient list (gradients
). If the gradient does not have an ID a new one will be assigned.- Parameters:
gradient
- gradient to add- Returns:
- the ID of the gradient (either provided or auto-assigned).
See
Identifier
-
createLinearGradient
Deprecated.in favor ofaddGradient()
Creates a linear gradient which can be used by any DrawItem of this DrawPane. Any DrawItem'sfillGradient
can reference the gradient by the given ID.- Parameters:
id
- the ID of the linear gradient. SeeIdentifier
linearGradient
- the linear gradient- Returns:
- id.
See
Identifier
-
createRadialGradient
Deprecated.in favor ofaddGradient()
Creates a radial gradient which can be used by any DrawItem of this DrawPane. Any DrawItem'sfillGradient
can reference the gradient by the given ID.- Parameters:
id
- the ID of the radial gradient. SeeIdentifier
radialGradient
- the radial gradient- Returns:
- id.
See
Identifier
-
createSimpleGradient
Deprecated.in favor ofaddGradient()
Creates a simple linear gradient which can be used by any DrawItem of this DrawPane. Any DrawItem'sfillGradient
can reference the gradient by the given ID.- Parameters:
id
- the ID of the simple linear gradient. SeeIdentifier
simple
- the simple linear gradient- Returns:
- id.
See
Identifier
-
destroyItems
public void destroyItems()Permanentlydestroy
all DrawItems currently associated with this DrawPane, leaving the DrawPane itself intact -
addDrawEndHandler
Add a drawEnd handler.Called after we finish drawing to the underlying HTML5 <canvas> element of a DrawPane, after the last
DrawItem
has been drawn. Only called if theDrawingType
isDrawingType.BITMAP
.- Specified by:
addDrawEndHandler
in interfaceHasDrawEndHandlers
- Parameters:
handler
- the drawEnd handler- Returns:
HandlerRegistration
used to remove this handler
-
addDrawStartHandler
Add a drawStart handler.Called when we start drawing to the underlying HTML5 <canvas> element of a DrawPane, right after the element is cleared. Only called if the
DrawingType
isDrawingType.BITMAP
.- Specified by:
addDrawStartHandler
in interfaceHasDrawStartHandlers
- Parameters:
handler
- the drawStart handler- Returns:
HandlerRegistration
used to remove this handler
-
erase
public void erase()CallDrawItem.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. UsedestroyItems()
to permanently get rid of all DrawItems. -
getDataURL
Get a "data:" URL encoding the current contents of theDrawPane
.The returned "data:" URLs can be used anywhere a URL to an image is valid, for example,
Img.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 thisDrawPane
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 ofrequired .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.
Note: It is recommended to pass a callback instead of relying on the method returning the data URL directly. This is because the callback will always be called with the generated data URL, whereas work-arounds for browser bugs may require asynchronous generation of the data URL, meaning that a data URL might not be returned immediately in certain browsers for certain
DrawPane
contents.- Returns:
- the data URL if synchronously generated.
- See Also:
-
getDataURL
- See Also:
-
getDataURL
Get a "data:" URL encoding the current contents of theDrawPane
.The returned "data:" URLs can be used anywhere a URL to an image is valid, for example,
Img.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 thisDrawPane
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 ofrequired .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.
Note: It is recommended to pass a callback instead of relying on the method returning the data URL directly. This is because the callback will always be called with the generated data URL, whereas work-arounds for browser bugs may require asynchronous generation of the data URL, meaning that a data URL might not be returned immediately in certain browsers for certain
DrawPane
contents.- Parameters:
callback
- callback to fire when the data URL is available. The callback is called regardless of whether the data URL is also returned.format
- the format of the data URL. If not specified, thencom.smartgwt.client.types.DataURLFormat#ALL
is assumed.- Returns:
- the data URL if synchronously generated.
- See Also:
-
getDrawingPoint
Returns the point of the last event in thedrawing coordinate system
.To give a concrete example, suppose that this
DrawPane
haszoomLevel
2 and drag-panning is not enabled (just to simplify this example). IfgetOffsetX()
andgetOffsetY()
is (0, 0) (i.e. the mouse pointer is located at the top left point of thisDrawPane
), then getDrawingPoint() would return (0, 0). If getOffsetX/Y() is (20, 40), then getDrawingPoint() would return (10, 20) because when the 2× zoom level is applied, (10, 20) is translated to (20, 40) on the screen. You could, for example, create a newDrawLine
withstartPoint
(10, 20) and when this line is drawn on screen, the position of the line's start point would be at offset (20, 40) on screen.- Returns:
- the point in drawing coordinates of the last event.
-
getDrawingX
public int getDrawingX()Returns the X coordinate in thedrawing coordinate system
of the last event. Note: If you need both the X and Y coordinates in the drawing coordinate system of the last event, it is more efficient to callgetDrawingPoint()
instead.See the documentation of
getDrawingPoint()
for a clarifying example.- Returns:
- X coordinate in the drawing coordinate system of the last event.
-
getDrawingY
public int getDrawingY()Returns the Y coordinate in thedrawing coordinate system
of the last event. Note: If you need both the X and Y coordinates in the drawing coordinate system of the last event, it is more efficient to callgetDrawingPoint()
instead.See the documentation of
getDrawingPoint()
for a clarifying example.- Returns:
- Y coordinate in the drawing coordinate system of the last event.
-
getGradient
Returns gradient for gradientID.- Parameters:
gradientID
- ID of gradient to retrieve. SeeIdentifier
- Returns:
- the gradient or null if not found
- See Also:
-
getSvgString
Converts this DrawPane to the source of an<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.- Returns:
- the source of an
<svg>
element. - See Also:
-
refreshNow
public void refreshNow()Immediately draws or redraws any items of thisDrawPane
that are scheduled to be drawn or redrawn after a delay.For performance reasons, this
DrawPane
may delay refreshing its display to allow for multiple draw item updates to be drawn at the same time. If this is occurring, refreshNow() will immediately refresh the display instead of refreshing the display in a timer. -
removeGradient
Removes gradient for gradientID.- Parameters:
gradientID
- ID of gradient to remove. SeeIdentifier
- See Also:
-
rotate
public void rotate(double degrees) Synonym ofsetRotation()
.- Parameters:
degrees
- the new rotation in degrees. The positive direction corresponds to clockwise rotation.
-
zoom
public void zoom(float zoomLevel) Deprecated.Synonym ofsetZoomLevel()
.- Parameters:
zoomLevel
- Desired zoom level as a float where1.0
is equivalent to 100% magnification. Must be greater than 0.
-
zoom
public void zoom(double zoomLevel) Synonym ofsetZoomLevel()
.- Parameters:
zoomLevel
- Desired zoom level as a float where1.0
is equivalent to 100% magnification. Must be greater than 0.
-
bezier
public 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
- Parameters:
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 1- Returns:
- the value of the polynomial
B(t)
att
-
bezierExtrema
public 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 inbezier()
, for0 ≤ t ≤ 1
.- Parameters:
p1
- starting point coordinatecp1
- first control point coordinatecp2
- second control point coordinatep2
- end point coordinate- Returns:
- the minimum and maximum value of the cubic Bézier curve polynomial
-
getBezierBoundingBox
Calculate the bounding box of the cubic Bézier curve with endpointsp1
andp2
and control pointscp1
andcp2
.- Parameters:
p1
- start point of the curvecp1
- first cubic Bézier control pointcp2
- second cubic Bézier control pointp2
- end point of the curve- Returns:
- the x1, y1, x2, y2 coordinates. The point
(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.
-
getPolygonPoints
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.- Parameters:
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 vertices- Returns:
- list of the vertices of the polygon
-
getRegularPolygonPoints
public static Point[] getRegularPolygonPoints(int n, int width, int height, int xc, int yc, double startAngle) CallsgetPolygonPoints()
with angles spread evenly over the full 360 degrees.- Parameters:
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 polygon- Returns:
- list of the vertices of the regular polygon
-
scaleAndCenter
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.- Parameters:
width
- width of target spaceheight
- height of target spacexc
- center point xyc
- center point ypoints
- list of points to scale and translate
-
scaleAndCenterBezier
public 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 bystartPoint
,controlPoint1
,controlPoint2
, andendPoint
, then translates and scales these four points to fit the entire curve into the given width and height.- Parameters:
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 point
-
setDefaultProperties
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:
drawPaneProperties
- properties that should be used as new defaults when instances of this class are created- See Also:
-
setAutoChildProperties
public void setAutoChildProperties(String autoChildName, DrawItem properties) throws IllegalStateException Sets the properties for creating aDrawItem
AutoChild namedautoChildName
.properties
must not have already been created (properties.isCreated()
must befalse
).NOTE: Overrides at override points are not applied to the AutoChild created from
properties
; that is, if the JavaClass
ofproperties
overrides a Smart GWT override point, the custom method implementation will not be called.- Throws:
IllegalStateException
- ifproperties
has been created.- See Also:
-
getPrintHTML
Retrieves printable HTML for this component and all printable subcomponents.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 whichgetPrintHTML()
is called.Notes on printing
To print a
DrawPane
for export on IE8 and earlier, it isPrintProperties
withprintForExport
:true:final PrintProperties pp = new PrintProperties(); pp.setPrintForExport(true); final String exportHTML = drawPane.getPrintHTML(pp, null);
Note: this is an override point.
- Overrides:
getPrintHTML
in classCanvas
- Parameters:
printProperties
- properties to configure printing behavior - may be null.callback
- optional callback to fire. Generated HTML should be passed to thePrintHTMLCallback.setHTML(String)
method of the callback.- Returns:
- null if the print HTML is being generated asynchronously and/or a callback is provided; otherwise, the direct print HTML for this component (but note that returning direct print HTML is a deprecated feature).
- See Also:
-
getUnderlyingGWTCanvas
Returns the GWT Canvas underlying this DrawPane. Throws anDrawPane.InvalidDrawingTypeException
if theDrawingType
isn't aDrawingType.BITMAP
.To create a DrawItem drawn by custom GWT Canvas drawing code, you should:
- Subclass the
DrawRect
class, settingDrawItem.lineOpacity
to 0, andDrawItem.eventOpaque
to true. - Trigger your drawing routine in a handler for the
DrawStartEvent
orDrawEndEvent
, using this method to gain access to the GWT Canvas. - Limit your drawing to the DrawItem's
bounding box
.
- Subclass the
-
setLogicalStructure
Setter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility. -
getLogicalStructure
Getter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.- Specified by:
getLogicalStructure
in interfaceLogicalStructure
- Overrides:
getLogicalStructure
in classCanvas
-
addGradient()