コード例 #1
0
ファイル: Form1.cs プロジェクト: theproadam/SuperFastBlit
        private void Form1_Load(object sender, EventArgs e)
        {
            TargetForm = new Form();
            TargetForm.Show();
            TargetForm.MinimumSize = new Size(300, 300);

            this.TopMost    = true;
            selectedBGColor = Color.FromArgb(255, 255, 255, 255);

            targetWidth  = TargetForm.ClientSize.Width;
            targetHeight = TargetForm.ClientSize.Height;

            TargetForm.SizeChanged += TargetForm_SizeChanged;
            TargetForm.FormClosing += TargetForm_FormClosing;


            lock (safetyLock)
            {
                ptrClearIMG = Marshal.AllocHGlobal(targetWidth * targetHeight * 4);
                ptrWorkIMG  = Marshal.AllocHGlobal(targetWidth * targetHeight * 4);
            }

            SetBackgroundColor(ptrClearIMG, 255, 255, 255, 255);

            RT              = new RenderThread(144);
            RT.RenderFrame += RT_RenderFrame;

            //Get DC From HWND
            TargetDC = GetDC(TargetForm.Handle);

            BINFO = new BITMAPINFO();
            BINFO.bmiHeader.biBitCount = 32; //BITS PER PIXEL
            BINFO.bmiHeader.biWidth    = targetWidth;
            BINFO.bmiHeader.biHeight   = targetHeight;
            BINFO.bmiHeader.biPlanes   = 1;
            unsafe {
                BINFO.bmiHeader.biSize = (uint)sizeof(BITMAPINFOHEADER);
            }

            FrameRateDisplay.Start();
        }
コード例 #2
0
ファイル: Game1.cs プロジェクト: catdawg/Ch0nkEngine
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            _camera.LoadContent(Content);

            _frameRateDisplay = new FrameRateDisplay(this, "Fonts/Arial14");

            _rs.FillMode = FillMode.WireFrame;

            _oldKeyboardState = Keyboard.GetState();
            _oldMouseState = Mouse.GetState();
        }
コード例 #3
0
 private async void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     FrameRateDisplay.Invoke(new Action(() => {
         FrameRateDisplay.Text = (int.Parse(FrameRateDisplay.Text) + 1).ToString();
     }));
 }