示例#1
0
        //============================================================
        // <T>数据刷新处理。</T>
        //============================================================
        public void DrawFrame(DrawingContext context, FFrameInfo frameInfo)
        {
            int loggerCount = frameInfo.Loggers.Count;
            int index       = frameInfo.Index;
            int left        = _drawFrameWidth * index;
            int top         = 150 - loggerCount;

            context.DrawRectangle(_brush, _pen, new Rect(left, top, left + _drawFrameWidth - 1, 200 - top));
        }
示例#2
0
        //============================================================
        // <T>数据刷新处理。</T>
        //============================================================
        public void DataRefresh()
        {
            // 获得信息
            FApplicationInfo info    = RScoutManager.InfoConsole.ActiveInfo;
            DrawingContext   context = _visual.RenderOpen();
            // 绘制所有帧
            int count = info.Frames.Count;

            for (int n = 0; n < count; n++)
            {
                FFrameInfo frameInfo = info.Frames.Get(n);
                DrawFrame(context, frameInfo);
            }
            context.Close();
            // 绘制处理
            _bitmap.Clear();
            _bitmap.Render(_visual);
        }
示例#3
0
        //============================================================
        // <T>执行处理。</T>
        //============================================================
        public void ProcessMessage()
        {
            // 读取头信息
            int  length     = _data.ReadInt32();
            int  type       = _data.ReadUint8();
            int  level      = _data.ReadUint8();
            long tick       = _data.ReadInt64();
            int  dataLength = length - 14;

            // 读取数据
            byte[] data = new byte[dataLength];
            _data.Read(data, 0, dataLength);
            string message = Encoding.ASCII.GetString(data);
            // 创建日志
            FLoggerInfo loggerInfo = new FLoggerInfo();

            loggerInfo.Tick    = tick;
            loggerInfo.Level   = level;
            loggerInfo.Message = message;
            // 放入应用中
            FFrameInfo info = _applicationInfo.SyncFrame(tick);

            info.Loggers.Push(loggerInfo);
        }