Class SwingReplacedElementFactory

    • Constructor Detail

      • SwingReplacedElementFactory

        public SwingReplacedElementFactory()
      • SwingReplacedElementFactory

        public SwingReplacedElementFactory​(RepaintListener repaintListener)
    • Method Detail

      • createReplacedElement

        public ReplacedElement createReplacedElement​(LayoutContext context,
                                                     BlockBox box,
                                                     UserAgentCallback uac,
                                                     int cssWidth,
                                                     int cssHeight)
        Description copied from interface: ReplacedElementFactory
        NOTE: Only block equivalent elements can be replaced.
        Specified by:
        createReplacedElement in interface ReplacedElementFactory
        cssWidth - The CSS width of the element in dots (or -1 if width is auto)
        cssHeight - The CSS height of the element in dots (or -1 if the height should be treated as auto)
        Returns:
        The ReplacedElement or null if no ReplacedElement applies
      • replaceImage

        protected ReplacedElement replaceImage​(UserAgentCallback uac,
                                               LayoutContext context,
                                               Element elem,
                                               int cssWidth,
                                               int cssHeight)
        Handles replacement of image elements in the document. May return the same ReplacedElement for a given image on multiple calls. Image will be automatically scaled to cssWidth and cssHeight assuming these are non-zero positive values. The element is assumed to have a src attribute (e.g. it's an <img> element).
        Parameters:
        uac - Used to retrieve images on demand from some source.
        elem - The element with the image reference
        cssWidth - Target width of the image
        cssHeight - Target height of the image @return A ReplacedElement for the image; will not be null.
      • newIrreplaceableImageElement

        protected ReplacedElement newIrreplaceableImageElement​(int cssWidth,
                                                               int cssHeight)
        Returns a ReplacedElement for some element in the stream which should be replaceable, but is not. This might be the case for an element like img, where the source isn't provided.
        Parameters:
        cssWidth - Target width for the element.
        cssHeight - Target height for the element
        Returns:
        A ReplacedElement to substitute for one that can't be generated.
      • storeImageReplacedElement

        protected void storeImageReplacedElement​(Element e,
                                                 ReplacedElement cc,
                                                 String uri,
                                                 int cssWidth,
                                                 int cssHeight)
        Adds a ReplacedElement containing an image to a cache of images for quick lookup.
        Parameters:
        e - The element under which the image is keyed.
        cc - The replaced element containing the image, or another ReplacedElement to be used in its place
      • lookupImageReplacedElement

        protected ReplacedElement lookupImageReplacedElement​(Element e,
                                                             String uri)
        Retrieves a ReplacedElement for an image from cache, or null if not found.
        Parameters:
        e - The element by which the image is keyed
        Returns:
        The ReplacedElement for the image, or null if there is none.
      • addForm

        protected void addForm​(Element e,
                               XhtmlForm f)
        Adds a form to a local cache for quick lookup.
        Parameters:
        e - The element under which the form is keyed (e.g. <form> in HTML)
        f - The form element being stored.
      • getForm

        protected XhtmlForm getForm​(Element e)
        Returns the XhtmlForm associated with an Element in cache, or null if not found.
        Parameters:
        e - The Element to which the form is keyed
        Returns:
        The form, or null if not found.
      • reset

        public void reset()
        Clears out any references to elements or items created by this factory so far.
        Specified by:
        reset in interface ReplacedElementFactory