|
|
|
@ -68,6 +68,19 @@ browser, but needs to redraw with canvas text when exporting as an image.
|
|
|
|
|
|
|
|
|
|
|
|
context.save();
|
|
|
|
context.save();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: Comments in Ole's implementation indicate that some
|
|
|
|
|
|
|
|
// browsers differ in their interpretation of 'top'; so far I
|
|
|
|
|
|
|
|
// don't see this, but it requires more testing. We'll stick
|
|
|
|
|
|
|
|
// with top until this can be verified.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Original comment was:
|
|
|
|
|
|
|
|
// Top alignment would be more natural, but browsers can differ a
|
|
|
|
|
|
|
|
// pixel or two in where they consider the top to be, so instead
|
|
|
|
|
|
|
|
// we middle align to minimize variation between browsers and
|
|
|
|
|
|
|
|
// compensate when calculating the coordinates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context.textBaseline = "top";
|
|
|
|
|
|
|
|
|
|
|
|
for (var layerKey in cache) {
|
|
|
|
for (var layerKey in cache) {
|
|
|
|
if (hasOwnProperty.call(cache, layerKey)) {
|
|
|
|
if (hasOwnProperty.call(cache, layerKey)) {
|
|
|
|
var layerCache = cache[layerKey];
|
|
|
|
var layerCache = cache[layerKey];
|
|
|
|
@ -100,20 +113,6 @@ browser, but needs to redraw with canvas text when exporting as an image.
|
|
|
|
updateStyles = false;
|
|
|
|
updateStyles = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: Comments in Ole's implementation indicate that
|
|
|
|
|
|
|
|
// some browsers differ in their interpretation of 'top';
|
|
|
|
|
|
|
|
// so far I don't see this, but it requires more testing.
|
|
|
|
|
|
|
|
// We'll stick with top until this can be verified.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Original comment was:
|
|
|
|
|
|
|
|
// Top alignment would be more natural, but browsers can
|
|
|
|
|
|
|
|
// differ a pixel or two in where they consider the top to
|
|
|
|
|
|
|
|
// be, so instead we middle align to minimize variation
|
|
|
|
|
|
|
|
// between browsers and compensate when calculating the
|
|
|
|
|
|
|
|
// coordinates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context.textBaseline = "top";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < lines.length; ++i) {
|
|
|
|
for (var i = 0; i < lines.length; ++i) {
|
|
|
|
|
|
|
|
|
|
|
|
var line = lines[i],
|
|
|
|
var line = lines[i],
|
|
|
|
|