Source/ContentManager/SerialContentLayoutManager.cs

(开头部分) 24KB

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

using System;
using System.Collections;
using System.Drawing;

#if AdvTree
namespace DevComponents.Tree.TextMarkup
#elif DOTNETBAR
namespace DevComponents.UI.ContentManager
#endif

{
	/// <summary>
	/// Represents the serial content layout manager that arranges content blocks in series next to each other.
	/// </summary>
	public class SerialContentLayoutManager:IContentLayout
    {
        #region Events
        /// <summary>
        /// Occurs when X, Y position of next block is calcualted.
        /// </summary>
        public event LayoutManagerPositionEventHandler NextPosition;

        /// <summary>
        /// Occurs before new block is layed out.
        /// </summary>
        public event LayoutManagerLayoutEventHandler BeforeNewBlockLayout;
        #endregion

        #region Private Variables
        private int m_BlockSpacing=0;
		private bool m_FitContainerOversize=false;
		private bool m_FitContainer=false;
        private bool m_VerticalFitContainerWidth = false;
        private bool m_HorizontalFitContainerHeight = false;
		private eContentOrientation m_ContentOrientation=eContentOrientation.Horizontal;
		private eContentAlignment m_ContentAlignment=eContentAlignment.Left;
		private eContentVerticalAlignment m_ContentVerticalAlignment=eContentVerticalAlignment.Middle;
        private eContentVerticalAlignment m_BlockLineAlignment = eContentVerticalAlignment.Middle;
		private bool m_EvenHeight=false;
		private bool m_MultiLine=false;
        private bool m_RightToLeft = false;
        private bool m_OversizeDistribute = false;
		#endregion

		/// <summary>
		/// Creates new instance of the class.
		/// </summary>
		public SerialContentLayoutManager()
		{
		}

		#region IContentLayout Members
		/// <summary>
		/// Performs layout of the content block.
		/// </summary>
		/// <param name="containerBounds">Container bounds to layout content blocks in.</param>
		/// <param name="contentBlocks">Content blocks to layout.</param>
		/// <param name="blockLayout">Block layout manager that resizes the content blocks.</param>
		/// <returns>The bounds of the content blocks within the container bounds.</returns>
		public virtual Rectangle Layout(Rectangle containerBounds, IBlock[] contentBlocks, BlockLayoutManager blockLayout)
后面还有 571 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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