예제 #1
0
        protected override Geometry OnCreateOutlineFillGeometry(RectDouble bounds, IDictionary <string, object> settingValues)
        {
            float  num      = (float)settingValues[ToolSettings.Null.Pen.Width.Path];
            double penWidth = num;

            if (!RectangleShapeBase.TryGetInsetOutlineDrawBounds(bounds, penWidth).HasValue)
            {
                return(new RectangleGeometry(bounds).EnsureFrozen <RectangleGeometry>());
            }
            return(null);
        }
예제 #2
0
        protected override Geometry OnCreateOutlineFillGeometry(RectDouble bounds, IDictionary <string, object> settingValues)
        {
            float  num      = (float)settingValues[ToolSettings.Null.Pen.Width.Path];
            double penWidth = num;

            if (RectangleShapeBase.TryGetInsetOutlineDrawBounds(bounds, penWidth).HasValue)
            {
                return(null);
            }
            float num3 = (float)settingValues[ToolSettings.Null.Radius.Path];

            return(this.GetFlattenedRoundedRectangleGeometry(bounds, (double)num3, (double)num3));
        }
예제 #3
0
        protected override Geometry OnCreateInteriorFillGeometry(RectDouble bounds, IDictionary <string, object> settingValues)
        {
            RectDouble?   nullable;
            ShapeDrawType type = (ShapeDrawType)settingValues[ToolSettings.Null.Shapes.DrawType.Path];

            if ((type & ShapeDrawType.Outline) == ShapeDrawType.Outline)
            {
                float  num      = (float)settingValues[ToolSettings.Null.Pen.Width.Path];
                double penWidth = num;
                nullable = RectangleShapeBase.TryGetInsetInteriorFillBounds(bounds, penWidth);
            }
            else
            {
                nullable = new RectDouble?(bounds);
            }
            if (!nullable.HasValue)
            {
                return(null);
            }
            return(new RectangleGeometry(nullable.Value).EnsureFrozen <RectangleGeometry>());
        }