Package org.apache.batik.bridge.svg12
Class SVG12BridgeContext
- java.lang.Object
-
- org.apache.batik.bridge.BridgeContext
-
- org.apache.batik.bridge.svg12.SVG12BridgeContext
-
- All Implemented Interfaces:
ErrorConstants
,CSSContext
public class SVG12BridgeContext extends BridgeContext
Bridge context for SVG 1.2 documents. This is primarily for dispatching XBL events to bridges and for handling resource documents.- Version:
- $Id: SVG12BridgeContext.java 1851346 2019-01-15 13:41:00Z ssteiner $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
SVG12BridgeContext.EventListenerWrapper
Wrapper for DOM event listeners so that they will see only original events (i.e., not retargetted).protected static class
SVG12BridgeContext.ImplementationEventListenerMememto
A class used to store an implementation EventListener added to the DOM.protected class
SVG12BridgeContext.XBLBindingListener
The BindingListener.protected class
SVG12BridgeContext.XBLContentListener
The ContentSelectionChangedListener.-
Nested classes/interfaces inherited from class org.apache.batik.bridge.BridgeContext
BridgeContext.AnimatedAttrListener, BridgeContext.CSSEngineUserAgentWrapper, BridgeContext.CSSPropertiesChangedListener, BridgeContext.DOMAttrModifiedEventListener, BridgeContext.DOMCharacterDataModifiedEventListener, BridgeContext.DOMMouseOutEventListener, BridgeContext.DOMMouseOverEventListener, BridgeContext.DOMNodeInsertedEventListener, BridgeContext.DOMNodeRemovedEventListener, BridgeContext.EventListenerMememto, BridgeContext.SoftReferenceMememto
-
-
Field Summary
Fields Modifier and Type Field Description protected SVG12BridgeContext.XBLBindingListener
bindingListener
The BindingListener for XBL binding events.protected SVG12BridgeContext.XBLContentListener
contentListener
The ContentSelectionChangedListener for xbl:content element events.protected boolean
mouseCaptureAutoRelease
Whether the mouse capture will be released on mouse up.protected boolean
mouseCaptureSendAll
Whether the mouse capture event target will receive events that do not intersect with its geometry.protected org.w3c.dom.events.EventTarget
mouseCaptureTarget
The EventTarget that has the mouse capture.-
Fields inherited from class org.apache.batik.bridge.BridgeContext
animatedAttributeListener, animationEngine, animationLimitingAmount, animationLimitingMode, childContexts, cssPropertiesChangedListener, cursorManager, defaultBridge, document, documentLoader, documentSize, domAttrModifiedEventListener, domCharacterDataModifiedEventListener, domNodeInsertedEventListener, domNodeRemovedEventListener, DYNAMIC, dynamicStatus, elementDataMap, elementNodeMap, eventListenerSet, extensions, focusManager, globalExtensions, gvtBuilder, INTERACTIVE, interpreterMap, interpreterPool, isSVG12, namespaceURIMap, nodeElementMap, primaryContext, reservedNamespaceSet, STATIC, textPainter, updateManager, userAgent, viewportMap, viewportStack, xblManager
-
Fields inherited from interface org.apache.batik.bridge.ErrorConstants
ERR_ATTRIBUTE_MISSING, ERR_ATTRIBUTE_VALUE_MALFORMED, ERR_CSS_LENGTH_NEGATIVE, ERR_CSS_URI_BAD_TARGET, ERR_LENGTH_NEGATIVE, ERR_URI_BAD_TARGET, ERR_URI_IMAGE_BROKEN, ERR_URI_IMAGE_INVALID, ERR_URI_IO, ERR_URI_MALFORMED, ERR_URI_REFERENCE_A_DOCUMENT, ERR_URI_UNSECURE, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES, URI_IMAGE_ERROR
-
-
Constructor Summary
Constructors Constructor Description SVG12BridgeContext(UserAgent userAgent)
Constructs a new bridge context.SVG12BridgeContext(UserAgent userAgent, DocumentLoader loader)
Constructs a new bridge context.SVG12BridgeContext(UserAgent userAgent, InterpreterPool interpreterPool, DocumentLoader documentLoader)
Constructs a new bridge context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBindingListener()
Adds a BindingListener to the XBLManager for the document, so that XBL binding events can be passed on to the BridgeUpdateHandlers.void
addDOMListeners()
Adds EventListeners to the DOM and CSSEngineListener to the CSSEngine to handle any modifications on the DOM tree or style properties and update the GVT tree in response.void
addGVTListener(org.w3c.dom.Document doc)
Adds the GVT listener for AWT event support.void
addUIEventListeners(org.w3c.dom.Document doc)
Adds EventListeners to the input document to handle the cursor property.BridgeContext
createSubBridgeContext(SVGOMDocument newDoc)
This function creates a new 'sub' BridgeContext to associated with 'newDoc' if one currently doesn't exist, otherwise it returns the BridgeContext currently associated with the document.URIResolver
createURIResolver(org.w3c.dom.svg.SVGDocument doc, DocumentLoader dl)
Returns a new URIResolver object.void
dispose()
Disposes this BridgeContext.void
removeBindingListener()
Removes the BindingListener from the XBLManager.protected void
removeDOMListeners()
Removes event listeners from the DOM and CSS engine.void
removeUIEventListeners(org.w3c.dom.Document doc)
void
startMouseCapture(org.w3c.dom.events.EventTarget target, boolean sendAll, boolean autoRelease)
Starts mouse capture.void
stopMouseCapture()
Stops mouse capture.protected void
storeImplementationEventListenerNS(org.w3c.dom.events.EventTarget t, java.lang.String ns, java.lang.String s, org.w3c.dom.events.EventListener l, boolean b)
Adds to the eventListenerSet the specified implementation event listener registration.-
Methods inherited from class org.apache.batik.bridge.BridgeContext
bind, checkInteractiveElement, checkInteractiveElement, checkLoadExternalResource, clearChildContexts, closeViewport, createBridgeContext, finalize, getAnimationEngine, getBlockHeight, getBlockWidth, getBolderFontWeight, getBridge, getBridge, getBridgeExtensions, getBridgeUpdateHandler, getChildContexts, getCSSEngineForElement, getCursorManager, getDefaultFontFamily, getDocument, getDocumentBridge, getDocumentLoader, getDocumentSize, getElement, getElementData, getFocusManager, getFontFamilyMap, getFontFamilyResolver, getGlobalBridgeExtensions, getGraphicsNode, getGVTBuilder, getInterpreter, getInterpreterPool, getLighterFontWeight, getMediumFontSize, getPixelToMillimeter, getPixelUnitToMillimeter, getPrimaryBridgeContext, getReferencedElement, getReferencedNode, getSVGContext, getSystemColor, getTextPainter, getUpdateManager, getUserAgent, getViewport, hasGraphicsNodeBridge, initializeDocument, isDynamic, isDynamicDocument, isInteractive, isInteractiveDocument, isSVG12, openViewport, putBridge, putBridge, putReservedNamespaceURI, registerSVGBridges, removeBridge, removeReservedNamespaceURI, removeViewport, setAnimationLimitingCPU, setAnimationLimitingFPS, setAnimationLimitingMode, setAnimationLimitingNone, setDefaultBridge, setDocument, setDocumentLoader, setDocumentSize, setDynamic, setDynamicState, setElementData, setFontFamilyMap, setGVTBuilder, setInteractive, setInterpreterPool, setTextPainter, setUpdateManager, setUpdateManager, setUserAgent, setXBLManager, storeEventListener, storeEventListenerNS, unbind
-
-
-
-
Field Detail
-
bindingListener
protected SVG12BridgeContext.XBLBindingListener bindingListener
The BindingListener for XBL binding events.
-
contentListener
protected SVG12BridgeContext.XBLContentListener contentListener
The ContentSelectionChangedListener for xbl:content element events.
-
mouseCaptureTarget
protected org.w3c.dom.events.EventTarget mouseCaptureTarget
The EventTarget that has the mouse capture.
-
mouseCaptureSendAll
protected boolean mouseCaptureSendAll
Whether the mouse capture event target will receive events that do not intersect with its geometry.
-
mouseCaptureAutoRelease
protected boolean mouseCaptureAutoRelease
Whether the mouse capture will be released on mouse up.
-
-
Constructor Detail
-
SVG12BridgeContext
public SVG12BridgeContext(UserAgent userAgent)
Constructs a new bridge context.- Parameters:
userAgent
- the user agent
-
SVG12BridgeContext
public SVG12BridgeContext(UserAgent userAgent, DocumentLoader loader)
Constructs a new bridge context.- Parameters:
userAgent
- the user agentloader
- document loader
-
SVG12BridgeContext
public SVG12BridgeContext(UserAgent userAgent, InterpreterPool interpreterPool, DocumentLoader documentLoader)
Constructs a new bridge context.- Parameters:
userAgent
- the user agentinterpreterPool
- the interpreter pooldocumentLoader
- document loader
-
-
Method Detail
-
createURIResolver
public URIResolver createURIResolver(org.w3c.dom.svg.SVGDocument doc, DocumentLoader dl)
Returns a new URIResolver object.- Overrides:
createURIResolver
in classBridgeContext
-
addGVTListener
public void addGVTListener(org.w3c.dom.Document doc)
Adds the GVT listener for AWT event support.- Overrides:
addGVTListener
in classBridgeContext
-
dispose
public void dispose()
Disposes this BridgeContext.- Overrides:
dispose
in classBridgeContext
-
addBindingListener
public void addBindingListener()
Adds a BindingListener to the XBLManager for the document, so that XBL binding events can be passed on to the BridgeUpdateHandlers.
-
removeBindingListener
public void removeBindingListener()
Removes the BindingListener from the XBLManager.
-
addDOMListeners
public void addDOMListeners()
Adds EventListeners to the DOM and CSSEngineListener to the CSSEngine to handle any modifications on the DOM tree or style properties and update the GVT tree in response. This overriden method adds implementation event listeners, so that mutations in shadow trees can be caught.- Overrides:
addDOMListeners
in classBridgeContext
-
addUIEventListeners
public void addUIEventListeners(org.w3c.dom.Document doc)
Adds EventListeners to the input document to handle the cursor property. This is not done in the addDOMListeners method because addDOMListeners is only used for dynamic content whereas cursor support is provided for all content. Also note that it is very important that the listeners be registered for the capture phase as the 'default' behavior for cursors is handled by the BridgeContext during the capture phase and the 'custom' behavior (handling of 'auto' on anchors, for example), is handled during the bubbling phase.- Overrides:
addUIEventListeners
in classBridgeContext
-
removeUIEventListeners
public void removeUIEventListeners(org.w3c.dom.Document doc)
- Overrides:
removeUIEventListeners
in classBridgeContext
-
removeDOMListeners
protected void removeDOMListeners()
Removes event listeners from the DOM and CSS engine.- Overrides:
removeDOMListeners
in classBridgeContext
-
storeImplementationEventListenerNS
protected void storeImplementationEventListenerNS(org.w3c.dom.events.EventTarget t, java.lang.String ns, java.lang.String s, org.w3c.dom.events.EventListener l, boolean b)
Adds to the eventListenerSet the specified implementation event listener registration.
-
createSubBridgeContext
public BridgeContext createSubBridgeContext(SVGOMDocument newDoc)
Description copied from class:BridgeContext
This function creates a new 'sub' BridgeContext to associated with 'newDoc' if one currently doesn't exist, otherwise it returns the BridgeContext currently associated with the document.- Overrides:
createSubBridgeContext
in classBridgeContext
- Parameters:
newDoc
- The document to get/create a BridgeContext for.
-
startMouseCapture
public void startMouseCapture(org.w3c.dom.events.EventTarget target, boolean sendAll, boolean autoRelease)
Starts mouse capture.
-
stopMouseCapture
public void stopMouseCapture()
Stops mouse capture.
-
-