diff --git a/src/marker.cpp b/src/marker.cpp
index 2efcde1b99e6b03b5c22192cfcfbc09c29939b73..e4c2e0c305633929ea8df52a65a2e748b3250ea7 100644 (file)
--- a/src/marker.cpp
+++ b/src/marker.cpp
static void sp_marker_class_init (SPMarkerClass *klass);
static void sp_marker_init (SPMarker *marker);
-static void sp_marker_build (SPObject *object, Document *document, Inkscape::XML::Node *repr);
+static void sp_marker_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_marker_release (SPObject *object);
static void sp_marker_set (SPObject *object, unsigned int key, const gchar *value);
static void sp_marker_update (SPObject *object, SPCtx *ctx, guint flags);
* \see sp_object_build()
*/
static void
-sp_marker_build (SPObject *object, Document *document, Inkscape::XML::Node *repr)
+sp_marker_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
SPGroup *group;
SPMarker *marker;
}
}
- {
- Geom::Matrix q;
- /* Compose additional transformation from scale and position */
- q[0] = width / vb.width();
- q[1] = 0.0;
- q[2] = 0.0;
- q[3] = height / vb.height();
- q[4] = -vb.min()[Geom::X] * q[0] + x;
- q[5] = -vb.min()[Geom::Y] * q[3] + y;
- /* Append viewbox transformation */
- marker->c2p = q * marker->c2p;
- }
-
- /* Append reference translation */
- /* fixme: lala (Lauris) */
- marker->c2p = Geom::Translate(-marker->refX.computed, -marker->refY.computed) * marker->c2p;
+ // viewbox transformation and reference translation
+ marker->c2p = Geom::Translate(-marker->refX.computed, -marker->refY.computed) *
+ Geom::Scale(width / vb.width(), height / vb.height());
rctx.i2doc = marker->c2p * rctx.i2doc;
@@ -723,7 +710,7 @@ sp_marker_view_remove (SPMarker *marker, SPMarkerView *view, unsigned int destro
}
const gchar *
-generate_marker (GSList *reprs, Geom::Rect bounds, Document *document, Geom::Matrix /*transform*/, Geom::Matrix move)
+generate_marker (GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Matrix /*transform*/, Geom::Matrix move)
{
Inkscape::XML::Document *xml_doc = sp_document_repr_doc(document);
Inkscape::XML::Node *defsrepr = SP_OBJECT_REPR (SP_DOCUMENT_DEFS (document));