Improved flaten
This commit is contained in:
parent
cf608735bc
commit
25dd3c7f78
2 changed files with 24 additions and 13 deletions
|
|
@ -144,18 +144,25 @@ namespace MatterHackers.MatterControl.DesignTools
|
||||||
|
|
||||||
public override void Apply(UndoBuffer undoBuffer)
|
public override void Apply(UndoBuffer undoBuffer)
|
||||||
{
|
{
|
||||||
// change this from a text object to a group
|
if (Output == OutputDimensions.Output2D)
|
||||||
var newContainer = new GroupObject3D();
|
|
||||||
newContainer.CopyProperties(this, Object3DPropertyFlags.All);
|
|
||||||
foreach (var child in this.Children)
|
|
||||||
{
|
{
|
||||||
var clone = child.Clone();
|
this.FlattenToPathObject(undoBuffer);
|
||||||
newContainer.Children.Add(clone);
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
|
// change this from a text object to a group
|
||||||
|
var newContainer = new GroupObject3D();
|
||||||
|
newContainer.CopyProperties(this, Object3DPropertyFlags.All);
|
||||||
|
foreach (var child in this.Children)
|
||||||
|
{
|
||||||
|
var clone = child.Clone();
|
||||||
|
newContainer.Children.Add(clone);
|
||||||
|
}
|
||||||
|
|
||||||
undoBuffer.AddAndDo(new ReplaceCommand(new[] { this }, new[] { newContainer }));
|
undoBuffer.AddAndDo(new ReplaceCommand(new[] { this }, new[] { newContainer }));
|
||||||
newContainer.Name = this.Name;
|
newContainer.Name = this.Name;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override async void OnInvalidate(InvalidateArgs invalidateArgs)
|
public override async void OnInvalidate(InvalidateArgs invalidateArgs)
|
||||||
{
|
{
|
||||||
|
|
@ -244,10 +251,13 @@ namespace MatterHackers.MatterControl.DesignTools
|
||||||
var letterPaths = new List<IVertexSource>();
|
var letterPaths = new List<IVertexSource>();
|
||||||
foreach (var letter in textToWrite.ToCharArray())
|
foreach (var letter in textToWrite.ToCharArray())
|
||||||
{
|
{
|
||||||
var style = new StyledTypeFace(ApplicationController.GetTypeFace(this.Font), pointSize);
|
var style = new StyledTypeFace(ApplicationController.GetTypeFace(this.Font), pointSize)
|
||||||
|
{
|
||||||
|
FlattenCurves = false
|
||||||
|
};
|
||||||
var letterPrinter = new TypeFacePrinter(letter.ToString(), style)
|
var letterPrinter = new TypeFacePrinter(letter.ToString(), style)
|
||||||
{
|
{
|
||||||
ResolutionScale = 10
|
ResolutionScale = 10,
|
||||||
};
|
};
|
||||||
var scaledLetterPrinter = new VertexSourceApplyTransform(letterPrinter, Affine.NewScaling(mmPerPoint));
|
var scaledLetterPrinter = new VertexSourceApplyTransform(letterPrinter, Affine.NewScaling(mmPerPoint));
|
||||||
|
|
||||||
|
|
@ -286,6 +296,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
||||||
};
|
};
|
||||||
if (Output == OutputDimensions.Output2D)
|
if (Output == OutputDimensions.Output2D)
|
||||||
{
|
{
|
||||||
|
|
||||||
var letterPath = new VertexSourceApplyTransform(new VertexStorage(scaledLetterPrinter),
|
var letterPath = new VertexSourceApplyTransform(new VertexStorage(scaledLetterPrinter),
|
||||||
Affine.NewTranslation(offset.X, offset.Y));
|
Affine.NewTranslation(offset.X, offset.Y));
|
||||||
letterPaths.Add(letterPath);
|
letterPaths.Add(letterPath);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit d69357cc53c5e83c4722353de3c2030ef84e2475
|
Subproject commit ea29e79df34dc1ad8bac8f09e4333f49212922db
|
||||||
Loading…
Add table
Add a link
Reference in a new issue