Interface IRenderer

    • Method Detail

      • addChild

        void addChild​(IRenderer renderer)
        Adds a child to the current renderer
        Parameters:
        renderer - a child to be added
      • layout

        LayoutResult layout​(LayoutContext layoutContext)
        This method simulates positioning of the renderer, including all of its children, and returns the LayoutResult, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc. LayoutResult can be extended to return custom layout results for custom elements, e.g. TextRenderer uses TextLayoutResult as its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called before draw(DrawContext), to prepare the renderer to be flushed to the output stream.
        Parameters:
        layoutContext - the description of layout area and any other additional information
        Returns:
        result of the layout process
      • draw

        void draw​(DrawContext drawContext)
        Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to the PdfDocument etc.
        Parameters:
        drawContext - contains the PdfDocument to which the renderer subtree if flushed, the PdfCanvas on which the renderer subtree is drawn and other additional parameters needed to perform drawing
      • getProperty

        <T1> T1 getProperty​(int property,
                            T1 defaultValue)
        Gets a property from this entity or one of its hierarchical parents. If the property is not found, defaultValue will be returned.
        Type Parameters:
        T1 - the return type associated with the property
        Parameters:
        property - the property to be retrieved
        defaultValue - a fallback value
        Returns:
        the value of the given property
      • setParent

        IRenderer setParent​(IRenderer parent)
        Explicitly sets this object as the child of another IRenderer in the renderer hierarchy. Some implementations also use this method internally to create a consistent hierarchy tree.
        Parameters:
        parent - the object to place higher in the renderer hierarchy
        Returns:
        by default, this object
      • getChildRenderers

        java.util.List<IRenderer> getChildRenderers()
        Gets the child IRenderers.
        Returns:
        a list of direct child renderers of this instance
      • isFlushed

        boolean isFlushed()
        Indicates whether this renderer is flushed or not, i.e. if draw(DrawContext) has already been called.
        Returns:
        whether the renderer has been flushed
      • move

        void move​(float dx,
                  float dy)
        Moves the renderer subtree by the specified offset. This method affects occupied area of the renderer.
        Parameters:
        dx - the x-axis offset in points. Positive value will move the renderer subtree to the right.
        dy - the y-axis offset in points. Positive value will move the renderer subtree to the top.
      • getNextRenderer

        IRenderer getNextRenderer()
        Gets a new instance of this class to be used as a next renderer, after this renderer is used, if layout(LayoutContext) is called more than once.
        Returns:
        new renderer instance