Пример #1
0
        public bool CopyDataToClipboard(Rectangle toCopy)
        {
            Rectangle b = new Rectangle(0, 0, 40, 11);

            toCopy = Rectangle.Intersect(toCopy, b);
            bool copied = false;

            if (!toCopy.IsEmpty)
            {
                List <byte> bytesToCopy = new List <byte>();
                for (int row = toCopy.Y; row < toCopy.Bottom; row++)
                {
                    for (int col = toCopy.X; col < toCopy.Right; col++)
                    {
                        bytesToCopy.Add(mapData[col + 40 * row]);
                    }
                }

                MapDataBlock myObject     = new MapDataBlock(toCopy.Size, bytesToCopy.ToArray());
                DataObject   myDataObject = new DataObject(myFormat.Name, myObject);
                Clipboard.SetDataObject(myDataObject);

                copied = true;
            }

            return(copied);
        }
Пример #2
0
 public SetMapDataBytesAction(Map map, Point point, MapDataBlock datab)
 {
     this.map   = map;
     this.point = point;
     this.datab = datab;
 }
Пример #3
0
 public void SetMapDataBytes(Point point, MapDataBlock data)
 {
     UndoManager.RecordAction(new SetMapDataBytesAction(this, point, data));
 }
Пример #4
0
        public void ClearMapDataBytes(Rectangle toClear)
        {
            MapDataBlock datab = new MapDataBlock(toClear.Size, Enumerable.Repeat((byte)0, toClear.Size.Width * toClear.Size.Height).ToArray());

            UndoManager.RecordAction(new SetMapDataBytesAction(this, toClear.Location, datab));
        }