Hi Lyubo,
I took latest version and did below changes (and commented the draw handler code completely). Shadow looks better but border color not shown.
if (diagramElement.isShadowElement) {
//compNode.setShadowColor("Gray");
//compNode.setShadowOffsetX(3);
//compNode.setShadowOffsetY(3);
}
else {
compNode.setShadowColor("Transparent");
compNode.setShadowOffsetX(0);
compNode.setShadowOffsetY(0);
}
I tried with below code also, still border color not shown.
if (diagramElement.borderColor) {
compNode.setStroke(diagramElement.borderColor);
compNode.setStrokeThickness(3);
}
Could you please fix this setStroke issue also, it will be great help
Then I uncommented draw handler and tried with below changes,
var originalContainerDraw = MindFusion.Drawing.Container.prototype["draw"];
MindFusion.Drawing.Container.prototype["draw"] = function (context, drawShadows, shadowsOnly) {
if (drawShadows != false) {
if (this.item && this.item.root && this.item.root.clipBeforeTransform) {
if (this.invalidParent) {
this.invalidParent.updateCanvasElements();
this.invalidParent = null;
}
var diagramElement = this.item.getTag().DataObject as DiagramElement;
if (diagramElement) {
//if (diagramElement.isShadowElement) {
// this.item.setShadowColor("black");
// this.item.root.clipBeforeTransform.brush = "black"; // can use shadow color from item or elsewhere
// this.item.root.clipBeforeTransform.shadow = this.item.createShadow();
// this.item.root.clipBeforeTransform.drawShadow(context);
//}
var strokeColor = diagramElement.borderColor;
if (this.item.getSelected()) {
strokeColor = "Orange";
}
this.item.root.clipBeforeTransform.pen = strokeColor;
this.item.root.clipBeforeTransform.strokeThickness = 6;
this.item.root.clipBeforeTransform.draw(context);
}
}
}
originalContainerDraw.apply(this, [context, drawShadows, shadowsOnly]);
};
1. Shadow and Border color overlap (Circle-5)
2. Shadow is not as good as before (when draw is commented)
May I know why? Attached the screen shots.
Regards,
Kannan