コード例 #1
0
        /// <summary>
        /// Przywraca następny stan grafiki. Oczywiście tylko wtedy gdy jest następny stan.
        /// </summary>
        public void NextState()
        {
            log.Write("Przywracanie następnego stanu grafiki.", LogMessagesTypes.Important);

            if (futureOperations.Count > 0)                            // Jeżeli cokolwiek jest w przyszłych operacjach.
            {
                IGraphicOperation nextOperation = futureOperations[0]; // pierwsza przyszła operacja

                // Ustawianie i dorysowywanie operacji.
                operations.Add(nextOperation);
                futureOperations.RemoveAt(0);
                Execute(nextOperation);
            }
        }
コード例 #2
0
        /// <summary>
        /// Wykonuje operację graficzną.
        /// </summary>
        /// <param name="operation">Operacja do wykonania.</param>
        public void Execute(IGraphicOperation operation)
        {
            log.Write("Operacja graficzna została wykonana.", LogMessagesTypes.Detail);

            // Pobieranie paramterów operacji graficznej.
            object[] parameters = operation.GetParameters();

            switch (operation.Operation) // Tu dla różnych typów operacji graficznych różnie interpretowne są argumenty.
            {
            case GraphicOperations.ImagesDrawning:
                DrawImage(parameters[0] as Image, (int)parameters[1], (int)parameters[2]);
                break;

            case GraphicOperations.DrawLine:
                DrawLine(parameters[0] as Pen, (Point)parameters[1], (Point)parameters[2], (bool)parameters[3]);
                break;
            }
        }
コード例 #3
0
 public void Execute(IGraphicOperation operation)
 {
     throw new NotImplementedException();
 }