view OSInfo.h @ 2342:d7f4dac06dc0

Adding Registry.h/.cpp to project
author Grumpy7
date Sun, 06 Apr 2014 12:57:04 +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;
    }
};