Class SwingReplacedElementFactory

java.lang.Object
org.xhtmlrenderer.swing.SwingReplacedElementFactory
All Implemented Interfaces:
ReplacedElementFactory

public class SwingReplacedElementFactory extends Object implements ReplacedElementFactory
A ReplacedElementFactory where Elements are replaced by Swing components.
  • Field Details

  • Constructor Details

    • SwingReplacedElementFactory

      public SwingReplacedElementFactory()
    • SwingReplacedElementFactory

      public SwingReplacedElementFactory(RepaintListener repaintListener)
    • SwingReplacedElementFactory

      public SwingReplacedElementFactory(RepaintListener listener, ImageResourceLoader irl)
  • Method Details

    • createReplacedElement

      @CheckReturnValue public @Nullable 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

      @CheckReturnValue protected @Nullable 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.
    • lookupImageReplacedElement

      @CheckReturnValue private @Nullable ReplacedElement lookupImageReplacedElement(Element elem, String ruri, int cssWidth, int cssHeight)
    • newIrreplaceableImageElement

      @CheckReturnValue 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

      @CheckReturnValue protected @Nullable ReplacedElement lookupImageReplacedElement(Element e)
      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

      @CheckReturnValue protected @Nullable 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.
    • getParentForm

      @CheckReturnValue protected @Nullable Element getParentForm(Element e, LayoutContext context)
    • reset

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

      public void remove(Element e)
      Description copied from interface: ReplacedElementFactory
      Removes any reference to Element e.
      Specified by:
      remove in interface ReplacedElementFactory
    • setFormSubmissionListener

      public void setFormSubmissionListener(FormSubmissionListener fsl)
      Description copied from interface: ReplacedElementFactory
      Identifies the FSL which will be used for callbacks when a form submit action is executed; you can use a DefaultFormSubmissionListener if you don't want any action to be taken.
      Specified by:
      setFormSubmissionListener in interface ReplacedElementFactory
      Parameters:
      fsl - the listener instance to receive callbacks on form submission.