コード例 #1
0
ファイル: ScrollBars.cs プロジェクト: lmaxim/MultiScrollNES
        protected internal override void OnLayout()
        {
            if (IsScrollOverride)
            {
                RenderRule.BuildBars(m_ScrollAreaOverride.Value);
            }
            else
            {
                // Pixel size of panel to contain child widgets
                Rectangle outerArea;
                Point     scroll;

                BuildContainerRenderArea(out outerArea, out scroll); // scroll isn't used. Scroll should always be positive.
                RenderRule.BuildBars(outerArea);

                if (Children != null)
                {
                    foreach (Widget widget in Children)
                    {
                        widget.ScreenArea = new Rectangle(
                            widget.Area.X + InputArea.X - (int)(RenderRule.Horizontal.ChildOffset),
                            widget.Area.Y + InputArea.Y - (int)(RenderRule.Vertical.ChildOffset),
                            widget.Area.Width,
                            widget.Area.Height);
                        widget.ClipArea = RenderRule.SafeArea;
                    }
                }
            }

            ClipArea = RenderRule.SafeArea;
        }
コード例 #2
0
ファイル: ScrollBars.cs プロジェクト: yadiate/MonoGameGui
        internal override void Layout()
        {
            // Pixel size of panel to contain child widgets
            var outerArea = BuildContainerRenderArea();

            RenderRule.BuildBars(outerArea);

            foreach (var widget in Children)
            {
                widget.AbsoluteArea = new Rectangle(
                    widget.Area.X + AbsoluteInputArea.X - (int)(RenderRule.Horizontal.ChildOffset),
                    widget.Area.Y + AbsoluteInputArea.Y - (int)(RenderRule.Vertical.ChildOffset),
                    widget.Area.Width,
                    widget.Area.Height);
                widget.SissorArea = AbsoluteInputArea;
                if (Parent != null)
                {
                    widget.SissorArea = Rectangle.Intersect(widget.SissorArea, SissorArea);
                }
            }

            base.Layout();
        }
コード例 #3
0
ファイル: ScrollBars.cs プロジェクト: lmaxim/MultiScrollNES
 public void OverrideScrollArea(Rectangle area)
 {
     m_ScrollAreaOverride = area;
     RenderRule.BuildBars(m_ScrollAreaOverride.Value);
 }