mirror of
https://github.com/konvajs/konva.git
synced 2025-11-18 17:21:36 +08:00
fixed up some text shadow issues
This commit is contained in:
@@ -136,26 +136,26 @@ Kinetic.Text.prototype = {
|
||||
};
|
||||
},
|
||||
fillText: function(context, text, skipShadow) {
|
||||
var textFill = this.getTextFill(), shadow = this.getShadow();
|
||||
var textFill = this.getTextFill(), textShadow = this.getTextShadow();
|
||||
if(textFill) {
|
||||
context.save();
|
||||
if(!skipShadow && shadow) {
|
||||
if(!skipShadow && textShadow) {
|
||||
this._applyTextShadow(context);
|
||||
}
|
||||
context.fillStyle = textFill;
|
||||
context.fillText(text, 0, 0);
|
||||
context.restore();
|
||||
|
||||
if(!skipShadow && shadow && shadow.opacity) {
|
||||
if(!skipShadow && textShadow && textShadow.opacity) {
|
||||
this.fillText(context, text, true);
|
||||
}
|
||||
}
|
||||
},
|
||||
strokeText: function(context, text, skipShadow) {
|
||||
var textStroke = this.getTextStroke(), textStrokeWidth = this.getTextStrokeWidth(), shadow = this.getShadow();
|
||||
var textStroke = this.getTextStroke(), textStrokeWidth = this.getTextStrokeWidth(), textShadow = this.getTextShadow();
|
||||
if(textStroke || textStrokeWidth) {
|
||||
context.save();
|
||||
if(!skipShadow && shadow) {
|
||||
if(!skipShadow && textShadow) {
|
||||
this._applyTextShadow(context);
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ Kinetic.Text.prototype = {
|
||||
context.strokeText(text, 0, 0);
|
||||
context.restore();
|
||||
|
||||
if(!skipShadow && shadow && shadow.opacity) {
|
||||
if(!skipShadow && textShadow && textShadow.opacity) {
|
||||
this.strokeText(context, text, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -303,9 +303,10 @@ Kinetic.Global.extend(Kinetic.TextPath, Kinetic.Shape);
|
||||
|
||||
// add setters and getters
|
||||
Kinetic.Node.addGettersSetters(Kinetic.TextPath, ['fontFamily', 'fontSize', 'fontStyle', 'textFill', 'textStroke', 'textStrokeWidth']);
|
||||
Kinetic.Node.addGetters(Kinetic.TextPath, ['text']);
|
||||
Kinetic.Node.addGetters(Kinetic.TextPath, ['text', 'textShadow']);
|
||||
|
||||
// reference Text methods
|
||||
Kinetic.TextPath.prototype.setTextShadow = Kinetic.Text.prototype.setTextShadow;
|
||||
Kinetic.TextPath.prototype.fillText = Kinetic.Text.prototype.fillText;
|
||||
Kinetic.TextPath.prototype.strokeText = Kinetic.Text.prototype.strokeText;
|
||||
Kinetic.TextPath.prototype.fillStrokeText = Kinetic.Text.prototype.strokeText;
|
||||
|
||||
File diff suppressed because one or more lines are too long
1
tests/dataUrls/multiLineTextWithShadows.js
Normal file
1
tests/dataUrls/multiLineTextWithShadows.js
Normal file
File diff suppressed because one or more lines are too long
@@ -13,6 +13,7 @@
|
||||
<script src="../dataUrls/customShapeTwoFills.js"></script>
|
||||
<script src="../dataUrls/cloneGroup.js"></script>
|
||||
<script src="../dataUrls/nodeShapeTypeSelector.js"></script>
|
||||
<script src="../dataUrls/multiLineTextWithShadows.js"></script>
|
||||
|
||||
|
||||
<script src="../js/Test.js"></script>
|
||||
|
||||
@@ -647,7 +647,7 @@ Test.Modules.CONTAINER = {
|
||||
test(group.get('Group').length === 0, 'group should have 0 groups');
|
||||
|
||||
},
|
||||
'*node and shape type selector': function(containerId) {
|
||||
'node and shape type selector': function(containerId) {
|
||||
var stage = new Kinetic.Stage({
|
||||
container: containerId,
|
||||
width: 578,
|
||||
|
||||
@@ -771,7 +771,7 @@ Test.Modules.NODE = {
|
||||
|
||||
|
||||
cachedShape.createImageBuffer(function() {
|
||||
console.log(111)
|
||||
|
||||
layer.draw();
|
||||
//console.log(layer.toDataURL());
|
||||
warn(dataUrls['regular and cahced polygon'] === layer.toDataURL(), 'regular and cached polygon layer data url is incorrect');
|
||||
|
||||
@@ -308,7 +308,7 @@ Test.Modules.Text = {
|
||||
//width: 200,
|
||||
padding: 20,
|
||||
align: 'center',
|
||||
shadow: {
|
||||
textShadow: {
|
||||
color: 'red',
|
||||
blur: 1,
|
||||
offset: [10, 10],
|
||||
@@ -321,10 +321,8 @@ Test.Modules.Text = {
|
||||
|
||||
layer.add(text);
|
||||
stage.add(layer);
|
||||
|
||||
//console.log(layer.toDataURL());
|
||||
|
||||
warn(layer.toDataURL() === dataUrls['multi line text with shadows'], 'multi line text with shadows data url is incorrect');
|
||||
|
||||
warn(layer.toDataURL() === multiLineTextWithShadows, 'multi line text with shadows data url is incorrect');
|
||||
},
|
||||
'change font size should update text data': function(containerId) {
|
||||
var stage = new Kinetic.Stage({
|
||||
|
||||
Reference in New Issue
Block a user