示例#1
0
        public void TestAddMarginOperator()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QMarginsF(100, 100, 100, 100);

            s1 += s2;

            Assert.AreEqual(-100, s1.X);
            Assert.AreEqual(-100, s1.Y);
            Assert.AreEqual(700, s1.Width);
            Assert.AreEqual(800, s1.Height);
        }
示例#2
0
        public void TestAddMarginToNewRectOperator2()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QMarginsF(100, 100, 100, 100);

            var n = s2 + s1;

            Assert.AreEqual(-100, n.X);
            Assert.AreEqual(-100, n.Y);
            Assert.AreEqual(700, n.Width);
            Assert.AreEqual(800, n.Height);
        }
示例#3
0
        public void TestTranslateQPointF()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            s.Translate(new QPointF(50, 20));

            Assert.AreEqual(100, s.X);
            Assert.AreEqual(100, s.Y);
        }
示例#4
0
        public void TestTopRight()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            var size = s.TopRight;

            Assert.AreEqual(s.Y, size.Y);
            Assert.AreEqual(s.X + s.Width, size.X);
        }
示例#5
0
        public void TestAdjust()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 150;
            s.Width = 500;
            s.Height = 600;

            s.Adjust(50, 100, 150, 200);

            Assert.AreEqual(100, s.X);
            Assert.AreEqual(250, s.Y);
            Assert.AreEqual(600, s.Width);
            Assert.AreEqual(700, s.Height);
        }
示例#6
0
        public void TestSize()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            var size = s.Size;

            Assert.AreEqual(500, size.Width);
            Assert.AreEqual(600, size.Height);
        }
示例#7
0
        public void TestRight()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(600, s.Height);
            Assert.AreEqual(s.Left + s.Width, s.Right);
            Assert.AreEqual(80, s.Y);
        }
示例#8
0
        public void TestPipeOperator()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QRectF();
            s2.X = 100;
            s2.Y = 100;
            s2.Width = 500;
            s2.Height = 600;

            var n = s1 | s2;

            Assert.AreEqual(0, n.X);
            Assert.AreEqual(0, n.Y);
            Assert.AreEqual(600, n.Width);
            Assert.AreEqual(700, n.Height);
        }
示例#9
0
        public void TestIsNull()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 0;
            s1.Height = 0;

            var inter = s1.IsNull;

            Assert.IsTrue(inter);
        }
示例#10
0
        public void TestIsEmpty()
        {
            var s1 = new QRectF();
            s1.Left = 500;
            s1.Right = 400;
            s1.Top = 700;
            s1.Bottom = 600;

            var inter = s1.IsEmpty;

            Assert.IsTrue(inter);
        }
示例#11
0
        public void TestIntersects()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QRectF();
            s2.X = 400;
            s2.Y = 500;
            s2.Width = 500;
            s2.Height = 600;

            var inter = s1.Intersects(s2);

            Assert.IsTrue(inter);
        }
示例#12
0
        public void TestIntersected()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QRectF();
            s2.X = 400;
            s2.Y = 500;
            s2.Width = 500;
            s2.Height = 600;

            var inter = s1.Intersected(s2);

            Assert.AreEqual(400, inter.X);
            Assert.AreEqual(500, inter.Y);
            Assert.AreEqual(100, inter.Width);
            Assert.AreEqual(100, inter.Height);
        }
示例#13
0
        public void TestIntegerConstructor()
        {
            var s = new QRectF(50, 100, 200, 150);

            Assert.AreEqual(50, s.Left);
            Assert.AreEqual(100, s.Top);
            Assert.AreEqual(200, s.Width);
            Assert.AreEqual(150, s.Height);
        }
示例#14
0
        public unsafe void TestGetRect()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 150;
            s.Width = 500;
            s.Height = 600;

            double x1 = 0;
            double y1 = 0;
            double width = 0;
            double height = 0;

            s.GetRect(ref x1, ref y1, ref width, ref height);

            Assert.AreEqual(50, x1);
            Assert.AreEqual(150, y1);
            Assert.AreEqual(500, width);
            Assert.AreEqual(600, height);
        }
示例#15
0
 public void Init()
 {
     // TODO: Add Init code.
     _qRectF = new QRectF();
 }
示例#16
0
        public void TestIsValid()
        {
            var s1 = new QRectF();
            s1.Left = 500;
            s1.Right = 400;
            s1.Top = 700;
            s1.Bottom = 600;

            var inter = s1.IsValid;

            Assert.IsFalse(inter);
        }
示例#17
0
        public void TestLeft()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 150;
            s.Width = 500;
            s.Height = 600;

            Assert.AreEqual(50, s.Left);
        }
示例#18
0
        public void TestNotEqualOperator()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QRectF();
            s2.X = 100;
            s2.Y = 100;
            s2.Width = 500;
            s2.Height = 600;

            Assert.AreNotEqual(s1, s2);
        }
示例#19
0
        public void TestMarginsRemoved()
        {
            var s = new QRectF();
            s.Left = 50;
            s.Top = 150;
            s.Right = 600;
            s.Bottom = 500;

            var mar = new QMarginsF(50, 100, 150, 200);

            var newR = s.MarginsRemoved(mar);

            Assert.AreEqual(100, newR.Left);
            Assert.AreEqual(250, newR.Top);
            Assert.AreEqual(450, newR.Right);
            Assert.AreEqual(300, newR.Bottom);
        }
示例#20
0
        public void TestPointSizeConstructor()
        {
            var p1 = new QPointF(50, 100);
            var p2 = new QSizeF(200, 150);

            var s = new QRectF(p1, p2);

            Assert.AreEqual(50, s.Left);
            Assert.AreEqual(100, s.Top);
            Assert.AreEqual(200, s.Width);
            Assert.AreEqual(150, s.Height);
        }
示例#21
0
        public void TestMoveBottom()
        {
            var s = new QRectF();
            s.Left = 50;
            s.Top = 150;
            s.Right = 600;
            s.Bottom = 500;

            s.MoveBottom(50);

            Assert.AreEqual(50, s.Bottom);
        }
示例#22
0
        public void TestSetRect()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 150;
            s.Width = 500;
            s.Height = 600;

            s.SetRect(100, 100, 500, 500);

            Assert.AreEqual(100, s.X);
            Assert.AreEqual(100, s.Y);
            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(500, s.Height);
        }
示例#23
0
        public void TestMoveBottomRight()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 100;
            s.Width = 500;
            s.Height = 600;

            s.MoveBottomRight(new QPointF(600, 600));

            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(600, s.Height);
            Assert.AreEqual(100, s.X);
            Assert.AreEqual(0, s.Y);
        }
示例#24
0
        public void TestSubMarginToNewRectOperator()
        {
            var s1 = new QRectF();
            s1.X = 100;
            s1.Y = 100;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QMarginsF(100, 100, 100, 100);

            var n = s1 - s2;

            Assert.AreEqual(200, n.X);
            Assert.AreEqual(200, n.Y);
            Assert.AreEqual(300, n.Width);
            Assert.AreEqual(400, n.Height);
        }
示例#25
0
        public void TestMoveCenter()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 100;
            s.Width = 500;
            s.Height = 600;

            s.MoveCenter(new QPointF(600, 600));

            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(600, s.Height);
            Assert.AreEqual(600 - 250, s.X);
            Assert.AreEqual(600 - 300, s.Y);
        }
示例#26
0
        public void TestTop()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            var size = s.Top;

            Assert.AreEqual(s.Y, size);
        }
示例#27
0
        public void TestMoveRight()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 100;
            s.Width = 500;
            s.Height = 600;

            s.MoveRight(50);

            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(600, s.Height);
            Assert.AreEqual(-450, s.X);
            Assert.AreEqual(100, s.Y);
        }
示例#28
0
        public void TestTranslatedInteger()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            var n = s.Translated(50, 20);

            Assert.AreEqual(100, n.X);
            Assert.AreEqual(100, n.Y);
        }
示例#29
0
        public void TestMoveToQPointF()
        {
            var s = new QRectF();
            s.X = 50;
            s.Y = 80;
            s.Width = 500;
            s.Height = 600;

            s.MoveTo(new QPointF(100, 100));

            Assert.AreEqual(500, s.Width);
            Assert.AreEqual(600, s.Height);
            Assert.AreEqual(100, s.X);
            Assert.AreEqual(100, s.Y);
        }
示例#30
0
        public void TestUnited()
        {
            var s1 = new QRectF();
            s1.X = 0;
            s1.Y = 0;
            s1.Width = 500;
            s1.Height = 600;

            var s2 = new QRectF();
            s2.X = 100;
            s2.Y = 100;
            s2.Width = 500;
            s2.Height = 600;

            var n = s1.United(s2);

            Assert.AreEqual(0, n.X);
            Assert.AreEqual(0, n.Y);
            Assert.AreEqual(600, n.Width);
            Assert.AreEqual(700, n.Height);
        }
示例#31
0
        public void TestNormalized()
        {
            var s = new QRectF();
            s.X = 0;
            s.Y = 0;
            s.Width = -1;
            s.Height = -1;

            var n = s.Normalized;

            Assert.IsTrue(n.Width > 0);
            Assert.IsTrue(n.Height > 0);
            Assert.AreEqual(-1, n.X);
            Assert.AreEqual(-1, n.Y);
        }
示例#32
0
 public void TestEmptyConstructor()
 {
     var s = new QRectF();
 }
示例#33
0
        void UpdateHoverItem()
        {
            var oldItem = m_HoverItem;

            var pos  = this.MapFromGlobal(QCursor.Pos());
            var item = this.ItemAt(pos);

            // Since we map the point to scene coords, we could accidently
            // focus items outside the visible viewport.
            if (m_SuppressTooltips || !this.Viewport().Geometry.Contains(pos) || !this.IsVisible())
            {
                m_TooltipTimer.Stop();
                m_HoverItem      = null;
                m_InfoPopup.Item = null;
            }
            else
            {
                if (item is RosterItem <T> )
                {
                    m_HoverItem = (RosterItem <T>)item;
                    m_HoverItem.Update();

                    if (m_InfoPopup.Item != m_HoverItem)
                    {
                        if (m_InfoPopup.IsVisible())
                        {
                            m_InfoPopup.Item = m_HoverItem;
                        }
                        else
                        {
                            m_TooltipTimer.Stop();
                            m_InfoPopup.Item = m_HoverItem;
                            m_TooltipTimer.Start();
                        }
                    }
                }
                else
                {
                    m_TooltipTimer.Stop();
                    m_HoverItem = null;

                    // Allow a buffer around the active item so that the tooltip
                    // can change items without having to be closed/re-opened.
                    if (m_InfoPopup.Item != null)
                    {
                        var    itemRect = m_InfoPopup.Item.SceneBoundingRect();
                        var    itemPos  = this.MapFromScene(itemRect.X(), itemRect.Y());
                        QRectF rect     = new QRectF(itemPos.X() - IconPadding,
                                                     itemPos.Y() - IconPadding,
                                                     itemRect.Width() + IconPadding + IconPadding,
                                                     itemRect.Height() + IconPadding + IconPadding);
                        if (!rect.Contains(pos))
                        {
                            m_InfoPopup.Item = null;
                        }
                    }
                }
            }

            if (oldItem != null && oldItem != m_HoverItem)
            {
                oldItem.Update();
            }
        }