-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…2772, #2600, #2359, #2022, #1553) Removed mulit-viewpot stuff in this commit on master, will be re-added separately.
- Loading branch information
1 parent
a338b78
commit a566ecc
Showing
7 changed files
with
520 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -114,7 +114,7 @@ static ImGui_ImplWin32_Data* ImGui_ImplWin32_GetBackendData() | |
} | ||
|
||
// Functions | ||
bool ImGui_ImplWin32_Init(void* hwnd) | ||
static bool ImGui_ImplWin32_Init(void* hwnd, bool platformHasOwnDC) | ||
{ | ||
ImGuiIO& io = ImGui::GetIO(); | ||
IM_ASSERT(io.BackendPlatformUserData == nullptr && "Already initialized a platform backend!"); | ||
|
@@ -139,6 +139,7 @@ bool ImGui_ImplWin32_Init(void* hwnd) | |
|
||
// Set platform dependent data in viewport | ||
ImGui::GetMainViewport()->PlatformHandleRaw = (void*)hwnd; | ||
IM_UNUSED(platformHasOwnDC); // Used in 'docking' branch | ||
|
||
// Dynamically load XInput library | ||
#ifndef IMGUI_IMPL_WIN32_DISABLE_GAMEPAD | ||
|
@@ -164,6 +165,17 @@ bool ImGui_ImplWin32_Init(void* hwnd) | |
return true; | ||
} | ||
|
||
IMGUI_IMPL_API bool ImGui_ImplWin32_Init(void* hwnd) | ||
{ | ||
return ImGui_ImplWin32_Init(hwnd, false); | ||
} | ||
|
||
IMGUI_IMPL_API bool ImGui_ImplWin32_InitForOpenGL(void* hwnd) | ||
{ | ||
// OpenGL needs CS_OWNDC | ||
return ImGui_ImplWin32_Init(hwnd, true); | ||
} | ||
|
||
void ImGui_ImplWin32_Shutdown() | ||
{ | ||
ImGui_ImplWin32_Data* bd = ImGui_ImplWin32_GetBackendData(); | ||
|
@@ -804,45 +816,3 @@ float ImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd) | |
HMONITOR monitor = ::MonitorFromWindow((HWND)hwnd, MONITOR_DEFAULTTONEAREST); | ||
return ImGui_ImplWin32_GetDpiScaleForMonitor(monitor); | ||
} | ||
|
||
//--------------------------------------------------------------------------------------------------------- | ||
// Transparency related helpers (optional) | ||
//-------------------------------------------------------------------------------------------------------- | ||
|
||
#if defined(_MSC_VER) | ||
#pragma comment(lib, "dwmapi") // Link with dwmapi.lib. MinGW will require linking with '-ldwmapi' | ||
#endif | ||
|
||
// [experimental] | ||
// Borrowed from GLFW's function updateFramebufferTransparency() in src/win32_window.c | ||
// (the Dwm* functions are Vista era functions but we are borrowing logic from GLFW) | ||
void ImGui_ImplWin32_EnableAlphaCompositing(void* hwnd) | ||
{ | ||
if (!_IsWindowsVistaOrGreater()) | ||
return; | ||
|
||
BOOL composition; | ||
if (FAILED(::DwmIsCompositionEnabled(&composition)) || !composition) | ||
return; | ||
|
||
BOOL opaque; | ||
DWORD color; | ||
if (_IsWindows8OrGreater() || (SUCCEEDED(::DwmGetColorizationColor(&color, &opaque)) && !opaque)) | ||
{ | ||
HRGN region = ::CreateRectRgn(0, 0, -1, -1); | ||
DWM_BLURBEHIND bb = {}; | ||
bb.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION; | ||
bb.hRgnBlur = region; | ||
bb.fEnable = TRUE; | ||
::DwmEnableBlurBehindWindow((HWND)hwnd, &bb); | ||
::DeleteObject(region); | ||
} | ||
else | ||
{ | ||
DWM_BLURBEHIND bb = {}; | ||
bb.dwFlags = DWM_BB_ENABLE; | ||
::DwmEnableBlurBehindWindow((HWND)hwnd, &bb); | ||
} | ||
} | ||
|
||
//--------------------------------------------------------------------------------------------------------- | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
ocornut
Owner
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
@REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. | ||
@set OUT_DIR=Debug | ||
@set OUT_EXE=example_win32_opengl3 | ||
@set INCLUDES=/I..\.. /I..\..\backends | ||
@set SOURCES=main.cpp ..\..\backends\imgui_impl_opengl3.cpp ..\..\backends\imgui_impl_win32.cpp ..\..\imgui*.cpp | ||
@set LIBS=opengl32.lib | ||
mkdir %OUT_DIR% | ||
cl /nologo /Zi /MD %INCLUDES% /D UNICODE /D _UNICODE %SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fo%OUT_DIR%/ /link %LIBS% |
172 changes: 172 additions & 0 deletions
172
examples/example_win32_opengl3/example_win32_opengl3.vcxproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<ItemGroup Label="ProjectConfigurations"> | ||
<ProjectConfiguration Include="Debug|Win32"> | ||
<Configuration>Debug</Configuration> | ||
<Platform>Win32</Platform> | ||
</ProjectConfiguration> | ||
<ProjectConfiguration Include="Debug|x64"> | ||
<Configuration>Debug</Configuration> | ||
<Platform>x64</Platform> | ||
</ProjectConfiguration> | ||
<ProjectConfiguration Include="Release|Win32"> | ||
<Configuration>Release</Configuration> | ||
<Platform>Win32</Platform> | ||
</ProjectConfiguration> | ||
<ProjectConfiguration Include="Release|x64"> | ||
<Configuration>Release</Configuration> | ||
<Platform>x64</Platform> | ||
</ProjectConfiguration> | ||
</ItemGroup> | ||
<PropertyGroup Label="Globals"> | ||
<ProjectGuid>{C624E5FF-D4FE-4D35-9164-B8A91864F98E}</ProjectGuid> | ||
<RootNamespace>example_win32_opengl2</RootNamespace> | ||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> | ||
</PropertyGroup> | ||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||
<ConfigurationType>Application</ConfigurationType> | ||
<UseDebugLibraries>true</UseDebugLibraries> | ||
<CharacterSet>Unicode</CharacterSet> | ||
<PlatformToolset>v140</PlatformToolset> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||
<ConfigurationType>Application</ConfigurationType> | ||
<UseDebugLibraries>true</UseDebugLibraries> | ||
<CharacterSet>Unicode</CharacterSet> | ||
<PlatformToolset>v140</PlatformToolset> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||
<ConfigurationType>Application</ConfigurationType> | ||
<UseDebugLibraries>false</UseDebugLibraries> | ||
<WholeProgramOptimization>true</WholeProgramOptimization> | ||
<CharacterSet>Unicode</CharacterSet> | ||
<PlatformToolset>v140</PlatformToolset> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||
<ConfigurationType>Application</ConfigurationType> | ||
<UseDebugLibraries>false</UseDebugLibraries> | ||
<WholeProgramOptimization>true</WholeProgramOptimization> | ||
<CharacterSet>Unicode</CharacterSet> | ||
<PlatformToolset>v140</PlatformToolset> | ||
</PropertyGroup> | ||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||
<ImportGroup Label="ExtensionSettings"> | ||
</ImportGroup> | ||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||
</ImportGroup> | ||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | ||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||
</ImportGroup> | ||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||
</ImportGroup> | ||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | ||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||
</ImportGroup> | ||
<PropertyGroup Label="UserMacros" /> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||
<OutDir>$(ProjectDir)$(Configuration)\</OutDir> | ||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||
<OutDir>$(ProjectDir)$(Configuration)\</OutDir> | ||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||
<OutDir>$(ProjectDir)$(Configuration)\</OutDir> | ||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||
<OutDir>$(ProjectDir)$(Configuration)\</OutDir> | ||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir> | ||
</PropertyGroup> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||
<ClCompile> | ||
<WarningLevel>Level4</WarningLevel> | ||
<Optimization>Disabled</Optimization> | ||
<AdditionalIncludeDirectories>..\..;..\..\backends;</AdditionalIncludeDirectories> | ||
</ClCompile> | ||
<Link> | ||
<GenerateDebugInformation>true</GenerateDebugInformation> | ||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
<SubSystem>Console</SubSystem> | ||
</Link> | ||
</ItemDefinitionGroup> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||
<ClCompile> | ||
<WarningLevel>Level4</WarningLevel> | ||
<Optimization>Disabled</Optimization> | ||
<AdditionalIncludeDirectories>..\..;..\..\backends;</AdditionalIncludeDirectories> | ||
</ClCompile> | ||
<Link> | ||
<GenerateDebugInformation>true</GenerateDebugInformation> | ||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
<SubSystem>Console</SubSystem> | ||
</Link> | ||
</ItemDefinitionGroup> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||
<ClCompile> | ||
<WarningLevel>Level4</WarningLevel> | ||
<Optimization>MaxSpeed</Optimization> | ||
<FunctionLevelLinking>true</FunctionLevelLinking> | ||
<IntrinsicFunctions>true</IntrinsicFunctions> | ||
<AdditionalIncludeDirectories>..\..;..\..\backends;</AdditionalIncludeDirectories> | ||
<BufferSecurityCheck>false</BufferSecurityCheck> | ||
</ClCompile> | ||
<Link> | ||
<GenerateDebugInformation>true</GenerateDebugInformation> | ||
<EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
<OptimizeReferences>true</OptimizeReferences> | ||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
<SubSystem>Console</SubSystem> | ||
</Link> | ||
</ItemDefinitionGroup> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||
<ClCompile> | ||
<WarningLevel>Level4</WarningLevel> | ||
<Optimization>MaxSpeed</Optimization> | ||
<FunctionLevelLinking>true</FunctionLevelLinking> | ||
<IntrinsicFunctions>true</IntrinsicFunctions> | ||
<AdditionalIncludeDirectories>..\..;..\..\backends;</AdditionalIncludeDirectories> | ||
<BufferSecurityCheck>false</BufferSecurityCheck> | ||
</ClCompile> | ||
<Link> | ||
<GenerateDebugInformation>true</GenerateDebugInformation> | ||
<EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
<OptimizeReferences>true</OptimizeReferences> | ||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
<SubSystem>Console</SubSystem> | ||
</Link> | ||
</ItemDefinitionGroup> | ||
<ItemGroup> | ||
<ClCompile Include="..\..\imgui.cpp" /> | ||
<ClCompile Include="..\..\imgui_demo.cpp" /> | ||
<ClCompile Include="..\..\imgui_draw.cpp" /> | ||
<ClCompile Include="..\..\imgui_tables.cpp" /> | ||
<ClCompile Include="..\..\imgui_widgets.cpp" /> | ||
<ClCompile Include="..\..\backends\imgui_impl_opengl3.cpp" /> | ||
<ClCompile Include="..\..\backends\imgui_impl_win32.cpp" /> | ||
<ClCompile Include="main.cpp" /> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ClInclude Include="..\..\imconfig.h" /> | ||
<ClInclude Include="..\..\imgui.h" /> | ||
<ClInclude Include="..\..\imgui_internal.h" /> | ||
<ClInclude Include="..\..\backends\imgui_impl_opengl3.h" /> | ||
<ClInclude Include="..\..\backends\imgui_impl_opengl3_loader.h" /> | ||
<ClInclude Include="..\..\backends\imgui_impl_win32.h" /> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<None Include="..\..\misc\natvis\imgui.natvis" /> | ||
<None Include="..\README.txt" /> | ||
</ItemGroup> | ||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||
<ImportGroup Label="ExtensionTargets"> | ||
</ImportGroup> | ||
</Project> |
64 changes: 64 additions & 0 deletions
64
examples/example_win32_opengl3/example_win32_opengl3.vcxproj.filters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<ItemGroup> | ||
<Filter Include="sources"> | ||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||
</Filter> | ||
<Filter Include="imgui"> | ||
<UniqueIdentifier>{a82cba23-9de0-45c2-b1e3-2eb1666702de}</UniqueIdentifier> | ||
</Filter> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ClCompile Include="main.cpp"> | ||
<Filter>sources</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\imgui.cpp"> | ||
<Filter>imgui</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\imgui_demo.cpp"> | ||
<Filter>imgui</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\imgui_draw.cpp"> | ||
<Filter>imgui</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\imgui_widgets.cpp"> | ||
<Filter>imgui</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\backends\imgui_impl_win32.cpp"> | ||
<Filter>sources</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\imgui_tables.cpp"> | ||
<Filter>imgui</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\backends\imgui_impl_opengl3.cpp"> | ||
<Filter>sources</Filter> | ||
</ClCompile> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ClInclude Include="..\..\imconfig.h"> | ||
<Filter>imgui</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\imgui.h"> | ||
<Filter>imgui</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\imgui_internal.h"> | ||
<Filter>imgui</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\backends\imgui_impl_win32.h"> | ||
<Filter>sources</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\backends\imgui_impl_opengl3.h"> | ||
<Filter>sources</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\backends\imgui_impl_opengl3_loader.h"> | ||
<Filter>sources</Filter> | ||
</ClInclude> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<None Include="..\README.txt" /> | ||
<None Include="..\..\misc\natvis\imgui.natvis"> | ||
<Filter>sources</Filter> | ||
</None> | ||
</ItemGroup> | ||
</Project> |
Oops, something went wrong.
@ocornut Did you delete this accidentally?
It was not part of my PR as far as I know.