class Traekt : ISaveLoad
{
private int x, y; //координаты центра поверхности рисования
private PictureBox Space_pb; //ссылка на реальную поверхность рисования
private int _nextNum, _lastNum; //поля, хранящие номера следующего и предыдущего шарика
public Traekt(PictureBox newPB, int next) //основной конструктор класса
{
Space_pb = newPB;
x = Space_pb.Image.Width/2;
y = Space_pb.Image.Height/2;
Graphics c = Graphics.FromImage(Space_pb.Image);
Space_pb.Refresh();
c.Dispose();
_nextNum = 1;
}
//реализация интерфейса, производящего запись
//в текстовый файл
public void Save(StreamWriter sw)
{
sw.WriteLine(_lastNum);
}
//реализация интерфейса, производящего запись
//в двоичный файл
public void Save(BinaryWriter bw)
{
bw.Write(_lastNum);
}
//реализация интерфейса, производящего чтение
//из текстового файла
public void Load(StreamReader sr)
{
_nextNum = Convert.ToInt32(sr.ReadLine())+1;
}
//реализация интерфейса, производящего чтение
//из двоичного файла
public void Load(BinaryReader br)
{
_nextNum = br.ReadInt32()+1;
}
//свойство номеров шаров дл доступа извне
public int nextN
{
get { return _nextNum++; }
set { _lastNum = value; } //получаем номер при создании в Form1
}
//свойство получения доступа к компоненту, на котором производится отображение
public PictureBox S_picture
{
get { return Space_pb;}
}
//свойство координаты Х, для достпа извне
public int S_x
{
get { return x; }
}
//свойство координаты У, для доступа извне
public int S_y
{
get { return y; }
}
}
}