From d46946d9d7b0e15354cfe104f7d554755244dff5 Mon Sep 17 00:00:00 2001 From: John Fercher Date: Sun, 17 Sep 2023 15:19:07 -0300 Subject: [PATCH] Simplify col --- docs/assets/examples/customsize/v2/main.go | 2 +- docs/assets/examples/margins/v2/main.go | 2 +- pkg/v2/code/barcode.go | 2 +- pkg/v2/code/matrixcode.go | 2 +- pkg/v2/code/qrcode.go | 2 +- pkg/v2/domain/domain.go | 2 +- pkg/v2/grid/col/col.go | 22 ++++++++++------------ pkg/v2/grid/row/row.go | 7 ++----- pkg/v2/image/base64image.go | 2 +- pkg/v2/image/fileimage.go | 2 +- pkg/v2/signature/signature.go | 2 +- pkg/v2/text/text.go | 2 +- 12 files changed, 22 insertions(+), 27 deletions(-) diff --git a/docs/assets/examples/customsize/v2/main.go b/docs/assets/examples/customsize/v2/main.go index 7539c9f7..c9ed8915 100644 --- a/docs/assets/examples/customsize/v2/main.go +++ b/docs/assets/examples/customsize/v2/main.go @@ -31,7 +31,7 @@ func main() { Size: 12, Extrapolate: true, }), - col.Empty(4), + col.New(4), ) document, err := m.Generate() diff --git a/docs/assets/examples/margins/v2/main.go b/docs/assets/examples/margins/v2/main.go index 4e96c13f..184e0fdd 100644 --- a/docs/assets/examples/margins/v2/main.go +++ b/docs/assets/examples/margins/v2/main.go @@ -33,7 +33,7 @@ func main() { Size: 12, Extrapolate: true, }), - col.Empty(4), + col.New(4), ) document, err := m.Generate() diff --git a/pkg/v2/code/barcode.go b/pkg/v2/code/barcode.go index 73c5a04b..69c88b0a 100644 --- a/pkg/v2/code/barcode.go +++ b/pkg/v2/code/barcode.go @@ -36,7 +36,7 @@ func NewBarCol(size int, code string, ps ...props.Barcode) domain.Col { func NewBarRow(height float64, code string, ps ...props.Barcode) domain.Row { bar := NewBar(code, ps...) - c := col.New(0).Add(bar) + c := col.New().Add(bar) return row.New(height).Add(c) } diff --git a/pkg/v2/code/matrixcode.go b/pkg/v2/code/matrixcode.go index b39049b4..4698cfc7 100644 --- a/pkg/v2/code/matrixcode.go +++ b/pkg/v2/code/matrixcode.go @@ -36,7 +36,7 @@ func NewMatrixCol(size int, code string, ps ...props.Rect) domain.Col { func NewMatrixRow(height float64, code string, ps ...props.Rect) domain.Row { matrixCode := NewMatrix(code, ps...) - c := col.New(0).Add(matrixCode) + c := col.New().Add(matrixCode) return row.New(height).Add(c) } diff --git a/pkg/v2/code/qrcode.go b/pkg/v2/code/qrcode.go index f5761d2c..619b5f68 100644 --- a/pkg/v2/code/qrcode.go +++ b/pkg/v2/code/qrcode.go @@ -36,7 +36,7 @@ func NewQrCol(size int, code string, ps ...props.Rect) domain.Col { func NewQrRow(height float64, code string, ps ...props.Rect) domain.Row { qrCode := NewQr(code, ps...) - c := col.New(0).Add(qrCode) + c := col.New().Add(qrCode) return row.New(height).Add(c) } diff --git a/pkg/v2/domain/domain.go b/pkg/v2/domain/domain.go index a308c59e..66f5d40e 100644 --- a/pkg/v2/domain/domain.go +++ b/pkg/v2/domain/domain.go @@ -39,7 +39,7 @@ type Col interface { Node Add(components ...Component) Col AddInner(rows ...Row) Col - GetSize() (int, bool) + GetSize() int WithStyle(style *props.Style) Col Render(provider Provider, cell internal.Cell, createCell bool) } diff --git a/pkg/v2/grid/col/col.go b/pkg/v2/grid/col/col.go index 8fb3e078..963ad403 100644 --- a/pkg/v2/grid/col/col.go +++ b/pkg/v2/grid/col/col.go @@ -19,18 +19,12 @@ type col struct { style *props.Style } -func New(size int) domain.Col { - return &col{ - size: size, - isMax: size == 0, +func New(size ...int) domain.Col { + if len(size) == 0 { + return &col{isMax: true} } -} -func Empty(size int) domain.Col { - return &col{ - size: size, - isMax: size == 0, - } + return &col{size: size[0]} } func (c *col) Add(components ...domain.Component) domain.Col { @@ -43,8 +37,12 @@ func (c *col) AddInner(rows ...domain.Row) domain.Col { return c } -func (c *col) GetSize() (int, bool) { - return c.size, c.isMax +func (c *col) GetSize() int { + if c.isMax { + return c.config.MaxGridSize + } + + return c.size } func (c *col) GetStructure() *tree.Node[domain.Structure] { diff --git a/pkg/v2/grid/row/row.go b/pkg/v2/grid/row/row.go index 95ff3b06..68049802 100644 --- a/pkg/v2/grid/row/row.go +++ b/pkg/v2/grid/row/row.go @@ -25,7 +25,7 @@ func New(height float64) domain.Row { func Empty(height float64) domain.Row { r := New(height) - r.Add(col.Empty(12)) + r.Add(col.New()) return r } @@ -70,13 +70,10 @@ func (r *row) Render(provider domain.Provider, cell internal.Cell) { } for _, col := range r.cols { - size, isMax := col.GetSize() + size := col.GetSize() parentWidth := cell.Width percent := float64(size) / float64(r.config.MaxGridSize) - if isMax { - percent = 1 - } colDimension := parentWidth * percent innerCell.Width = colDimension diff --git a/pkg/v2/image/base64image.go b/pkg/v2/image/base64image.go index 62453c4e..8a161a23 100644 --- a/pkg/v2/image/base64image.go +++ b/pkg/v2/image/base64image.go @@ -39,7 +39,7 @@ func NewFromBase64Col(size int, path string, extension consts.Extension, ps ...p func NewFromBase64Row(height float64, path string, extension consts.Extension, ps ...props.Rect) domain.Row { image := NewFromBase64(path, extension, ps...) - c := col.New(0).Add(image) + c := col.New().Add(image) return row.New(height).Add(c) } diff --git a/pkg/v2/image/fileimage.go b/pkg/v2/image/fileimage.go index 037d5baa..e93bdfb1 100644 --- a/pkg/v2/image/fileimage.go +++ b/pkg/v2/image/fileimage.go @@ -38,7 +38,7 @@ func NewFromFileCol(size int, path string, ps ...props.Rect) domain.Col { func NewFromFileRow(height float64, path string, ps ...props.Rect) domain.Row { image := NewFromFile(path, ps...) - c := col.New(0).Add(image) + c := col.New().Add(image) return row.New(height).Add(c) } diff --git a/pkg/v2/signature/signature.go b/pkg/v2/signature/signature.go index 6cbf4779..b7c85656 100644 --- a/pkg/v2/signature/signature.go +++ b/pkg/v2/signature/signature.go @@ -37,7 +37,7 @@ func NewCol(size int, value string, ps ...props.Font) domain.Col { func NewRow(height float64, value string, ps ...props.Font) domain.Row { signature := New(value, ps...) - c := col.New(0).Add(signature) + c := col.New().Add(signature) return row.New(height).Add(c) } diff --git a/pkg/v2/text/text.go b/pkg/v2/text/text.go index 4f72668d..6654cbf9 100644 --- a/pkg/v2/text/text.go +++ b/pkg/v2/text/text.go @@ -45,7 +45,7 @@ func NewCol(size int, value string, ps ...props.Text) domain.Col { func NewRow(height float64, value string, ps ...props.Text) domain.Row { r := New(value, ps...) - c := col.New(0).Add(r) + c := col.New().Add(r) return row.New(height).Add(c) }