diff options
author | Joe Westcott <joewestcott@users.noreply.github.com> | 2019-09-04 15:33:02 +0100 |
---|---|---|
committer | Joe Westcott <joewestcott@users.noreply.github.com> | 2019-09-04 15:33:02 +0100 |
commit | f9ddde9937c7b2c043599459877e5a695d667f0e (patch) | |
tree | 04a5d0e5eb4038718351e812c3dd07e8f9070853 | |
parent | f8eb4ab245f4dfe947b595efb0b2e2c3b3a37625 (diff) |
Initialize derived template with parent images
-rw-r--r-- | template.go | 11 | ||||
-rw-r--r-- | template_impl.go | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/template.go b/template.go index 31204c2..c0d3933 100644 --- a/template.go +++ b/template.go @@ -84,7 +84,18 @@ func (f *Fpdf) UseTemplateScaled(t Template, corner PointType, size SizeType) { for _, tt := range t.Templates() { f.templates[tt.ID()] = tt } + + // Create a list of existing image SHA-1 hashes. + existingImages := map[string]bool{} + for _, image := range f.images { + existingImages[image.i] = true + } + + // Add each template image to $f, unless already present. for name, ti := range t.Images() { + if _, found := existingImages[ti.i]; found { + continue + } name = sprintf("t%s-%s", t.ID(), name) f.images[name] = ti } diff --git a/template_impl.go b/template_impl.go index c5d7be8..c1e2dff 100644 --- a/template_impl.go +++ b/template_impl.go @@ -296,4 +296,8 @@ func (t *Tpl) loadParamsFromFpdf(f *Fpdf) { t.Fpdf.fontSizePt = f.fontSizePt t.Fpdf.fontStyle = f.fontStyle t.Fpdf.ws = f.ws + + for key, value := range f.images { + t.Fpdf.images[key] = value + } } |