コード例 #1
0
        /// <summary>
        /// Constructor</summary>
        /// <param name="transformAdapter">Transform adapter</param>
        /// <param name="canvasAdapter">Canvas adapter</param>
        public ScrollbarAdapter(ITransformAdapter transformAdapter, ICanvasAdapter canvasAdapter)
        {
            m_transformAdapter = transformAdapter;
            m_transformAdapter.TransformChanged += transformAdapter_TransformChanged;

            m_canvasAdapter = canvasAdapter;
            m_canvasAdapter.BoundsChanged       += canvasAdapter_BoundsChanged;
            m_canvasAdapter.WindowBoundsChanged += canvasAdapter_WindowBoundsChanged;

            m_vScrollBar               = new VScrollBar();
            m_vScrollBar.Dock          = DockStyle.Right;
            m_vScrollBar.ValueChanged += vScrollBar_ValueChanged;

            m_hScrollBar               = new HScrollBar();
            m_hScrollBar.Dock          = DockStyle.Bottom;
            m_hScrollBar.ValueChanged += hScrollBar_ValueChanged;
        }
コード例 #2
0
        /// <summary>
        /// Constructor</summary>
        /// <param name="transformAdapter">Transform adapter</param>
        /// <param name="canvasAdapter">Canvas adapter</param>
        public ScrollbarAdapter(ITransformAdapter transformAdapter, ICanvasAdapter canvasAdapter)
        {
            m_transformAdapter = transformAdapter;
            m_transformAdapter.TransformChanged += transformAdapter_TransformChanged;

            m_canvasAdapter = canvasAdapter;
            m_canvasAdapter.BoundsChanged += canvasAdapter_BoundsChanged;
            m_canvasAdapter.WindowBoundsChanged += canvasAdapter_WindowBoundsChanged;

            m_vScrollBar = new VScrollBar();
            m_vScrollBar.Dock = DockStyle.Right;
            m_vScrollBar.ValueChanged += vScrollBar_ValueChanged;

            m_hScrollBar = new HScrollBar();
            m_hScrollBar.Dock = DockStyle.Bottom;
            m_hScrollBar.ValueChanged += hScrollBar_ValueChanged;
        }
コード例 #3
0
        private void SetCanvasBounds()
        {
            // update the control CanvasAdapter's bounds
            if (m_control != null &&
                m_control.Visible)
            {
                Rectangle bounds = GetBounds();

                ITransformAdapter transformAdapter = m_control.As <ITransformAdapter>();
                bounds = GdiUtil.InverseTransform(transformAdapter.Transform, bounds);

                // make canvas twice as large as it needs to be to give the user some room,
                //  or at least as large as the control's client area.
                Rectangle clientRect = m_control.ClientRectangle;
                bounds.Width  = Math.Max(bounds.Width * 2, clientRect.Width);
                bounds.Height = Math.Max(bounds.Height * 2, clientRect.Height);

                ICanvasAdapter canvasAdapter = m_control.As <ICanvasAdapter>();
                canvasAdapter.Bounds = new Rectangle(0, 0, bounds.Right, bounds.Bottom);
            }
        }