当前位置: 首页>>代码示例>>C#>>正文


C# Skin.DrawTextBox方法代码示例

本文整理汇总了C#中Skin.DrawTextBox方法的典型用法代码示例。如果您正苦于以下问题:C# Skin.DrawTextBox方法的具体用法?C# Skin.DrawTextBox怎么用?C# Skin.DrawTextBox使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Skin的用法示例。


在下文中一共展示了Skin.DrawTextBox方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Render

        /// <summary>
        /// Renders the control using specified skin.
        /// </summary>
        /// <param name="skin">Skin to use.</param>
        protected override void Render(Skin.Base skin)
        {
            base.Render(skin);

            if (ShouldDrawBackground)
                skin.DrawTextBox(this);

            if (!HasFocus) return;

            // Draw selection.. if selected..
            if (m_CursorPos != m_CursorEnd)
            {
                skin.Renderer.DrawColor = Color.FromArgb(200, 50, 170, 255);
                skin.Renderer.DrawFilledRect(m_SelectionBounds);
            }

            // Draw caret
            float time = Platform.Neutral.GetTimeInSeconds() - m_LastInputTime;

            if ((time % 1.0f) <= 0.5f)
            {
                skin.Renderer.DrawColor = Color.Black;
                skin.Renderer.DrawFilledRect(m_CaretBounds);
            }
        }
开发者ID:LawlietRyuuzaki,项目名称:gwen-dotnet,代码行数:29,代码来源:TextBox.cs

示例2: Render

		/// <summary>
		/// Renders the control using specified skin.
		/// </summary>
		/// <param name="skin">Skin to use.</param>
		protected override void Render(Skin.Base skin) {
			base.Render(skin);

			if (ShouldDrawBackground)
				skin.DrawTextBox(this);

			if (!HasFocus) return;

			int VerticalOffset = 2 - m_ScrollControl.VerticalScroll;
			int VerticalSize = Font.Size + 6;

			// Draw selection.. if selected..
			if (m_CursorPos != m_CursorEnd) {
				if (StartPoint.Y == EndPoint.Y) {
					Point pA = GetCharacterPosition(StartPoint);
					Point pB = GetCharacterPosition(EndPoint);

					Rectangle SelectionBounds = new Rectangle();
					SelectionBounds.X = Math.Min(pA.X, pB.X);
					SelectionBounds.Y = pA.Y - VerticalOffset;
					SelectionBounds.Width = Math.Max(pA.X, pB.X) - SelectionBounds.X;
					SelectionBounds.Height = VerticalSize;

					skin.Renderer.DrawColor = Color.FromArgb(200, 50, 170, 255);
					skin.Renderer.DrawFilledRect(SelectionBounds);
				} else {
					/* Start */
					Point pA = GetCharacterPosition(StartPoint);
					Point pB = GetCharacterPosition(new Point(m_TextLines[StartPoint.Y].Length, StartPoint.Y));

					Rectangle SelectionBounds = new Rectangle();
					SelectionBounds.X = Math.Min(pA.X, pB.X);
					SelectionBounds.Y = pA.Y - VerticalOffset;
					SelectionBounds.Width = Math.Max(pA.X, pB.X) - SelectionBounds.X;
					SelectionBounds.Height = VerticalSize;

					skin.Renderer.DrawColor = Color.FromArgb(200, 50, 170, 255);
					skin.Renderer.DrawFilledRect(SelectionBounds);

					/* Middle */
					for (int i = 1; i < EndPoint.Y - StartPoint.Y; i++) {
						pA = GetCharacterPosition(new Point(0, StartPoint.Y + i));
						pB = GetCharacterPosition(new Point(m_TextLines[StartPoint.Y + i].Length, StartPoint.Y + i));

						SelectionBounds = new Rectangle();
						SelectionBounds.X = Math.Min(pA.X, pB.X);
						SelectionBounds.Y = pA.Y - VerticalOffset;
						SelectionBounds.Width = Math.Max(pA.X, pB.X) - SelectionBounds.X;
						SelectionBounds.Height = VerticalSize;

						skin.Renderer.DrawColor = Color.FromArgb(200, 50, 170, 255);
						skin.Renderer.DrawFilledRect(SelectionBounds);
					}

					/* End */
					pA = GetCharacterPosition(new Point(0, EndPoint.Y));
					pB = GetCharacterPosition(EndPoint);

					SelectionBounds = new Rectangle();
					SelectionBounds.X = Math.Min(pA.X, pB.X);
					SelectionBounds.Y = pA.Y - VerticalOffset;
					SelectionBounds.Width = Math.Max(pA.X, pB.X) - SelectionBounds.X;
					SelectionBounds.Height = VerticalSize;

					skin.Renderer.DrawColor = Color.FromArgb(200, 50, 170, 255);
					skin.Renderer.DrawFilledRect(SelectionBounds);
				}
			}

			// Draw caret
			float time = Platform.Neutral.GetTimeInSeconds() - m_LastInputTime;

			if ((time % 1.0f) <= 0.5f) {
				skin.Renderer.DrawColor = Color.Black;
				skin.Renderer.DrawFilledRect(m_CaretBounds);
			}
		}
开发者ID:AreonDev,项目名称:NoWayOut,代码行数:81,代码来源:MultilineTextBox.cs


注:本文中的Skin.DrawTextBox方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。