summaryrefslogtreecommitdiff
path: root/rotord
diff options
context:
space:
mode:
Diffstat (limited to 'rotord')
-rw-r--r--rotord/src/nodes_drawing.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/rotord/src/nodes_drawing.h b/rotord/src/nodes_drawing.h
index 6128e57..de4270c 100644
--- a/rotord/src/nodes_drawing.h
+++ b/rotord/src/nodes_drawing.h
@@ -254,16 +254,17 @@ namespace Rotor {
}
}
void translate(cairo_t * cr,const Frame_spec &frame){
- cerr<<"svg translate "<<frame.time<<endl;
- //to make it resolution independent
- //translate the difference between screen and drawing
- float scale=frame.w/dims.width;
- cairo_translate(cr, frame.w/2, frame.h/2);
- cairo_translate(cr, parameters["x"]->value * frame.w, parameters["y"]->value * frame.h);
- cairo_scale(cr, parameters["scale"]->value*scale, parameters["scale"]->value*scale);
- cairo_rotate(cr,(parameters["rotation"]->value/180.0f)*M_PI);
- cairo_translate(cr, -frame.w/2, -frame.h/2);
- cairo_translate(cr, frame.w/2-(dims.width/2), frame.h/2-(dims.height/2));
+ if (rsvg) {
+ //to make it resolution independent
+ //translate the difference between screen and drawing
+ float scale=frame.w/dims.width;
+ cairo_translate(cr, frame.w/2, frame.h/2);
+ cairo_translate(cr, parameters["x"]->value * frame.w, parameters["y"]->value * frame.h);
+ cairo_scale(cr, parameters["scale"]->value*scale, parameters["scale"]->value*scale);
+ cairo_rotate(cr,(parameters["rotation"]->value/180.0f)*M_PI);
+ cairo_translate(cr, -frame.w/2, -frame.h/2);
+ cairo_translate(cr, frame.w/2-(dims.width/2), frame.h/2-(dims.height/2));
+ }
}
private:
RsvgHandle * rsvg;