Source/TextMarkup/Div.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Text;
using System.Drawing;
using System.Xml;

#if AdvTree
namespace DevComponents.Tree.TextMarkup
#elif DOTNETBAR
using DevComponents.UI.ContentManager;
namespace DevComponents.DotNetBar.TextMarkup
#endif
{
    internal class Div : ContainerElement
    {
        #region Private Variables
        private eParagraphAlignment m_Align = eParagraphAlignment.Left;
        private eParagraphVerticalAlignment m_VAlign = eParagraphVerticalAlignment.Top;
        private int m_Width = 0;
        private Padding m_Padding = new Padding(0, 0, 0, 0);
        #endregion

        #region Internal Implementation
        public eParagraphAlignment Align
        {
            get { return m_Align; }
            set { m_Align = value; }
        }

        protected override SerialContentLayoutManager GetLayoutManager(bool multiLine)
        {
            SerialContentLayoutManager sm = base.GetLayoutManager(multiLine);
            if (m_Align == eParagraphAlignment.Left)
                sm.ContentAlignment = eContentAlignment.Left;
            else if (m_Align == eParagraphAlignment.Right)
                sm.ContentAlignment = eContentAlignment.Right;
            else if (m_Align == eParagraphAlignment.Center)
                sm.ContentAlignment = eContentAlignment.Center;

            if (m_VAlign != eParagraphVerticalAlignment.Top)
            {
                sm.EvenHeight = false;
                sm.BlockLineAlignment = (m_VAlign == eParagraphVerticalAlignment.Bottom ? eContentVerticalAlignment.Bottom : eContentVerticalAlignment.Middle);
            }

            return sm;
        }

        protected override Point GetContainerOffset()
        {
            if (m_Padding.Left == 0 && m_Padding.Top == 0)
                return base.GetContainerOffset();
            
            Point p = base.GetContainerOffset();
            p.X += m_Padding.Left;
            p.Y += m_Padding.Top;
            return p;
        }

        protected override void ArrangeInternal(Rectangle bounds, MarkupDrawContext d)
        {
后面还有 105 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。