1. C# / Говнокод #11616

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    protected override void WndProc(ref Message m)
    {
        switch (m.Msg)
        {
            case (int)Constants.WM_PAINT:
                {
                    rh.Clear(DotGL.Color.Blue);
                    IntPtr hdc = User32.GetDC(this.Handle);
                    IntPtr chdc = Gdi32.CreateCompatibleDC(hdc);
    
                    int err = Marshal.GetLastWin32Error();
                    if (err != 0) ;
    
                    IntPtr ppv = IntPtr.Zero;
                    IntPtr hb = Gdi32.CreateDIBSection(chdc, ref q,
                                                   Constants.DIB_RGB_COLORS,
                                                   out ppv, IntPtr.Zero, 0);
    
                    ppv = rh.data.Scan0HGlobal;
    
                    Gdi32.SetDIBitsToDevice(hdc,
                                0, 0, (uint)q.biWidth, (uint)q.biHeight,
                                0, 0, 0, (uint)q.biWidth,
                                ppv, ref q,
                                Constants.DIB_RGB_COLORS);
    
                    User32.ReleaseDC(this.Handle, hdc);
                    FPS();
                    this.Text = "FPS: " + fps.ToString() + ", MAX FPS: " + maxFps.ToString();
                } break;
           default:
                base.WndProc(ref m);
                break;
        }
    }

    Мое, родненькое.

    Запостил: psina-from-ua, 20 Августа 2012

    Комментарии (7) RSS

    Добавить комментарий