mirror of
https://github.com/Bloodysharp/imgui-menu-for-rainbow-six-siege.git
synced 2024-12-22 16:07:30 +08:00
Add files via upload
This commit is contained in:
parent
6377679e74
commit
77889e747e
196
imgui_features/example_win32_directx11.vcxproj
Normal file
196
imgui_features/example_win32_directx11.vcxproj
Normal file
@ -0,0 +1,196 @@
|
||||
<?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>{9F316E83-5AE5-4939-A723-305A94F48005}</ProjectGuid>
|
||||
<RootNamespace>example_win32_directx11</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>imgui_win32_directx11</ProjectName>
|
||||
</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>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v143</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>
|
||||
<IncludePath>C:\Users\NOins\Desktop\imgui-features-shadows\SDK\Include;C:\Users\NOins\Desktop\imgui-features-shadows\freetype\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>C:\Users\NOins\Desktop\imgui-features-shadows\SDK\Lib\x64;C:\Users\NOins\Desktop\imgui-features-shadows\freetype\win64;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..;..\..\backends;%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>d3d11.lib;d3dcompiler.lib;dxgi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)IMGUI;$(SolutionDir)backends;$(SolutionDir)SDK\Include;$(SolutionDir)libs\freetype\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>d3d11.lib;d3dcompiler.lib;dxgi.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;$(SolutionDir)\SDK\Lib\x64;$(SolutionDir)libs\freetype\win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<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);</AdditionalIncludeDirectories>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>d3d11.lib;d3dcompiler.lib;dxgi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<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>$(SolutionDir)IMGUI;$(SolutionDir)backends;$(SolutionDir)SDK\Include;$(SolutionDir)libs\freetype\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>d3d11.lib;d3dcompiler.lib;dxgi.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;$(SolutionDir)\SDK\Lib\x64;$(SolutionDir)libs\freetype\win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\backends\imgui_impl_dx11.h" />
|
||||
<ClInclude Include="..\backends\imgui_impl_win32.h" />
|
||||
<ClInclude Include="..\IMGUI\imconfig.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui_elements.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui_freetype.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui_internal.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui_knobs.h" />
|
||||
<ClInclude Include="..\IMGUI\imgui_settings.h" />
|
||||
<ClInclude Include="..\IMGUI\imstb_rectpack.h" />
|
||||
<ClInclude Include="..\IMGUI\imstb_textedit.h" />
|
||||
<ClInclude Include="..\IMGUI\imstb_truetype.h" />
|
||||
<ClInclude Include="font.h" />
|
||||
<ClInclude Include="main.h" />
|
||||
<ClInclude Include="notify.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\backends\imgui_impl_dx11.cpp" />
|
||||
<ClCompile Include="..\backends\imgui_impl_win32.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui_draw.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui_freetype.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui_knobs.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui_tables.cpp" />
|
||||
<ClCompile Include="..\IMGUI\imgui_widgets.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\misc\debuggers\imgui.natstepfilter" />
|
||||
<None Include="..\..\misc\debuggers\imgui.natvis" />
|
||||
<None Include="imgui.ini" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="..\..\freetype\win64\freetype.lib" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
93
imgui_features/example_win32_directx11.vcxproj.filters
Normal file
93
imgui_features/example_win32_directx11.vcxproj.filters
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="imgui">
|
||||
<UniqueIdentifier>{0587d7a3-f2ce-4d56-b84f-a0005d3bfce6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="sources">
|
||||
<UniqueIdentifier>{08e36723-ce4f-4cff-9662-c40801cf1acf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="main.h">
|
||||
<Filter>sources</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="font.h">
|
||||
<Filter>sources</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="notify.h">
|
||||
<Filter>sources</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imconfig.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui_elements.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui_freetype.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui_internal.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui_knobs.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imgui_settings.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imstb_rectpack.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imstb_textedit.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\IMGUI\imstb_truetype.h">
|
||||
<Filter>imgui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\backends\imgui_impl_dx11.h" />
|
||||
<ClInclude Include="..\backends\imgui_impl_win32.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui_draw.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui_freetype.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui_knobs.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui_tables.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\IMGUI\imgui_widgets.cpp">
|
||||
<Filter>imgui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\backends\imgui_impl_dx11.cpp" />
|
||||
<ClCompile Include="..\backends\imgui_impl_win32.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\misc\debuggers\imgui.natvis">
|
||||
<Filter>imgui</Filter>
|
||||
</None>
|
||||
<None Include="..\..\misc\debuggers\imgui.natstepfilter">
|
||||
<Filter>imgui</Filter>
|
||||
</None>
|
||||
<None Include="imgui.ini" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="..\..\freetype\win64\freetype.lib">
|
||||
<Filter>imgui</Filter>
|
||||
</Library>
|
||||
</ItemGroup>
|
||||
</Project>
|
6
imgui_features/example_win32_directx11.vcxproj.user
Normal file
6
imgui_features/example_win32_directx11.vcxproj.user
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ShowAllFiles>true</ShowAllFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
100
imgui_features/imgui.ini
Normal file
100
imgui_features/imgui.ini
Normal file
@ -0,0 +1,100 @@
|
||||
[Window][Debug##Default]
|
||||
Pos=193,458
|
||||
Size=283,186
|
||||
Collapsed=0
|
||||
|
||||
[Window][ImGui Menu]
|
||||
Pos=490,524
|
||||
Size=730,430
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST10]
|
||||
Pos=1804,386
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST9]
|
||||
Pos=1828,348
|
||||
Size=87,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST8]
|
||||
Pos=1828,310
|
||||
Size=87,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST7]
|
||||
Pos=1828,272
|
||||
Size=87,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST6]
|
||||
Pos=1828,234
|
||||
Size=87,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST5]
|
||||
Pos=1825,196
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST4]
|
||||
Pos=1825,158
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST3]
|
||||
Pos=1825,120
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST2]
|
||||
Pos=1825,82
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST1]
|
||||
Pos=1825,44
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST0]
|
||||
Pos=1825,6
|
||||
Size=90,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST16]
|
||||
Pos=1804,614
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST15]
|
||||
Pos=1804,576
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST14]
|
||||
Pos=1804,538
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST13]
|
||||
Pos=1804,500
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST12]
|
||||
Pos=1804,462
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][##TOAST11]
|
||||
Pos=1804,424
|
||||
Size=111,32
|
||||
Collapsed=0
|
||||
|
||||
[Window][Popupbox]
|
||||
Pos=188,416
|
||||
Size=300,156
|
||||
Collapsed=0
|
||||
|
421
imgui_features/main.cpp
Normal file
421
imgui_features/main.cpp
Normal file
@ -0,0 +1,421 @@
|
||||
#include "main.h"
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
|
||||
WNDCLASSEXW wc = { sizeof(wc), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, L"ImGui Example", nullptr };
|
||||
::RegisterClassExW(&wc);
|
||||
HWND hwnd = ::CreateWindowW(wc.lpszClassName, L"Dear ImGui DirectX11 Example", WS_POPUP, 0, 0, 1920, 1080, nullptr, nullptr, wc.hInstance, nullptr);
|
||||
|
||||
if (!CreateDeviceD3D(hwnd))
|
||||
{
|
||||
CleanupDeviceD3D();
|
||||
::UnregisterClassW(wc.lpszClassName, wc.hInstance);
|
||||
return 1;
|
||||
}
|
||||
|
||||
::ShowWindow(hwnd, SW_SHOWDEFAULT);
|
||||
::UpdateWindow(hwnd);
|
||||
|
||||
IMGUI_CHECKVERSION();
|
||||
ImGui::CreateContext();
|
||||
ImGuiIO& io = ImGui::GetIO(); (void)io;
|
||||
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
|
||||
io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;
|
||||
|
||||
ImFontConfig cfg;
|
||||
ImFontConfig cfg_regular;
|
||||
|
||||
cfg.FontBuilderFlags = ImGuiFreeTypeBuilderFlags_ForceAutoHint | ImGuiFreeTypeBuilderFlags_LightHinting | ImGuiFreeTypeBuilderFlags_LoadColor | ImGuiFreeTypeBuilderFlags_Bitmap;
|
||||
cfg_regular.FontBuilderFlags = ImGuiFreeTypeBuilderFlags_ForceAutoHint | ImGuiFreeTypeBuilderFlags_LightHinting | ImGuiFreeTypeBuilderFlags_LoadColor;
|
||||
|
||||
font::calibri_bold = io.Fonts->AddFontFromMemoryTTF(calibri_bold, sizeof(calibri_bold), 14.f, &cfg, io.Fonts->GetGlyphRangesCyrillic());
|
||||
font::calibri_bold_hint = io.Fonts->AddFontFromMemoryTTF(calibri_bold, sizeof(calibri_bold), 12.f, &cfg, io.Fonts->GetGlyphRangesCyrillic());
|
||||
|
||||
font::calibri_regular = io.Fonts->AddFontFromMemoryTTF(calibri_regular, sizeof(calibri_regular), 12.f, &cfg_regular, io.Fonts->GetGlyphRangesCyrillic());
|
||||
|
||||
for (int i = 14; i < 45; i++)
|
||||
font::icomoon[i] = io.Fonts->AddFontFromMemoryTTF(icomoon, sizeof(icomoon), i, &cfg, io.Fonts->GetGlyphRangesCyrillic());
|
||||
|
||||
ImGui_ImplWin32_Init(hwnd);
|
||||
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
|
||||
|
||||
bool show_demo_window = true;
|
||||
bool show_another_window = false;
|
||||
ImVec4 clear_color = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
|
||||
|
||||
D3DX11_IMAGE_LOAD_INFO info; ID3DX11ThreadPump* pump{ nullptr };
|
||||
if (texture::background == nullptr) D3DX11CreateShaderResourceViewFromMemory(g_pd3dDevice, background, sizeof(background), &info, pump, &texture::background, 0);
|
||||
if (texture::roughness == nullptr) D3DX11CreateShaderResourceViewFromMemory(g_pd3dDevice, roughness, sizeof(roughness), &info, pump, &texture::roughness, 0);
|
||||
if (texture::logo == nullptr) D3DX11CreateShaderResourceViewFromMemory(g_pd3dDevice, logo, sizeof(logo), &info, pump, &texture::logo, 0);
|
||||
|
||||
bool done = false;
|
||||
while (!done)
|
||||
{
|
||||
MSG msg;
|
||||
while (::PeekMessage(&msg, nullptr, 0U, 0U, PM_REMOVE))
|
||||
{
|
||||
::TranslateMessage(&msg);
|
||||
::DispatchMessage(&msg);
|
||||
if (msg.message == WM_QUIT)
|
||||
done = true;
|
||||
}
|
||||
if (done) break;
|
||||
|
||||
if (g_ResizeWidth != 0 && g_ResizeHeight != 0)
|
||||
{
|
||||
CleanupRenderTarget();
|
||||
g_pSwapChain->ResizeBuffers(0, g_ResizeWidth, g_ResizeHeight, DXGI_FORMAT_UNKNOWN, 0);
|
||||
g_ResizeWidth = g_ResizeHeight = 0;
|
||||
CreateRenderTarget();
|
||||
}
|
||||
|
||||
ImGui_ImplDX11_NewFrame();
|
||||
ImGui_ImplWin32_NewFrame();
|
||||
ImGui::NewFrame();
|
||||
{
|
||||
ImGuiStyle* style = &ImGui::GetStyle();
|
||||
|
||||
static float color[4] = { 221 / 255.f, 255 / 255.f, 11 / 255.f, 1.f };
|
||||
c::accent = { color[0], color[1], color[2], 1.f };
|
||||
|
||||
style->WindowPadding = ImVec2(0, 0);
|
||||
style->ItemSpacing = ImVec2(20, 20);
|
||||
style->WindowBorderSize = 0;
|
||||
style->ScrollbarSize = 10.f;
|
||||
|
||||
ImGui::GetBackgroundDrawList()->AddImage(texture::background, ImVec2(0, 0), ImVec2(1920, 1080), ImVec2(0, 0), ImVec2(1, 1), ImColor(255, 255, 255, 200));
|
||||
|
||||
ImGui::SetNextWindowSize(ImVec2(c::bg::size));
|
||||
|
||||
ImGui::Begin("ImGui Menu", nullptr, ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoBringToFrontOnFocus);
|
||||
{
|
||||
const ImVec2& pos = ImGui::GetWindowPos();
|
||||
const ImVec2& region = ImGui::GetContentRegionMax();
|
||||
const ImVec2& spacing = style->ItemSpacing;
|
||||
|
||||
ImGui::GetBackgroundDrawList()->AddRectFilled(pos, pos + ImVec2(region), ImGui::GetColorU32(c::bg::background), c::bg::rounding);
|
||||
ImGui::GetBackgroundDrawList()->AddImageRounded(texture::roughness, pos, pos + ImVec2(region), ImVec2(0, 0), ImVec2(1, 1), ImGui::GetColorU32(c::bg::roughness), c::bg::rounding);
|
||||
ImGui::PushFont(font::icomoon[30]);
|
||||
//50
|
||||
//
|
||||
// centered logo
|
||||
ImGui::GetWindowDrawList()->AddText(pos + (ImVec2(200, 50) - ImGui::CalcTextSize("L")) / 2, ImGui::GetColorU32(c::accent), "L");
|
||||
ImGui::PopFont();
|
||||
|
||||
//ImGui::GetWindowDrawList()->AddText(pos + ImVec2((50 - ImGui::CalcTextSize("L").y) / 2, (50 - ImGui::CalcTextSize("L").y) / 2), ImGui::GetColorU32(c::accent), "L");
|
||||
|
||||
ImGui::PushFont(font::icomoon[21]);
|
||||
//drawtablogo
|
||||
//ImGui::GetWindowDrawList()->AddText(pos + ImVec2(200 + (50 - ImGui::CalcTextSize("a").y) / 2, (50 - ImGui::CalcTextSize("a").y) / 2), ImGui::GetColorU32(c::accent), "a");
|
||||
|
||||
|
||||
//ImGui::GetWindowDrawList()->AddText(pos + ImVec2(region.x - (50 + ImGui::CalcTextSize("b").y) / 2, (50 - ImGui::CalcTextSize("b").y) / 2), ImGui::GetColorU32(c::text::text), "b");
|
||||
|
||||
ImGui::PopFont();
|
||||
|
||||
// ImGui::GetWindowDrawList()->AddText(pos + ImVec2(200 + 45, (50 - ImGui::CalcTextSize("Aimb0t").y) / 2 + 1), ImGui::GetColorU32(c::text::text_active), "Aimb0t");
|
||||
//ImGui::GetWindowDrawList()->AddText(pos + ImVec2(45, (50 - ImGui::CalcTextSize("GEAR5.AC").y) / 2 + 1), ImGui::GetColorU32(c::text::text_active), "GEAR5.AC");
|
||||
|
||||
ImGui::GetBackgroundDrawList()->AddLine(pos + ImVec2(200, 0), pos + ImVec2(200, region.y), ImGui::GetColorU32(c::bg::outline), 1.f);
|
||||
ImGui::GetBackgroundDrawList()->AddLine(pos + ImVec2(0, 50), pos + ImVec2(region.x, 50), ImGui::GetColorU32(c::bg::outline), 1.f);
|
||||
|
||||
ImGui::SetCursorPos(ImVec2(0, 50 + spacing.y));
|
||||
ImGui::BeginGroup();//define tabs
|
||||
{
|
||||
//dqsg
|
||||
if (ImGui::Tabs(0 == tabs, "a", "Aimbot", "Help with Aiming.", ImVec2(200, 50))) tabs = 0;
|
||||
|
||||
if (ImGui::Tabs(1 == tabs, "b", "Visuals", "U can seen more.", ImVec2(200, 50))) tabs = 1;
|
||||
|
||||
if (ImGui::Tabs(2 == tabs, "d", "World", "World modification.", ImVec2(200, 50))) tabs = 2;
|
||||
|
||||
if (ImGui::Tabs(3 == tabs, "c", "Misc", "Other options.", ImVec2(200, 50))) tabs = 3;
|
||||
|
||||
if (ImGui::Tabs(4 == tabs, "e", "Settings", "Setup your cheat.", ImVec2(200, 50))) tabs = 4;
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
|
||||
ImGui::SetCursorPos(ImVec2(200 + spacing.x, 0));
|
||||
if (tabs == 0) { //aimbot tab
|
||||
static int tabsHor = 0;
|
||||
ImGui::BeginGroup();
|
||||
{
|
||||
//settings
|
||||
if (ImGui::TabsHor(0 == tabsHor, "c", "general", "Just a description of this tab", ImVec2(100, 50))) tabsHor = 0;
|
||||
ImGui::SameLine();
|
||||
//finished
|
||||
if (ImGui::TabsHor(1 == tabsHor, "b", "accuracy", "Just a description of this tab", ImVec2(100, 50))) tabsHor = 1;
|
||||
ImGui::SameLine();
|
||||
//finished
|
||||
if (ImGui::TabsHor(2 == tabsHor, "c", "triggerbot", "Just a description of this tab", ImVec2(100, 50))) tabsHor = 2;
|
||||
ImGui::SameLine();
|
||||
//finished
|
||||
if (ImGui::TabsHor(3 == tabsHor, "b", "hitscan", "Just a description of this tab", ImVec2(100, 50))) tabsHor = 3;
|
||||
ImGui::SameLine();
|
||||
//finished
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
|
||||
ImGui::SetCursorPos(ImVec2(200, 50) + spacing);
|
||||
ImGui::BeginChild("Child", ImVec2(region.x - 200, region.y - 50) - spacing);
|
||||
switch (tabsHor)
|
||||
{
|
||||
case 0:
|
||||
|
||||
|
||||
{
|
||||
ImGui::BeginGroup();
|
||||
{
|
||||
ImGui::CustomBeginChild("dah child", ImVec2((region.x - (200 + spacing.x * 3)) / 2, 0));
|
||||
{
|
||||
|
||||
ImGui::Checkbox("Checkbox", &checkbox);
|
||||
|
||||
ImGui::Checkbox("Checkbox ", &checkbox_false);
|
||||
|
||||
ImGui::SliderInt("Drag slider", &slider_int, 1, 100, "%d%%");
|
||||
|
||||
ImGui::Combo("Combobox", &select_combo, items, IM_ARRAYSIZE(items), ARRAYSIZE(items));
|
||||
|
||||
ImGui::InputTextEx("Textfield", "blah blah blah", field, 46, ImVec2(ImGui::GetContentRegionMax().x - style->WindowPadding.x, 30), NULL);
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
|
||||
ImGui::CustomBeginChild("sibling smh", ImVec2((region.x - (200 + spacing.x * 3)) / 2, 0));
|
||||
{
|
||||
|
||||
ImGui::MultiCombo("Multicombo", multi_num, multi_items, ARRAYSIZE(multi_items));
|
||||
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::BeginGroup();
|
||||
{
|
||||
ImGui::CustomBeginChild("dah children", ImVec2(region.x - (200 + spacing.x * 3), 0) / 2);
|
||||
{
|
||||
|
||||
ImGui::ColorEdit4("Colorpicker", color, picker_flags);
|
||||
|
||||
ImGui::Keybind("Keybind", &key, &m);
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
|
||||
ImGui::CustomBeginChild("aimbooty", ImVec2(region.x - (200 + spacing.x * 3), 0) / 2);
|
||||
{
|
||||
|
||||
if (ImGui::Button("Button", ImVec2(ImGui::GetContentRegionMax().x - style->WindowPadding.x, 30))) {
|
||||
ImGui::InsertNotification({ ImGuiToastType_Error, 1500, field });
|
||||
text_add++;
|
||||
}
|
||||
ImGui::SliderFloat("Drag slider", &slider_float, 0.0, 1.0f, "%0.1fF");
|
||||
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
|
||||
ImGui::CustomBeginChild("Test child", ImVec2((region.x - (200 + spacing.x * 3)) / 2, 0));
|
||||
{
|
||||
static int int_knob = 0;
|
||||
static float float_knob = 0;
|
||||
static float knob_test = 0;
|
||||
|
||||
ImGui::KnobInt("Drag int", &int_knob, 0, 200, "%d%%", NULL);
|
||||
|
||||
ImGui::KnobFloat("Drag Float", &float_knob, 0.f, 25.f, "%0.3fF", NULL);
|
||||
|
||||
ImGui::KnobFloat("Drag Tick", &knob_test, 0, 4500.f, "%0.1fF", NULL);
|
||||
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
|
||||
ImGui::Spacing();
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
ImGui::BeginGroup();
|
||||
{
|
||||
ImGui::CustomBeginChild("another one", ImVec2((region.x - (200 + spacing.x * 3)) / 2, 0));
|
||||
{
|
||||
static bool checkbook = 0;
|
||||
|
||||
ImGui::Checkbox("Checkbox", &checkbook);
|
||||
|
||||
ImGui::Combo("Combobox", &select_combo, items, IM_ARRAYSIZE(items), ARRAYSIZE(items));
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::BeginGroup();
|
||||
{
|
||||
ImGui::CustomBeginChild("just a child haha", ImVec2(region.x - (200 + spacing.x * 3), 0) / 2);
|
||||
{
|
||||
|
||||
|
||||
ImGui::Keybind("Keybind", &key, &m);
|
||||
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
}
|
||||
ImGui::EndGroup();
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
ImGui::End();
|
||||
|
||||
ImGui::Begin("Popupbox", nullptr, ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize);
|
||||
{
|
||||
ImGui::CustomBeginChild("antiaim!!?!", ImVec2(300, 0), ImGuiWindowFlags_NoBringToFrontOnFocus);
|
||||
{
|
||||
static int value = 10;
|
||||
static float vertical = 50.f;
|
||||
static bool checkbox = false;
|
||||
|
||||
ImGui::Checkbox("enable", &checkbox);
|
||||
|
||||
if (checkbox) {
|
||||
ImGui::KnobInt("pitch", &value, 1, 100, "%d%%", NULL);
|
||||
|
||||
ImGui::KnobFloat("yaw", &vertical, 0.f, 100.f, "%.2fF", NULL);
|
||||
}
|
||||
}
|
||||
ImGui::CustomEndChild();
|
||||
|
||||
}
|
||||
ImGui::End();
|
||||
|
||||
ImGui::RenderNotifications();
|
||||
|
||||
}
|
||||
ImGui::Render();
|
||||
const float clear_color_with_alpha[4] = { clear_color.x * clear_color.w, clear_color.y * clear_color.w, clear_color.z * clear_color.w, clear_color.w };
|
||||
g_pd3dDeviceContext->OMSetRenderTargets(1, &g_mainRenderTargetView, nullptr);
|
||||
g_pd3dDeviceContext->ClearRenderTargetView(g_mainRenderTargetView, clear_color_with_alpha);
|
||||
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
|
||||
|
||||
g_pSwapChain->Present(1, 0);
|
||||
|
||||
}
|
||||
|
||||
ImGui_ImplDX11_Shutdown();
|
||||
ImGui_ImplWin32_Shutdown();
|
||||
ImGui::DestroyContext();
|
||||
|
||||
CleanupDeviceD3D();
|
||||
::DestroyWindow(hwnd);
|
||||
::UnregisterClassW(wc.lpszClassName, wc.hInstance);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool CreateDeviceD3D(HWND hWnd)
|
||||
{
|
||||
// Setup swap chain
|
||||
DXGI_SWAP_CHAIN_DESC sd;
|
||||
ZeroMemory(&sd, sizeof(sd));
|
||||
sd.BufferCount = 2;
|
||||
sd.BufferDesc.Width = 0;
|
||||
sd.BufferDesc.Height = 0;
|
||||
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
sd.BufferDesc.RefreshRate.Numerator = 60;
|
||||
sd.BufferDesc.RefreshRate.Denominator = 1;
|
||||
sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
|
||||
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
|
||||
sd.OutputWindow = hWnd;
|
||||
sd.SampleDesc.Count = 1;
|
||||
sd.SampleDesc.Quality = 0;
|
||||
sd.Windowed = TRUE;
|
||||
sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||
|
||||
UINT createDeviceFlags = 0;
|
||||
|
||||
D3D_FEATURE_LEVEL featureLevel;
|
||||
const D3D_FEATURE_LEVEL featureLevelArray[2] = { D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_0, };
|
||||
HRESULT res = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext);
|
||||
if (res == DXGI_ERROR_UNSUPPORTED)
|
||||
res = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_WARP, nullptr, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext);
|
||||
if (res != S_OK)
|
||||
return false;
|
||||
|
||||
CreateRenderTarget();
|
||||
return true;
|
||||
}
|
||||
|
||||
void CleanupDeviceD3D()
|
||||
{
|
||||
CleanupRenderTarget();
|
||||
if (g_pSwapChain) { g_pSwapChain->Release(); g_pSwapChain = nullptr; }
|
||||
if (g_pd3dDeviceContext) { g_pd3dDeviceContext->Release(); g_pd3dDeviceContext = nullptr; }
|
||||
if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = nullptr; }
|
||||
}
|
||||
|
||||
void CreateRenderTarget()
|
||||
{
|
||||
ID3D11Texture2D* pBackBuffer;
|
||||
g_pSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer));
|
||||
g_pd3dDevice->CreateRenderTargetView(pBackBuffer, nullptr, &g_mainRenderTargetView);
|
||||
pBackBuffer->Release();
|
||||
}
|
||||
|
||||
void CleanupRenderTarget()
|
||||
{
|
||||
if (g_mainRenderTargetView) { g_mainRenderTargetView->Release(); g_mainRenderTargetView = nullptr; }
|
||||
}
|
||||
|
||||
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam))
|
||||
return true;
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case WM_SIZE:
|
||||
if (wParam == SIZE_MINIMIZED)
|
||||
return 0;
|
||||
g_ResizeWidth = (UINT)LOWORD(lParam);
|
||||
g_ResizeHeight = (UINT)HIWORD(lParam);
|
||||
return 0;
|
||||
case WM_SYSCOMMAND:
|
||||
if ((wParam & 0xfff0) == SC_KEYMENU)
|
||||
return 0;
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
::PostQuitMessage(0);
|
||||
return 0;
|
||||
}
|
||||
return ::DefWindowProcW(hWnd, msg, wParam, lParam);
|
||||
}
|
68
imgui_features/main.h
Normal file
68
imgui_features/main.h
Normal file
@ -0,0 +1,68 @@
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
|
||||
#include "imgui_impl_win32.h"
|
||||
#include "imgui_impl_dx11.h"
|
||||
#include "imgui_internal.h"
|
||||
#include "imgui_freetype.h"
|
||||
|
||||
//#include <imgui_knobs.h>
|
||||
#include <d3d11.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "notify.h"
|
||||
|
||||
#include <D3DX11tex.h>
|
||||
#pragma comment(lib, "D3DX11.lib")
|
||||
|
||||
#include "texture.h"
|
||||
#include "font.h"
|
||||
|
||||
static ID3D11Device* g_pd3dDevice = nullptr;
|
||||
static ID3D11DeviceContext* g_pd3dDeviceContext = nullptr;
|
||||
static IDXGISwapChain* g_pSwapChain = nullptr;
|
||||
static UINT g_ResizeWidth = 0, g_ResizeHeight = 0;
|
||||
static ID3D11RenderTargetView* g_mainRenderTargetView = nullptr;
|
||||
|
||||
bool CreateDeviceD3D(HWND hWnd);
|
||||
void CleanupDeviceD3D();
|
||||
void CreateRenderTarget();
|
||||
void CleanupRenderTarget();
|
||||
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
int tabs = 0;
|
||||
|
||||
int text_add = 0;
|
||||
DWORD picker_flags = ImGuiColorEditFlags_NoSidePreview | ImGuiColorEditFlags_AlphaBar | ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_AlphaPreview;
|
||||
|
||||
bool checkbox = true;
|
||||
bool checkbox_false = false;
|
||||
int slider_int = 50;
|
||||
float slider_float = 0.5f;
|
||||
char field[46] = { "" };
|
||||
|
||||
int select_combo = 0;
|
||||
const char* items[3]{ "dah one", "dah other one", "dah other other one" };
|
||||
|
||||
bool multi_num[5] = { false, false, false, false, false };
|
||||
const char* multi_items[5] = { "One", "Two", "Three", "Four", "Five" };
|
||||
|
||||
std::vector<std::string> words;
|
||||
|
||||
|
||||
static int key, m;
|
||||
|
||||
namespace font
|
||||
{
|
||||
inline ImFont* calibri_bold = nullptr;
|
||||
inline ImFont* calibri_bold_hint = nullptr;
|
||||
inline ImFont* calibri_regular = nullptr;
|
||||
inline ImFont* icomoon[14];
|
||||
}
|
||||
|
||||
namespace texture
|
||||
{
|
||||
inline ID3D11ShaderResourceView* background = nullptr;
|
||||
inline ID3D11ShaderResourceView* roughness = nullptr;
|
||||
inline ID3D11ShaderResourceView* logo = nullptr;
|
||||
inline ID3D11ShaderResourceView* arrow = nullptr;
|
||||
}
|
266
imgui_features/notify.h
Normal file
266
imgui_features/notify.h
Normal file
@ -0,0 +1,266 @@
|
||||
#define IMGUI_NOTIFY
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include "imgui.h"
|
||||
#include <iostream>
|
||||
#include <sysinfoapi.h>
|
||||
|
||||
#include "imgui_elements.h"
|
||||
|
||||
using namespace ImGui;
|
||||
|
||||
extern const char* cheat_name;
|
||||
|
||||
#define NOTIFY_MAX_MSG_LENGTH 4096
|
||||
#define NOTIFY_PADDING_X 5.f
|
||||
#define NOTIFY_PADDING_Y 5.f
|
||||
#define NOTIFY_PADDING_MESSAGE_Y 10.f
|
||||
#define NOTIFY_FADE_IN_OUT_TIME 150
|
||||
#define NOTIFY_DEFAULT_DISMISS 3000
|
||||
#define NOTIFY_OPACITY 1.0f
|
||||
#define NOTIFY_TOAST_FLAGS ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoFocusOnAppearing
|
||||
|
||||
#define NOTIFY_INLINE inline
|
||||
#define NOTIFY_NULL_OR_EMPTY(str) (!str ||! strlen(str))
|
||||
#define NOTIFY_FORMAT(fn, format, ...) if (format) { va_list args; va_start(args, format); fn(format, args, __VA_ARGS__); va_end(args); }
|
||||
|
||||
typedef int ImGuiToastType;
|
||||
typedef int ImGuiToastPhase;
|
||||
typedef int ImGuiToastPos;
|
||||
|
||||
enum ImGuiToastType_
|
||||
{
|
||||
ImGuiToastType_None,
|
||||
ImGuiToastType_Success,
|
||||
ImGuiToastType_Warning,
|
||||
ImGuiToastType_Error,
|
||||
ImGuiToastType_Info,
|
||||
ImGuiToastType_COUNT
|
||||
};
|
||||
|
||||
enum ImGuiToastPhase_
|
||||
{
|
||||
ImGuiToastPhase_FadeIn,
|
||||
ImGuiToastPhase_Wait,
|
||||
ImGuiToastPhase_FadeOut,
|
||||
ImGuiToastPhase_Expired,
|
||||
ImGuiToastPhase_COUNT
|
||||
};
|
||||
|
||||
enum ImGuiToastPos_
|
||||
{
|
||||
ImGuiToastPos_TopLeft,
|
||||
ImGuiToastPos_TopCenter,
|
||||
ImGuiToastPos_TopRight,
|
||||
ImGuiToastPos_BottomLeft,
|
||||
ImGuiToastPos_BottomCenter,
|
||||
ImGuiToastPos_BottomRight,
|
||||
ImGuiToastPos_Center,
|
||||
ImGuiToastPos_COUNT
|
||||
};
|
||||
|
||||
class ImGuiToast
|
||||
{
|
||||
private:
|
||||
ImGuiToastType type = ImGuiToastType_None;
|
||||
char title[NOTIFY_MAX_MSG_LENGTH];
|
||||
char content[NOTIFY_MAX_MSG_LENGTH];
|
||||
int dismiss_time = NOTIFY_DEFAULT_DISMISS;
|
||||
uint64_t creation_time = 0;
|
||||
|
||||
private:
|
||||
// Setters
|
||||
|
||||
NOTIFY_INLINE auto set_title(const char* format, va_list args) { vsnprintf(this->title, sizeof(this->title), format, args); }
|
||||
|
||||
NOTIFY_INLINE auto set_content(const char* format, va_list args) { vsnprintf(this->content, sizeof(this->content), format, args); }
|
||||
|
||||
public:
|
||||
|
||||
NOTIFY_INLINE auto set_title(const char* format, ...) -> void { NOTIFY_FORMAT(this->set_title, format); }
|
||||
|
||||
NOTIFY_INLINE auto set_content(const char* format, ...) -> void { NOTIFY_FORMAT(this->set_content, format); }
|
||||
|
||||
NOTIFY_INLINE auto set_type(const ImGuiToastType& type) -> void { IM_ASSERT(type < ImGuiToastType_COUNT); this->type = type; };
|
||||
|
||||
public:
|
||||
// Getters
|
||||
|
||||
NOTIFY_INLINE auto get_title() -> char* { return this->title; };
|
||||
|
||||
NOTIFY_INLINE auto get_default_title() -> char*
|
||||
{
|
||||
if (!strlen(this->title))
|
||||
{
|
||||
switch (this->type)
|
||||
{
|
||||
case ImGuiToastType_None:
|
||||
return NULL;
|
||||
/*case ImGuiToastType_Success:
|
||||
return "Success";
|
||||
case ImGuiToastType_Warning:
|
||||
return "Warning";
|
||||
case ImGuiToastType_Error:
|
||||
return "Error";
|
||||
case ImGuiToastType_Info:
|
||||
return "Info";*/
|
||||
}
|
||||
}
|
||||
|
||||
return this->title;
|
||||
};
|
||||
|
||||
NOTIFY_INLINE auto get_type() -> const ImGuiToastType& { return this->type; };
|
||||
|
||||
NOTIFY_INLINE auto get_color() -> const ImVec4&
|
||||
{
|
||||
switch (this->type)
|
||||
{
|
||||
case ImGuiToastType_None:
|
||||
return { 255, 255, 255, 255 };
|
||||
case ImGuiToastType_Success:
|
||||
return { 74, 235, 138, 255 };
|
||||
case ImGuiToastType_Warning:
|
||||
return { 235, 74, 116, 255 };
|
||||
case ImGuiToastType_Error:
|
||||
return { 235, 74, 74, 255 };
|
||||
case ImGuiToastType_Info:
|
||||
return { 74, 169, 235, 255 };
|
||||
}
|
||||
}
|
||||
|
||||
NOTIFY_INLINE auto get_content() -> char* { return this->content; };
|
||||
|
||||
NOTIFY_INLINE auto get_elapsed_time() { return GetTickCount64() - this->creation_time; }
|
||||
|
||||
NOTIFY_INLINE auto get_phase() -> const ImGuiToastPhase&
|
||||
{
|
||||
const auto elapsed = get_elapsed_time();
|
||||
|
||||
if (elapsed > NOTIFY_FADE_IN_OUT_TIME + this->dismiss_time + NOTIFY_FADE_IN_OUT_TIME)
|
||||
{
|
||||
return ImGuiToastPhase_Expired;
|
||||
}
|
||||
else if (elapsed > NOTIFY_FADE_IN_OUT_TIME + this->dismiss_time)
|
||||
{
|
||||
return ImGuiToastPhase_FadeOut;
|
||||
}
|
||||
else if (elapsed > NOTIFY_FADE_IN_OUT_TIME)
|
||||
{
|
||||
return ImGuiToastPhase_Wait;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ImGuiToastPhase_FadeIn;
|
||||
}
|
||||
}
|
||||
|
||||
NOTIFY_INLINE auto get_fade_percent() -> const float
|
||||
{
|
||||
const auto phase = get_phase();
|
||||
const auto elapsed = get_elapsed_time();
|
||||
|
||||
if (phase == ImGuiToastPhase_FadeIn)
|
||||
{
|
||||
return ((float)elapsed / (float)NOTIFY_FADE_IN_OUT_TIME) * NOTIFY_OPACITY;
|
||||
}
|
||||
else if (phase == ImGuiToastPhase_FadeOut)
|
||||
{
|
||||
return (1.f - (((float)elapsed - (float)NOTIFY_FADE_IN_OUT_TIME - (float)this->dismiss_time) / (float)NOTIFY_FADE_IN_OUT_TIME)) * NOTIFY_OPACITY;
|
||||
}
|
||||
|
||||
return 1.f * NOTIFY_OPACITY;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
ImGuiToast(ImGuiToastType type, int dismiss_time = NOTIFY_DEFAULT_DISMISS)
|
||||
{
|
||||
IM_ASSERT(type < ImGuiToastType_COUNT);
|
||||
|
||||
this->type = type;
|
||||
this->dismiss_time = dismiss_time;
|
||||
this->creation_time = GetTickCount64();
|
||||
|
||||
memset(this->title, 0, sizeof(this->title));
|
||||
memset(this->content, 0, sizeof(this->content));
|
||||
}
|
||||
|
||||
ImGuiToast(ImGuiToastType type, const char* format, ...) : ImGuiToast(type) { NOTIFY_FORMAT(this->set_content, format); }
|
||||
|
||||
ImGuiToast(ImGuiToastType type, int dismiss_time, const char* format, ...) : ImGuiToast(type, dismiss_time) { NOTIFY_FORMAT(this->set_content, format); }
|
||||
};
|
||||
|
||||
namespace ImGui
|
||||
{
|
||||
NOTIFY_INLINE std::vector<ImGuiToast> notifications;
|
||||
|
||||
NOTIFY_INLINE VOID InsertNotification(const ImGuiToast& toast)
|
||||
{
|
||||
notifications.push_back(toast);
|
||||
}
|
||||
|
||||
NOTIFY_INLINE VOID RemoveNotification(int index)
|
||||
{
|
||||
notifications.erase(notifications.begin() + index);
|
||||
}
|
||||
|
||||
NOTIFY_INLINE VOID RenderNotifications()
|
||||
{
|
||||
const auto vp_size = GetMainViewport()->Size;
|
||||
|
||||
float height = 0.f;
|
||||
|
||||
for (auto i = 0; i < notifications.size(); i++)
|
||||
{
|
||||
auto* current_toast = ¬ifications[i];
|
||||
|
||||
if (current_toast->get_phase() == ImGuiToastPhase_Expired)
|
||||
{
|
||||
RemoveNotification(i);
|
||||
continue;
|
||||
}
|
||||
|
||||
const char* title = current_toast->get_title();
|
||||
const auto content = current_toast->get_content();
|
||||
const auto default_title = current_toast->get_default_title();
|
||||
const auto opacity = current_toast->get_fade_percent();
|
||||
|
||||
auto text_color = current_toast->get_color();
|
||||
text_color.w = opacity;
|
||||
|
||||
char window_name[50];
|
||||
sprintf_s(window_name, "##TOAST%d", i);
|
||||
|
||||
PushStyleVar(ImGuiStyleVar_Alpha, opacity);
|
||||
SetNextWindowPos(ImVec2(vp_size.x - NOTIFY_PADDING_X, NOTIFY_PADDING_Y + height + 33), ImGuiCond_Always, ImVec2(1.f, 1.0f));
|
||||
|
||||
PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(8, 8));
|
||||
PushStyleVar(ImGuiStyleVar_WindowRounding, c::button::rounding);
|
||||
PushStyleColor(ImGuiCol_WindowBg, GetColorU32(c::button::background, 0.6f));
|
||||
Begin(window_name, NULL, NOTIFY_TOAST_FLAGS);
|
||||
|
||||
ImGui::GetForegroundDrawList()->AddRectFilled(GetCursorScreenPos() + ImVec2(GetContentRegionMax().x - 3, -8), GetCursorScreenPos() + ImVec2(GetContentRegionMax().x, 23), GetColorU32(c::accent), c::button::rounding, ImDrawFlags_RoundCornersRight);
|
||||
|
||||
{
|
||||
PushTextWrapPos(vp_size.x / 3.f);
|
||||
|
||||
if (!NOTIFY_NULL_OR_EMPTY(content))
|
||||
{
|
||||
SetCursorPosY(GetCursorPosY() - 1);
|
||||
TextColored(ImColor(GetColorU32(c::text::text_active)), content);
|
||||
}
|
||||
|
||||
PopTextWrapPos();
|
||||
}
|
||||
|
||||
height += GetWindowHeight() + 6;
|
||||
|
||||
End();
|
||||
PopStyleVar(3);
|
||||
PopStyleColor();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user