summaryrefslogtreecommitdiff
path: root/libcore/cairoimage.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-03-31 06:57:02 +0200
committerlouis <louis.braun@gmx.de>2015-03-31 06:57:02 +0200
commit3d43200af00372dd54abe2b86b00ca15a4fc6d82 (patch)
tree0acd63aa794fabae179d90c74e7ad38ad9d872c0 /libcore/cairoimage.c
parent1ba2ae905ad33f8e311100fd4e9e48653ca4b63d (diff)
downloadvdr-plugin-skindesigner-3d43200af00372dd54abe2b86b00ca15a4fc6d82.tar.gz
vdr-plugin-skindesigner-3d43200af00372dd54abe2b86b00ca15a4fc6d82.tar.bz2
added possibility to draw vertical text bottomum and topdown
Diffstat (limited to 'libcore/cairoimage.c')
-rw-r--r--libcore/cairoimage.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/libcore/cairoimage.c b/libcore/cairoimage.c
index 476b5f2..4b2bcab 100644
--- a/libcore/cairoimage.c
+++ b/libcore/cairoimage.c
@@ -1,4 +1,5 @@
#include "cairoimage.h"
+#include "../libtemplate/templatefunction.h"
cCairoImage::cCairoImage(void) {
surface = NULL;
@@ -21,18 +22,26 @@ void cCairoImage::InitCairoImage(int width, int height) {
cairo_set_antialias(cr, CAIRO_ANTIALIAS_SUBPIXEL);
}
-void cCairoImage::DrawTextVertical(string text, tColor color, string font, int size) {
+void cCairoImage::DrawTextVertical(string text, tColor color, string font, int size, int direction) {
int imgHeight = GetTextWidth(text, font, size);
InitCairoImage(size * 1.2, imgHeight);
SetColor(color);
- cairo_move_to (cr, size, imgHeight);
cairo_font_weight_t fontWeight = CAIRO_FONT_WEIGHT_NORMAL;
cairo_font_slant_t fontSlant = CAIRO_FONT_SLANT_NORMAL;
cairo_select_font_face (cr, font.c_str(), fontSlant, fontWeight);
cairo_set_font_size (cr, size);
- cairo_rotate(cr, 3*M_PI/2);
+ int x = size;
+ int y = imgHeight;
+ double rotate = 3*M_PI/2;
+ if (direction == diTopDown) {
+ rotate = M_PI/2;
+ x = size*0.3;
+ y = 0;
+ }
+ cairo_move_to (cr, x, y);
+ cairo_rotate(cr, rotate);
cairo_show_text (cr, text.c_str());
}