예제 #1
0
        private unsafe void Refresh()
        {
            Screen.Lock();
            var nameTable0Ptr = Screen.BackBuffer;
            var locking       = new object();

            lock (locking)
            {
                var screen = Engine.GetScreen();

                var pbuff = (byte *)nameTable0Ptr.ToPointer();

                for (var i = 0; i < screen.Length; i++)
                {
                    pbuff[i] = screen[i];
                }
            }

            Screen.AddDirtyRect(new Int32Rect(0, 0, 272, 240));
            Screen.Unlock();
            RaisePropertyChanged("Screen");
        }