コード例 #1
0
ファイル: Text.cs プロジェクト: kuviman/Q
        void UpdateText()
        {
            if (Text == null)
            {
                return;
            }
            var padding = Padding * TextSize;

            Size = new Vec2(padding, padding) * 2;
            foreach (var line in Text.Split('\n'))
            {
                Size = new Vec2(Math.Max(Size.X, padding * 2 + TextSize * RealFont.Measure(line)), Size.Y + TextSize);
            }
            if (FixedWidth != null)
            {
                Size = new Vec2(FixedWidth.Value, Size.Y);
            }
        }
コード例 #2
0
ファイル: TextInput.cs プロジェクト: kuviman/Q
        /// <summary>
        /// Render this element.
        /// </summary>
        public override void Render()
        {
            if (Focused)
            {
                BorderColor = FocusedBorderColor;
            }
            else
            {
                BorderColor = DefaultBorderColor;
            }
            base.Render();
            RenderState.Push();
            RenderState.Translate(MidLeft);
            var padding = Padding * TextSize;

            RenderState.Translate(padding + (Size.X - 2 * padding) * TextAlign, 0);
            RenderState.Color = TextColor;
            RenderState.Scale(TextSize);
            RenderState.Translate(-RealFont.Measure(Value) * TextAlign, 0);
            RealFont.Render(Value + (blink < 1 ? "_" : ""), 0, 0.5);
            RenderState.Pop();
        }