File: win32.h

package info (click to toggle)
spring 104.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 47,512 kB
  • sloc: cpp: 391,093; ansic: 79,943; python: 12,356; java: 12,201; awk: 5,889; sh: 1,826; xml: 655; makefile: 486; perl: 405; php: 211; objc: 194; sed: 2
file content (47 lines) | stat: -rw-r--r-- 974 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */

#ifndef WINDOWS_H_INCLUDED
#define WINDOWS_H_INCLUDED

#ifdef _WIN32
	#ifndef NOMINMAX
		#define NOMINMAX
	#endif
	#ifndef VC_EXTRALEAN
		// Exclude rarely-used stuff from Windows headers
		#define VC_EXTRALEAN
	#endif

	// do not include <cmath> or <math.h> before this, it'll cause ambiguous call er
	#include "lib/streflop/streflop_cond.h"

	#ifdef HEADLESS
		// workaround for mingw64 bug which leads to undefined reference to _imp__gl*
		#define _GDI32_
	#endif

	#include <windows.h>

		#undef  PlaySound
		#define PlaySound  use_PlaySample_instead_of_PlaySound
		#define W_OK 2
		#define R_OK 4

		#undef CreateDirectory
		#undef DeleteFile
		#undef SendMessage
		#undef GetCharWidth
		#undef far
		#undef near
		#undef FAR
		#undef NEAR

		// std min&max are used instead of the macros
		#ifdef min
			#undef min
			#undef max
		#endif

#endif // _WIN32

#endif // WINDOWS_H_INCLUDED