Esempio n. 1
0
        private FlattenedGeometry GetFlattenedRoundedRectangleGeometry(RectDouble bounds, double cornerRadiusX, double cornerRadiusY)
        {
            object sync = this.sync;

            lock (sync)
            {
                RectangleGeometry geometry = this.GetRoundedRectangleGeometry(bounds, cornerRadiusX, cornerRadiusY);
                if ((this.cachedFlattenedGeometry == null) || (this.cachedFlattenedGeometry.Geometry != geometry))
                {
                    this.cachedFlattenedGeometry = new FlattenedGeometry {
                        Geometry            = geometry,
                        FlatteningTolerance = 0.0001
                    }.EnsureFrozen <FlattenedGeometry>();
                }
                return(this.cachedFlattenedGeometry);
            }
        }
Esempio n. 2
0
        private FlattenedGeometry GetFlattenedEllipseGeometry(RectDouble bounds)
        {
            object sync = this.sync;

            lock (sync)
            {
                Geometry ellipseGeometry = this.GetEllipseGeometry(bounds);
                if ((this.cachedFlattenedGeometry == null) || (this.cachedFlattenedGeometry.Geometry != ellipseGeometry))
                {
                    this.cachedFlattenedGeometry = new FlattenedGeometry {
                        Geometry            = ellipseGeometry,
                        FlatteningTolerance = 0.0001
                    }.EnsureFrozen <FlattenedGeometry>();
                }
                return(this.cachedFlattenedGeometry);
            }
        }