コード例 #1
0
        private void UpdateGraphics(
            Color cellBackColor,
            Color cellCaptionColor)
        {
            PaintUtils.Update(ref backBrush, cellBackColor);
            PaintUtils.Update(ref captionBrush, cellCaptionColor);

            PaintUtils.Update(
                ref gridPenLight,
                Color.FromArgb(
                    128,
                    Color.White));
            PaintUtils.Update(
                ref gridPenLight2,
                Color.FromArgb(
                    64,
                    Color.White));
            PaintUtils.Update(
                ref gridPenDark,
                Color.FromArgb(
                    128,
                    ControlPaint.Dark(cellBackColor)));
            PaintUtils.Update(
                ref gridPenDark2,
                Color.FromArgb(
                    64,
                    ControlPaint.Dark(cellBackColor)));
        }
コード例 #2
0
 private void DisposeGraphics()
 {
     PaintUtils.Dispose(ref backBrush);
     PaintUtils.Dispose(ref captionBrush);
     PaintUtils.Dispose(ref gridPenLight);
     PaintUtils.Dispose(ref gridPenDark);
     PaintUtils.Dispose(ref m_SF);
 }
コード例 #3
0
            /// <summary>
            /// Создание "судьбы".
            /// </summary>
            /// <param name="cell">Шашка, которая поедет на своё место.</param>
            /// <param name="startPosition">Старое состояние шашки.</param>
            public TransitionInfo(
                CellPlate cell,
                Rectangle startPosition)
            {
                Cell          = cell;
                StartPosition = startPosition;
                StartTime     = DateTime.Now;

                TransitionArea = PaintUtils.Union(startPosition, cell.CellRectangle);
            }
コード例 #4
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (m_movingCell != null)
            {
                Rectangle oldRect = m_movingCell.CellRectangle;
                Rectangle rect    = oldRect;
                rect.Offset(e.X - mousePos.X, e.Y - mousePos.Y);
                m_movingCell.SetCellRectangle(rect);
                mousePos = new Point(e.X, e.Y);
                Invalidate(PaintUtils.Union(oldRect, rect));
            }


            base.OnMouseMove(e);
        }
コード例 #5
0
        /// <summary>
        /// Метод, который внешний код вызывает для отрисовки движущейся шашки.
        /// Класс AnimationManager отвечает за то, чтобы этот метод был вызван, но не занимается рисованием.
        /// </summary>
        /// <param name="e">Стандартный параметр метода OnPaint.</param>
        /// <param name="cell">Шашка, которая должна быть запечатлена в движении.</param>
        /// <param name="cellBackColor">Цвет фона шашки.</param>
        /// <param name="cellCaptionColor">Цвет цифер на шашке.</param>
        /// <param name="font">Шрифт для цифер. Желательно, разборчивый.</param>
        /// <param name="startPosition">Начальная позиция шашки. То место, с которого она едет.</param>
        /// <param name="completionRatio">Свой путь земной пройдя до половины...</param>
        public void DrawCellTransition(
            PaintEventArgs e,
            CellPlate cell,
            Color cellBackColor,
            Color cellCaptionColor,
            Font font,
            Rectangle startPosition,
            decimal completionRatio)
        {
            Rectangle transitionRect = PaintUtils.Transition(
                startPosition,
                cell.CellRectangle,
                completionRatio);

            DrawCellAt(
                transitionRect,
                e, cell, cellBackColor, cellCaptionColor, font);
        }
コード例 #6
0
 private void DisposeGraphics()
 {
     PaintUtils.Dispose(ref backBrush);
 }
コード例 #7
0
 private void UpdateGraphics()
 {
     PaintUtils.Update(ref backBrush, BackColor);
 }