func (pw *PageWriter) SetFontColor(value interface{}) (prev colors.Color) { prev = pw.fontColor switch value := value.(type) { case string: c, _ := colors.NamedColor(value) pw.fontColor = c case int: pw.fontColor = colors.Color(value) case int32: pw.fontColor = colors.Color(value) case colors.Color: pw.fontColor = value } return }
func (pw *PageWriter) SetFillColor(value interface{}) (prev colors.Color) { prev = pw.fillColor switch value := value.(type) { case string: if c, err := colors.NamedColor(value); err == nil { pw.fillColor = c } case int: pw.fillColor = colors.Color(value) case int32: pw.fillColor = colors.Color(value) case colors.Color: pw.fillColor = value } return }
func (fs *FontStyle) Apply(w Writer) { fmt.Printf("Applying %s\n", fs) w.SetFont(fs.name, fs.size, options.Options{ "color": colors.Color(fs.color), "weight": fs.weight, "style": fs.style}) if fs.lineHeight == 0 { fs.lineHeight = 1.0 } w.SetLineSpacing(fs.lineHeight) }
func (ps *PenStyle) Apply(w Writer) { fmt.Printf("Applying %s\n", ps) w.SetLineColor(colors.Color(ps.color)) w.SetLineWidth(ps.width) w.SetLineDashPattern(ps.pattern) }