mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Internals: Shuffled some of the windows-specific includes to avoid duplication. Might have undesirable side-effects on some compilers, please report!
This commit is contained in:
		
							
								
								
									
										65
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -814,6 +814,34 @@ CODE
 | 
			
		||||
#include <stdint.h>     // intptr_t
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// [Windows] OS specific includes (optional)
 | 
			
		||||
#if defined(_WIN32) && defined(IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS) && defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS) && defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS)
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_FUNCTIONS
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS)
 | 
			
		||||
#ifndef WIN32_LEAN_AND_MEAN
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NOMINMAX
 | 
			
		||||
#define NOMINMAX
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef __MINGW32__
 | 
			
		||||
#include <Windows.h>        // _wfopen, OpenClipboard
 | 
			
		||||
#else
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <stringapiset.h>   // MultiByteToWideChar, WideCharToMultiByte
 | 
			
		||||
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) // UWP doesn't have all Win32 functions
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// [Apple] OS specific includes
 | 
			
		||||
#if defined(__APPLE__)
 | 
			
		||||
#include <TargetConditionals.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Visual Studio warnings
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning (disable: 4127)             // condition expression is constant
 | 
			
		||||
@@ -1516,20 +1544,6 @@ ImU32 ImHashStr(const char* data_p, size_t data_size, ImU32 seed)
 | 
			
		||||
// Default file functions
 | 
			
		||||
#ifndef IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && !defined(__CYGWIN__) && !defined(__GNUC__)
 | 
			
		||||
#ifndef WIN32_LEAN_AND_MEAN
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NOMINMAX
 | 
			
		||||
#define NOMINMAX
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef __MINGW32__
 | 
			
		||||
#include <Windows.h>
 | 
			
		||||
#else
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
ImFileHandle ImFileOpen(const char* filename, const char* mode)
 | 
			
		||||
{
 | 
			
		||||
#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && !defined(__CYGWIN__) && !defined(__GNUC__)
 | 
			
		||||
@@ -1541,7 +1555,7 @@ ImFileHandle ImFileOpen(const char* filename, const char* mode)
 | 
			
		||||
    buf.resize(filename_wsize + mode_wsize);
 | 
			
		||||
    ::MultiByteToWideChar(CP_UTF8, 0, filename, -1, (wchar_t*)&buf[0], filename_wsize);
 | 
			
		||||
    ::MultiByteToWideChar(CP_UTF8, 0, mode, -1, (wchar_t*)&buf[filename_wsize], mode_wsize);
 | 
			
		||||
    return _wfopen((const wchar_t*)&buf[0], (const wchar_t*)&buf[filename_wsize]);
 | 
			
		||||
    return ::_wfopen((const wchar_t*)&buf[0], (const wchar_t*)&buf[filename_wsize]);
 | 
			
		||||
#else
 | 
			
		||||
    return fopen(filename, mode);
 | 
			
		||||
#endif
 | 
			
		||||
@@ -9784,27 +9798,6 @@ static void WindowSettingsHandler_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl
 | 
			
		||||
// [SECTION] PLATFORM DEPENDENT HELPERS
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) && !defined(_WINDOWS_) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && (!defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS) || !defined(IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS))
 | 
			
		||||
#ifndef WIN32_LEAN_AND_MEAN
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NOMINMAX
 | 
			
		||||
#define NOMINMAX
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef __MINGW32__
 | 
			
		||||
#include <Windows.h>
 | 
			
		||||
#else
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <stringapiset.h>
 | 
			
		||||
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) // UWP doesn't have Win32 functions
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
			
		||||
#endif
 | 
			
		||||
#elif defined(__APPLE__)
 | 
			
		||||
#include <TargetConditionals.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && !defined(IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS)
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user