Пример #1
0
        /// <summary>
        /// Converts local coordinates to canvas coordinates.
        /// </summary>
        /// <param name="pnt">Local coordinates.</param>
        /// <returns>Canvas coordinates.</returns>
        public virtual Point LocalPosToCanvas(Point pnt)
        {
            if (m_Parent != null)
            {
                int x = pnt.X + X;
                int y = pnt.Y + Y;

                // If our parent is a container and we're a child of it
                // add its offset onto us.
                //
                var container = m_Parent as Container;
                if (container != null && container.Children.Contains(this))
                {
                    x += container.PanelBounds.X;
                    y += container.PanelBounds.Y;
                }

                return(m_Parent.LocalPosToCanvas(new Point(x, y)));
            }

            return(pnt);
        }