Documentation ¶
Index ¶
- func ApplySettings(settings frontend.TypesettingSettings, ih *FormattingStyles)
- func DumpElement(thisNode *html.Node, direction Mode, firstItem *HTMLItem) error
- func HTMLNodeToText(n *html.Node, ss StylesStack, df *frontend.Document) (*frontend.Text, error)
- func Output(item *HTMLItem, ss StylesStack, df *frontend.Document) (*frontend.Text, error)
- func ParseHorizontalAlign(align string, styles *FormattingStyles) frontend.HorizontalAlignment
- func ParseRelativeSize(fs string, cur bag.ScaledPoint, root bag.ScaledPoint) bag.ScaledPoint
- func ParseVerticalAlign(align string, styles *FormattingStyles) frontend.VerticalAlignment
- func StylesToStyles(ih *FormattingStyles, attributes map[string]string, df *frontend.Document, ...) error
- type FormattingStyles
- type HTMLItem
- type Mode
- type StylesStack
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplySettings ¶
func ApplySettings(settings frontend.TypesettingSettings, ih *FormattingStyles)
ApplySettings converts the inheritable settings to boxes and glue text settings.
func DumpElement ¶
DumpElement fills the firstItem with the contents of thisNode. Comments and DocumentNodes are ignored.
func HTMLNodeToText ¶
HTMLNodeToText converts an HTML node to a *frontend.Text element.
func ParseHorizontalAlign ¶
func ParseHorizontalAlign(align string, styles *FormattingStyles) frontend.HorizontalAlignment
ParseHorizontalAlign parses the input ("left","center") and returns the HorizontalAlignment value.
func ParseRelativeSize ¶
func ParseRelativeSize(fs string, cur bag.ScaledPoint, root bag.ScaledPoint) bag.ScaledPoint
ParseRelativeSize converts the string fs to a scaled point. This can be an absolute size like 12pt but also a size like 1.2 or 2em. The provided dflt is the source size. The root is the document's default value.
func ParseVerticalAlign ¶
func ParseVerticalAlign(align string, styles *FormattingStyles) frontend.VerticalAlignment
ParseVerticalAlign parses the input ("top","middle",...) and returns the VerticalAlignment value.
func StylesToStyles ¶
func StylesToStyles(ih *FormattingStyles, attributes map[string]string, df *frontend.Document, curFontSize bag.ScaledPoint) error
StylesToStyles updates the inheritable formattingStyles from the attributes (of the current HTML element).
Types ¶
type FormattingStyles ¶
type FormattingStyles struct { BackgroundColor *color.Color BorderLeftWidth bag.ScaledPoint BorderRightWidth bag.ScaledPoint BorderBottomWidth bag.ScaledPoint BorderTopWidth bag.ScaledPoint BorderTopLeftRadius bag.ScaledPoint BorderTopRightRadius bag.ScaledPoint BorderBottomLeftRadius bag.ScaledPoint BorderBottomRightRadius bag.ScaledPoint BorderLeftColor *color.Color BorderRightColor *color.Color BorderBottomColor *color.Color BorderTopColor *color.Color BorderLeftStyle frontend.BorderStyle BorderRightStyle frontend.BorderStyle BorderBottomStyle frontend.BorderStyle BorderTopStyle frontend.BorderStyle DefaultFontSize bag.ScaledPoint DefaultFontFamily *frontend.FontFamily Hide bool Fontsize bag.ScaledPoint Fontweight frontend.FontWeight Halign frontend.HorizontalAlignment ListStyleType string OlCounter int PaddingBottom bag.ScaledPoint PaddingLeft bag.ScaledPoint PaddingRight bag.ScaledPoint PaddingTop bag.ScaledPoint TextDecorationLine frontend.TextDecorationLine Valign frontend.VerticalAlignment // contains filtered or unexported fields }
FormattingStyles are HTML formatting styles.
func (*FormattingStyles) Clone ¶
func (is *FormattingStyles) Clone() *FormattingStyles
Clone mimics style inheritance.
type HTMLItem ¶
type HTMLItem struct { Typ html.NodeType Data string Dir Mode Attributes map[string]string Styles map[string]string Children []*HTMLItem }
HTMLItem is a struct which represents a HTML element or a text node.
type StylesStack ¶
type StylesStack []*FormattingStyles
StylesStack mimics CSS style inheritance.
func (StylesStack) CurrentStyle ¶
func (ss StylesStack) CurrentStyle() *FormattingStyles
CurrentStyle returns the current style from the stack. CurrentStyle does not change the stack.
func (*StylesStack) PopStyles ¶
func (ss *StylesStack) PopStyles()
PopStyles removes the top style from the stack.
func (*StylesStack) PushStyles ¶
func (ss *StylesStack) PushStyles() *FormattingStyles
PushStyles creates a new style instance, pushes it onto the stack and returns the new style.
func (*StylesStack) SetDefaultFontFamily ¶
func (ss *StylesStack) SetDefaultFontFamily(ff *frontend.FontFamily)
SetDefaultFontFamily sets the font family that should be used as a default for the document.
func (*StylesStack) SetDefaultFontSize ¶
func (ss *StylesStack) SetDefaultFontSize(size bag.ScaledPoint)
SetDefaultFontSize sets the document font size which should be used for rem calculation.