Example #1
0
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
}
Example #2
0
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
}
Example #3
0
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)
}
Example #4
0
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)
}