Compare commits
	
		
			3 Commits
		
	
	
		
			e27276bf65
			...
			2353d57dd3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 2353d57dd3 | ||
|  | 8e805522d5 | ||
|  | 5978a14224 | 
							
								
								
									
										100
									
								
								.github/workflows/cd.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										100
									
								
								.github/workflows/cd.yml
									
									
									
									
										vendored
									
									
								
							| @@ -165,7 +165,12 @@ jobs: | |||||||
|   windows: |   windows: | ||||||
|     timeout-minutes: 15 |     timeout-minutes: 15 | ||||||
|  |  | ||||||
|     runs-on: windows-2022 |     runs-on: ${{matrix.os}} | ||||||
|  |  | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         type: ['', 'asan'] | ||||||
|  |         os: ['windows-2022'] | ||||||
|  |  | ||||||
|     permissions: |     permissions: | ||||||
|       # vcpkg caching action |       # vcpkg caching action | ||||||
| @@ -199,7 +204,8 @@ jobs: | |||||||
|     #- uses: ilammy/setup-nasm@v1 |     #- uses: ilammy/setup-nasm@v1 | ||||||
|  |  | ||||||
|     - name: Configure CMake |     - name: Configure CMake | ||||||
|       run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe -DTOMATO_BREAKPAD=ON -DTOMATO_TOX_AV=ON |       # TODO: og asan had this -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded | ||||||
|  |       run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe -DTOMATO_BREAKPAD=ON -DTOMATO_TOX_AV=ON -DTOMATO_ASAN=${{matrix.type == 'asan' && 'ON' || 'OFF'}} | ||||||
|  |  | ||||||
|     - name: Build |     - name: Build | ||||||
|       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -t tomato |       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -t tomato | ||||||
| @@ -223,82 +229,8 @@ jobs: | |||||||
|       run: | |       run: | | ||||||
|         Remove-Item "${{github.workspace}}/build/bin/*.ilk" |         Remove-Item "${{github.workspace}}/build/bin/*.ilk" | ||||||
|  |  | ||||||
|     - name: Compress artifacts |  | ||||||
|       shell: powershell |  | ||||||
|       run: | |  | ||||||
|         Compress-Archive -Path ${{github.workspace}}/build/bin/* -Destination ${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc-x86_64.zip |  | ||||||
|  |  | ||||||
|     - uses: actions/upload-artifact@v4 |  | ||||||
|       with: |  | ||||||
|         name: ${{github.event.repository.name}}-${{steps.tag.outputs.name}}-${{runner.os}}-msvc-x86_64 |  | ||||||
|         # TODO: do propper packing |  | ||||||
|         path: | |  | ||||||
|           ${{github.workspace}}/${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc-x86_64.zip |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   windows-asan: |  | ||||||
|     timeout-minutes: 15 |  | ||||||
|  |  | ||||||
|     runs-on: windows-2022 |  | ||||||
|  |  | ||||||
|     permissions: |  | ||||||
|       # vcpkg caching action |  | ||||||
|       actions: read |  | ||||||
|       contents: read |  | ||||||
|  |  | ||||||
|     steps: |  | ||||||
|     - uses: actions/checkout@v4 |  | ||||||
|       with: |  | ||||||
|         submodules: recursive |  | ||||||
|         fetch-depth: 0 |  | ||||||
|  |  | ||||||
|     - name: Restore vcpkg cache |  | ||||||
|       id: vcpkg-cache |  | ||||||
|       uses: TAServers/vcpkg-cache@v3 |  | ||||||
|       with: |  | ||||||
|         token: ${{secrets.GITHUB_TOKEN}} |  | ||||||
|  |  | ||||||
|     - name: Install Dependencies |  | ||||||
|       env: |  | ||||||
|         VCPKG_FEATURE_FLAGS: "binarycaching" |  | ||||||
|         VCPKG_BINARY_SOURCES: "clear;files,${{steps.vcpkg-cache.outputs.path}},readwrite" |  | ||||||
|       run: vcpkg install pkgconf:x64-windows libsodium:x64-windows-static pthreads:x64-windows-static opus:x64-windows-static libvpx:x64-windows-static zstd:x64-windows-static libwebp:x64-windows-static libpng:x64-windows-static libjpeg-turbo:x64-windows-static freetype:x64-windows-static |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     # setup vs env |  | ||||||
|     - uses: ilammy/msvc-dev-cmd@v1 |  | ||||||
|       with: |  | ||||||
|         arch: amd64 |  | ||||||
|  |  | ||||||
|     ## sdl_image vendored needs nasm for dav1d |  | ||||||
|     #- uses: ilammy/setup-nasm@v1 |  | ||||||
|  |  | ||||||
|     - name: Configure CMake |  | ||||||
|       run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_ASAN=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe -DTOMATO_TOX_AV=ON |  | ||||||
|  |  | ||||||
|     - name: Build |  | ||||||
|       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato |  | ||||||
|  |  | ||||||
|     - name: Determine tag name |  | ||||||
|       id: tag |  | ||||||
|       shell: bash |  | ||||||
|       # taken from llama.cpp |  | ||||||
|       run: | |  | ||||||
|         SHORT_HASH="$(git rev-parse --short=7 HEAD)" |  | ||||||
|         if [[ "${{ env.BRANCH_NAME }}" == "master" ]]; then |  | ||||||
|           echo "name=dev-${SHORT_HASH}" >> $GITHUB_OUTPUT |  | ||||||
|         else |  | ||||||
|           SAFE_NAME=$(echo "${{ env.BRANCH_NAME }}" | tr '/' '-') |  | ||||||
|           echo "name=dev-${SAFE_NAME}-${SHORT_HASH}" >> $GITHUB_OUTPUT |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|     - name: Clean temporary artifacts |  | ||||||
|       # msvc sometimes produces .ilk files, which are used for linking only |  | ||||||
|       shell: powershell |  | ||||||
|       run: | |  | ||||||
|         Remove-Item "${{github.workspace}}/build/bin/*.ilk" |  | ||||||
|  |  | ||||||
|     - name: Add asan runtime deps |     - name: Add asan runtime deps | ||||||
|  |       if: ${{matrix.type == 'asan'}} | ||||||
|       # msvc redist does not ship them |       # msvc redist does not ship them | ||||||
|       shell: powershell |       shell: powershell | ||||||
|       run: | |       run: | | ||||||
| @@ -307,14 +239,18 @@ jobs: | |||||||
|     - name: Compress artifacts |     - name: Compress artifacts | ||||||
|       shell: powershell |       shell: powershell | ||||||
|       run: | |       run: | | ||||||
|         Compress-Archive -Path ${{github.workspace}}/build/bin/* -Destination ${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc-asan-x86_64.zip |         Compress-Archive -Path ${{github.workspace}}/build/bin/* -Destination ${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc${{matrix.type == 'asan' && '-asan' || ''}}-x86_64.zip | ||||||
|  |  | ||||||
|     - uses: actions/upload-artifact@v4 |     - uses: actions/upload-artifact@v4 | ||||||
|       with: |       with: | ||||||
|         name: ${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc-asan-x86_64 |         name: ${{github.event.repository.name}}-${{steps.tag.outputs.name}}-${{runner.os}}-msvc${{matrix.type == 'asan' && '-asan' || ''}}-x86_64 | ||||||
|         # TODO: do propper packing |         # TODO: do propper packing | ||||||
|         path: | |         path: | | ||||||
|           ${{github.workspace}}/${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc-asan-x86_64.zip |           ${{github.workspace}}/${{ github.event.repository.name }}-${{ steps.tag.outputs.name }}-${{ runner.os }}-msvc${{matrix.type == 'asan' && '-asan' || ''}}-x86_64.zip | ||||||
|  |  | ||||||
|  |   #  - name: Configure CMake | ||||||
|  |   #    run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_ASAN=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe -DTOMATO_TOX_AV=ON | ||||||
|  |  | ||||||
|  |  | ||||||
|   dumpsyms: |   dumpsyms: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| @@ -323,7 +259,7 @@ jobs: | |||||||
|       - linux-ubuntu |       - linux-ubuntu | ||||||
|       - android |       - android | ||||||
|       - windows |       - windows | ||||||
|       - windows-asan |       #- windows-asan | ||||||
|  |  | ||||||
|     permissions: |     permissions: | ||||||
|       contents: write |       contents: write | ||||||
| @@ -394,7 +330,7 @@ jobs: | |||||||
|       - linux-ubuntu |       - linux-ubuntu | ||||||
|       - android |       - android | ||||||
|       - windows |       - windows | ||||||
|       - windows-asan |       #- windows-asan | ||||||
|       - dumpsyms |       - dumpsyms | ||||||
|  |  | ||||||
|     permissions: |     permissions: | ||||||
|   | |||||||
							
								
								
									
										47
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -7,13 +7,21 @@ on: | |||||||
|     branches: [ master ] |     branches: [ master ] | ||||||
|  |  | ||||||
| env: | env: | ||||||
|  |   # maybe pull into matrix? | ||||||
|   BUILD_TYPE: Debug |   BUILD_TYPE: Debug | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   linux: |   linux: | ||||||
|     timeout-minutes: 10 |     timeout-minutes: 10 | ||||||
|  |  | ||||||
|     runs-on: ubuntu-latest |     runs-on: ${{matrix.os}} | ||||||
|  |     name:  ${{matrix.type}} on ${{matrix.os}} | ||||||
|  |  | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         type: ['', 'asan'] | ||||||
|  |         os: ['ubuntu-latest', 'ubuntu-24.04-arm'] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v4 |     - uses: actions/checkout@v4 | ||||||
| @@ -26,34 +34,10 @@ jobs: | |||||||
|     - name: ccache |     - name: ccache | ||||||
|       uses: hendrikmuhs/ccache-action@v1.2 |       uses: hendrikmuhs/ccache-action@v1.2 | ||||||
|       with: |       with: | ||||||
|         key: ${{github.event.repository.name}}-${{github.job}} |         key: ${{github.event.repository.name}}-${{github.job}}-${{matrix.os}}-${{matrix.type}} | ||||||
|  |  | ||||||
|     - name: Configure CMake |     - name: Configure CMake | ||||||
|       run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache |       run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DTOMATO_ASAN=${{matrix.type == 'asan' && 'ON' || 'OFF'}} | ||||||
|  |  | ||||||
|     - name: Build |  | ||||||
|       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato |  | ||||||
|  |  | ||||||
|   linux-arm: |  | ||||||
|     timeout-minutes: 10 |  | ||||||
|  |  | ||||||
|     runs-on: ubuntu-24.04-arm |  | ||||||
|  |  | ||||||
|     steps: |  | ||||||
|     - uses: actions/checkout@v4 |  | ||||||
|       with: |  | ||||||
|         submodules: recursive |  | ||||||
|  |  | ||||||
|     - name: Install Dependencies |  | ||||||
|       run: sudo apt update && sudo apt -y install libsodium-dev cmake libx11-dev libxext-dev libxrandr-dev  |  | ||||||
|  |  | ||||||
|     - name: ccache |  | ||||||
|       uses: hendrikmuhs/ccache-action@v1.2 |  | ||||||
|       with: |  | ||||||
|         key: ${{github.event.repository.name}}-${{github.job}} |  | ||||||
|  |  | ||||||
|     - name: Configure CMake |  | ||||||
|       run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache |  | ||||||
|  |  | ||||||
|     - name: Build |     - name: Build | ||||||
|       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato |       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato | ||||||
| @@ -194,15 +178,6 @@ jobs: | |||||||
|       with: |       with: | ||||||
|         arch: amd64 |         arch: amd64 | ||||||
|  |  | ||||||
|     ## sdl_image vendored needs nasm for dav1d |  | ||||||
|     #- uses: ilammy/setup-nasm@v1 |  | ||||||
|  |  | ||||||
|     #- name: ccache |  | ||||||
|     #  uses: hendrikmuhs/ccache-action@v1.2 |  | ||||||
|     #  with: |  | ||||||
|     #    variant: sccache |  | ||||||
|     #    key: ${{github.event.repository.name}}-${{github.job}} |  | ||||||
|  |  | ||||||
|     - name: Configure CMake |     - name: Configure CMake | ||||||
|       run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe |       run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DTOMATO_DEP_LIBWEBP_USE_SYSTEM=ON -DSDLIMAGE_VENDORED=OFF -DSDLIMAGE_DEPS_SHARED=OFF -DSDLIMAGE_JXL=OFF -DSDLIMAGE_AVIF=OFF -DPKG_CONFIG_EXECUTABLE=C:/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe | ||||||
|  |  | ||||||
|   | |||||||
| @@ -82,6 +82,8 @@ target_sources(tomato PUBLIC | |||||||
| 	./sys_tray.cpp | 	./sys_tray.cpp | ||||||
|  |  | ||||||
| 	./string_formatter_utils.hpp | 	./string_formatter_utils.hpp | ||||||
|  | 	./chat_gui/about.hpp | ||||||
|  | 	./chat_gui/about.cpp | ||||||
| 	./chat_gui/theme.hpp | 	./chat_gui/theme.hpp | ||||||
| 	./chat_gui/theme.cpp | 	./chat_gui/theme.cpp | ||||||
| 	./chat_gui/icons/direct.hpp | 	./chat_gui/icons/direct.hpp | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								src/chat_gui/about.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/chat_gui/about.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | |||||||
|  | #include "./about.hpp" | ||||||
|  |  | ||||||
|  | #include "./version.hpp" | ||||||
|  |  | ||||||
|  | #include <imgui.h> | ||||||
|  |  | ||||||
|  | #include <string> | ||||||
|  |  | ||||||
|  | void ImGuiTomatoAbout(void) { | ||||||
|  | 	if (ImGui::BeginTabBar("about")) { | ||||||
|  | 		if (ImGui::BeginTabItem("tomato")) { | ||||||
|  | 			std::string tomato_version_string {"tomato " TOMATO_VERSION_STR}; | ||||||
|  | 			if (TOMATO_GIT_DEPTH != 0) { | ||||||
|  | 				tomato_version_string += "-" + std::to_string(TOMATO_GIT_DEPTH); | ||||||
|  | 			} | ||||||
|  | 			if (std::string_view{TOMATO_GIT_COMMIT} != "UNK") { | ||||||
|  | 				tomato_version_string += "+git."; | ||||||
|  | 				tomato_version_string += TOMATO_GIT_COMMIT; | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			ImGui::TextUnformatted(tomato_version_string.c_str()); | ||||||
|  |  | ||||||
|  | 			ImGui::SameLine(); | ||||||
|  | 			if (ImGui::SmallButton("click to copy")) { | ||||||
|  | 				ImGui::SetClipboardText(tomato_version_string.c_str()); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			ImGui::Separator(); | ||||||
|  |  | ||||||
|  | 			ImGui::TextUnformatted("TODO: tomato license"); | ||||||
|  |  | ||||||
|  | 			ImGui::EndTabItem(); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		if (ImGui::BeginTabItem("imgui")) { | ||||||
|  | 			ImGui::ShowAboutWindow(); | ||||||
|  | 			ImGui::EndTabItem(); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		if (ImGui::BeginTabItem("others")) { | ||||||
|  | 			ImGui::TextUnformatted("TODO: list all the other libs and their licenses"); | ||||||
|  | 			ImGui::EndTabItem(); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		if (ImGui::BeginTabItem("funding")) { | ||||||
|  | 			ImGui::TextWrapped("Your Help is needed, to keep the project alive, expand it's features and to inspire new features!"); | ||||||
|  | 			ImGui::TextLinkOpenURL("https://github.com/sponsors/Green-Sky"); | ||||||
|  | 			ImGui::TextUnformatted("Contact Me for more ways to help the project. :)"); | ||||||
|  | 			ImGui::EndTabItem(); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		ImGui::EndTabBar(); | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								src/chat_gui/about.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/chat_gui/about.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | // not a window, just the content | ||||||
|  | void ImGuiTomatoAbout(void); | ||||||
|  |  | ||||||
| @@ -5,6 +5,8 @@ | |||||||
|  |  | ||||||
| #include <solanaceae/contact/components.hpp> | #include <solanaceae/contact/components.hpp> | ||||||
|  |  | ||||||
|  | #include "./chat_gui/about.hpp" | ||||||
|  |  | ||||||
| #include "./frame_streams/sdl/sdl_audio2_frame_stream2.hpp" | #include "./frame_streams/sdl/sdl_audio2_frame_stream2.hpp" | ||||||
| #include "./frame_streams/sdl/sdl_video_frame_stream2.hpp" | #include "./frame_streams/sdl/sdl_video_frame_stream2.hpp" | ||||||
|  |  | ||||||
| @@ -433,6 +435,9 @@ Screen* MainScreen::render(float time_delta, bool&) { | |||||||
|  |  | ||||||
| 					ImGui::EndMenu(); | 					ImGui::EndMenu(); | ||||||
| 				} | 				} | ||||||
|  | 				if (ImGui::MenuItem("About", nullptr, _show_about)) { | ||||||
|  | 					_show_about = !_show_about; | ||||||
|  | 				} | ||||||
| 				ImGui::EndMenuBar(); | 				ImGui::EndMenuBar(); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| @@ -467,6 +472,13 @@ Screen* MainScreen::render(float time_delta, bool&) { | |||||||
| 		ImGui::ShowDemoWindow(&_show_tool_demo); | 		ImGui::ShowDemoWindow(&_show_tool_demo); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if (_show_about) { | ||||||
|  | 		if (ImGui::Begin("About", &_show_about, ImGuiWindowFlags_AlwaysAutoResize)) { | ||||||
|  | 			ImGuiTomatoAbout(); | ||||||
|  | 		} | ||||||
|  | 		ImGui::End(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	_compute_lower_limit_hit_rendered = true; | 	_compute_lower_limit_hit_rendered = true; | ||||||
|  |  | ||||||
| 	float tc_unfinished_queue_interval; | 	float tc_unfinished_queue_interval; | ||||||
|   | |||||||
| @@ -117,6 +117,7 @@ struct MainScreen final : public Screen { | |||||||
| 	bool _show_tool_debug_log {false}; | 	bool _show_tool_debug_log {false}; | ||||||
| 	bool _show_tool_id_stack {false}; | 	bool _show_tool_id_stack {false}; | ||||||
| 	bool _show_tool_demo {false}; | 	bool _show_tool_demo {false}; | ||||||
|  | 	bool _show_about {false}; | ||||||
|  |  | ||||||
| 	bool _window_focused {true}; | 	bool _window_focused {true}; | ||||||
| 	bool _window_hidden {false}; | 	bool _window_hidden {false}; | ||||||
|   | |||||||
| @@ -4,6 +4,8 @@ | |||||||
|  |  | ||||||
| #include "./json_to_config.hpp" | #include "./json_to_config.hpp" | ||||||
|  |  | ||||||
|  | #include "./chat_gui/about.hpp" | ||||||
|  |  | ||||||
| #include <nlohmann/json.hpp> | #include <nlohmann/json.hpp> | ||||||
|  |  | ||||||
| #include <imgui.h> | #include <imgui.h> | ||||||
| @@ -393,6 +395,12 @@ Screen* StartScreen::render(float, bool&) { | |||||||
|  |  | ||||||
| 				ImGui::EndTabItem(); | 				ImGui::EndTabItem(); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | 			if (ImGui::BeginTabItem("about")) { | ||||||
|  | 				ImGuiTomatoAbout(); | ||||||
|  | 				ImGui::EndTabItem(); | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			ImGui::EndTabBar(); | 			ImGui::EndTabBar(); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user