view OSInfo.h @ 2555:67d837007a4c

ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows & d3d deinit crashes fixed
author a.parshin
date Thu, 14 May 2015 10:34:40 +0200
parents d44b7775fc06
children
line wrap: on
line source

#pragma once
#include "OSAPI.h"

class OSInfo
{
  public:
    inline static bool CanUseDirectDraw4()
    {
      if (Ready())
        return info.dwPlatformId != VER_PLATFORM_WIN32_NT || info.dwMajorVersion >= 4;
      return false;
    }

    inline static bool CanUseDirectDraw2()
    {
      return true;
    }


  private:
    static bool           initialized;
    static OSVERSIONINFOA info;

    static bool Ready()
    {
      if (!initialized)
      {
        info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
        if (GetVersionExA(&info))
          initialized = true;
      }
      return initialized;
    }
};