public static void OpenDocument(string fileName, ShapeDocument shapeDocument)
        {
            FileInfo       fileInfo      = new FileInfo(fileName);
            FileAttributes fileAttribute = fileInfo.Attributes & FileAttributes.ReadOnly;

            if (fileAttribute == FileAttributes.ReadOnly)
            {
                FileStream   stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                BinaryReader reader = new BinaryReader(stream);

                ShapeDocument doc = new ShapeDocument();
                doc.Deserialize(reader);
                shapeDocument = doc;

                reader.Close();
            }
            else
            {
                FileStream    stream = new FileStream(fileName, FileMode.Open);
                BinaryReader  reader = new BinaryReader(stream);
                ShapeDocument doc    = new ShapeDocument();
                shapeDocument.Deserialize(reader);
                reader.Close();
            }
        }
        public static void SaveDocument(string fileName, ShapeDocument shapeDocument)
        {
            FileInfo       fileInfo      = new FileInfo(fileName);
            FileAttributes fileAttribute = fileInfo.Attributes & FileAttributes.Hidden;

            if (fileAttribute == FileAttributes.Hidden)
            {
                FileStream   stream = new FileStream(fileName, FileMode.OpenOrCreate);
                BinaryWriter writer = new BinaryWriter(stream);
                shapeDocument.Serialize(writer);
                writer.Close();
                stream.Close();
            }
            else
            {
                FileStream   stream = new FileStream(fileName, FileMode.Create);
                BinaryWriter writer = new BinaryWriter(stream);
                shapeDocument.Serialize(writer);
                writer.Close();
                stream.Close();
            }
        }
Exemple #3
0
        //Add shapeDocument to VectorImage
        public static void LoadDocument(ShapeDocument shapeDocument, VectorImage vectorImage, DistanceUnit currentUnit)
        {
            IList <Layer> layerList       = shapeDocument.LayerList;
            DistanceUnit  currentUnitType = shapeDocument.DistanceUnit;

            List <ShapeBase> markableShapeList = new List <ShapeBase>();

            for (int layerIndex = 0; layerIndex < layerList.Count; layerIndex++)
            {
                IList <ShapeBase> shapeList = layerList[layerIndex].ShapeList;
                for (int shapeIndex = 0; shapeIndex < shapeList.Count; shapeIndex++)
                {
                    ShapeBase shape = shapeList[shapeIndex];
                    if (shape.Markable)
                    {
                        List <ShapeBase> markingShapeList = GenerateMarkingShape(shape);
                        foreach (ShapeBase markingShape in markingShapeList)
                        {
                            AddShapeToVectorImage(vectorImage, markingShape, currentUnit);
                        }
                    }
                }
            }
        }