java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Canvas
org.xhtmlrenderer.swt.BasicRenderer
- All Implemented Interfaces:
EventListener,org.eclipse.swt.events.PaintListener,org.eclipse.swt.graphics.Drawable,org.eclipse.swt.internal.SWTEventListener,org.xhtmlrenderer.extend.FSCanvas,org.xhtmlrenderer.extend.UserInterface
- Direct Known Subclasses:
SWTXHTMLRenderer
public class BasicRenderer
extends org.eclipse.swt.widgets.Canvas
implements org.eclipse.swt.events.PaintListener, org.xhtmlrenderer.extend.UserInterface, org.xhtmlrenderer.extend.FSCanvas
Renders XML+CSS using SWT in a widget (a Composite). Scrollbars are handled
automatically.
- Author:
- Vianney le Clément
-
Field Summary
Fields inherited from class org.eclipse.swt.widgets.Control
view -
Constructor Summary
ConstructorsConstructorDescriptionBasicRenderer(org.eclipse.swt.widgets.Composite parent, int style) BasicRenderer(org.eclipse.swt.widgets.Composite parent, int style, org.xhtmlrenderer.extend.UserAgentCallback uac) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDocumentListener(org.xhtmlrenderer.event.DocumentListener listener) org.eclipse.swt.graphics.PointcomputeSize(int wHint, int hHint, boolean changed) voidDecrements all rendered fonts on the current document by the current scaling factor for the panel.protected voiddoLayout()protected voiddoRender(org.xhtmlrenderer.render.RenderingContext c) org.xhtmlrenderer.render.Boxfind(int x, int y) protected voidprotected voidprotected voidprotected RectanglegetInitialExtents(org.xhtmlrenderer.layout.LayoutContext c) org.xhtmlrenderer.layout.LayoutContextfloatReturns the maximum font scaling that may be applied, e.g. 3 times assigned font size.floatReturns the minimum font scaling that may be applied, e.g. 0.5 times assigned font size.org.eclipse.swt.graphics.Pointorg.xhtmlrenderer.render.Boxorg.xhtmlrenderer.layout.Layerorg.eclipse.swt.graphics.Pointorg.xhtmlrenderer.layout.SharedContextintgetX()intgetY()voidIncrements all rendered fonts on the current document by the current scaling factor for the panel.voidInvalidate the whole view.voidinvalidate(org.eclipse.swt.graphics.Rectangle rect) Redraw only rect.booleanbooleanbooleanbooleanisPrint()protected DocumentloadDocument(String uri) protected org.xhtmlrenderer.layout.LayoutContextprotected org.xhtmlrenderer.render.RenderingContextnewRenderingContext(org.eclipse.swt.graphics.GC gc) voidpaintControl(org.eclipse.swt.events.PaintEvent e) voidrelayout()Do a full relayout and redrawvoidreload()Reload the current document.voidremoveDocumentListener(org.xhtmlrenderer.event.DocumentListener listener) voidResets all rendered fonts on the current document to the font size specified in the document's styling instructions.protected voidscrollTo(org.eclipse.swt.graphics.Point pt) voidsetActive_element(Element active_element) voidsetDocument(InputStream stream, String url) voidsetDocument(InputStream stream, String url, org.xhtmlrenderer.extend.NamespaceHandler nsh) voidsetDocument(String url) voidsetDocument(String url, org.xhtmlrenderer.extend.NamespaceHandler nsh) voidsetDocument(Document doc, String url) voidsetDocument(Document doc, String url, org.xhtmlrenderer.extend.NamespaceHandler nsh) voidsetDocumentFromString(String content, String url, org.xhtmlrenderer.extend.NamespaceHandler nsh) protected voidsetDocumentRelative(String filename) Sets the new current document, where the new document is located relative, e.g. using a relative URL.voidsetFocus_element(Element focus_element) voidsetFontScalingFactor(float scaling) Sets the scaling factor used byincrementFontSize()anddecrementFontSize()--both scale the font up or down by this scaling factor.voidsetHovered_element(Element hovered_element) voidsetLayout(org.eclipse.swt.widgets.Layout layout) A Renderer has no layout!voidsetMaxFontScale(float f) Sets the maximum font scaling that may be applied, e.g. 3 times assigned font size.voidsetMinFontScale(float f) Sets the minimum font scaling that may be applied, e.g. 3 times assigned font size.voidsetOrigin(org.eclipse.swt.graphics.Point pt) Set the origin of the view.voidsetPrint(boolean print) protected booleanUpdate the scrollbarsMethods inherited from class org.eclipse.swt.widgets.Canvas
drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIMEMethods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayoutDeferred, setTabListMethods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBarMethods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getRegion, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, updateMethods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
-
Constructor Details
-
BasicRenderer
public BasicRenderer(org.eclipse.swt.widgets.Composite parent, int style) -
BasicRenderer
public BasicRenderer(org.eclipse.swt.widgets.Composite parent, int style, org.xhtmlrenderer.extend.UserAgentCallback uac)
-
-
Method Details
-
addDocumentListener
public void addDocumentListener(org.xhtmlrenderer.event.DocumentListener listener) -
removeDocumentListener
public void removeDocumentListener(org.xhtmlrenderer.event.DocumentListener listener) -
fireDocumentLoaded
protected void fireDocumentLoaded() -
fireOnLayoutException
-
fireOnRenderException
-
setLayout
public void setLayout(org.eclipse.swt.widgets.Layout layout) A Renderer has no layout!- Overrides:
setLayoutin classorg.eclipse.swt.widgets.Composite
-
relayout
public void relayout()Do a full relayout and redraw -
invalidate
public void invalidate()Invalidate the whole view. Redraw everything. -
invalidate
public void invalidate(org.eclipse.swt.graphics.Rectangle rect) Redraw only rect.- Parameters:
rect- the rectangle
-
newLayoutcontext
protected org.xhtmlrenderer.layout.LayoutContext newLayoutcontext()- Returns:
- a new
LayoutContext
-
newRenderingContext
protected org.xhtmlrenderer.render.RenderingContext newRenderingContext(org.eclipse.swt.graphics.GC gc) - Returns:
- a new
RenderingContext
-
getInitialExtents
-
getScreenSize
public org.eclipse.swt.graphics.Point getScreenSize()- Returns:
- the size of the drawable screen
-
computeSize
public org.eclipse.swt.graphics.Point computeSize(int wHint, int hHint, boolean changed) - Overrides:
computeSizein classorg.eclipse.swt.widgets.Composite
-
getFixedRectangle
- Specified by:
getFixedRectanglein interfaceorg.xhtmlrenderer.extend.FSCanvas
-
getX
public int getX()- Specified by:
getXin interfaceorg.xhtmlrenderer.extend.FSCanvas
-
getY
public int getY()- Specified by:
getYin interfaceorg.xhtmlrenderer.extend.FSCanvas
-
getOrigin
public org.eclipse.swt.graphics.Point getOrigin()- Returns:
- the origin of the view
-
setOrigin
public void setOrigin(org.eclipse.swt.graphics.Point pt) Set the origin of the view. NOTE: this won't be done immediately. -
scrollTo
protected void scrollTo(org.eclipse.swt.graphics.Point pt) -
updateScrollBars
protected boolean updateScrollBars()Update the scrollbars- Returns:
- true if we need to relayout the whole thing
-
paintControl
public void paintControl(org.eclipse.swt.events.PaintEvent e) - Specified by:
paintControlin interfaceorg.eclipse.swt.events.PaintListener
-
doLayout
protected void doLayout() -
doRender
protected void doRender(org.xhtmlrenderer.render.RenderingContext c) -
getDocument
-
reload
public void reload()Reload the current document. -
setDocument
-
setDocument
public void setDocument(InputStream stream, String url, org.xhtmlrenderer.extend.NamespaceHandler nsh) -
setDocumentFromString
-
setDocument
-
setDocument
-
setDocument
-
setDocument
-
setDocumentRelative
Sets the new current document, where the new document is located relative, e.g. using a relative URL.- Parameters:
filename- The new document to load
-
loadDocument
-
getDocumentTitle
-
getRootBox
public org.xhtmlrenderer.render.Box getRootBox() -
getRootLayer
public org.xhtmlrenderer.layout.Layer getRootLayer() -
getLayoutContext
public org.xhtmlrenderer.layout.LayoutContext getLayoutContext() -
find
public org.xhtmlrenderer.render.Box find(int x, int y) -
isHover
- Specified by:
isHoverin interfaceorg.xhtmlrenderer.extend.UserInterface
-
getHovered_element
-
setHovered_element
-
isActive
- Specified by:
isActivein interfaceorg.xhtmlrenderer.extend.UserInterface
-
getActive_element
-
setActive_element
-
isFocus
- Specified by:
isFocusin interfaceorg.xhtmlrenderer.extend.UserInterface
-
getFocus_element
-
setFocus_element
-
isPrint
public boolean isPrint() -
setPrint
public void setPrint(boolean print) -
setFontScalingFactor
public void setFontScalingFactor(float scaling) Sets the scaling factor used byincrementFontSize()anddecrementFontSize()--both scale the font up or down by this scaling factor. The scaling roughly modifies the font size as a multiplier or divisor. A scaling factor of 1.2 applied against a font size of 10pt results in a scaled font of 12pt. The default scaling factor is 1.2F. -
incrementFontSize
public void incrementFontSize()Increments all rendered fonts on the current document by the current scaling factor for the panel. Scaling applies cumulatively, which means that multiple calls to this method scale fonts larger and larger by applying the current scaling factor against itself. You can modify the scaling factor bysetFontScalingFactor(float), and reset to the document's specified font size withresetFontSize(). -
resetFontSize
public void resetFontSize()Resets all rendered fonts on the current document to the font size specified in the document's styling instructions. -
decrementFontSize
public void decrementFontSize()Decrements all rendered fonts on the current document by the current scaling factor for the panel. Scaling applies cumulatively, which means that multiple calls to this method scale fonts smaller and smaller by applying the current scaling factor against itself. You can modify the scaling factor bysetFontScalingFactor(float), and reset to the document's specified font size withresetFontSize(). -
getMaxFontScale
public float getMaxFontScale()Returns the maximum font scaling that may be applied, e.g. 3 times assigned font size. -
getMinFontScale
public float getMinFontScale()Returns the minimum font scaling that may be applied, e.g. 0.5 times assigned font size. -
setMaxFontScale
public void setMaxFontScale(float f) Sets the maximum font scaling that may be applied, e.g. 3 times assigned font size. Calling incrementFontSize() after this scale has been reached doesn't have an effect. -
setMinFontScale
public void setMinFontScale(float f) Sets the minimum font scaling that may be applied, e.g. 3 times assigned font size. Calling decrementFontSize() after this scale has been reached doesn't have an effect.
-