Exemplo n.º 1
0
        public void ItNormalizesLocalPagePosition()
        {
            var pd = new CharacterPageDirectory(80, 60);

            pd[4801] = new Character(new Text(null, null), 0, 0xFF, null, CharacterFlags.None);

            Assert.AreEqual(2, pd.PageCount);
            Assert.AreEqual(0, pd.Get(1)[0, 59].Char);
            Assert.AreEqual(0xFF, pd.Get(1)[1].Char);
        }
Exemplo n.º 2
0
        public void PageCoordinatesAndPositionsMatch()
        {
            var pd = new CharacterPageDirectory(80, 60);

            pd[0, 60] = new Character(new Text(null, null), 0, 0xFF, null, CharacterFlags.None);

            Assert.AreEqual(2, pd.GetOrCreatePage(60 * 80).PageNumber);
            Assert.AreEqual(0xFF, pd.Get(1)[0].Char);
            Assert.AreEqual(0xFF, pd[60 * 80].Char);
        }
Exemplo n.º 3
0
        public void ItNormalizesLocalPageCoordinates()
        {
            var pd = new CharacterPageDirectory(10, 1);

            pd[5, 6] = new Character(new Text(null, null), 0, 0xFF, null, CharacterFlags.None);

            Assert.AreEqual(7, pd.PageCount);
            Assert.AreEqual(0, pd.Get(6)[4, 0].Char);
            Assert.AreEqual(0xFF, pd.Get(6)[5, 0].Char);
        }
Exemplo n.º 4
0
        public void ItRetrievesInitialPage()
        {
            var pd = new CharacterPageDirectory(100, 100);

            var page = pd.GetOrCreatePage(0, 0);

            Assert.IsNotNull(page);
            Assert.AreEqual(1, page.PageNumber);
            Assert.AreEqual(100, page.Columns);
            Assert.AreEqual(100, page.Rows);
        }
Exemplo n.º 5
0
        public void ItCreatesNewPages()
        {
            var pd = new CharacterPageDirectory(10, 10);

            var page1 = pd.GetOrCreatePage(0, 15);

            Assert.IsNotNull(page1);
            Assert.AreEqual(2, page1.PageNumber);

            var page2 = pd.GetOrCreatePage(0, 51);

            Assert.IsNotNull(page2);
            Assert.AreEqual(6, page2.PageNumber);

            Assert.AreEqual(6, pd.PageCount);
        }
Exemplo n.º 6
0
        public void Test80x60Pages()
        {
            var pd = new CharacterPageDirectory(80, 60);

            for (int i = 0; i < 80 * 60; i++)
            {
                pd[i] = new Character(new Text(null, null), 0, (byte)'A', null, CharacterFlags.None);
            }
            for (int i = 80 * 60; i < (80 * 60) * 2; i++)
            {
                pd[i] = new Character(new Text(null, null), 0, (byte)'B', null, CharacterFlags.None);
            }

            for (int i = 0; i < 80 * 60; i++)
            {
                Assert.AreEqual((byte)'A', pd[i].Char);
            }
        }
Exemplo n.º 7
0
        public ViewerState(IFrameBufferWindow frameBuffer, Document doc, int width, int height, IFontProvider fontProvider = null, string font = null)
        {
            Cursor          = new Cursor(this);
            Document        = doc;
            _cursorInverted = false;
            _frameBuffer    = frameBuffer;
            _renderBuffer   = new byte[width * height];
            _fontProvider   = fontProvider ?? new TempleOSFontProvider();
            Font            = _fontProvider.Get(font);

            Width   = width;
            Height  = height;
            Rows    = height / Font.Height;
            Columns = width / Font.Width;

            RawMode = false;

            doc.OnUpdate += Document_OnUpdate;

            Pages = new CharacterPageDirectory(Columns, Rows);
        }
Exemplo n.º 8
0
        public void ItCreatesInitialPage()
        {
            var pd = new CharacterPageDirectory(100, 100);

            Assert.AreEqual(1, pd.PageCount);
        }