Class BasicRenderer

  • All Implemented Interfaces:
    EventListener, org.eclipse.swt.events.PaintListener, org.eclipse.swt.graphics.Drawable, org.eclipse.swt.internal.SWTEventListener, FSCanvas, UserInterface
    Direct Known Subclasses:
    SWTXHTMLRenderer

    public class BasicRenderer
    extends org.eclipse.swt.widgets.Canvas
    implements org.eclipse.swt.events.PaintListener, UserInterface, FSCanvas
    Renders XML+CSS using SWT in a widget (a Composite). Scrollbars are handled automatically.
    Author:
    Vianney le Clément
    • Constructor Detail

      • BasicRenderer

        public BasicRenderer​(org.eclipse.swt.widgets.Composite parent,
                             int style)
      • BasicRenderer

        public BasicRenderer​(org.eclipse.swt.widgets.Composite parent,
                             int style,
                             UserAgentCallback uac)
    • Method Detail

      • addDocumentListener

        public void addDocumentListener​(DocumentListener listener)
      • removeDocumentListener

        public void removeDocumentListener​(DocumentListener listener)
      • fireDocumentLoaded

        protected void fireDocumentLoaded()
      • fireOnLayoutException

        protected void fireOnLayoutException​(Throwable t)
      • fireOnRenderException

        protected void fireOnRenderException​(Throwable t)
      • setLayout

        public void setLayout​(org.eclipse.swt.widgets.Layout layout)
        A Renderer has no layout!
        Overrides:
        setLayout in class org.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
      • 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:
        computeSize in class org.eclipse.swt.widgets.Composite
      • getX

        public int getX()
        Specified by:
        getX in interface FSCanvas
      • getY

        public int getY()
        Specified by:
        getY in interface 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:
        paintControl in interface org.eclipse.swt.events.PaintListener
      • doLayout

        protected void doLayout()
      • getDocument

        public Document getDocument()
      • reload

        public void reload()
        Reload the current document.
      • setDocument

        public void setDocument​(Document doc,
                                String url)
      • setDocument

        public void setDocument​(String url)
      • setDocumentRelative

        protected void setDocumentRelative​(String filename)
        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
      • getDocumentTitle

        public String getDocumentTitle()
      • getRootBox

        public Box getRootBox()
      • getRootLayer

        public Layer getRootLayer()
      • find

        public Box find​(int x,
                        int y)
      • getHovered_element

        public Element getHovered_element()
      • setHovered_element

        public void setHovered_element​(Element hovered_element)
      • getActive_element

        public Element getActive_element()
      • setActive_element

        public void setActive_element​(Element active_element)
      • getFocus_element

        public Element getFocus_element()
      • setFocus_element

        public void setFocus_element​(Element focus_element)
      • isPrint

        public boolean isPrint()
      • setPrint

        public void setPrint​(boolean print)
      • setFontScalingFactor

        public void setFontScalingFactor​(float scaling)
        Sets the scaling factor used by incrementFontSize() and decrementFontSize()--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 by setFontScalingFactor(float), and reset to the document's specified font size with resetFontSize().
      • 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 by setFontScalingFactor(float), and reset to the document's specified font size with resetFontSize().
      • 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.