Class SharedContext

java.lang.Object
org.xhtmlrenderer.layout.SharedContext

public final class SharedContext extends Object
The SharedContext is that which is kept between successive layout and render runs.
  • Field Details

    • PAGED_MEDIA_TYPES

      private static final Set<String> PAGED_MEDIA_TYPES
    • textRenderer

      private TextRenderer textRenderer
    • media

      private String media
    • uac

      private UserAgentCallback uac
    • interactive

      private boolean interactive
    • idMap

      private final Map<String,Box> idMap
    • dpi

      private float dpi
    • MM__PER__CM

      private static final int MM__PER__CM
      See Also:
    • CM__PER__IN

      private static final float CM__PER__IN
      See Also:
    • mm_per_dot

      private float mm_per_dot
      dpi in a more usable way
    • DEFAULT_DPI

      private static final float DEFAULT_DPI
      See Also:
    • print

      private boolean print
    • dotsPerPixel

      private int dotsPerPixel
    • styleMap

      private Map<Element,CalculatedStyle> styleMap
    • replacedElementFactory

      private ReplacedElementFactory replacedElementFactory
    • temporaryCanvas

      private Rectangle temporaryCanvas
    • lineBreakingStrategy

      private LineBreakingStrategy lineBreakingStrategy
    • fontResolver

      private FontResolver fontResolver
    • css

      private StyleReference css
    • debug_draw_boxes

      private boolean debug_draw_boxes
    • debug_draw_line_boxes

      private boolean debug_draw_line_boxes
    • debug_draw_inline_boxes

      private boolean debug_draw_inline_boxes
    • debug_draw_font_metrics

      private boolean debug_draw_font_metrics
    • canvas

      private FSCanvas canvas
    • namespaceHandler

      private NamespaceHandler namespaceHandler
  • Constructor Details

  • Method Details

    • setFormSubmissionListener

      public void setFormSubmissionListener(FormSubmissionListener fsl)
    • newLayoutContextInstance

      public LayoutContext newLayoutContextInstance()
    • newRenderingContextInstance

      public RenderingContext newRenderingContextInstance()
    • getFontResolver

      public FontResolver getFontResolver()
      Gets the fontResolver attribute of the Context object
      Returns:
      The fontResolver value
    • flushFonts

      public void flushFonts()
    • getMedia

      public String getMedia()
      The media for this context
    • getTextRenderer

      public TextRenderer getTextRenderer()
    • debugDrawBoxes

      public boolean debugDrawBoxes()
    • debugDrawLineBoxes

      public boolean debugDrawLineBoxes()
    • debugDrawInlineBoxes

      public boolean debugDrawInlineBoxes()
    • debugDrawFontMetrics

      public boolean debugDrawFontMetrics()
    • setDebug_draw_boxes

      public void setDebug_draw_boxes(boolean debug_draw_boxes)
    • setDebug_draw_line_boxes

      public void setDebug_draw_line_boxes(boolean debug_draw_line_boxes)
    • setDebug_draw_inline_boxes

      public void setDebug_draw_inline_boxes(boolean debug_draw_inline_boxes)
    • setDebug_draw_font_metrics

      public void setDebug_draw_font_metrics(boolean debug_draw_font_metrics)
    • getCss

      public StyleReference getCss()
    • setCss

      public void setCss(StyleReference css)
    • getCanvas

      public FSCanvas getCanvas()
    • setCanvas

      public void setCanvas(FSCanvas canvas)
    • setTemporaryCanvas

      public void setTemporaryCanvas(Rectangle rect)
    • getFixedRectangle

      public Rectangle getFixedRectangle()
    • setNamespaceHandler

      public void setNamespaceHandler(NamespaceHandler nh)
    • getNamespaceHandler

      public NamespaceHandler getNamespaceHandler()
    • addBoxId

      public void addBoxId(String id, Box box)
    • getBoxById

      public Box getBoxById(String id)
    • removeBoxId

      public void removeBoxId(String id)
    • getIdMap

      public Map<String,Box> getIdMap()
    • setTextRenderer

      public void setTextRenderer(TextRenderer textRenderer)
      Sets the textRenderer attribute of the RenderingContext object
      Parameters:
      textRenderer - The new textRenderer value
    • setMedia

      public void setMedia(String media)

      Set the current media type. This is usually something like screen or print . See the media section of the CSS 2.1 spec for more information on media types.

      Parameters:
      media - The new media value
    • getUac

      public UserAgentCallback getUac()
      Gets the uac attribute of the RenderingContext object
      Returns:
      The uac value
    • getUserAgentCallback

      public UserAgentCallback getUserAgentCallback()
    • setUserAgentCallback

      public void setUserAgentCallback(UserAgentCallback userAgentCallback)
    • getDPI

      public float getDPI()
      Gets the dPI attribute of the RenderingContext object
      Returns:
      The dPI value
    • setDPI

      public void setDPI(float dpi)
      Sets the effective DPI (Dots Per Inch) of the screen. You should normally never need to override the dpi, as it is already set to the system default by Toolkit.getDefaultToolkit().getScreenResolution() . You can override the value if you want to scale the fonts for accessibility or printing purposes. Currently, the DPI setting only affects font sizing.
      Parameters:
      dpi - The new dPI value
    • getMmPerPx

      public float getMmPerPx()
      Gets the dPI attribute in a more useful form of the RenderingContext object
      Returns:
      The dPI value
    • getFont

      public FSFont getFont(FontSpecification spec)
    • getXHeight

      public float getXHeight(FontContext fontContext, FontSpecification fs)
    • getBaseURL

      public String getBaseURL()
      Gets the baseURL attribute of the RenderingContext object
      Returns:
      The baseURL value
    • setBaseURL

      public void setBaseURL(@Nullable String url)
      Sets the baseURL attribute of the RenderingContext object
      Parameters:
      url - The new baseURL value
    • isPaged

      public boolean isPaged()
      Returns true if the currently set media type is paged. Currently, returns true only for print , projection , and embossed , handheld , and tv . See the media section of the CSS 2.1 spec for more information on media types.
      Returns:
      The paged value
    • isInteractive

      public boolean isInteractive()
    • setInteractive

      public void setInteractive(boolean interactive)
    • isPrint

      public boolean isPrint()
    • setPrint

      public void setPrint(boolean print)
    • setFontMapping

      public void setFontMapping(String name, Font font)

      Adds or overrides a font mapping, meaning you can associate a particular font with a particular string. For example, the following would load a font out of the cool.ttf file and associate it with the name CoolFont :

         Font font = Font.createFont(Font.TRUETYPE_FONT,
         new FileInputStream("cool.ttf");
         setFontMapping("CoolFont", font);
       

      You could then put the following css in your page

         p { font-family: CoolFont Arial sans-serif; }
       

      You can also override existing font mappings, like replacing Arial with Helvetica.

      Parameters:
      name - The new font name
      font - The actual Font to map
    • setFontResolver

      public void setFontResolver(FontResolver resolver)
    • getDotsPerPixel

      public int getDotsPerPixel()
    • setDotsPerPixel

      public void setDotsPerPixel(int pixelsPerDot)
    • getStyle

      public CalculatedStyle getStyle(Element e)
    • getStyle

      public CalculatedStyle getStyle(Element e, boolean restyle)
    • reset

      public void reset()
    • getReplacedElementFactory

      public ReplacedElementFactory getReplacedElementFactory()
    • setReplacedElementFactory

      public void setReplacedElementFactory(ReplacedElementFactory ref)
    • removeElementReferences

      public void removeElementReferences(Element e)
    • getLineBreakingStrategy

      public LineBreakingStrategy getLineBreakingStrategy()
    • setLineBreakingStrategy

      public void setLineBreakingStrategy(LineBreakingStrategy lineBreakingStrategy)