v0.0.460
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 1m16s
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 1m16s
This commit is contained in:
parent
73b80a66bc
commit
194ea4ace5
@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.459"
|
const GoextVersion = "0.0.460"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2024-05-20T00:20:31+0200"
|
const GoextVersionTimestamp = "2024-05-20T00:38:04+0200"
|
||||||
|
9
wpdf/utils.go
Normal file
9
wpdf/utils.go
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
package wpdf
|
||||||
|
|
||||||
|
func hexToColor(c uint32) PDFColor {
|
||||||
|
return PDFColor{R: int((c >> 16) & 0xFF), G: int((c >> 8) & 0xFF), B: int((c >> 0) & 0xFF)}
|
||||||
|
}
|
||||||
|
|
||||||
|
func rgbToColor(r, g, b int) PDFColor {
|
||||||
|
return PDFColor{R: r, G: g, B: b}
|
||||||
|
}
|
@ -17,6 +17,9 @@ type PDFCellOpt struct {
|
|||||||
extraLn *float64
|
extraLn *float64
|
||||||
x *float64
|
x *float64
|
||||||
autoWidth *bool
|
autoWidth *bool
|
||||||
|
textColor *PDFColor
|
||||||
|
borderColor *PDFColor
|
||||||
|
fillColor *PDFColor
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPDFCellOpt() *PDFCellOpt {
|
func NewPDFCellOpt() *PDFCellOpt {
|
||||||
@ -110,6 +113,36 @@ func (opt *PDFCellOpt) AutoWidth() *PDFCellOpt {
|
|||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) TextColor(cr, cg, cb int) *PDFCellOpt {
|
||||||
|
opt.textColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) TextColorHex(c uint32) *PDFCellOpt {
|
||||||
|
opt.textColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) BorderColor(cr, cg, cb int) *PDFCellOpt {
|
||||||
|
opt.borderColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) BorderColorHex(c uint32) *PDFCellOpt {
|
||||||
|
opt.borderColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) FillColor(cr, cg, cb int) *PDFCellOpt {
|
||||||
|
opt.fillColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFCellOpt) FillColorHex(c uint32) *PDFCellOpt {
|
||||||
|
opt.fillColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
func (b *WPDFBuilder) Cell(txt string, opts ...*PDFCellOpt) {
|
func (b *WPDFBuilder) Cell(txt string, opts ...*PDFCellOpt) {
|
||||||
|
|
||||||
txtTR := b.tr(txt)
|
txtTR := b.tr(txt)
|
||||||
@ -128,6 +161,9 @@ func (b *WPDFBuilder) Cell(txt string, opts ...*PDFCellOpt) {
|
|||||||
extraLn := float64(0)
|
extraLn := float64(0)
|
||||||
var x *float64
|
var x *float64
|
||||||
autoWidth := false
|
autoWidth := false
|
||||||
|
var textColor *PDFColor
|
||||||
|
var borderColor *PDFColor
|
||||||
|
var fillColor *PDFColor
|
||||||
|
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
width = langext.Coalesce(opt.width, width)
|
width = langext.Coalesce(opt.width, width)
|
||||||
@ -144,6 +180,9 @@ func (b *WPDFBuilder) Cell(txt string, opts ...*PDFCellOpt) {
|
|||||||
extraLn = langext.Coalesce(opt.extraLn, extraLn)
|
extraLn = langext.Coalesce(opt.extraLn, extraLn)
|
||||||
x = langext.CoalesceOpt(opt.x, x)
|
x = langext.CoalesceOpt(opt.x, x)
|
||||||
autoWidth = langext.Coalesce(opt.autoWidth, autoWidth)
|
autoWidth = langext.Coalesce(opt.autoWidth, autoWidth)
|
||||||
|
textColor = langext.CoalesceOpt(opt.textColor, textColor)
|
||||||
|
borderColor = langext.CoalesceOpt(opt.borderColor, borderColor)
|
||||||
|
fillColor = langext.CoalesceOpt(opt.fillColor, fillColor)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fontNameOverride != nil || fontStyleOverride != nil || fontSizeOverride != nil {
|
if fontNameOverride != nil || fontStyleOverride != nil || fontSizeOverride != nil {
|
||||||
@ -157,6 +196,24 @@ func (b *WPDFBuilder) Cell(txt string, opts ...*PDFCellOpt) {
|
|||||||
defer func() { b.SetFont(oldFontName, oldFontStyle, oldFontSize) }()
|
defer func() { b.SetFont(oldFontName, oldFontStyle, oldFontSize) }()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if textColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetTextColor()
|
||||||
|
b.SetTextColor(textColor.R, textColor.G, textColor.B)
|
||||||
|
defer func() { b.SetTextColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
|
if borderColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetDrawColor()
|
||||||
|
b.SetDrawColor(borderColor.R, borderColor.G, borderColor.B)
|
||||||
|
defer func() { b.SetDrawColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
|
if fillColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetFillColor()
|
||||||
|
b.SetFillColor(fillColor.R, fillColor.G, fillColor.B)
|
||||||
|
defer func() { b.SetFillColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
if x != nil {
|
if x != nil {
|
||||||
b.b.SetX(*x)
|
b.b.SetX(*x)
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,9 @@ type PDFMultiCellOpt struct {
|
|||||||
fontSizeOverride *float64
|
fontSizeOverride *float64
|
||||||
extraLn *float64
|
extraLn *float64
|
||||||
x *float64
|
x *float64
|
||||||
|
textColor *PDFColor
|
||||||
|
borderColor *PDFColor
|
||||||
|
fillColor *PDFColor
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPDFMultiCellOpt() *PDFMultiCellOpt {
|
func NewPDFMultiCellOpt() *PDFMultiCellOpt {
|
||||||
@ -86,6 +89,36 @@ func (opt *PDFMultiCellOpt) X(v float64) *PDFMultiCellOpt {
|
|||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) TextColor(cr, cg, cb int) *PDFMultiCellOpt {
|
||||||
|
opt.textColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) TextColorHex(c uint32) *PDFMultiCellOpt {
|
||||||
|
opt.textColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) BorderColor(cr, cg, cb int) *PDFMultiCellOpt {
|
||||||
|
opt.borderColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) BorderColorHex(c uint32) *PDFMultiCellOpt {
|
||||||
|
opt.borderColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) FillColor(cr, cg, cb int) *PDFMultiCellOpt {
|
||||||
|
opt.fillColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (opt *PDFMultiCellOpt) FillColorHex(c uint32) *PDFMultiCellOpt {
|
||||||
|
opt.fillColor = langext.Ptr(hexToColor(c))
|
||||||
|
return opt
|
||||||
|
}
|
||||||
|
|
||||||
func (b *WPDFBuilder) MultiCell(txt string, opts ...*PDFMultiCellOpt) {
|
func (b *WPDFBuilder) MultiCell(txt string, opts ...*PDFMultiCellOpt) {
|
||||||
|
|
||||||
txtTR := b.tr(txt)
|
txtTR := b.tr(txt)
|
||||||
@ -100,6 +133,9 @@ func (b *WPDFBuilder) MultiCell(txt string, opts ...*PDFMultiCellOpt) {
|
|||||||
var fontSizeOverride *float64
|
var fontSizeOverride *float64
|
||||||
extraLn := float64(0)
|
extraLn := float64(0)
|
||||||
var x *float64
|
var x *float64
|
||||||
|
var textColor *PDFColor
|
||||||
|
var borderColor *PDFColor
|
||||||
|
var fillColor *PDFColor
|
||||||
|
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
width = langext.Coalesce(opt.width, width)
|
width = langext.Coalesce(opt.width, width)
|
||||||
@ -112,6 +148,9 @@ func (b *WPDFBuilder) MultiCell(txt string, opts ...*PDFMultiCellOpt) {
|
|||||||
fontSizeOverride = langext.CoalesceOpt(opt.fontSizeOverride, fontSizeOverride)
|
fontSizeOverride = langext.CoalesceOpt(opt.fontSizeOverride, fontSizeOverride)
|
||||||
extraLn = langext.Coalesce(opt.extraLn, extraLn)
|
extraLn = langext.Coalesce(opt.extraLn, extraLn)
|
||||||
x = langext.CoalesceOpt(opt.x, x)
|
x = langext.CoalesceOpt(opt.x, x)
|
||||||
|
textColor = langext.CoalesceOpt(opt.textColor, textColor)
|
||||||
|
borderColor = langext.CoalesceOpt(opt.borderColor, borderColor)
|
||||||
|
fillColor = langext.CoalesceOpt(opt.fillColor, fillColor)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fontNameOverride != nil || fontStyleOverride != nil || fontSizeOverride != nil {
|
if fontNameOverride != nil || fontStyleOverride != nil || fontSizeOverride != nil {
|
||||||
@ -125,6 +164,24 @@ func (b *WPDFBuilder) MultiCell(txt string, opts ...*PDFMultiCellOpt) {
|
|||||||
defer func() { b.SetFont(oldFontName, oldFontStyle, oldFontSize) }()
|
defer func() { b.SetFont(oldFontName, oldFontStyle, oldFontSize) }()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if textColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetTextColor()
|
||||||
|
b.SetTextColor(textColor.R, textColor.G, textColor.B)
|
||||||
|
defer func() { b.SetTextColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
|
if borderColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetDrawColor()
|
||||||
|
b.SetDrawColor(borderColor.R, borderColor.G, borderColor.B)
|
||||||
|
defer func() { b.SetDrawColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
|
if fillColor != nil {
|
||||||
|
oldColorR, oldColorG, oldColorB := b.b.GetFillColor()
|
||||||
|
b.SetFillColor(fillColor.R, fillColor.G, fillColor.B)
|
||||||
|
defer func() { b.SetFillColor(oldColorR, oldColorG, oldColorB) }()
|
||||||
|
}
|
||||||
|
|
||||||
if x != nil {
|
if x != nil {
|
||||||
b.b.SetX(*x)
|
b.b.SetX(*x)
|
||||||
}
|
}
|
||||||
|
@ -34,22 +34,22 @@ func (opt *PDFRectOpt) LineWidth(v float64) *PDFRectOpt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (opt *PDFRectOpt) DrawColor(cr, cg, cb int) *PDFRectOpt {
|
func (opt *PDFRectOpt) DrawColor(cr, cg, cb int) *PDFRectOpt {
|
||||||
opt.drawColor = &PDFColor{R: cr, G: cg, B: cb}
|
opt.drawColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
func (opt *PDFRectOpt) DrawColorHex(c uint32) *PDFRectOpt {
|
func (opt *PDFRectOpt) DrawColorHex(c uint32) *PDFRectOpt {
|
||||||
opt.drawColor = &PDFColor{R: int((c >> 16) & 0xFF), G: int((c >> 8) & 0xFF), B: int((c >> 0) & 0xFF)}
|
opt.drawColor = langext.Ptr(hexToColor(c))
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
func (opt *PDFRectOpt) FillColor(cr, cg, cb int) *PDFRectOpt {
|
func (opt *PDFRectOpt) FillColor(cr, cg, cb int) *PDFRectOpt {
|
||||||
opt.fillColor = &PDFColor{R: cr, G: cg, B: cb}
|
opt.fillColor = langext.Ptr(rgbToColor(cr, cg, cb))
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
func (opt *PDFRectOpt) FillColorHex(c uint32) *PDFRectOpt {
|
func (opt *PDFRectOpt) FillColorHex(c uint32) *PDFRectOpt {
|
||||||
opt.fillColor = &PDFColor{R: int((c >> 16) & 0xFF), G: int((c >> 8) & 0xFF), B: int((c >> 0) & 0xFF)}
|
opt.fillColor = langext.Ptr(hexToColor(c))
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user