コード例 #1
0
 public static SketchRectangle Rectangle(string name)
 {
     return(new SketchRectangle(
                SketchLayer(id: Guid.NewGuid(), name: name, frame: Frame),
                new SketchPath(CurvePointUtils.RectanglePath(new CornerRadius(0)),
                               true),
                SketchBooleanOperation.NoOperation));
 }
コード例 #2
0
ファイル: GeometryTests.cs プロジェクト: yongaru/fuse-studio
        public void PathWithMoreThanFourPointsIsNotRectangle()
        {
            var points = CurvePointUtils.RectanglePath(new CornerRadius(0));

            points.Add(CurvePointUtils.LinePoint(0.5, 0.5));
            var path = new SketchPath(points, true);

            Assert.That(Geometry.IsAxisAlignedRectangle(path), Is.False);
        }
コード例 #3
0
ファイル: UxBuilderTests.cs プロジェクト: yongaru/fuse-studio
        public void BuildUxForSketchShapeGroupWithoutMaskingGivesNoWarnings()
        {
            var rectangle = new SketchRectangle(
                CreateLayer(5, 5),
                new SketchPath(CurvePointUtils.RectanglePath(new CornerRadius(2)), true),
                SketchBooleanOperation.NoOperation);

            var parentGroup =
                new SketchGroup(
                    new SketchLayer(
                        new SketchLayer(
                            Guid.Empty,
                            new SketchLayer(
                                CreateLayer(20, 20),
                                new List <SketchLayer>()),
                            new SketchRect(0, 0, 10, 10, false),
                            "Dummy",
                            false,
                            DummyAlignment(),
                            0, false, false,
                            Optional.None(),
                            new List <SketchLayer>()),
                        new List <SketchLayer> {
                rectangle
            }));

            rectangle.Parent = parentGroup;

            var log       = new MessageListLogger();
            var uxBuilder = new UxBuilder(new SymbolClassNameBuilder(), Substitute.For <IAssetEmitter>(), log);

            var uxNode = uxBuilder.BuildLayer(parentGroup);

            Assert.That(uxNode, Is.Not.Null);

            var ux = uxNode.SerializeUx(new UxSerializerContext());

            Assert.That(ux, Is.EqualTo("<Panel Width=\"50%\" Height=\"50%\" Alignment=\"TopLeft\" Margin=\"0\">\n\t<!-- Dummy -->\n\t<Rectangle CornerRadius=\"2\" Width=\"50%\" Height=\"50%\" Alignment=\"TopLeft\" Margin=\"0\">\n\t\t<!-- Dummy -->\n\t</Rectangle>\n</Panel>"));
            Assert.That(log.ErrorsAndWarnings(), Is.Empty);
        }
コード例 #4
0
        public static SketchSymbolMaster SketchSymbolMaster(string symbolName)
        {
            var sketchPath =
                new SketchPath(
                    CurvePointUtils.RectanglePath(
                        new CornerRadius(0)),
                    true);
            var rectangle = new SketchRectangle(
                SketchLayer(frame: Frame),
                sketchPath, SketchBooleanOperation.NoOperation);

            var sketchSymbolMaster = new SketchSymbolMaster(
                SketchLayer(id: Guid.NewGuid(), name: symbolName, frame: Frame,
                            children: new List <SketchLayer> {
                rectangle
            }),
                Guid.NewGuid()
                );

            rectangle.Parent = sketchSymbolMaster;
            return(sketchSymbolMaster);
        }
コード例 #5
0
ファイル: GeometryTests.cs プロジェクト: yongaru/fuse-studio
        public void ClosedAxisAlignedPathWithFourPointsIsARectangle()
        {
            var rectangle = new SketchPath(CurvePointUtils.RectanglePath(new CornerRadius(0)), true);

            Assert.That(Geometry.IsAxisAlignedRectangle(rectangle), Is.True);
        }