aboutsummaryrefslogtreecommitdiff
path: root/src/invoice.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/invoice.c')
-rw-r--r--src/invoice.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/invoice.c b/src/invoice.c
index 34b2a85..1bdc0da 100644
--- a/src/invoice.c
+++ b/src/invoice.c
@@ -77,8 +77,12 @@
#define FOOT_CITY_Y 686.0238
#define FOOT_PAGE_Y 819.7954
-#define WORDMARK_X 21.742
+#define HEADER_NAME_X 21.742
#define FAKTURA_X 498.400
+#define HEADER_BASE_Y 69.1358
+#define HEADER_NAME_SIZE 16.0
+#define HEADER_NAME_MIN_SIZE 8.0
+#define HEADER_NAME_MAX_W 460.0
static void text_at(struct pdf *p, double x, double base, const char *font,
double size, const char *rgb, const char *s)
@@ -581,9 +585,13 @@ int invoice_render_pdf(const struct invoice_doc *d, unsigned char **out,
p = pdf_new();
pdf_page(p);
pdf_fill_rect(p, PAGE_LEFT, BAR_HEADER_Y, PAGE_RIGHT_X - PAGE_LEFT,
- BAR_HEADER_H, INK);
- draw_wordmark(p, WORDMARK_MAKANDRA, WORDMARK_X, 69.1358);
- draw_wordmark(p, WORDMARK_FAKTURA, FAKTURA_X, 69.1358);
+ BAR_HEADER_H,
+ util_hex_color_valid(d->header_color) ? d->header_color
+ : INK);
+ pdf_text_fit(p, HEADER_NAME_X, HEADER_BASE_Y, "HB", HEADER_NAME_SIZE,
+ HEADER_NAME_MIN_SIZE, HEADER_NAME_MAX_W, WHITE,
+ d->seller.name);
+ draw_wordmark(p, WORDMARK_FAKTURA, FAKTURA_X, HEADER_BASE_Y);
draw_info(p, d);
draw_customer(p, &d->customer);
draw_table(p, d);