summaryrefslogtreecommitdiffstats
path: root/src/spof.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/spof.js')
-rw-r--r--src/spof.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/spof.js b/src/spof.js
new file mode 100644
index 0000000..cf4fe2f
--- /dev/null
+++ b/src/spof.js
@@ -0,0 +1,31 @@
+// Fix for possible sub-pixel offset. See:
+// https://bugzilla.mozilla.org/show_bug.cgi?id=608812
+SVG.extend(SVG.Doc, {
+ // Callback
+ spof: function() {
+ if (this.doSpof) {
+ var pos = this.node.getScreenCTM()
+
+ if (pos)
+ this
+ .style('left', (-pos.e % 1) + 'px')
+ .style('top', (-pos.f % 1) + 'px')
+ }
+
+ return this
+ }
+
+ // Sub-pixel offset enabler
+, fixSubPixelOffset: function() {
+ var self = this
+
+ // Enable spof
+ this.doSpof = true
+
+ // Make sure sub-pixel offset is fixed every time the window is resized
+ SVG.on(window, 'resize', function() { self.spof() })
+
+ return this.spof()
+ }
+
+}) \ No newline at end of file