mirror of
https://github.com/konvajs/konva.git
synced 2025-11-24 08:46:44 +08:00
underline drawing bug fixes
This commit is contained in:
4
konva.js
4
konva.js
@@ -13120,6 +13120,7 @@
|
||||
|
||||
if (textDecoration === 'underline') {
|
||||
context.save();
|
||||
context.beginPath();
|
||||
context.moveTo(0, Math.round(lineHeightPx / 2));
|
||||
context.lineTo(Math.round(width), Math.round(lineHeightPx / 2));
|
||||
// context
|
||||
@@ -15133,6 +15134,9 @@
|
||||
var fontSize = this.fontSize();
|
||||
|
||||
var glyphInfo = this.glyphInfo;
|
||||
if (textDecoration === 'underline') {
|
||||
context.beginPath();
|
||||
}
|
||||
for(var i = 0; i < glyphInfo.length; i++) {
|
||||
context.save();
|
||||
|
||||
|
||||
4
konva.min.js
vendored
4
konva.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -140,6 +140,7 @@
|
||||
|
||||
if (textDecoration === 'underline') {
|
||||
context.save();
|
||||
context.beginPath();
|
||||
context.moveTo(0, Math.round(lineHeightPx / 2));
|
||||
context.lineTo(Math.round(width), Math.round(lineHeightPx / 2));
|
||||
// context
|
||||
|
||||
@@ -82,6 +82,9 @@
|
||||
var fontSize = this.fontSize();
|
||||
|
||||
var glyphInfo = this.glyphInfo;
|
||||
if (textDecoration === 'underline') {
|
||||
context.beginPath();
|
||||
}
|
||||
for(var i = 0; i < glyphInfo.length; i++) {
|
||||
context.save();
|
||||
|
||||
|
||||
@@ -345,14 +345,14 @@ suite('Text', function(){
|
||||
fontSize: 15,
|
||||
fill: 'red',
|
||||
letterSpacing: 5,
|
||||
textDecoration: 'underline'
|
||||
textDecoration: 'underline',
|
||||
draggable: true
|
||||
});
|
||||
|
||||
layer.add(text);
|
||||
stage.add(layer);
|
||||
|
||||
var trace = 'clearRect(0,0,578,200);save();transform(1,0,0,1,10,10);font=normal normal 15px Arial;textBaseline=middle;textAlign=left;save();translate(0,7.5);save();save();moveTo(0,8);lineTo(52,8);stroke();restore();fillStyle=red;fillText(h,0,0);translate(13,0);fillStyle=red;fillText(e,0,0);translate(13,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(o,0,0);translate(13,0);restore();translate(0,15);save();save();moveTo(0,8);lineTo(56,8);stroke();restore();fillStyle=red;fillText(w,0,0);translate(16,0);fillStyle=red;fillText(o,0,0);translate(13,0);fillStyle=red;fillText(r,0,0);translate(10,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(d,0,0);translate(13,0);restore();translate(0,15);restore();restore();';
|
||||
|
||||
var trace = 'clearRect(0,0,578,200);save();transform(1,0,0,1,10,10);font=normal normal 15px Arial;textBaseline=middle;textAlign=left;save();translate(0,7.5);save();save();beginPath();moveTo(0,8);lineTo(52,8);stroke();restore();fillStyle=red;fillText(h,0,0);translate(13,0);fillStyle=red;fillText(e,0,0);translate(13,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(o,0,0);translate(13,0);restore();translate(0,15);save();save();beginPath();moveTo(0,8);lineTo(56,8);stroke();restore();fillStyle=red;fillText(w,0,0);translate(16,0);fillStyle=red;fillText(o,0,0);translate(13,0);fillStyle=red;fillText(r,0,0);translate(10,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(d,0,0);translate(13,0);restore();translate(0,15);restore();restore();';
|
||||
|
||||
|
||||
assert.equal(layer.getContext().getTrace(), trace);
|
||||
|
||||
@@ -280,7 +280,8 @@ suite('TextPath', function() {
|
||||
letterSpacing: 5,
|
||||
text: 'All the worlds a stage.',
|
||||
textDecoration: 'underline',
|
||||
data: c
|
||||
data: c,
|
||||
draggable: true
|
||||
});
|
||||
|
||||
layer.add(textpath);
|
||||
|
||||
Reference in New Issue
Block a user