Beispiel #1
0
        void OnRenderFrame(object sender, LedBadgeLib.BadgeFrameEventArgs args)
        {
            switch (DisplayMode)
            {
            case DisplayMode.Messages:
            {
                LedBadgeLib.BadgePump pump = (LedBadgeLib.BadgePump)sender;
                m_messageScene.Update(1.0f / pump.FrameRate);
                m_messageScene.Render(args.Frame, 0, 0);
                break;
            }

            case DisplayMode.TestFrame:
            {
                TestFrame(args.Frame);
                break;
            }
            }
            Frame++;
        }
Beispiel #2
0
        void OnFrameReady(object sender, LedBadgeLib.BadgeFrameEventArgs args)
        {
            bool fpsUpdate = false;

            if (Frame % 60 == 0)
            {
                FrameRate = 60 / (float)m_frameTimer.Elapsed.TotalSeconds;
                m_frameTimer.Restart();
                fpsUpdate = true;
            }

            if (ViewWindowState != WindowState.Minimized)
            {
                Dispatcher.InvokeAsync(() =>
                {
                    LedBadgeLib.WPF.ImageFromPackedBuffer(FrameBuffer, args.Frame.PackedBuffer, 0, RotateFrame, args.Frame.IntermediateStride, args.Frame.WidthInPixels, args.Frame.Height, LedBadgeLib.PixelFormat.TwoBits);

                    if (fpsUpdate)
                    {
                        RaiseProperyChanged("FrameRate");
                    }
                });
            }
        }