├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── CMakeSettings.json ├── Readme.md ├── app_config.h.in ├── certs ├── password ├── readme.md ├── server.crt └── server.key ├── config.cmake ├── deps ├── CMakeLists.txt └── tc_signaling_sdk │ └── Readme.md ├── docs ├── How_to_build.md ├── How_to_deploy.md ├── How_to_deploy_CN.md ├── How_to_use.md ├── images │ ├── GammaRay.png │ ├── android_1.png │ ├── android_2.png │ ├── android_3.png │ ├── android_4.png │ ├── android_5.jpg │ ├── android_7.jpg │ ├── android_8.jpg │ ├── android_9.jpg │ ├── android_prepare_1.jpg │ ├── android_prepare_2.jpg │ ├── client.jpg │ ├── client_add_remote.png │ ├── client_file_transfer.png │ ├── client_main.png │ ├── client_status.jpg │ ├── clipboard_file_trans.gif │ ├── connect_1.png │ ├── connect_1_1.png │ ├── connect_2.png │ ├── file_trans.gif │ ├── file_transfer.jpg │ ├── game.jpg │ ├── install_progress.gif │ ├── main.jpg │ ├── multi-screen_switch_display.gif │ ├── multi-screen_switch_imultaneous_display.gif │ ├── screen_recording.gif │ ├── security.jpg │ ├── server_main.png │ ├── server_settings.png │ ├── spectrum_1.gif │ ├── spectrum_2.gif │ ├── spectrum_3.gif │ ├── srv_add_game.png │ ├── srv_main.png │ ├── srv_settings.png │ ├── srv_steam.png │ ├── statistics.gif │ ├── status.jpg │ ├── test1.gif │ ├── test2.gif │ └── test3.gif └── usage │ ├── use_1.png │ ├── use_2.png │ ├── use_3.png │ ├── use_4.png │ ├── use_5.png │ └── use_6.png ├── env_settings.cmake ├── env_settings.cmake.back ├── icon.ico ├── icon.rc.in ├── main.cpp ├── package ├── app │ └── reademe.txt ├── clear_icons_cache.bat ├── config │ └── config.xml ├── delete_service.ps1 ├── gen_pack_name.py ├── image │ ├── header.bmp │ ├── logo.ico │ ├── uninstall.ico │ └── welcome.bmp ├── install.py ├── kill.ps1 ├── license.rtf ├── package.bat ├── packages │ └── com.rgaa.gammaray │ │ ├── data │ │ └── README.txt │ │ └── meta │ │ ├── installscript.qs │ │ └── package.xml ├── proj_version.nsh └── readme.md ├── prebuild └── win │ └── gr_sysinfo.exe ├── res.qrc ├── resources ├── avatar.png ├── icons │ ├── 1.png │ ├── 10.png │ ├── 11.png │ ├── 12.png │ ├── 13.png │ ├── 14.png │ ├── 15.png │ ├── 16.png │ ├── 17.png │ ├── 18.png │ ├── 19.png │ ├── 2.png │ ├── 20.png │ ├── 21.png │ ├── 22.png │ ├── 23.png │ ├── 24.png │ ├── 25.png │ ├── 26.png │ ├── 27.png │ ├── 28.png │ ├── 29.png │ ├── 3.png │ ├── 30.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ ├── 9.png │ ├── ic_empty.svg │ ├── ic_game_controller.svg │ ├── ic_port.svg │ ├── ic_renderer.svg │ ├── ic_server.svg │ ├── ic_service.svg │ ├── ic_spectrum.svg │ ├── logo_android.png │ └── logo_windows.png ├── image │ ├── bc_icon.png │ ├── bc_icon_raw.png │ ├── btn_close.png │ ├── btn_ok.png │ ├── dota2_cache.jpg │ ├── empty.svg │ ├── ic_agree.svg │ ├── ic_android.svg │ ├── ic_arrow_right_1.svg │ ├── ic_arrow_right_2.svg │ ├── ic_audio_off.svg │ ├── ic_audio_on.svg │ ├── ic_avatar_normal.svg │ ├── ic_avatar_selected.svg │ ├── ic_check.svg │ ├── ic_clear.svg │ ├── ic_clipboard_off.svg │ ├── ic_clipboard_on.svg │ ├── ic_close.svg │ ├── ic_close_notification.svg │ ├── ic_computer.svg │ ├── ic_control.svg │ ├── ic_controller_hand.svg │ ├── ic_copy.svg │ ├── ic_debug_off.svg │ ├── ic_debug_on.svg │ ├── ic_decline.svg │ ├── ic_default_avatar.svg │ ├── ic_desktop.svg │ ├── ic_device_normal.svg │ ├── ic_device_selected.svg │ ├── ic_device_used.svg │ ├── ic_empty_avatar.svg │ ├── ic_expand.svg │ ├── ic_file_transfer.svg │ ├── ic_fullscreen.svg │ ├── ic_fullscreen_exit.svg │ ├── ic_game_normal.svg │ ├── ic_game_selected.svg │ ├── ic_hard_disk.svg │ ├── ic_hw_cpu.svg │ ├── ic_hw_normal.svg │ ├── ic_hw_selected.svg │ ├── ic_icon_normal.svg │ ├── ic_icon_selected.svg │ ├── ic_info.svg │ ├── ic_information.svg │ ├── ic_ios.svg │ ├── ic_key.svg │ ├── ic_key_blue.svg │ ├── ic_loading_bg.svg │ ├── ic_mail.svg │ ├── ic_media_record.svg │ ├── ic_memory.svg │ ├── ic_minimize.svg │ ├── ic_mode.svg │ ├── ic_network.svg │ ├── ic_not_login.svg │ ├── ic_notify.png │ ├── ic_notify_err.png │ ├── ic_notify_warn.png │ ├── ic_open_notification.svg │ ├── ic_os_version.svg │ ├── ic_plugin.svg │ ├── ic_pwd_visibility_off.svg │ ├── ic_pwd_visibility_on.svg │ ├── ic_question.svg │ ├── ic_refresh.svg │ ├── ic_running.svg │ ├── ic_save.svg │ ├── ic_screen_shot.svg │ ├── ic_served.svg │ ├── ic_settings.svg │ ├── ic_settings_normal.svg │ ├── ic_settings_outline_normal.svg │ ├── ic_settings_outline_selected.svg │ ├── ic_settings_security_normal.svg │ ├── ic_settings_security_selected.svg │ ├── ic_settings_selected.svg │ ├── ic_statistics_normal.svg │ ├── ic_statistics_selected.svg │ ├── ic_stream_normal.svg │ ├── ic_stream_selected.svg │ ├── ic_transfer.png │ ├── ic_transfer.svg │ ├── ic_vert_dots.svg │ ├── ic_vert_dots_hover.svg │ ├── ic_vert_dots_pressed.svg │ ├── ic_volume_off.svg │ ├── ic_volume_on.svg │ ├── ic_warning.svg │ ├── ic_windows_direct.svg │ ├── ic_windows_relay.svg │ ├── logo_server.png │ ├── logo_text.png │ ├── msg_error.png │ ├── msg_info.png │ ├── msg_question.png │ ├── tc_icon_raw.png │ └── test_cover.png ├── language │ ├── english.json │ ├── simple_cn.json │ └── traditional_cn.json ├── main.qrc ├── qss.qrc ├── qss │ ├── lightblue.css │ └── lightblue │ │ ├── add_bottom.png │ │ ├── add_left.png │ │ ├── add_right.png │ │ ├── add_top.png │ │ ├── arrow_bottom.png │ │ ├── arrow_left.png │ │ ├── arrow_right.png │ │ ├── arrow_top.png │ │ ├── branch_close.png │ │ ├── branch_open.png │ │ ├── calendar_nextmonth.png │ │ ├── calendar_prevmonth.png │ │ ├── checkbox_checked.png │ │ ├── checkbox_checked_disable.png │ │ ├── checkbox_parcial.png │ │ ├── checkbox_parcial_disable.png │ │ ├── checkbox_unchecked.png │ │ ├── checkbox_unchecked_disable.png │ │ ├── menu_checked.png │ │ ├── radiobutton_checked.png │ │ ├── radiobutton_checked_disable.png │ │ ├── radiobutton_unchecked.png │ │ └── radiobutton_unchecked_disable.png ├── qt_material │ ├── LICENSE │ ├── README.md │ ├── fonts │ │ └── roboto │ │ │ ├── LICENSE │ │ │ ├── Roboto-Black.ttf │ │ │ ├── Roboto-BlackItalic.ttf │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-BoldItalic.ttf │ │ │ ├── Roboto-Italic.ttf │ │ │ ├── Roboto-Light.ttf │ │ │ ├── Roboto-LightItalic.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ ├── Roboto-MediumItalic.ttf │ │ │ ├── Roboto-Regular.ttf │ │ │ ├── Roboto-Thin.ttf │ │ │ ├── Roboto-ThinItalic.ttf │ │ │ ├── RobotoCondensed-Bold.ttf │ │ │ ├── RobotoCondensed-BoldItalic.ttf │ │ │ ├── RobotoCondensed-Italic.ttf │ │ │ ├── RobotoCondensed-Light.ttf │ │ │ ├── RobotoCondensed-LightItalic.ttf │ │ │ └── RobotoCondensed-Regular.ttf │ ├── logo │ │ ├── logo.svg │ │ └── logo_frame.svg │ ├── material.css.template │ ├── material.json │ ├── material_icon.svg │ ├── resources │ │ ├── base.svg │ │ ├── branch-closed.svg │ │ ├── branch-end.svg │ │ ├── branch-more.svg │ │ ├── branch-open.svg │ │ ├── checkbox_checked.svg │ │ ├── checkbox_checked_invert.svg │ │ ├── checkbox_indeterminate.svg │ │ ├── checkbox_indeterminate_invert.svg │ │ ├── checkbox_unchecked.svg │ │ ├── checkbox_unchecked_invert.svg │ │ ├── checklist.svg │ │ ├── checklist_indeterminate.svg │ │ ├── checklist_indeterminate_invert.svg │ │ ├── checklist_invert.svg │ │ ├── close.svg │ │ ├── downarrow.svg │ │ ├── downarrow2.svg │ │ ├── float.svg │ │ ├── leftarrow.svg │ │ ├── leftarrow2.svg │ │ ├── radiobutton_checked.svg │ │ ├── radiobutton_checked_invert.svg │ │ ├── radiobutton_unchecked.svg │ │ ├── radiobutton_unchecked_invert.svg │ │ ├── rightarrow.svg │ │ ├── rightarrow2.svg │ │ ├── sizegrip.svg │ │ ├── slider.svg │ │ ├── splitter-horizontal.svg │ │ ├── splitter-vertical.svg │ │ ├── tab_close.svg │ │ ├── toolbar-handle-horizontal.svg │ │ ├── toolbar-handle-vertical.svg │ │ ├── uparrow.svg │ │ ├── uparrow2.svg │ │ └── vline.svg │ └── themes │ │ ├── dark_amber.xml │ │ ├── dark_blue.xml │ │ ├── dark_cyan.xml │ │ ├── dark_lightgreen.xml │ │ ├── dark_pink.xml │ │ ├── dark_purple.xml │ │ ├── dark_red.xml │ │ ├── dark_teal.xml │ │ ├── dark_yellow.xml │ │ ├── light_amber.xml │ │ ├── light_blue.xml │ │ ├── light_cyan.xml │ │ ├── light_cyan_500.xml │ │ ├── light_lightgreen.xml │ │ ├── light_pink.xml │ │ ├── light_purple.xml │ │ ├── light_red.xml │ │ ├── light_teal.xml │ │ └── light_yellow.xml ├── social │ ├── ic_bilibili.svg │ ├── ic_github.svg │ ├── ic_steam.svg │ ├── ic_tiktok.svg │ └── ic_youtube.svg ├── tc_icon.png ├── tc_icon_raw.png ├── tc_logo_text_trans_bg.png ├── tc_logo_text_white_bg.png ├── tc_trans_icon_blue.png ├── tc_trans_icon_white.png └── window-bar │ ├── close.svg │ ├── dark-style.qss │ ├── fullscreen.svg │ ├── light-style.qss │ ├── maximize.svg │ ├── minimize.svg │ ├── more-line.svg │ ├── pin-fill.svg │ ├── pin.svg │ └── restore.svg ├── src ├── CMakeLists.txt ├── app_colors.cpp ├── app_colors.h ├── client │ ├── CMakeLists.txt │ ├── api │ │ ├── ct_panel_api.cpp │ │ ├── ct_panel_api.h │ │ ├── ct_render_api.cpp │ │ └── ct_render_api.h │ ├── ct_app_message.h │ ├── ct_application.cpp │ ├── ct_application.h │ ├── ct_audio_player.cpp │ ├── ct_audio_player.h │ ├── ct_base_workspace.cpp │ ├── ct_base_workspace.h │ ├── ct_client_context.cpp │ ├── ct_client_context.h │ ├── ct_const_def.h │ ├── ct_game_overlay.cpp │ ├── ct_game_overlay.h │ ├── ct_game_view.cpp │ ├── ct_game_view.h │ ├── ct_main_progress.cpp │ ├── ct_main_progress.h │ ├── ct_main_ws.cpp │ ├── ct_qt_key_converter.cpp │ ├── ct_qt_key_converter.h │ ├── ct_settings.cpp │ ├── ct_settings.h │ ├── ct_stream_item_net_type.h │ ├── ct_workspace.cpp │ ├── ct_workspace.h │ ├── front_render │ │ ├── ct_video_widget.cpp │ │ ├── ct_video_widget.h │ │ ├── d3d11 │ │ │ ├── ct_d3d11_video_widget.cpp │ │ │ ├── ct_d3d11_video_widget.h │ │ │ ├── d3d11_common_types.h │ │ │ ├── d3d11_render_manager.cpp │ │ │ ├── d3d11_render_manager.h │ │ │ ├── pixel_shader_420p.h │ │ │ ├── pixel_shader_nv12.h │ │ │ ├── raw_sdl_widget.cpp │ │ │ ├── raw_sdl_widget.h │ │ │ └── vertex_shader.h │ │ ├── opengl │ │ │ ├── ct_director.cpp │ │ │ ├── ct_director.h │ │ │ ├── ct_opengl_api.h │ │ │ ├── ct_opengl_image_reader.cpp │ │ │ ├── ct_opengl_image_reader.h │ │ │ ├── ct_opengl_video_widget.cpp │ │ │ ├── ct_opengl_video_widget.h │ │ │ ├── ct_renderer.cpp │ │ │ ├── ct_renderer.h │ │ │ ├── ct_shader_program.cpp │ │ │ ├── ct_shader_program.h │ │ │ ├── ct_sprite.cpp │ │ │ ├── ct_sprite.h │ │ │ └── ct_video_widget_shaders.h │ │ ├── resource │ │ │ ├── yuv_util.cpp │ │ │ └── yuv_util.h │ │ ├── sdl │ │ │ ├── ct_sdl_video_widget.cpp │ │ │ └── ct_sdl_video_widget.h │ │ └── vulkan │ │ │ ├── ct_test_ffmpeg_vulkan_decoder.cpp │ │ │ ├── ct_test_ffmpeg_vulkan_decoder.h │ │ │ ├── ct_test_vulkan_video_widget.cpp │ │ │ ├── ct_test_vulkan_video_widget.h │ │ │ ├── ct_vulkan_checker.cpp │ │ │ ├── ct_vulkan_checker.h │ │ │ ├── ct_vulkan_video_widget.cpp │ │ │ ├── ct_vulkan_video_widget.h │ │ │ ├── pl_vulkan.cpp │ │ │ ├── pl_vulkan.h │ │ │ └── plvk_c.c │ ├── icon.ico │ ├── icon.rc │ ├── network │ │ ├── ct_panel_client.cpp │ │ ├── ct_panel_client.h │ │ ├── ct_spvr_client.cpp │ │ └── ct_spvr_client.h │ ├── plugin_interface │ │ ├── CMakeLists.txt │ │ ├── ct_media_record_plugin_interface.cpp │ │ ├── ct_media_record_plugin_interface.h │ │ ├── ct_plugin_context.cpp │ │ ├── ct_plugin_context.h │ │ ├── ct_plugin_interface.cpp │ │ ├── ct_plugin_interface.h │ │ └── ct_plugin_settings.h │ ├── plugins │ │ ├── CMakeLists.txt │ │ ├── ct_app_events.h │ │ ├── ct_plugin_event_router.cpp │ │ ├── ct_plugin_event_router.h │ │ ├── ct_plugin_events.h │ │ ├── ct_plugin_ids.h │ │ ├── ct_plugin_manager.cpp │ │ ├── ct_plugin_manager.h │ │ └── multi_screens │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── multi_screens_plugin.cpp │ │ │ ├── multi_screens_plugin.h │ │ │ └── plugin_multi_screens.dll.toml │ ├── resources.qrc │ ├── resources │ │ ├── font │ │ │ └── ms_yahei.ttf │ │ ├── image │ │ │ ├── bc_icon.png │ │ │ ├── bc_icon_raw.png │ │ │ ├── btn_close.png │ │ │ ├── btn_ok.png │ │ │ ├── dota2_cache.jpg │ │ │ ├── empty.svg │ │ │ ├── ic_agree.svg │ │ │ ├── ic_arrow_right_1.svg │ │ │ ├── ic_arrow_right_2.svg │ │ │ ├── ic_audio_off.svg │ │ │ ├── ic_audio_on.svg │ │ │ ├── ic_check.svg │ │ │ ├── ic_clipboard_off.svg │ │ │ ├── ic_clipboard_on.svg │ │ │ ├── ic_close.svg │ │ │ ├── ic_close_notification.svg │ │ │ ├── ic_computer.svg │ │ │ ├── ic_control.svg │ │ │ ├── ic_debug_off.svg │ │ │ ├── ic_debug_on.svg │ │ │ ├── ic_decline.svg │ │ │ ├── ic_desktop.svg │ │ │ ├── ic_expand.svg │ │ │ ├── ic_file_transfer.svg │ │ │ ├── ic_fullscreen.svg │ │ │ ├── ic_fullscreen_exit.svg │ │ │ ├── ic_hard_disk.svg │ │ │ ├── ic_hw_cpu.svg │ │ │ ├── ic_icon_normal.svg │ │ │ ├── ic_icon_selected.svg │ │ │ ├── ic_info.svg │ │ │ ├── ic_information.svg │ │ │ ├── ic_loading_bg.svg │ │ │ ├── ic_mail.svg │ │ │ ├── ic_media_record.svg │ │ │ ├── ic_memory.svg │ │ │ ├── ic_minimize.svg │ │ │ ├── ic_mode.svg │ │ │ ├── ic_network.svg │ │ │ ├── ic_notify.png │ │ │ ├── ic_notify_err.png │ │ │ ├── ic_notify_warn.png │ │ │ ├── ic_open_notification.svg │ │ │ ├── ic_os_version.svg │ │ │ ├── ic_running.svg │ │ │ ├── ic_screen_shot.svg │ │ │ ├── ic_settings.svg │ │ │ ├── ic_settings_normal.svg │ │ │ ├── ic_statistics.svg │ │ │ ├── ic_stream.svg │ │ │ ├── ic_transfer.png │ │ │ ├── ic_transfer.svg │ │ │ ├── ic_vert_dots.svg │ │ │ ├── ic_vert_dots_hover.svg │ │ │ ├── ic_vert_dots_pressed.svg │ │ │ ├── ic_volume_off.svg │ │ │ ├── ic_volume_on.svg │ │ │ ├── ic_warning.svg │ │ │ ├── logo_text.png │ │ │ ├── msg_error.png │ │ │ ├── msg_info.png │ │ │ ├── msg_question.png │ │ │ ├── recording.png │ │ │ ├── recording.svg │ │ │ ├── recording2.svg │ │ │ ├── separate_monitor.svg │ │ │ └── windows.svg │ │ ├── main.qrc │ │ ├── tc_icon.png │ │ ├── tc_icon_raw.png │ │ ├── tc_logo_text_trans_bg.png │ │ ├── tc_logo_text_white_bg.png │ │ ├── tc_trans_icon_blue.png │ │ ├── tc_trans_icon_white.png │ │ └── window-bar │ │ │ ├── close.svg │ │ │ ├── dark-style.qss │ │ │ ├── fullscreen.svg │ │ │ ├── light-style.qss │ │ │ ├── maximize.svg │ │ │ ├── minimize.svg │ │ │ ├── more-line.svg │ │ │ ├── pin-fill.svg │ │ │ ├── pin.svg │ │ │ └── restore.svg │ ├── transfer │ │ ├── file_transfer.cpp │ │ ├── file_transfer.h │ │ ├── file_transfer_events.h │ │ ├── file_writer.cpp │ │ ├── file_writer.h │ │ ├── fs_file.cpp │ │ ├── fs_file.h │ │ ├── fs_folder.cpp │ │ ├── fs_folder.h │ │ ├── fs_object.cpp │ │ ├── fs_object.h │ │ └── readme.txt │ └── ui │ │ ├── about_content.cpp │ │ ├── about_content.h │ │ ├── app_color_theme.cpp │ │ ├── app_color_theme.h │ │ ├── app_content.cpp │ │ ├── app_content.h │ │ ├── app_menu.cpp │ │ ├── app_menu.h │ │ ├── background_widget.cpp │ │ ├── background_widget.h │ │ ├── base_widget.cpp │ │ ├── base_widget.h │ │ ├── computer_icon.cpp │ │ ├── computer_icon.h │ │ ├── ct_stat_chart.cpp │ │ ├── ct_stat_chart.h │ │ ├── ct_stat_frame_info_item.cpp │ │ ├── ct_stat_frame_info_item.h │ │ ├── ct_statistics_panel.cpp │ │ ├── ct_statistics_panel.h │ │ ├── float_3rd_resolution_panel.cpp │ │ ├── float_3rd_resolution_panel.h │ │ ├── float_3rd_scale_panel.cpp │ │ ├── float_3rd_scale_panel.h │ │ ├── float_button.cpp │ │ ├── float_button.h │ │ ├── float_button_state_indicator.cpp │ │ ├── float_button_state_indicator.h │ │ ├── float_controller.cpp │ │ ├── float_controller.h │ │ ├── float_controller_panel.cpp │ │ ├── float_controller_panel.h │ │ ├── float_icon.cpp │ │ ├── float_icon.h │ │ ├── float_notification_handle.cpp │ │ ├── float_notification_handle.h │ │ ├── float_sub_control_panel.cpp │ │ ├── float_sub_control_panel.h │ │ ├── float_sub_display_panel.cpp │ │ ├── float_sub_display_panel.h │ │ ├── float_sub_fps_panel.cpp │ │ ├── float_sub_fps_panel.h │ │ ├── float_sub_mode_panel.cpp │ │ ├── float_sub_mode_panel.h │ │ ├── key_state_panel.cpp │ │ ├── key_state_panel.h │ │ ├── media_record_sign_lab.cpp │ │ ├── media_record_sign_lab.h │ │ ├── multi_display_mode_widget.cpp │ │ ├── multi_display_mode_widget.h │ │ ├── no_margin_layout.cpp │ │ ├── no_margin_layout.h │ │ ├── notification_item.cpp │ │ ├── notification_item.h │ │ ├── notification_panel.cpp │ │ ├── notification_panel.h │ │ ├── retry_conn_dialog.cpp │ │ ├── retry_conn_dialog.h │ │ ├── round_rect_widget.cpp │ │ ├── round_rect_widget.h │ │ ├── settings_content.cpp │ │ ├── settings_content.h │ │ ├── svg_lable.cpp │ │ ├── svg_lable.h │ │ ├── switch_button.cpp │ │ └── switch_button.h ├── crash_reporter │ ├── CMakeLists.txt │ └── crash_reporter_main.cpp ├── hw_info │ ├── CMakeLists.txt │ ├── hw_cpu_detail_item.cpp │ ├── hw_cpu_detail_item.h │ ├── hw_cpu_detail_widget.cpp │ ├── hw_cpu_detail_widget.h │ ├── hw_gpu_widget.cpp │ ├── hw_gpu_widget.h │ ├── hw_info.h │ ├── hw_info_parser.cpp │ ├── hw_info_parser.h │ ├── hw_info_widget.cpp │ ├── hw_info_widget.h │ ├── hw_stat_chart.cpp │ └── hw_stat_chart.h ├── render │ ├── CMakeLists.txt │ ├── app │ │ ├── CMakeLists.txt │ │ ├── app_manager.cpp │ │ ├── app_manager.h │ │ ├── app_manager_factory.cpp │ │ ├── app_manager_factory.h │ │ ├── app_manager_linux.cpp │ │ ├── app_manager_linux.h │ │ ├── app_messages.h │ │ ├── app_shared_info.cpp │ │ ├── app_shared_info.h │ │ ├── app_timer.cpp │ │ ├── app_timer.h │ │ ├── encoder_thread.cpp │ │ ├── encoder_thread.h │ │ ├── global_id_generator.cpp │ │ ├── global_id_generator.h │ │ ├── monitor_refresher.cpp │ │ ├── monitor_refresher.h │ │ ├── steam_game.cpp │ │ ├── steam_game.h │ │ └── win │ │ │ ├── app_manager_win.cpp │ │ │ ├── app_manager_win.h │ │ │ ├── dx_address_loader.cpp │ │ │ ├── dx_address_loader.h │ │ │ ├── win_desktop_manager.cpp │ │ │ ├── win_desktop_manager.h │ │ │ ├── win_event_replayer.cpp │ │ │ ├── win_event_replayer.h │ │ │ ├── win_render_message_loop.cpp │ │ │ ├── win_render_message_loop.h │ │ │ ├── win_render_message_window.cpp │ │ │ └── win_render_message_window.h │ ├── app_global_messages.h │ ├── certificate.pem │ ├── network │ │ ├── net_message_maker.cpp │ │ ├── net_message_maker.h │ │ ├── render_service_client.cpp │ │ ├── render_service_client.h │ │ ├── server_cast.cpp │ │ ├── server_cast.h │ │ ├── ws_data.h │ │ ├── ws_ipc_router.cpp │ │ ├── ws_ipc_router.h │ │ ├── ws_media_router.cpp │ │ ├── ws_media_router.h │ │ ├── ws_panel_client.cpp │ │ ├── ws_panel_client.h │ │ ├── ws_router.h │ │ └── wss_router.h │ ├── plugin_interface │ │ ├── CMakeLists.txt │ │ ├── gr_audio_encoder_plugin.cpp │ │ ├── gr_audio_encoder_plugin.h │ │ ├── gr_data_provider_plugin.cpp │ │ ├── gr_data_provider_plugin.h │ │ ├── gr_frame_carrier_plugin.cpp │ │ ├── gr_frame_carrier_plugin.h │ │ ├── gr_frame_processor_plugin.cpp │ │ ├── gr_frame_processor_plugin.h │ │ ├── gr_monitor_capture_plugin.cpp │ │ ├── gr_monitor_capture_plugin.h │ │ ├── gr_net_plugin.cpp │ │ ├── gr_net_plugin.h │ │ ├── gr_net_plugin_type.h │ │ ├── gr_plugin_context.cpp │ │ ├── gr_plugin_context.h │ │ ├── gr_plugin_events.h │ │ ├── gr_plugin_interface.cpp │ │ ├── gr_plugin_interface.h │ │ ├── gr_plugin_settings_info.h │ │ ├── gr_stream_plugin.cpp │ │ ├── gr_stream_plugin.h │ │ ├── gr_video_encoder_plugin.cpp │ │ └── gr_video_encoder_plugin.h │ ├── plugins │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── dda_capture │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── cursor_capture.cpp │ │ │ ├── cursor_capture.h │ │ │ ├── dda_capture.cpp │ │ │ ├── dda_capture.h │ │ │ ├── dda_capture_plugin.cpp │ │ │ ├── dda_capture_plugin.h │ │ │ ├── monitor_util.h │ │ │ └── plugin_dda_capture.dll.toml │ │ ├── event_replayer │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── event_replayer_plugin.cpp │ │ │ ├── event_replayer_plugin.h │ │ │ ├── plugin_event_replayer.dll.toml │ │ │ ├── win_event_replayer.cpp │ │ │ └── win_event_replayer.h │ │ ├── ffmpeg_encoder │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── ffmpeg_encoder.cpp │ │ │ ├── ffmpeg_encoder.h │ │ │ ├── ffmpeg_encoder_defs.h │ │ │ ├── ffmpeg_encoder_plugin.cpp │ │ │ ├── ffmpeg_encoder_plugin.h │ │ │ └── plugin_ffmpeg_encoder.dll.toml │ │ ├── frame_carrier │ │ │ ├── plugin_frame_carrier.dll │ │ │ └── plugin_frame_carrier.dll.toml │ │ ├── frame_debugger │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── frame_debugger_plugin.cpp │ │ │ ├── frame_debugger_plugin.h │ │ │ └── plugin_frame_debugger.dll.toml │ │ ├── mock_video_stream │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── mock_video_stream_plugin.cpp │ │ │ ├── mock_video_stream_plugin.h │ │ │ └── plugin_mock_video_stream.dll.toml │ │ ├── net_ws │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── http_handler.cpp │ │ │ ├── http_handler.h │ │ │ ├── plugin_net_ws.dll.toml │ │ │ ├── ws_filetransfer_router.cpp │ │ │ ├── ws_filetransfer_router.h │ │ │ ├── ws_plugin.cpp │ │ │ ├── ws_plugin.h │ │ │ ├── ws_server.cpp │ │ │ ├── ws_server.h │ │ │ ├── ws_stream_router.cpp │ │ │ └── ws_stream_router.h │ │ ├── opus_encoder │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── opus_encoder_plugin.cpp │ │ │ ├── opus_encoder_plugin.h │ │ │ └── plugin_opus_encoder.dll.toml │ │ ├── plugin_desktop_capture.cpp │ │ ├── plugin_desktop_capture.h │ │ ├── plugin_event_router.cpp │ │ ├── plugin_event_router.h │ │ ├── plugin_ids.h │ │ ├── plugin_manager.cpp │ │ ├── plugin_manager.h │ │ ├── plugin_net_event_router.cpp │ │ ├── plugin_net_event_router.h │ │ ├── plugin_stream_event_router.cpp │ │ ├── plugin_stream_event_router.h │ │ └── was_audio_capture │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── audio_capture.h │ │ │ ├── plugin_was_audio_capture.dll.toml │ │ │ ├── was_audio_capture_plugin.cpp │ │ │ ├── was_audio_capture_plugin.h │ │ │ ├── wasapi_audio_capture.cpp │ │ │ └── wasapi_audio_capture.h │ ├── private.key │ ├── rd_app.cpp │ ├── rd_app.h │ ├── rd_context.cpp │ ├── rd_context.h │ ├── rd_icon.rc.in │ ├── rd_main.cpp │ ├── rd_statistics.cpp │ ├── rd_statistics.h │ ├── settings.toml │ └── settings │ │ ├── CMakeLists.txt │ │ ├── rd_settings.cpp │ │ └── rd_settings.h ├── render_panel │ ├── CMakeLists.txt │ ├── clipboard │ │ ├── panel_clipboard_manager.cpp │ │ ├── panel_clipboard_manager.h │ │ └── win │ │ │ ├── panel_cp_data_object.cpp │ │ │ ├── panel_cp_data_object.h │ │ │ ├── panel_cp_file_stream.cpp │ │ │ ├── panel_cp_file_stream.h │ │ │ ├── panel_cp_file_struct.h │ │ │ ├── panel_cp_virtual_file.cpp │ │ │ └── panel_cp_virtual_file.h │ ├── companion │ │ ├── CMakeLists.txt │ │ ├── panel_companion.cpp │ │ └── panel_companion.h │ ├── database │ │ ├── db_game.cpp │ │ ├── db_game.h │ │ ├── db_game_operator.cpp │ │ ├── db_game_operator.h │ │ ├── file_transfer_record.cpp │ │ ├── file_transfer_record.h │ │ ├── file_transfer_record_operator.cpp │ │ ├── file_transfer_record_operator.h │ │ ├── gr_database.cpp │ │ ├── gr_database.h │ │ ├── stream_db_operator.cpp │ │ ├── stream_db_operator.h │ │ ├── visit_record.cpp │ │ ├── visit_record.h │ │ ├── visit_record_operator.cpp │ │ └── visit_record_operator.h │ ├── devices │ │ ├── app_stream_list.cpp │ │ ├── app_stream_list.h │ │ ├── connected_info_panel.cpp │ │ ├── connected_info_panel.h │ │ ├── connected_info_sliding_window.cpp │ │ ├── connected_info_sliding_window.h │ │ ├── connected_info_tag.cpp │ │ ├── connected_info_tag.h │ │ ├── create_stream_conn_info_dialog.cpp │ │ ├── create_stream_conn_info_dialog.h │ │ ├── create_stream_dialog.cpp │ │ ├── create_stream_dialog.h │ │ ├── edit_relay_stream_dialog.cpp │ │ ├── edit_relay_stream_dialog.h │ │ ├── gr_device_manager.cpp │ │ ├── gr_device_manager.h │ │ ├── infinite_loading.cpp │ │ ├── infinite_loading.h │ │ ├── input_remote_pwd_dialog.cpp │ │ ├── input_remote_pwd_dialog.h │ │ ├── readme.md │ │ ├── running_stream_manager.cpp │ │ ├── running_stream_manager.h │ │ ├── select_stream_type_dialog.cpp │ │ ├── select_stream_type_dialog.h │ │ ├── start_stream_loading.cpp │ │ ├── start_stream_loading.h │ │ ├── stream_content.cpp │ │ ├── stream_content.h │ │ ├── stream_item_widget.cpp │ │ ├── stream_item_widget.h │ │ ├── stream_messages.cpp │ │ ├── stream_messages.h │ │ ├── stream_settings_dialog.cpp │ │ ├── stream_settings_dialog.h │ │ ├── stream_state_checker.cpp │ │ └── stream_state_checker.h │ ├── gr_app_messages.h │ ├── gr_application.cpp │ ├── gr_application.h │ ├── gr_connected_manager.cpp │ ├── gr_connected_manager.h │ ├── gr_context.cpp │ ├── gr_context.h │ ├── gr_guard_starter.cpp │ ├── gr_guard_starter.h │ ├── gr_render_controller.cpp │ ├── gr_render_controller.h │ ├── gr_render_msg_processor.cpp │ ├── gr_render_msg_processor.h │ ├── gr_resources.cpp │ ├── gr_resources.h │ ├── gr_run_game_manager.cpp │ ├── gr_run_game_manager.h │ ├── gr_running_pipe.cpp │ ├── gr_running_pipe.h │ ├── gr_settings.cpp │ ├── gr_settings.h │ ├── gr_statistics.cpp │ ├── gr_statistics.h │ ├── gr_system_monitor.cpp │ ├── gr_system_monitor.h │ ├── gr_workspace.cpp │ ├── gr_workspace.h │ ├── guard │ │ ├── CMakeLists.txt │ │ ├── gr_guard_app.cpp │ │ ├── gr_guard_app.h │ │ ├── gr_guard_context.cpp │ │ ├── gr_guard_context.h │ │ ├── gr_guard_main.cpp │ │ ├── gr_guard_messages.h │ │ ├── gr_panel_client.cpp │ │ ├── gr_panel_client.h │ │ ├── gr_panel_guard.cpp │ │ └── gr_panel_guard.h │ ├── network │ │ ├── apis.h │ │ ├── gr_service_client.cpp │ │ ├── gr_service_client.h │ │ ├── gr_spvr_client.cpp │ │ ├── gr_spvr_client.h │ │ ├── http_handler.cpp │ │ ├── http_handler.h │ │ ├── render_api.cpp │ │ ├── render_api.h │ │ ├── udp_broadcaster.cpp │ │ ├── udp_broadcaster.h │ │ ├── ws_panel_server.cpp │ │ └── ws_panel_server.h │ ├── spvr_scanner │ │ ├── spvr_scanner.cpp │ │ └── spvr_scanner.h │ ├── system │ │ ├── CMakeLists.txt │ │ └── win │ │ │ ├── win_panel_message_loop.cpp │ │ │ ├── win_panel_message_loop.h │ │ │ ├── win_panel_message_window.cpp │ │ │ └── win_panel_message_window.h │ ├── transfer │ │ ├── file_transfer.cpp │ │ └── file_transfer.h │ ├── ui │ │ ├── add_game_panel.cpp │ │ ├── add_game_panel.h │ │ ├── effect_widget.h │ │ ├── game_info_preview.cpp │ │ ├── game_info_preview.h │ │ ├── input_safety_pwd_dialog.cpp │ │ ├── input_safety_pwd_dialog.h │ │ ├── qt_circle.cpp │ │ ├── qt_circle.h │ │ ├── qt_vertical.cpp │ │ ├── qt_vertical.h │ │ ├── rn_app.cpp │ │ ├── rn_app.h │ │ ├── rn_empty.cpp │ │ ├── rn_empty.h │ │ ├── security_password_checker.cpp │ │ ├── security_password_checker.h │ │ ├── st_about_me.cpp │ │ ├── st_about_me.h │ │ ├── st_client.cpp │ │ ├── st_client.h │ │ ├── st_controller.cpp │ │ ├── st_controller.h │ │ ├── st_general.cpp │ │ ├── st_general.h │ │ ├── st_network.cpp │ │ ├── st_network.h │ │ ├── st_network_auto_join_dialog.cpp │ │ ├── st_network_auto_join_dialog.h │ │ ├── st_network_search.cpp │ │ ├── st_network_search.h │ │ ├── st_plugin_item_widget.cpp │ │ ├── st_plugin_item_widget.h │ │ ├── st_plugins.cpp │ │ ├── st_plugins.h │ │ ├── st_security.cpp │ │ ├── st_security.h │ │ ├── st_security_file_transfer.cpp │ │ ├── st_security_file_transfer.h │ │ ├── st_security_file_transfer_item.cpp │ │ ├── st_security_file_transfer_item.h │ │ ├── st_security_visitor.cpp │ │ ├── st_security_visitor.h │ │ ├── st_security_visitor_item.cpp │ │ ├── st_security_visitor_item.h │ │ ├── stat_capture_info_item.cpp │ │ ├── stat_capture_info_item.h │ │ ├── stat_chart.cpp │ │ ├── stat_chart.h │ │ ├── tab_base.cpp │ │ ├── tab_base.h │ │ ├── tab_cophone.cpp │ │ ├── tab_cophone.h │ │ ├── tab_game.cpp │ │ ├── tab_game.h │ │ ├── tab_hw_info.cpp │ │ ├── tab_hw_info.h │ │ ├── tab_profile.cpp │ │ ├── tab_profile.h │ │ ├── tab_profile_device_item.cpp │ │ ├── tab_profile_device_item.h │ │ ├── tab_security_internals.cpp │ │ ├── tab_security_internals.h │ │ ├── tab_server.cpp │ │ ├── tab_server.h │ │ ├── tab_server_status.cpp │ │ ├── tab_server_status.h │ │ ├── tab_settings.cpp │ │ ├── tab_settings.h │ │ └── user │ │ │ ├── modify_password_dialog.cpp │ │ │ ├── modify_password_dialog.h │ │ │ ├── modify_username_dialog.cpp │ │ │ ├── modify_username_dialog.h │ │ │ ├── user_login_dialog.cpp │ │ │ ├── user_login_dialog.h │ │ │ ├── user_register_dialog.cpp │ │ │ └── user_register_dialog.h │ ├── user │ │ ├── gr_user_manager.cpp │ │ └── gr_user_manager.h │ └── util │ │ ├── conn_info_parser.cpp │ │ └── conn_info_parser.h ├── service │ ├── CMakeLists.txt │ ├── render_manager.cpp │ ├── render_manager.h │ ├── render_process.h │ ├── service.cpp │ ├── service.h │ ├── service_context.cpp │ ├── service_context.h │ ├── service_main.cpp │ ├── service_main.h │ ├── service_manager.cpp │ ├── service_manager.h │ ├── service_manager_main.cpp │ ├── service_messages.h │ ├── service_msg_server.cpp │ └── service_msg_server.h ├── skin │ ├── CMakeLists.txt │ ├── interface │ │ ├── CMakeLists.txt │ │ ├── skin_context.cpp │ │ ├── skin_context.h │ │ ├── skin_interface.cpp │ │ ├── skin_interface.h │ │ └── skin_settings.h │ ├── opensource │ │ ├── CMakeLists.txt │ │ ├── resources.qrc │ │ ├── resources │ │ │ └── abc.svg │ │ ├── skin_opensource.cpp │ │ └── skin_opensource.h │ ├── skin_config.toml │ ├── skin_loader.cpp │ └── skin_loader.h ├── tests │ ├── CMakeLists.txt │ ├── test_db.cpp │ ├── test_http_client.cpp │ ├── test_process.cpp │ └── test_resolutions.cpp ├── theme │ ├── QmlStyleUrlInterceptor.cpp │ ├── QmlStyleUrlInterceptor.h │ ├── QtAdvancedStylesheet.cpp │ ├── QtAdvancedStylesheet.h │ └── acss_globals.h ├── ui │ └── Readme.txt └── uninstall │ ├── CMakeLists.txt │ ├── shadow_deleter.cpp │ └── uninstall_main.cpp ├── version.cmake └── version_config.h.in /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | cmake-build-debug/* 3 | cmake-build-relwithdebinfo/* 4 | cmake-build-release/* 5 | .vs/* 6 | out/* 7 | .vscode/* 8 | src/.vscode/* 9 | src/client/.vscode/* 10 | src/render/.vscode/* 11 | /temp 12 | -------------------------------------------------------------------------------- /app_config.h.in: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define ACC_HOST "" 4 | #define ACC_PORT 0 -------------------------------------------------------------------------------- /certs/password: -------------------------------------------------------------------------------- 1 | 123456 -------------------------------------------------------------------------------- /certs/readme.md: -------------------------------------------------------------------------------- 1 | 1. server.crt 2 | 2. server.key 3 | 3. password ==> your private password of cert -------------------------------------------------------------------------------- /config.cmake: -------------------------------------------------------------------------------- 1 | set(Inner_Protobuf_ENABLED ON) 2 | set(DirectXTex_ENABLED ON) 3 | set(FFTW3_ENABLED ON) 4 | set(TESTS_ENABLED ON) 5 | set(JEMALLOC_ENABLED ON) 6 | set(MEMORY_STST_ENABLED OFF) -------------------------------------------------------------------------------- /deps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(tc_3rdparty) 2 | #add_subdirectory(tc_capture_new) 3 | add_subdirectory(tc_encoder_new) 4 | add_subdirectory(tc_message_new) 5 | add_subdirectory(tc_common_new) 6 | add_subdirectory(tc_opus_codec_new) 7 | add_subdirectory(tc_steam_manager_new) 8 | add_subdirectory(tc_controller) 9 | add_subdirectory(tc_client_sdk_new) 10 | add_subdirectory(tc_qt_widget) 11 | add_subdirectory(tc_relay_client) 12 | add_subdirectory(tc_server_protocol) 13 | add_subdirectory(tc_spvr_client) 14 | add_subdirectory(tc_webrtc_client) 15 | add_subdirectory(tc_account_sdk) 16 | add_subdirectory(tc_profile_client) -------------------------------------------------------------------------------- /deps/tc_signaling_sdk/Readme.md: -------------------------------------------------------------------------------- 1 | Deprecated! -------------------------------------------------------------------------------- /docs/images/GammaRay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/GammaRay.png -------------------------------------------------------------------------------- /docs/images/android_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_1.png -------------------------------------------------------------------------------- /docs/images/android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_2.png -------------------------------------------------------------------------------- /docs/images/android_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_3.png -------------------------------------------------------------------------------- /docs/images/android_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_4.png -------------------------------------------------------------------------------- /docs/images/android_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_5.jpg -------------------------------------------------------------------------------- /docs/images/android_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_7.jpg -------------------------------------------------------------------------------- /docs/images/android_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_8.jpg -------------------------------------------------------------------------------- /docs/images/android_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_9.jpg -------------------------------------------------------------------------------- /docs/images/android_prepare_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_prepare_1.jpg -------------------------------------------------------------------------------- /docs/images/android_prepare_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/android_prepare_2.jpg -------------------------------------------------------------------------------- /docs/images/client.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/client.jpg -------------------------------------------------------------------------------- /docs/images/client_add_remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/client_add_remote.png -------------------------------------------------------------------------------- /docs/images/client_file_transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/client_file_transfer.png -------------------------------------------------------------------------------- /docs/images/client_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/client_main.png -------------------------------------------------------------------------------- /docs/images/client_status.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/client_status.jpg -------------------------------------------------------------------------------- /docs/images/clipboard_file_trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/clipboard_file_trans.gif -------------------------------------------------------------------------------- /docs/images/connect_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/connect_1.png -------------------------------------------------------------------------------- /docs/images/connect_1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/connect_1_1.png -------------------------------------------------------------------------------- /docs/images/connect_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/connect_2.png -------------------------------------------------------------------------------- /docs/images/file_trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/file_trans.gif -------------------------------------------------------------------------------- /docs/images/file_transfer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/file_transfer.jpg -------------------------------------------------------------------------------- /docs/images/game.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/game.jpg -------------------------------------------------------------------------------- /docs/images/install_progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/install_progress.gif -------------------------------------------------------------------------------- /docs/images/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/main.jpg -------------------------------------------------------------------------------- /docs/images/multi-screen_switch_display.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/multi-screen_switch_display.gif -------------------------------------------------------------------------------- /docs/images/multi-screen_switch_imultaneous_display.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/multi-screen_switch_imultaneous_display.gif -------------------------------------------------------------------------------- /docs/images/screen_recording.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/screen_recording.gif -------------------------------------------------------------------------------- /docs/images/security.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/security.jpg -------------------------------------------------------------------------------- /docs/images/server_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/server_main.png -------------------------------------------------------------------------------- /docs/images/server_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/server_settings.png -------------------------------------------------------------------------------- /docs/images/spectrum_1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/spectrum_1.gif -------------------------------------------------------------------------------- /docs/images/spectrum_2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/spectrum_2.gif -------------------------------------------------------------------------------- /docs/images/spectrum_3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/spectrum_3.gif -------------------------------------------------------------------------------- /docs/images/srv_add_game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/srv_add_game.png -------------------------------------------------------------------------------- /docs/images/srv_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/srv_main.png -------------------------------------------------------------------------------- /docs/images/srv_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/srv_settings.png -------------------------------------------------------------------------------- /docs/images/srv_steam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/srv_steam.png -------------------------------------------------------------------------------- /docs/images/statistics.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/statistics.gif -------------------------------------------------------------------------------- /docs/images/status.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/status.jpg -------------------------------------------------------------------------------- /docs/images/test1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/test1.gif -------------------------------------------------------------------------------- /docs/images/test2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/test2.gif -------------------------------------------------------------------------------- /docs/images/test3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/images/test3.gif -------------------------------------------------------------------------------- /docs/usage/use_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_1.png -------------------------------------------------------------------------------- /docs/usage/use_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_2.png -------------------------------------------------------------------------------- /docs/usage/use_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_3.png -------------------------------------------------------------------------------- /docs/usage/use_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_4.png -------------------------------------------------------------------------------- /docs/usage/use_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_5.png -------------------------------------------------------------------------------- /docs/usage/use_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/docs/usage/use_6.png -------------------------------------------------------------------------------- /env_settings.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_ROOT C:/source/vcpkg) 2 | set(QT_ROOT C:/Qt6.8.3/6.8.3/msvc2022_64) 3 | #set(VK_SDK C:/VulkanSDK/1.3.275.0/Include) 4 | set(VK_SDK_ROOT C:/VulkanSDK/1.3.290.0) 5 | -------------------------------------------------------------------------------- /env_settings.cmake.back: -------------------------------------------------------------------------------- 1 | set(VCPKG_ROOT C:/source/vcpkg) 2 | #set(QT_ROOT D:/Qt6.8/6.8.0/msvc2022_64) 3 | set(QT_ROOT C:/Qt6.9/6.9.0/msvc2022_64) 4 | set(VK_SDK C:/VulkanSDK/1.3.275.0/Include) 5 | 6 | set(TC_USE_FILE_TRANSMISSION ON CACHE BOOL "Enable file transmission") 7 | set(TC_USE_VR_MANAGER OFF CACHE BOOL "Enable vr manager") 8 | 9 | set(TC_APP_VERSION 1.2.6) -------------------------------------------------------------------------------- /icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/icon.ico -------------------------------------------------------------------------------- /package/app/reademe.txt: -------------------------------------------------------------------------------- 1 | save 7z file -------------------------------------------------------------------------------- /package/config/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GammaRay 4 | 1.2.0 5 | GammaRay 6 | RGAA 7 | 8 | GammaRay 9 | @ApplicationsDir@/RGAA/GammaRay 10 | 11 | -------------------------------------------------------------------------------- /package/delete_service.ps1: -------------------------------------------------------------------------------- 1 | $serviceName = "GammaRayService" 2 | 3 | # 检查服务是否存在 4 | $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue 5 | 6 | if ($service) { 7 | # 停止服务(如果运行中) 8 | if ($service.Status -eq "Running") { 9 | Write-Host "正在停止服务: $serviceName ..." 10 | Stop-Service -Name $serviceName -Force 11 | Write-Host "服务已停止。" 12 | } 13 | 14 | # 删除服务 15 | Write-Host "正在删除服务: $serviceName ..." 16 | sc.exe delete $serviceName 17 | Write-Host "服务已成功删除。" 18 | } else { 19 | Write-Host "服务 $serviceName 不存在。" 20 | } -------------------------------------------------------------------------------- /package/gen_pack_name.py: -------------------------------------------------------------------------------- 1 | import re 2 | def extract_project_version(file_path): 3 | with open(file_path, 'r') as file: 4 | content = file.read() 5 | 6 | # 使用正则表达式匹配 #define PROJECT_VERSION "x.x.x" 7 | match = re.search(r'#define\s+PROJECT_VERSION\s+"([0-9.]+)"', content) 8 | if match: 9 | return match.group(1) 10 | return None 11 | 12 | def gen_package_name() ->str: 13 | target_name = "GammaRay_" + extract_project_version("../version_config.h") 14 | return target_name 15 | 16 | def gen_package_pdb_name() ->str: 17 | target_name = "GammaRay_pdb_" + extract_project_version("../version_config.h") 18 | return target_name -------------------------------------------------------------------------------- /package/image/header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/package/image/header.bmp -------------------------------------------------------------------------------- /package/image/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/package/image/logo.ico -------------------------------------------------------------------------------- /package/image/uninstall.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/package/image/uninstall.ico -------------------------------------------------------------------------------- /package/image/welcome.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/package/image/welcome.bmp -------------------------------------------------------------------------------- /package/kill.ps1: -------------------------------------------------------------------------------- 1 | Get-WmiObject Win32_Process -Filter "name = 'GammaRay.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null 2 | Get-WmiObject Win32_Process -Filter "name = 'GammaRayClientInner.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null 3 | Get-WmiObject Win32_Process -Filter "name = 'GammaRayGuard.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null 4 | Get-WmiObject Win32_Process -Filter "name = 'GammaRayRender.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null 5 | Get-WmiObject Win32_Process -Filter "name = 'GammaRayService.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null 6 | Get-WmiObject Win32_Process -Filter "name = 'GammaRayServiceManager.exe'" | Invoke-WmiMethod -Name Terminate | Out-Null -------------------------------------------------------------------------------- /package/package.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | for /d %%d in (release_*) do rmdir /s /q "%%d" 4 | 5 | python install.py 6 | 7 | rem binarycreator.exe -c config/config.xml -p packages GammaRaySetup.exe -v -------------------------------------------------------------------------------- /package/packages/com.rgaa.gammaray/data/README.txt: -------------------------------------------------------------------------------- 1 | GammaRay 2 | 3 | Stream your games and desktop to other devices, and replay gamepad/keyboard/mouse events in host PC 4 | 5 | https://github.com/RGAA-Software/GammaRay 6 | 7 | -------------------------------------------------------------------------------- /package/packages/com.rgaa.gammaray/meta/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GammaRay 4 | Stream your games and desktop to other devices, and replay gamepad/keyboard/mouse events in host PC 5 | 1.2.0 6 | 2025-01-01 7 | true 8 | 9 | 10 | -------------------------------------------------------------------------------- /package/proj_version.nsh: -------------------------------------------------------------------------------- 1 | !define PRODUCT_VERSION "2.1.8" 2 | -------------------------------------------------------------------------------- /package/readme.md: -------------------------------------------------------------------------------- 1 | https://doc.qt.io/qtinstallerframework/ifw-overview.html 2 | https://doc.qt.io/qtinstallerframework/scripting-component.html 3 | https://doc.qt.io/qtinstallerframework/scripting-installer.html -------------------------------------------------------------------------------- /prebuild/win/gr_sysinfo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/prebuild/win/gr_sysinfo.exe -------------------------------------------------------------------------------- /resources/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/avatar.png -------------------------------------------------------------------------------- /resources/icons/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/1.png -------------------------------------------------------------------------------- /resources/icons/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/10.png -------------------------------------------------------------------------------- /resources/icons/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/11.png -------------------------------------------------------------------------------- /resources/icons/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/12.png -------------------------------------------------------------------------------- /resources/icons/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/13.png -------------------------------------------------------------------------------- /resources/icons/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/14.png -------------------------------------------------------------------------------- /resources/icons/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/15.png -------------------------------------------------------------------------------- /resources/icons/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/16.png -------------------------------------------------------------------------------- /resources/icons/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/17.png -------------------------------------------------------------------------------- /resources/icons/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/18.png -------------------------------------------------------------------------------- /resources/icons/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/19.png -------------------------------------------------------------------------------- /resources/icons/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/2.png -------------------------------------------------------------------------------- /resources/icons/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/20.png -------------------------------------------------------------------------------- /resources/icons/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/21.png -------------------------------------------------------------------------------- /resources/icons/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/22.png -------------------------------------------------------------------------------- /resources/icons/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/23.png -------------------------------------------------------------------------------- /resources/icons/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/24.png -------------------------------------------------------------------------------- /resources/icons/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/25.png -------------------------------------------------------------------------------- /resources/icons/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/26.png -------------------------------------------------------------------------------- /resources/icons/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/27.png -------------------------------------------------------------------------------- /resources/icons/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/28.png -------------------------------------------------------------------------------- /resources/icons/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/29.png -------------------------------------------------------------------------------- /resources/icons/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/3.png -------------------------------------------------------------------------------- /resources/icons/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/30.png -------------------------------------------------------------------------------- /resources/icons/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/4.png -------------------------------------------------------------------------------- /resources/icons/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/5.png -------------------------------------------------------------------------------- /resources/icons/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/6.png -------------------------------------------------------------------------------- /resources/icons/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/7.png -------------------------------------------------------------------------------- /resources/icons/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/8.png -------------------------------------------------------------------------------- /resources/icons/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/9.png -------------------------------------------------------------------------------- /resources/icons/ic_empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/icons/ic_port.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/icons/ic_renderer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/icons/ic_server.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/icons/ic_spectrum.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/icons/logo_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/logo_android.png -------------------------------------------------------------------------------- /resources/icons/logo_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/icons/logo_windows.png -------------------------------------------------------------------------------- /resources/image/bc_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/bc_icon.png -------------------------------------------------------------------------------- /resources/image/bc_icon_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/bc_icon_raw.png -------------------------------------------------------------------------------- /resources/image/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/btn_close.png -------------------------------------------------------------------------------- /resources/image/btn_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/btn_ok.png -------------------------------------------------------------------------------- /resources/image/dota2_cache.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/dota2_cache.jpg -------------------------------------------------------------------------------- /resources/image/empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_arrow_right_1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_arrow_right_2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_avatar_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_avatar_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_clear.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_clipboard_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_clipboard_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_close_notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_computer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_control.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_device_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_device_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_device_used.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_expand.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_file_transfer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_fullscreen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_fullscreen_exit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_hard_disk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_icon_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_icon_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_key.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_key_blue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_mode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_not_login.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_notify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/ic_notify.png -------------------------------------------------------------------------------- /resources/image/ic_notify_err.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/ic_notify_err.png -------------------------------------------------------------------------------- /resources/image/ic_notify_warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/ic_notify_warn.png -------------------------------------------------------------------------------- /resources/image/ic_open_notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_os_version.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_plugin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_pwd_visibility_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_question.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_screen_shot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_served.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_settings_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_settings_security_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_settings_security_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_settings_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_stream_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_stream_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/ic_transfer.png -------------------------------------------------------------------------------- /resources/image/ic_vert_dots.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_vert_dots_hover.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_vert_dots_pressed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_volume_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_windows_direct.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/ic_windows_relay.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/image/logo_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/logo_server.png -------------------------------------------------------------------------------- /resources/image/logo_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/logo_text.png -------------------------------------------------------------------------------- /resources/image/msg_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/msg_error.png -------------------------------------------------------------------------------- /resources/image/msg_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/msg_info.png -------------------------------------------------------------------------------- /resources/image/msg_question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/msg_question.png -------------------------------------------------------------------------------- /resources/image/tc_icon_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/tc_icon_raw.png -------------------------------------------------------------------------------- /resources/image/test_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/image/test_cover.png -------------------------------------------------------------------------------- /resources/main.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | image/btn_close.png 4 | image/btn_ok.png 5 | image/msg_error.png 6 | image/msg_info.png 7 | image/msg_question.png 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/qss/lightblue/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/add_bottom.png -------------------------------------------------------------------------------- /resources/qss/lightblue/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/add_left.png -------------------------------------------------------------------------------- /resources/qss/lightblue/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/add_right.png -------------------------------------------------------------------------------- /resources/qss/lightblue/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/add_top.png -------------------------------------------------------------------------------- /resources/qss/lightblue/arrow_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/arrow_bottom.png -------------------------------------------------------------------------------- /resources/qss/lightblue/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/arrow_left.png -------------------------------------------------------------------------------- /resources/qss/lightblue/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/arrow_right.png -------------------------------------------------------------------------------- /resources/qss/lightblue/arrow_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/arrow_top.png -------------------------------------------------------------------------------- /resources/qss/lightblue/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/branch_close.png -------------------------------------------------------------------------------- /resources/qss/lightblue/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/branch_open.png -------------------------------------------------------------------------------- /resources/qss/lightblue/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/calendar_nextmonth.png -------------------------------------------------------------------------------- /resources/qss/lightblue/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/calendar_prevmonth.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_checked.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_checked_disable.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_parcial.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_unchecked.png -------------------------------------------------------------------------------- /resources/qss/lightblue/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /resources/qss/lightblue/menu_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/menu_checked.png -------------------------------------------------------------------------------- /resources/qss/lightblue/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/radiobutton_checked.png -------------------------------------------------------------------------------- /resources/qss/lightblue/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /resources/qss/lightblue/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/radiobutton_unchecked.png -------------------------------------------------------------------------------- /resources/qss/lightblue/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qss/lightblue/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /resources/qt_material/README.md: -------------------------------------------------------------------------------- 1 | # Qt-Material 2 | 3 | This stylesheet has ben copied from the [Qt-material](https://github.com/UN-GCPDS/qt-material) 4 | roject from [GCPDS](https://github.com/UN-GCPDS). File any pull requests for 5 | this stylesheet and any improvements or changes to the original project. -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Black.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-Bold.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-BoldItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-Italic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-Light.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-LightItalic.ttf -------------------------------------------------------------------------------- /resources/qt_material/fonts/roboto/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/qt_material/fonts/roboto/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_amber.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffd740 4 | #ffff74 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #448aff 4 | #83b9ff 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_cyan.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4dd0e1 4 | #88ffff 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_lightgreen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #8bc34a 4 | #bef67a 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_pink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ff4081 4 | #ff79b0 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_purple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ab47bc 4 | #df78ef 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #ffffff 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ff1744 4 | #ff616f 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_teal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #1de9b6 4 | #6effe8 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/dark_yellow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffff00 4 | #ffff5a 5 | #232629 6 | #4f5b62 7 | #31363b 8 | #000000 9 | #ffffff 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_amber.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffc400 4 | #fff64f 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #2979ff 4 | #A3C5FF 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_cyan.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #00e5ff 4 | #6effff 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_cyan_500.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #00bcd4 4 | #62efff 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_lightgreen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #64dd17 4 | #9cff57 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_pink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ff4081 4 | #ff79b0 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_purple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #e040fb 4 | #ff79ff 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ff1744 4 | #ff616f 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_teal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #1de9b6 4 | #6effe8 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/qt_material/themes/light_yellow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffea00 4 | #ffff56 5 | #f5f5f5 6 | #e6e6e6 7 | #ffffff 8 | #3c3c3c 9 | #555555 10 | 11 | -------------------------------------------------------------------------------- /resources/tc_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_icon.png -------------------------------------------------------------------------------- /resources/tc_icon_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_icon_raw.png -------------------------------------------------------------------------------- /resources/tc_logo_text_trans_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_logo_text_trans_bg.png -------------------------------------------------------------------------------- /resources/tc_logo_text_white_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_logo_text_white_bg.png -------------------------------------------------------------------------------- /resources/tc_trans_icon_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_trans_icon_blue.png -------------------------------------------------------------------------------- /resources/tc_trans_icon_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/resources/tc_trans_icon_white.png -------------------------------------------------------------------------------- /resources/window-bar/close.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/window-bar/maximize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/window-bar/minimize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /resources/window-bar/more-line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /resources/window-bar/restore.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(hw_info) 2 | add_subdirectory(render_panel) 3 | add_subdirectory(render_panel/system) 4 | 5 | set(MAIN_SRCS 6 | ${CMAKE_CURRENT_SOURCE_DIR}/app_colors.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/theme/QtAdvancedStylesheet.cpp 8 | ${PANEL_SRCS} 9 | ${SYSTEM_SRCS} 10 | PARENT_SCOPE 11 | ) 12 | 13 | add_subdirectory(render) 14 | add_subdirectory(skin) 15 | add_subdirectory(crash_reporter) 16 | -------------------------------------------------------------------------------- /src/client/api/ct_panel_api.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 9/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_CT_PANEL_API_H 6 | #define GAMMARAYPREMIUM_CT_PANEL_API_H 7 | 8 | #include "tc_common_new/log.h" 9 | #include "tc_common_new/http_client.h" 10 | #include "tc_3rdparty/json/json.hpp" 11 | #include "tc_3rdparty/expt/expected.h" 12 | 13 | #include "render_panel/network/apis.h" 14 | 15 | using namespace nlohmann; 16 | 17 | namespace tc 18 | { 19 | 20 | using HttpRespCode = int; 21 | 22 | class CtPanelApi { 23 | public: 24 | static Result StopRender(const std::string& host, int port); 25 | }; 26 | 27 | } 28 | 29 | #endif //GAMMARAYPREMIUM_CT_PANEL_API_H 30 | -------------------------------------------------------------------------------- /src/client/api/ct_render_api.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 9/09/2025. 3 | // 4 | 5 | #include "ct_render_api.h" 6 | -------------------------------------------------------------------------------- /src/client/api/ct_render_api.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 9/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_CT_RENDER_API_H 6 | #define GAMMARAYPREMIUM_CT_RENDER_API_H 7 | 8 | namespace tc 9 | { 10 | 11 | class ct_render_api { 12 | 13 | }; 14 | 15 | } 16 | 17 | #endif //GAMMARAYPREMIUM_CT_RENDER_API_H 18 | -------------------------------------------------------------------------------- /src/client/ct_const_def.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace tc { 4 | const int kTitleBarHeight = 0; 5 | const int kMaxGameViewCount = 8; 6 | } -------------------------------------------------------------------------------- /src/client/ct_game_overlay.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | namespace tc { 8 | class OverlayWidget : public QWidget { 9 | Q_OBJECT 10 | public: 11 | explicit OverlayWidget(QWidget* parent = nullptr); 12 | void SetWatermarkText(const QString& text); 13 | void SetWatermarkCount(int count); 14 | void SetOpacity(double op); 15 | protected: 16 | void paintEvent(QPaintEvent*) override; 17 | 18 | private: 19 | QString watermark_text_ = "UnLicensed Stream"; 20 | int watermark_count_ = 1; 21 | double opacity_ = 0.6; // 0.0 ~ 1.0 22 | }; 23 | } -------------------------------------------------------------------------------- /src/client/ct_qt_key_converter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef WIN32 4 | #define WIN32_LEAN_AND_MEAN 5 | #include 6 | #endif 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | namespace tc 14 | { 15 | //VK : https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes 16 | class QtKeyConverter { 17 | public: 18 | QtKeyConverter(); 19 | static std::map GetSysKeyStatus(); 20 | }; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/client/ct_stream_item_net_type.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 24/03/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_CT_STREAM_ITEM_NET_TYPE_H 6 | #define GAMMARAY_CT_STREAM_ITEM_NET_TYPE_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | static std::string kStreamItemNtTypeWebSocket = "websocket"; 14 | static std::string kStreamItemNtTypeUdpKcp = "udp_kcp"; 15 | static std::string kStreamItemNtTypeRelay = "relay"; 16 | static std::string kStreamItemNtTypeWebRTCDirect = "webrtc_direct"; 17 | static std::string kStreamItemNtTypeWebRTC = "webrtc"; 18 | 19 | static std::string kStreamItemConnTypeDirect = "direct"; 20 | static std::string kStreamItemConnTypeSignaling = "signaling"; 21 | 22 | } 23 | 24 | #endif //GAMMARAY_CT_STREAM_ITEM_NET_TYPE_H 25 | -------------------------------------------------------------------------------- /src/client/front_render/ct_video_widget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/front_render/ct_video_widget.cpp -------------------------------------------------------------------------------- /src/client/front_render/d3d11/raw_sdl_widget.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 3/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_RAW_SDL_WIDGET_H 6 | #define GAMMARAYPREMIUM_RAW_SDL_WIDGET_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include "tc_common_new/win32/d3d11_wrapper.h" 12 | 13 | namespace tc 14 | { 15 | 16 | class RawImage; 17 | 18 | class RawSdlWidget { 19 | public: 20 | RawSdlWidget(); 21 | void RefreshImage(const std::shared_ptr& image); 22 | void Init(int frame_width, int frame_height, ComPtr, ComPtr); 23 | 24 | private: 25 | SDL_Window* window_ = nullptr; 26 | bool init_ = false; 27 | }; 28 | 29 | } 30 | 31 | #endif //GAMMARAYPREMIUM_RAW_SDL_WIDGET_H 32 | -------------------------------------------------------------------------------- /src/client/front_render/opengl/ct_director.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include "ct_opengl_api.h" 11 | 12 | namespace tc 13 | { 14 | class Director { 15 | public: 16 | static std::shared_ptr Make(GLFuncs*); 17 | 18 | explicit Director(GLFuncs* funcs); 19 | ~Director(); 20 | 21 | void Init(int width, int height); 22 | glm::mat4 GetProjection(); 23 | glm::mat4 GetView(); 24 | GLFuncs* Funcs(); 25 | 26 | private: 27 | glm::mat4 projection{}; 28 | glm::mat4 view{}; 29 | float width = 0.0f; 30 | float height = 0.0f; 31 | GLFuncs* funcs = nullptr; 32 | }; 33 | } -------------------------------------------------------------------------------- /src/client/front_render/opengl/ct_opengl_api.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | typedef QOpenGLFunctions_3_3_Core GLFuncs; -------------------------------------------------------------------------------- /src/client/front_render/opengl/ct_opengl_image_reader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | namespace tc { 8 | 9 | class RawImage; 10 | 11 | class ImageReader { 12 | public: 13 | static std::shared_ptr ReadNV12(const std::string& path, int width, int height); 14 | static std::shared_ptr ReadRGBA(const std::string& path, int width, int height); 15 | static std::shared_ptr ReadI420(const std::string& path, int width, int height); 16 | }; 17 | 18 | } -------------------------------------------------------------------------------- /src/client/front_render/opengl/ct_renderer.cpp: -------------------------------------------------------------------------------- 1 | #include "ct_renderer.h" 2 | #include "ct_director.h" 3 | 4 | namespace tc 5 | { 6 | 7 | Renderer::Renderer(const std::shared_ptr& director) { 8 | this->director = director; 9 | this->functions = director->Funcs(); 10 | } 11 | 12 | Renderer::~Renderer() { 13 | 14 | } 15 | 16 | void Renderer::Render(float delta) { 17 | 18 | } 19 | 20 | void Renderer::SetTargetSize(int width, int height) { 21 | this->width = width; 22 | this->height = height; 23 | } 24 | 25 | void Renderer::OnWindowResized(int width, int height) { 26 | window_width = width; 27 | window_height = height; 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/client/front_render/vulkan/ct_test_vulkan_video_widget.cpp: -------------------------------------------------------------------------------- 1 | #include "ct_test_vulkan_video_widget.h" 2 | 3 | namespace tc { 4 | 5 | TestVulkanVideoWidget::TestVulkanVideoWidget() : QWidget() { 6 | setAttribute(Qt::WA_NativeWindow); 7 | setAttribute(Qt::WA_PaintOnScreen); 8 | setAttribute(Qt::WA_DeleteOnClose); 9 | setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | windowFlags()); 10 | setGeometry(0, 0, 100, 100); 11 | } 12 | 13 | TestVulkanVideoWidget::~TestVulkanVideoWidget() { 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /src/client/front_render/vulkan/ct_test_vulkan_video_widget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | 6 | namespace tc { 7 | 8 | class TestVulkanVideoWidget : public QWidget { 9 | public: 10 | TestVulkanVideoWidget(); 11 | ~TestVulkanVideoWidget(); 12 | 13 | // QPaintEngine* paintEngine() const override { return nullptr; } 的作用是完全禁用Qt的绘制系统对这个widget的渲染。 14 | // 这样在拉伸的时候, 不会显示白色背景 15 | QPaintEngine* paintEngine() const override { 16 | return nullptr; // 必须的! 17 | } 18 | 19 | void paintEvent(QPaintEvent* event) override { 20 | // 可以完全空着,或者只是标记已处理 21 | event->accept(); 22 | } 23 | }; 24 | 25 | } -------------------------------------------------------------------------------- /src/client/front_render/vulkan/ct_vulkan_checker.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | 6 | namespace tc { 7 | 8 | class PlVulkan; 9 | class TestVulkanVideoWidget; 10 | class TestFFmpegVulkanDecoder; 11 | 12 | class VulkanChecker : public QObject { 13 | public: 14 | static std::shared_ptr Make(); 15 | VulkanChecker(); 16 | ~VulkanChecker(); 17 | 18 | bool TestDecodeAndRenderHevcYuv444Frame(); 19 | private: 20 | std::shared_ptr render_widget_ = nullptr; 21 | std::shared_ptr pl_vulkan_ = nullptr; 22 | std::shared_ptr ffmpeg_vulkan_decoder_ = nullptr; 23 | }; 24 | 25 | 26 | } -------------------------------------------------------------------------------- /src/client/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/icon.ico -------------------------------------------------------------------------------- /src/client/icon.rc: -------------------------------------------------------------------------------- 1 | IDI_ICON1 ICON "icon.ico" -------------------------------------------------------------------------------- /src/client/plugin_interface/ct_media_record_plugin_interface.cpp: -------------------------------------------------------------------------------- 1 | #include "ct_media_record_plugin_interface.h" -------------------------------------------------------------------------------- /src/client/plugin_interface/ct_media_record_plugin_interface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ct_plugin_interface.h" 4 | 5 | namespace tc 6 | { 7 | 8 | class MediaRecordPluginClientInterface : public ClientPluginInterface { 9 | public: 10 | virtual void StartRecord() {}; 11 | virtual void EndRecord() {}; 12 | }; 13 | 14 | } -------------------------------------------------------------------------------- /src/client/plugin_interface/ct_plugin_settings.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 25/06/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_CT_PLUGIN_SETTINGS_H 6 | #define GAMMARAY_CT_PLUGIN_SETTINGS_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class ClientPluginSettings { 14 | public: 15 | bool clipboard_enabled_ = false; 16 | std::string device_id_; 17 | std::string stream_id_; 18 | int language_ = 1; 19 | std::string stream_name_; 20 | std::string display_name_; 21 | std::string display_remote_name_; 22 | uint64_t max_transmit_speed_ = 0; 23 | uint64_t max_receive_speed_ = 0; 24 | }; 25 | 26 | } 27 | 28 | #endif //GAMMARAY_CT_PLUGIN_SETTINGS_H 29 | -------------------------------------------------------------------------------- /src/client/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(multi_screens) -------------------------------------------------------------------------------- /src/client/plugins/ct_plugin_ids.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 23/05/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_CT_PLUGIN_IDS_H 6 | #define GAMMARAY_CT_PLUGIN_IDS_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | const std::string kClientMultiScreenCtPluginId = "8fb40611-54a8-4b2e-b7dd-deca05ff5453"; 14 | const std::string kClientMediaRecordPluginId = "db49cbd4-8800-4746-ae3d-efd89801d33f"; 15 | const std::string kClientClipboardPluginId = "113ca5af-f31f-4868-9b8b-ac436e4a3531"; 16 | const std::string kClientFileTransferPluginId = "bd79fbcc-1649-4192-a89f-bcabadd8dc80"; 17 | 18 | } 19 | 20 | #endif //GAMMARAY_CT_PLUGIN_IDS_H 21 | -------------------------------------------------------------------------------- /src/client/plugins/multi_screens/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_multi_screens) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/multi_screens_plugin.cpp 8 | ) 9 | 10 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 11 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_client_plugin) -------------------------------------------------------------------------------- /src/client/plugins/multi_screens/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/plugins/multi_screens/ReadMe.md -------------------------------------------------------------------------------- /src/client/plugins/multi_screens/plugin_multi_screens.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is Obj Detector" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/client/resources/font/ms_yahei.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/font/ms_yahei.ttf -------------------------------------------------------------------------------- /src/client/resources/image/bc_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/bc_icon.png -------------------------------------------------------------------------------- /src/client/resources/image/bc_icon_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/bc_icon_raw.png -------------------------------------------------------------------------------- /src/client/resources/image/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/btn_close.png -------------------------------------------------------------------------------- /src/client/resources/image/btn_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/btn_ok.png -------------------------------------------------------------------------------- /src/client/resources/image/dota2_cache.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/dota2_cache.jpg -------------------------------------------------------------------------------- /src/client/resources/image/empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_arrow_right_1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_arrow_right_2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_clipboard_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_clipboard_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_close_notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_computer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_control.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_expand.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_file_transfer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_fullscreen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_fullscreen_exit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_hard_disk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_icon_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_icon_selected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_mode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_notify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/ic_notify.png -------------------------------------------------------------------------------- /src/client/resources/image/ic_notify_err.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/ic_notify_err.png -------------------------------------------------------------------------------- /src/client/resources/image/ic_notify_warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/ic_notify_warn.png -------------------------------------------------------------------------------- /src/client/resources/image/ic_open_notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_os_version.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_screen_shot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_settings_normal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_stream.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/ic_transfer.png -------------------------------------------------------------------------------- /src/client/resources/image/ic_vert_dots.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_vert_dots_hover.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_vert_dots_pressed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_volume_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/ic_warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/image/logo_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/logo_text.png -------------------------------------------------------------------------------- /src/client/resources/image/msg_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/msg_error.png -------------------------------------------------------------------------------- /src/client/resources/image/msg_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/msg_info.png -------------------------------------------------------------------------------- /src/client/resources/image/msg_question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/msg_question.png -------------------------------------------------------------------------------- /src/client/resources/image/recording.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/image/recording.png -------------------------------------------------------------------------------- /src/client/resources/image/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/resources/main.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | image/btn_close.png 4 | image/btn_ok.png 5 | image/msg_error.png 6 | image/msg_info.png 7 | image/msg_question.png 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/client/resources/tc_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_icon.png -------------------------------------------------------------------------------- /src/client/resources/tc_icon_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_icon_raw.png -------------------------------------------------------------------------------- /src/client/resources/tc_logo_text_trans_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_logo_text_trans_bg.png -------------------------------------------------------------------------------- /src/client/resources/tc_logo_text_white_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_logo_text_white_bg.png -------------------------------------------------------------------------------- /src/client/resources/tc_trans_icon_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_trans_icon_blue.png -------------------------------------------------------------------------------- /src/client/resources/tc_trans_icon_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/client/resources/tc_trans_icon_white.png -------------------------------------------------------------------------------- /src/client/resources/window-bar/close.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/client/resources/window-bar/maximize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/client/resources/window-bar/minimize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /src/client/resources/window-bar/more-line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /src/client/resources/window-bar/restore.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/client/transfer/file_writer.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 10/07/2024. 3 | // 4 | 5 | #include "file_writer.h" 6 | -------------------------------------------------------------------------------- /src/client/transfer/file_writer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 10/07/2024. 3 | // 4 | 5 | #ifndef GAMMARAYPC_FILE_WRITER_H 6 | #define GAMMARAYPC_FILE_WRITER_H 7 | 8 | namespace tc 9 | { 10 | 11 | class FileWriter { 12 | public: 13 | }; 14 | 15 | } 16 | 17 | #endif //GAMMARAYPC_FILE_WRITER_H 18 | -------------------------------------------------------------------------------- /src/client/transfer/fs_folder.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 8/08/2024. 3 | // 4 | 5 | #include "fs_folder.h" 6 | -------------------------------------------------------------------------------- /src/client/transfer/fs_folder.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 8/08/2024. 3 | // 4 | 5 | #ifndef GAMMARAYPC_FS_FOLDER_H 6 | #define GAMMARAYPC_FS_FOLDER_H 7 | 8 | namespace tc 9 | { 10 | 11 | class FsFolder { 12 | 13 | }; 14 | 15 | } 16 | 17 | #endif //GAMMARAYPC_FS_FOLDER_H 18 | -------------------------------------------------------------------------------- /src/client/transfer/fs_object.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 10/07/2024. 3 | // 4 | 5 | #ifndef GAMMARAYPC_FS_OBJECT_H 6 | #define GAMMARAYPC_FS_OBJECT_H 7 | 8 | #include "tc_common_new/file.h" 9 | #include "fs_file.h" 10 | #include 11 | 12 | namespace tc 13 | { 14 | class File; 15 | 16 | class FileSystemObject { 17 | public: 18 | explicit FileSystemObject(const QString& file_path, int read_block_size); 19 | bool IsFolder() const; 20 | 21 | public: 22 | // file 23 | std::shared_ptr fs_file_ = nullptr; 24 | 25 | // folder 26 | bool is_folder_ = false; 27 | std::vector> fs_files_; 28 | QString folder_path_; 29 | }; 30 | 31 | } 32 | #endif //GAMMARAYPC_FS_OBJECT_H 33 | -------------------------------------------------------------------------------- /src/client/transfer/readme.txt: -------------------------------------------------------------------------------- 1 | !! Deprecated !! 2 | using new file transfer -------------------------------------------------------------------------------- /src/client/ui/about_content.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/5/21. 3 | // 4 | 5 | #include "about_content.h" 6 | 7 | namespace tc 8 | { 9 | 10 | AboutContent::AboutContent(const std::shared_ptr& ctx, QWidget* parent) : AppContent(ctx, parent) { 11 | 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/client/ui/about_content.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/5/21. 3 | // 4 | 5 | #ifndef GAMMARAYPC_ABOUT_CONTENT_H 6 | #define GAMMARAYPC_ABOUT_CONTENT_H 7 | 8 | #include "app_content.h" 9 | 10 | #include 11 | 12 | namespace tc 13 | { 14 | 15 | class ClientContext; 16 | class Settings; 17 | 18 | class AboutContent : public AppContent { 19 | public: 20 | AboutContent(const std::shared_ptr& ctx, QWidget* parent = nullptr); 21 | 22 | }; 23 | 24 | } 25 | 26 | #endif //GAMMARAYPC_ABOUT_CONTENT_H 27 | -------------------------------------------------------------------------------- /src/client/ui/app_color_theme.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023/8/16. 3 | // 4 | 5 | #include "app_color_theme.h" 6 | 7 | namespace tc 8 | { 9 | 10 | int AppColorTheme::kAppMenuItemBgNormalColor = 0xbbbbbb; 11 | int AppColorTheme::kAppMenuItemBgHoverColor = 0x2979ff; 12 | int AppColorTheme::kAppMenuItemBgPressColor = 0x2171cf; 13 | int AppColorTheme::kAppMenuItemFontNormalColor = 0x333333; 14 | int AppColorTheme::kAppMenuItemFontSelectedColor = 0x333333; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/client/ui/app_color_theme.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023/8/16. 3 | // 4 | 5 | #ifndef SAILFISH_SERVER_APPCOLORTHEME_H 6 | #define SAILFISH_SERVER_APPCOLORTHEME_H 7 | 8 | 9 | namespace tc 10 | { 11 | 12 | class AppColorTheme { 13 | public: 14 | 15 | static int kAppMenuItemBgNormalColor; 16 | static int kAppMenuItemBgHoverColor; 17 | static int kAppMenuItemBgPressColor; 18 | static int kAppMenuItemFontNormalColor; 19 | static int kAppMenuItemFontSelectedColor; 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif //SAILFISH_SERVER_APPCOLORTHEME_H 26 | -------------------------------------------------------------------------------- /src/client/ui/app_content.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023/8/16. 3 | // 4 | 5 | #include "app_content.h" 6 | 7 | #include "client/ct_settings.h" 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | namespace tc 14 | { 15 | 16 | AppContent::AppContent(const std::shared_ptr& ctx, QWidget* parent) : RoundRectWidget(0xffffff, 0, parent) { 17 | context_ = ctx; 18 | settings_ = Settings::Instance(); 19 | } 20 | 21 | AppContent::~AppContent() = default; 22 | 23 | void AppContent::OnContentShow() { 24 | } 25 | 26 | void AppContent::OnContentHide() { 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/client/ui/media_record_sign_lab.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | namespace tc 8 | { 9 | 10 | class ClientContext; 11 | class MessageListener; 12 | 13 | class MediaRecordSignLab : public QWidget { 14 | public: 15 | explicit MediaRecordSignLab(const std::shared_ptr& context, QWidget* parent = nullptr); 16 | void paintEvent(QPaintEvent* event) override; 17 | 18 | private: 19 | int toggle_ = 0; 20 | std::shared_ptr context_ = nullptr; 21 | std::shared_ptr listener_ = nullptr; 22 | }; 23 | } -------------------------------------------------------------------------------- /src/client/ui/no_margin_layout.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-10. 3 | // 4 | 5 | #include "no_margin_layout.h" 6 | -------------------------------------------------------------------------------- /src/client/ui/no_margin_layout.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-10. 3 | // 4 | 5 | #ifndef TC_SERVER_STEAM_NO_MARGIN_LAYOUT_H 6 | #define TC_SERVER_STEAM_NO_MARGIN_LAYOUT_H 7 | 8 | #include 9 | #include 10 | 11 | namespace tc 12 | { 13 | 14 | class NoMarginVLayout : public QVBoxLayout { 15 | public: 16 | NoMarginVLayout() : QVBoxLayout() { 17 | setSpacing(0); 18 | setContentsMargins(0,0,0,0); 19 | } 20 | }; 21 | 22 | class NoMarginHLayout : public QHBoxLayout { 23 | public: 24 | NoMarginHLayout() : QHBoxLayout() { 25 | setSpacing(0); 26 | setContentsMargins(0,0,0,0); 27 | } 28 | }; 29 | 30 | } 31 | #endif //TC_SERVER_STEAM_NO_MARGIN_LAYOUT_H 32 | -------------------------------------------------------------------------------- /src/client/ui/retry_conn_dialog.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 23/06/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_RETRY_CONN_DIALOG_H 6 | #define GAMMARAY_RETRY_CONN_DIALOG_H 7 | 8 | #include "tc_qt_widget/tc_custom_titlebar_dialog.h" 9 | 10 | namespace tc 11 | { 12 | class Win10CircleLoadingWidget; 13 | class Win10HorizontalLoadingWidget; 14 | 15 | class RetryConnDialog : public TcCustomTitleBarDialog { 16 | public: 17 | RetryConnDialog(const QString &title, QWidget *parent = nullptr); 18 | void Exec(); 19 | void Done(); 20 | 21 | private: 22 | Win10CircleLoadingWidget* h_loading_widget_ = nullptr; 23 | }; 24 | } 25 | 26 | 27 | #endif //GAMMARAY_RETRY_CONN_DIALOG_H 28 | -------------------------------------------------------------------------------- /src/client/ui/round_rect_widget.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023/8/30. 3 | // 4 | 5 | #include "round_rect_widget.h" 6 | #include 7 | 8 | namespace tc 9 | { 10 | 11 | RoundRectWidget::RoundRectWidget(int bg_color, int radius, QWidget *parent) : QWidget(parent) { 12 | this->bg_color_ = bg_color; 13 | this->radius_ = radius; 14 | } 15 | 16 | void RoundRectWidget::paintEvent(QPaintEvent *event) { 17 | QPainter painter(this); 18 | painter.setRenderHint(QPainter::Antialiasing); 19 | 20 | painter.setPen(Qt::NoPen); 21 | painter.setBrush(QBrush(QColor(bg_color_))); 22 | painter.drawRoundedRect(0, 0, this->width(), this->height(), radius_, radius_); 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/client/ui/round_rect_widget.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023/8/30. 3 | // 4 | 5 | #ifndef SAILFISH_SERVER_ROUNDRECTWIDGET_H 6 | #define SAILFISH_SERVER_ROUNDRECTWIDGET_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class RoundRectWidget : public QWidget { 14 | public: 15 | RoundRectWidget(int bg_color, int radius, QWidget *parent = nullptr); 16 | void paintEvent(QPaintEvent *event) override; 17 | 18 | private: 19 | int bg_color_ = 0; 20 | int radius_ = 0; 21 | 22 | }; 23 | 24 | } 25 | 26 | #endif //SAILFISH_SERVER_ROUNDRECTWIDGET_H 27 | -------------------------------------------------------------------------------- /src/client/ui/svg_lable.cpp: -------------------------------------------------------------------------------- 1 | #include "svg_lable.h" 2 | 3 | namespace tc { 4 | 5 | void SvgLable::paintEvent(QPaintEvent* event) { 6 | QPainter painter(this); 7 | svg_renderer_.load(svg_path_); 8 | svg_renderer_.render(&painter, QRectF(0, 0, this->width(), this->height())); 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /src/client/ui/svg_lable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | namespace tc { 8 | 9 | class SvgLable : public QLabel { 10 | public: 11 | SvgLable(QString svg_path, QWidget* parent = nullptr) : QLabel(parent), svg_path_(svg_path){} 12 | void paintEvent(QPaintEvent* event) override; 13 | 14 | private: 15 | QString svg_path_; 16 | QSvgRenderer svg_renderer_; 17 | }; 18 | } -------------------------------------------------------------------------------- /src/crash_reporter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.26) 2 | 3 | project(GammaRayCrashReporter VERSION ${TC_APP_VERSION} LANGUAGES CXX) 4 | 5 | add_executable(${PROJECT_NAME} 6 | crash_reporter_main.cpp 7 | ) -------------------------------------------------------------------------------- /src/crash_reporter/crash_reporter_main.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 22/11/2025. 3 | // 4 | 5 | int main(int argc, char** argv) { 6 | 7 | return 0; 8 | } -------------------------------------------------------------------------------- /src/hw_info/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(tc_hw_info) 2 | add_library(${PROJECT_NAME} 3 | hw_info_parser.cpp 4 | hw_info_widget.cpp 5 | hw_stat_chart.cpp 6 | hw_cpu_detail_widget.cpp 7 | hw_cpu_detail_item.cpp 8 | hw_gpu_widget.cpp 9 | ) 10 | target_link_libraries(${PROJECT_NAME} tc_common_new) 11 | target_link_libraries(${PROJECT_NAME} Qt6::Widgets Qt6::Network Qt6::Core Qt6::Core5Compat Qt6::WebSockets Qt6::Network Qt6::Charts Qt6::Svg) -------------------------------------------------------------------------------- /src/hw_info/hw_cpu_detail_item.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 24/09/2025. 3 | // 4 | 5 | #include "hw_cpu_detail_item.h" 6 | #include "no_margin_layout.h" 7 | 8 | namespace tc 9 | { 10 | 11 | HWCpuDetailItem::HWCpuDetailItem(const QString& title, QWidget* parent) : QWidget(parent) { 12 | auto layout = new NoMarginVLayout(); 13 | chart_ = new HWStatChart(this); 14 | chart_->SetTitle(title); 15 | layout->addWidget(chart_); 16 | setLayout(layout); 17 | } 18 | 19 | void HWCpuDetailItem::UpdateValue(float value) { 20 | values_.push_back(value); 21 | if (values_.size() >= 60) { 22 | values_.erase(values_.begin()); 23 | } 24 | chart_->UpdateValues(values_); 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/hw_info/hw_cpu_detail_item.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 24/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_HW_CPU_DETAIL_ITEM_H 6 | #define GAMMARAYPREMIUM_HW_CPU_DETAIL_ITEM_H 7 | 8 | #include 9 | #include 10 | #include "hw_info.h" 11 | #include "hw_stat_chart.h" 12 | 13 | namespace tc 14 | { 15 | class HWCpuDetailItem : public QWidget { 16 | public: 17 | HWCpuDetailItem(const QString& title, QWidget* parent = nullptr); 18 | void UpdateValue(float value); 19 | 20 | private: 21 | HWStatChart* chart_ = nullptr; 22 | std::vector values_; 23 | }; 24 | } 25 | 26 | #endif //GAMMARAYPREMIUM_HW_CPU_DETAIL_ITEM_H 27 | -------------------------------------------------------------------------------- /src/hw_info/hw_info_parser.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 21/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_HW_INFO_PARSER_H 6 | #define GAMMARAYPREMIUM_HW_INFO_PARSER_H 7 | 8 | #include 9 | #include 10 | 11 | namespace tc 12 | { 13 | 14 | class SysInfo; 15 | 16 | class HWInfoParser { 17 | public: 18 | static std::shared_ptr ParseHWInfo(const std::string& input, float current_cpu_freq); 19 | }; 20 | 21 | } 22 | 23 | #endif //GAMMARAYPREMIUM_HW_INFO_PARSER_H 24 | -------------------------------------------------------------------------------- /src/render/app/app_manager_factory.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023-12-22. 3 | // 4 | 5 | #include "app_manager_factory.h" 6 | 7 | #ifdef WIN32 8 | #include "app/win/app_manager_win.h" 9 | #else 10 | #include "app_manager_linux.h" 11 | #endif 12 | 13 | namespace tc 14 | { 15 | 16 | std::shared_ptr AppManagerFactory::Make(const std::shared_ptr& ctx) { 17 | #ifdef WIN32 18 | auto mgr = std::make_shared(ctx); 19 | mgr->Init(); 20 | return mgr; 21 | #else 22 | return nullptr; 23 | #endif 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/render/app/app_manager_factory.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023-12-22. 3 | // 4 | 5 | #ifndef TC_APPLICATION_APP_MANAGER_FACTORY_H 6 | #define TC_APPLICATION_APP_MANAGER_FACTORY_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class RdContext; 14 | class AppManager; 15 | 16 | class AppManagerFactory { 17 | public: 18 | 19 | static std::shared_ptr Make(const std::shared_ptr& ctx); 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif //TC_APPLICATION_APP_MANAGER_FACTORY_H 26 | -------------------------------------------------------------------------------- /src/render/app/app_manager_linux.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023-12-21. 3 | // 4 | 5 | #include "app_manager_linux.h" 6 | -------------------------------------------------------------------------------- /src/render/app/app_manager_linux.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2023-12-21. 3 | // 4 | 5 | #ifndef TC_APPLICATION_APP_MANAGER_LINUX_H 6 | #define TC_APPLICATION_APP_MANAGER_LINUX_H 7 | 8 | 9 | class app_manager_linux { 10 | 11 | }; 12 | 13 | 14 | #endif //TC_APPLICATION_APP_MANAGER_LINUX_H 15 | -------------------------------------------------------------------------------- /src/render/app/global_id_generator.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 29/09/2025. 3 | // 4 | 5 | #include "global_id_generator.h" 6 | 7 | uint64_t GenNextGlobalId() { 8 | return tc::GlobalIdGenerator::Instance()->NextId(); 9 | } -------------------------------------------------------------------------------- /src/render/app/win/dx_address_loader.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/3/17. 3 | // 4 | 5 | #ifndef TC_APPLICATION_DX_ADDRESS_LOADER_H 6 | #define TC_APPLICATION_DX_ADDRESS_LOADER_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class AppSharedMessage; 14 | 15 | class DxAddressLoader { 16 | public: 17 | 18 | static std::shared_ptr LoadDxAddress(); 19 | 20 | }; 21 | 22 | } 23 | 24 | #endif //TC_APPLICATION_DX_ADDRESS_LOADER_H 25 | -------------------------------------------------------------------------------- /src/render/app/win/win_desktop_manager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | namespace tc 5 | { 6 | 7 | class RdContext; 8 | class WinMessageLoop; 9 | 10 | class WinDesktopManager { 11 | public: 12 | static std::shared_ptr Make(const std::shared_ptr& ctx); 13 | explicit WinDesktopManager(const std::shared_ptr& ctx); 14 | ~WinDesktopManager(); 15 | // 刷新桌面 16 | void UpdateDesktop(); 17 | public: 18 | private: 19 | std::shared_ptr context_ = nullptr; 20 | std::shared_ptr message_loop_; 21 | }; 22 | 23 | } -------------------------------------------------------------------------------- /src/render/network/server_cast.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/3/15. 3 | // 4 | 5 | #include "server_cast.h" 6 | #include "tc_common_new/log.h" 7 | #include "rd_context.h" 8 | 9 | namespace tc 10 | { 11 | 12 | std::shared_ptr ServerCast::Make(std::shared_ptr &ctx) { 13 | return std::make_shared(ctx); 14 | } 15 | 16 | ServerCast::ServerCast(const std::shared_ptr &ctx) : context_(ctx) { 17 | 18 | } 19 | 20 | void ServerCast::Start() { 21 | 22 | } 23 | 24 | void ServerCast::Stop() { 25 | 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/render/network/server_cast.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/3/15. 3 | // 4 | 5 | #ifndef TC_APPLICATION_SERVER_CAST_H 6 | #define TC_APPLICATION_SERVER_CAST_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class RdContext; 14 | 15 | class ServerCast { 16 | public: 17 | 18 | static std::shared_ptr Make(std::shared_ptr& ctx); 19 | 20 | explicit ServerCast(const std::shared_ptr& ctx); 21 | void Start(); 22 | void Stop(); 23 | 24 | private: 25 | std::shared_ptr context_ = nullptr; 26 | 27 | }; 28 | 29 | } 30 | 31 | #endif //TC_APPLICATION_SERVER_CAST_H 32 | -------------------------------------------------------------------------------- /src/render/network/ws_data.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 27/05/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_WS_DATA_H 6 | #define GAMMARAY_WS_DATA_H 7 | 8 | namespace tc 9 | { 10 | class WsData { 11 | public: 12 | std::map vars_; 13 | }; 14 | using WsDataPtr = std::shared_ptr; 15 | } 16 | 17 | #endif //GAMMARAY_WS_DATA_H 18 | -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_audio_encoder_plugin.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 7/12/2024. 3 | // 4 | 5 | #include "gr_audio_encoder_plugin.h" 6 | 7 | namespace tc 8 | { 9 | 10 | GrAudioEncoderPlugin::GrAudioEncoderPlugin() { 11 | 12 | } 13 | 14 | GrAudioEncoderPlugin::~GrAudioEncoderPlugin() { 15 | 16 | } 17 | 18 | bool GrAudioEncoderPlugin::OnCreate(const tc::GrPluginParam& param) { 19 | GrPluginInterface::OnCreate(param); 20 | 21 | return true; 22 | } 23 | 24 | bool GrAudioEncoderPlugin::OnDestroy() { 25 | 26 | return true; 27 | } 28 | 29 | void GrAudioEncoderPlugin::Encode(const std::shared_ptr& data, int sample, int channels, int bits) { 30 | 31 | } 32 | 33 | } -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_audio_encoder_plugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 7/12/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_GR_AUDIO_ENCODER_PLUGIN_H 6 | #define GAMMARAY_GR_AUDIO_ENCODER_PLUGIN_H 7 | 8 | #include "gr_plugin_interface.h" 9 | 10 | namespace tc 11 | { 12 | 13 | class Data; 14 | 15 | class GrAudioEncoderPlugin : public GrPluginInterface { 16 | public: 17 | GrAudioEncoderPlugin(); 18 | ~GrAudioEncoderPlugin() override; 19 | 20 | bool OnCreate(const tc::GrPluginParam& param) override; 21 | bool OnDestroy() override; 22 | 23 | virtual void Encode(const std::shared_ptr& data, int sample, int channels, int bits); 24 | 25 | }; 26 | 27 | } 28 | 29 | #endif //GAMMARAY_GR_AUDIO_ENCODER_PLUGIN_H 30 | -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_data_provider_plugin.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 26/11/2024. 3 | // 4 | 5 | #include "gr_data_provider_plugin.h" 6 | 7 | namespace tc 8 | { 9 | 10 | GrDataProviderPlugin::GrDataProviderPlugin() { 11 | 12 | } 13 | 14 | GrDataProviderPlugin::~GrDataProviderPlugin() { 15 | 16 | } 17 | 18 | bool GrDataProviderPlugin::OnCreate(const tc::GrPluginParam& param) { 19 | GrPluginInterface::OnCreate(param); 20 | return true; 21 | } 22 | 23 | bool GrDataProviderPlugin::OnDestroy() { 24 | return true; 25 | } 26 | 27 | void GrDataProviderPlugin::StartProviding() { 28 | 29 | } 30 | 31 | void GrDataProviderPlugin::StopProviding() { 32 | 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_data_provider_plugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 26/11/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_GR_DATA_PROVIDER_PLUGIN_H 6 | #define GAMMARAY_GR_DATA_PROVIDER_PLUGIN_H 7 | 8 | #include "gr_plugin_interface.h" 9 | 10 | namespace tc 11 | { 12 | 13 | class GrDataProviderPlugin : public GrPluginInterface { 14 | public: 15 | GrDataProviderPlugin(); 16 | ~GrDataProviderPlugin() override; 17 | bool OnCreate(const tc::GrPluginParam& param) override; 18 | bool OnDestroy() override; 19 | virtual void StartProviding(); 20 | virtual void StopProviding(); 21 | }; 22 | 23 | } 24 | 25 | #endif //GAMMARAY_GR_DATA_PROVIDER_PLUGIN_H 26 | -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_frame_carrier_plugin.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 27/06/2025. 3 | // 4 | 5 | #include "gr_frame_carrier_plugin.h" 6 | -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_frame_processor_plugin.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 25/11/2024. 3 | // 4 | 5 | #include "gr_frame_processor_plugin.h" 6 | 7 | namespace tc 8 | { 9 | GrFrameProcessorPlugin::GrFrameProcessorPlugin() { 10 | 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /src/render/plugin_interface/gr_net_plugin_type.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 28/09/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_NET_PLUGIN_TYPE_H 6 | #define GAMMARAYPREMIUM_GR_NET_PLUGIN_TYPE_H 7 | 8 | namespace tc 9 | { 10 | 11 | enum class NetPluginType { 12 | kWebSocket, 13 | kUdpKcp, 14 | kWebRtcDirect, 15 | kWebRtc 16 | }; 17 | 18 | enum class NetChannelType { 19 | kMedia, 20 | kFileTransfer, 21 | }; 22 | 23 | class NetMessageAck { 24 | public: 25 | uint64_t send_time_ = 0; 26 | uint64_t resp_time_ = 0; 27 | NetChannelType ch_type_; 28 | int msg_type_ = 0; // MessageType 29 | }; 30 | } 31 | 32 | #endif //GAMMARAYPREMIUM_GR_NET_PLUGIN_TYPE_H 33 | -------------------------------------------------------------------------------- /src/render/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #add_subdirectory(net_udp) 2 | #add_subdirectory(net_rtc) 3 | add_subdirectory(net_ws) 4 | #add_subdirectory(net_relay) 5 | #add_subdirectory(media_recorder) 6 | #add_subdirectory(obj_detector) 7 | add_subdirectory(ffmpeg_encoder) 8 | #add_subdirectory(amf_encoder) 9 | add_subdirectory(frame_debugger) 10 | #add_subdirectory(nvenc_encoder) 11 | add_subdirectory(dda_capture) 12 | #add_subdirectory(frame_resizer) 13 | add_subdirectory(mock_video_stream) 14 | add_subdirectory(was_audio_capture) 15 | add_subdirectory(opus_encoder) 16 | #add_subdirectory(file_transfer) 17 | #add_subdirectory(clipboard) 18 | #add_subdirectory(gdi_capture) 19 | #add_subdirectory(frame_carrier) 20 | #add_subdirectory(tc_vr_plugin) 21 | #add_subdirectory(joystick) 22 | add_subdirectory(event_replayer) -------------------------------------------------------------------------------- /src/render/plugins/ReadMe.md: -------------------------------------------------------------------------------- 1 | #### About config toml 2 | > We supported to config 4 kinds of data type: integer, string, bool, double 3 | ```toml 4 | # string 5 | name = "RGAA" 6 | 7 | # integer 8 | age = 120 9 | 10 | # bool 11 | love-fishing = true 12 | 13 | # double 14 | code-lines = 100000000.5555555 15 | 16 | ``` -------------------------------------------------------------------------------- /src/render/plugins/dda_capture/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_dda_capture) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/dda_capture_plugin.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/cursor_capture.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/dda_capture.cpp 10 | #${CMAKE_CURRENT_SOURCE_DIR}/desktop_capture.cpp 11 | 12 | ${CMAKE_CURRENT_SOURCE_DIR}/../plugin_desktop_capture.cpp 13 | ) 14 | 15 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 16 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin) -------------------------------------------------------------------------------- /src/render/plugins/dda_capture/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/dda_capture/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/dda_capture/cursor_capture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN 4 | #include 5 | #include 6 | #include 7 | 8 | namespace tc 9 | { 10 | class Data; 11 | class DDACapturePlugin; 12 | class CaptureCursorBitmap; 13 | 14 | class CursorCapture { 15 | public: 16 | explicit CursorCapture(DDACapturePlugin* plugin); 17 | void Capture(); 18 | 19 | private: 20 | static bool CaptureCursorIcon(CaptureCursorBitmap* data, HICON icon); 21 | 22 | private: 23 | DDACapturePlugin* plugin_ = nullptr; 24 | 25 | std::shared_ptr last_cursor_bitmap_data_ = nullptr; 26 | uint64_t last_timestamp_ = 0; 27 | }; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/render/plugins/dda_capture/monitor_util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/dda_capture/monitor_util.h -------------------------------------------------------------------------------- /src/render/plugins/dda_capture/plugin_dda_capture.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is DDA Capture" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/render/plugins/event_replayer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_event_replayer) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/event_replayer_plugin.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/win_event_replayer.cpp 9 | ) 10 | 11 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 12 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin) -------------------------------------------------------------------------------- /src/render/plugins/event_replayer/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/event_replayer/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/event_replayer/plugin_event_replayer.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "Mouse/Keyboard Events Replayer" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/render/plugins/ffmpeg_encoder/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/ffmpeg_encoder/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/ffmpeg_encoder/ffmpeg_encoder_defs.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 19/11/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_FFMPEG_ENCODER_DEFS_H 6 | #define GAMMARAY_FFMPEG_ENCODER_DEFS_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | static const std::string kFFmpegPluginName = "Common Encoder"; 13 | } 14 | 15 | #endif //GAMMARAY_FFMPEG_ENCODER_DEFS_H 16 | -------------------------------------------------------------------------------- /src/render/plugins/ffmpeg_encoder/plugin_ffmpeg_encoder.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is FFmpeg software encoder" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/render/plugins/frame_carrier/plugin_frame_carrier.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/frame_carrier/plugin_frame_carrier.dll -------------------------------------------------------------------------------- /src/render/plugins/frame_carrier/plugin_frame_carrier.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "Frame Carrier" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/render/plugins/frame_debugger/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_frame_debugger) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/frame_debugger_plugin.cpp 8 | ) 9 | 10 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 11 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin) -------------------------------------------------------------------------------- /src/render/plugins/frame_debugger/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/frame_debugger/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/frame_debugger/plugin_frame_debugger.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is Frame Debugger" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = false 15 | 16 | # 17 | save_encoded_video = false -------------------------------------------------------------------------------- /src/render/plugins/mock_video_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_mock_video_stream) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/mock_video_stream_plugin.cpp 8 | ) 9 | 10 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 11 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin) 12 | target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_Libs}) -------------------------------------------------------------------------------- /src/render/plugins/mock_video_stream/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/mock_video_stream/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/mock_video_stream/plugin_mock_video_stream.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is Mock Video Stream" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = false -------------------------------------------------------------------------------- /src/render/plugins/net_ws/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_net_ws) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/ws_plugin.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/ws_server.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/ws_stream_router.cpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/ws_filetransfer_router.cpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/http_handler.cpp 12 | ) 13 | 14 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 15 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_net_plugin libprotobuf tc_message) -------------------------------------------------------------------------------- /src/render/plugins/net_ws/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/net_ws/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/net_ws/plugin_net_ws.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is Net Websocket" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true 15 | 16 | # listen port 17 | #listen-port = 20371 18 | listen-port = 0 -------------------------------------------------------------------------------- /src/render/plugins/opus_encoder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_opus_encoder) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/opus_encoder_plugin.cpp 8 | ) 9 | 10 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 11 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin tc_opus_codec_new) -------------------------------------------------------------------------------- /src/render/plugins/opus_encoder/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/opus_encoder/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/opus_encoder/plugin_opus_encoder.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is Opus Encoder" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true 15 | 16 | # 17 | save_debug_file = false -------------------------------------------------------------------------------- /src/render/plugins/was_audio_capture/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(plugin_was_audio_capture) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(PLUGIN_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/was_audio_capture_plugin.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/wasapi_audio_capture.cpp 9 | ) 10 | 11 | add_library(${PROJECT_NAME} SHARED ${PLUGIN_SRCS}) 12 | target_link_libraries(${PROJECT_NAME} PRIVATE tc_common_new tc_message tc_plugin) -------------------------------------------------------------------------------- /src/render/plugins/was_audio_capture/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/render/plugins/was_audio_capture/ReadMe.md -------------------------------------------------------------------------------- /src/render/plugins/was_audio_capture/plugin_was_audio_capture.dll.toml: -------------------------------------------------------------------------------- 1 | # 2 | author = "RGAA" 3 | 4 | # 5 | description = "This is WAS Audio Capture" 6 | 7 | # 8 | version_name = "1.2.0" 9 | 10 | # 11 | version_code = 120 12 | 13 | # 14 | enabled = true -------------------------------------------------------------------------------- /src/render/plugins/was_audio_capture/wasapi_audio_capture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "audio_capture.h" 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | namespace tc 16 | { 17 | 18 | class WASAPIAudioCapture : public IAudioCapture { 19 | public: 20 | static AudioCapturePtr Make(const std::string& device_id); 21 | 22 | int Start() override; 23 | int Pause() override; 24 | int Stop() override; 25 | 26 | private: 27 | bool exit_ = false; 28 | 29 | }; 30 | 31 | } -------------------------------------------------------------------------------- /src/render/settings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.26) 2 | 3 | add_library(settings rd_settings.cpp) -------------------------------------------------------------------------------- /src/render_panel/clipboard/win/panel_cp_file_struct.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 8/04/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_CP_FILE_STRUCT_H 6 | #define GAMMARAY_CP_FILE_STRUCT_H 7 | 8 | #include 9 | #include 10 | #include "tc_message.pb.h" 11 | 12 | namespace tc 13 | { 14 | 15 | class ClipboardFileWrapper { 16 | public: 17 | std::string device_id_; 18 | std::string stream_id_; 19 | ClipboardFile file_; 20 | }; 21 | 22 | } 23 | 24 | #endif //GAMMARAY_CP_FILE_STRUCT_H 25 | -------------------------------------------------------------------------------- /src/render_panel/companion/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(tc_panel_companion) 2 | 3 | add_library(${PROJECT_NAME} panel_companion.cpp) -------------------------------------------------------------------------------- /src/render_panel/companion/panel_companion.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 6/08/2025. 3 | // 4 | 5 | #include "panel_companion.h" 6 | 7 | namespace tc 8 | { 9 | 10 | PanelCompanion::~PanelCompanion() { 11 | 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/render_panel/devices/connected_info_tag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | 6 | 7 | namespace tc { 8 | 9 | class ConnectedInfoTag : public QWidget { 10 | Q_OBJECT 11 | public: 12 | ConnectedInfoTag(QWidget* parent = nullptr); 13 | void paintEvent(QPaintEvent* event) override; 14 | bool GetExpanded() const; 15 | void SetExpanded(bool expanded); 16 | 17 | void mousePressEvent(QMouseEvent* event) override; 18 | void mouseMoveEvent(QMouseEvent* event) override; 19 | void mouseReleaseEvent(QMouseEvent* event) override; 20 | public: 21 | bool generate_movement_ = false; 22 | private: 23 | bool expanded_ = true; 24 | QPoint m_dragStartPos; // 记录鼠标按下时的位置 25 | bool m_dragging = false; // 是否正在拖动 26 | }; 27 | 28 | } -------------------------------------------------------------------------------- /src/render_panel/devices/readme.md: -------------------------------------------------------------------------------- 1 | #### Device List 2 | -------------------------------------------------------------------------------- /src/render_panel/gr_guard_starter.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 28/07/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_GUARD_STARTER_H 6 | #define GAMMARAYPREMIUM_GR_GUARD_STARTER_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class GrContext; 14 | class MessageListener; 15 | 16 | class GrGuardStarter { 17 | public: 18 | explicit GrGuardStarter(const std::shared_ptr& ctx); 19 | 20 | private: 21 | bool CheckGuardState(); 22 | void StartGuard(); 23 | 24 | private: 25 | std::shared_ptr context_ = nullptr; 26 | std::shared_ptr msg_listener_ = nullptr; 27 | }; 28 | 29 | } 30 | 31 | #endif //GAMMARAYPREMIUM_GR_GUARD_STARTER_H 32 | -------------------------------------------------------------------------------- /src/render_panel/gr_render_msg_processor.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 26/07/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_RENDER_MSG_PROCESSOR_H 6 | #define GAMMARAYPREMIUM_GR_RENDER_MSG_PROCESSOR_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | class GrContext; 13 | class Message; 14 | 15 | class GrRenderMsgProcessor { 16 | public: 17 | explicit GrRenderMsgProcessor(const std::shared_ptr& ctx); 18 | void OnMessage(std::shared_ptr msg); 19 | 20 | private: 21 | std::shared_ptr context_ = nullptr; 22 | }; 23 | 24 | } 25 | 26 | #endif //GAMMARAYPREMIUM_GR_RENDER_MSG_PROCESSOR_H 27 | -------------------------------------------------------------------------------- /src/render_panel/gr_resources.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/4/12. 3 | // 4 | 5 | #ifndef TC_SERVER_STEAM_RESOURCE_MANAGER_H 6 | #define TC_SERVER_STEAM_RESOURCE_MANAGER_H 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace tc 13 | { 14 | 15 | class GrContext; 16 | 17 | class GrResources { 18 | public: 19 | 20 | explicit GrResources(const std::shared_ptr& ctx); 21 | void ExtractIconsIfNeeded(); 22 | 23 | private: 24 | std::shared_ptr context_ = nullptr; 25 | QString res_folder_path_; 26 | }; 27 | 28 | } 29 | 30 | #endif //TC_SERVER_STEAM_RESOURCE_MANAGER_H 31 | -------------------------------------------------------------------------------- /src/render_panel/gr_running_pipe.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 25/01/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_GR_RUNNING_PIPE_H 6 | #define GAMMARAY_GR_RUNNING_PIPE_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | namespace tc 14 | { 15 | 16 | class GrRunningPipe { 17 | public: 18 | explicit GrRunningPipe(); 19 | ~GrRunningPipe(); 20 | void StartListening(std::function&& cbk); 21 | bool SendHello(); 22 | 23 | private: 24 | std::shared_ptr recv_thread_ = nullptr; 25 | HANDLE recv_handle_ = nullptr; 26 | bool exit_receiving_ = false; 27 | }; 28 | 29 | } 30 | 31 | #endif //GAMMARAY_GR_RUNNING_PIPE_H 32 | -------------------------------------------------------------------------------- /src/render_panel/guard/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (WIN32) 2 | set(GUARD_SRCS 3 | ${CMAKE_CURRENT_SOURCE_DIR}/gr_guard_main.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/gr_panel_guard.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/gr_guard_context.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/gr_guard_app.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/gr_panel_client.cpp 8 | PARENT_SCOPE 9 | ) 10 | else () 11 | 12 | endif () -------------------------------------------------------------------------------- /src/render_panel/guard/gr_guard_app.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 28/07/2025. 3 | // 4 | 5 | #include "gr_guard_app.h" 6 | #include "gr_guard_context.h" 7 | #include "gr_panel_guard.h" 8 | #include "gr_panel_client.h" 9 | 10 | namespace tc 11 | { 12 | 13 | GrGuardApp::GrGuardApp(const std::shared_ptr& ctx) { 14 | context_ = ctx; 15 | panel_guard_ = std::make_shared(context_); 16 | panel_guard_->Start(); 17 | 18 | panel_client_ = std::make_shared(); 19 | panel_client_->Start(); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/render_panel/guard/gr_guard_app.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 28/07/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_GUARD_APP_H 6 | #define GAMMARAYPREMIUM_GR_GUARD_APP_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class GrGuardContext; 14 | class GrPanelGuard; 15 | class GrPanelClient; 16 | 17 | class GrGuardApp { 18 | public: 19 | explicit GrGuardApp(const std::shared_ptr& ctx); 20 | 21 | private: 22 | std::shared_ptr context_ = nullptr; 23 | std::shared_ptr panel_guard_ = nullptr; 24 | std::shared_ptr panel_client_ = nullptr; 25 | }; 26 | 27 | } 28 | 29 | #endif //GAMMARAYPREMIUM_GR_GUARD_APP_H 30 | -------------------------------------------------------------------------------- /src/render_panel/guard/gr_guard_messages.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 28/07/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_GUARD_MESSAGES_H 6 | #define GAMMARAYPREMIUM_GR_GUARD_MESSAGES_H 7 | 8 | namespace tc 9 | { 10 | 11 | // timer 100ms 12 | class MsgGrGuardTimer100 { 13 | public: 14 | }; 15 | 16 | class MsgGrGuardTimer1S { 17 | public: 18 | }; 19 | 20 | class MsgGrGuardTimer5S { 21 | public: 22 | }; 23 | 24 | } 25 | 26 | #endif //GAMMARAYPREMIUM_GR_GUARD_MESSAGES_H 27 | -------------------------------------------------------------------------------- /src/render_panel/guard/gr_panel_client.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 1/08/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_GR_GUARD_PANEL_CLIENT_H 6 | #define GAMMARAYPREMIUM_GR_GUARD_PANEL_CLIENT_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class GrPanelClient { 14 | public: 15 | void Start(); 16 | void Exit(); 17 | 18 | private: 19 | std::shared_ptr client_ = nullptr; 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif //GAMMARAYPREMIUM_GR_PANEL_CLIENT_H 26 | -------------------------------------------------------------------------------- /src/render_panel/system/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (WIN32) 2 | set(SYSTEM_SRCS 3 | ${CMAKE_CURRENT_SOURCE_DIR}/win/win_panel_message_loop.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/win/win_panel_message_window.cpp 5 | PARENT_SCOPE 6 | ) 7 | else () 8 | 9 | endif () -------------------------------------------------------------------------------- /src/render_panel/ui/game_info_preview.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/5/20. 3 | // 4 | 5 | #ifndef GAMMARAY_GAME_INFO_PREVIEW_H 6 | #define GAMMARAY_GAME_INFO_PREVIEW_H 7 | 8 | #include 9 | #include 10 | 11 | namespace tc 12 | { 13 | 14 | class TcDBGame; 15 | class GrApplication; 16 | 17 | class GameInfoPreview : public QDialog { 18 | public: 19 | 20 | GameInfoPreview(const std::shared_ptr& app, const std::shared_ptr& game, QWidget* parent = nullptr); 21 | ~GameInfoPreview() = default; 22 | 23 | }; 24 | 25 | } 26 | 27 | #endif //GAMMARAY_GAME_INFO_PREVIEW_H 28 | -------------------------------------------------------------------------------- /src/render_panel/ui/qt_circle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-11. 3 | // 4 | 5 | #ifndef QT_VIS_H_ 6 | #define QT_VIS_H_ 7 | 8 | #include 9 | #include 10 | #include "effect_widget.h" 11 | 12 | namespace tc 13 | { 14 | 15 | class QtCircle : public EffectWidget { 16 | 17 | public: 18 | explicit QtCircle(QWidget *parent = nullptr); 19 | void paintEvent(QPaintEvent *event) override; 20 | 21 | private: 22 | float rotate_ = 0; 23 | long color_count_ = 0; 24 | }; 25 | 26 | } 27 | 28 | #endif // VIS_H 29 | -------------------------------------------------------------------------------- /src/render_panel/ui/qt_vertical.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-11. 3 | // 4 | 5 | #ifndef QT_VERTICLE_H 6 | #define QT_VERTICLE_H 7 | 8 | #include "effect_widget.h" 9 | #include 10 | 11 | namespace tc 12 | { 13 | 14 | class QtVertical : public EffectWidget { 15 | public: 16 | explicit QtVertical(QWidget *parent); 17 | void paintEvent(QPaintEvent *event) override; 18 | 19 | private: 20 | }; 21 | 22 | 23 | } 24 | 25 | #endif // QT_VERTICLE_H 26 | -------------------------------------------------------------------------------- /src/render_panel/ui/rn_empty.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-11. 3 | // 4 | 5 | #ifndef TC_SERVER_STEAM_RNST_EMPTY_H 6 | #define TC_SERVER_STEAM_RNST_EMPTY_H 7 | 8 | #include "tab_base.h" 9 | 10 | namespace tc 11 | { 12 | 13 | class RnEmpty : public TabBase { 14 | public: 15 | RnEmpty(const std::shared_ptr& app, QWidget *parent); 16 | ~RnEmpty() = default; 17 | 18 | void OnTabShow() override; 19 | void OnTabHide() override; 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif //TC_SERVER_STEAM_ST_INPUT_H 26 | -------------------------------------------------------------------------------- /src/render_panel/ui/st_about_me.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-06-10. 3 | // 4 | 5 | #ifndef GAMMARAY_ST_ABOUT_ME_H 6 | #define GAMMARAY_ST_ABOUT_ME_H 7 | 8 | #include 9 | #include "tab_base.h" 10 | 11 | namespace tc 12 | { 13 | class GrApplication; 14 | 15 | class StAboutMe : public TabBase { 16 | public: 17 | explicit StAboutMe(const std::shared_ptr& app, QWidget* parent = nullptr); 18 | ~StAboutMe() override = default; 19 | 20 | void OnTabShow() override; 21 | void OnTabHide() override; 22 | 23 | private: 24 | QLabel* license_ = nullptr; 25 | }; 26 | 27 | } 28 | 29 | #endif //GAMMARAY_ST_ABOUT_ME_H 30 | -------------------------------------------------------------------------------- /src/render_panel/ui/st_client.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-04-11. 3 | // 4 | 5 | #ifndef TC_SERVER_STEAM_ST_CLIENT_H 6 | #define TC_SERVER_STEAM_ST_CLIENT_H 7 | 8 | #include "tab_base.h" 9 | 10 | namespace tc 11 | { 12 | 13 | class StClient : public TabBase { 14 | public: 15 | StClient(const std::shared_ptr& app, QWidget *parent); 16 | ~StClient() override = default; 17 | 18 | void OnTabShow() override; 19 | void OnTabHide() override; 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif //TC_SERVER_STEAM_ST_INPUT_H 26 | -------------------------------------------------------------------------------- /src/render_panel/ui/st_security.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024-06-10. 3 | // 4 | 5 | #ifndef GAMMARAY_ST_SECURITY_H 6 | #define GAMMARAY_ST_SECURITY_H 7 | 8 | #include 9 | #include "tab_base.h" 10 | 11 | namespace tc 12 | { 13 | class GrSettings; 14 | class GrApplication; 15 | 16 | class StSecurity : public TabBase { 17 | public: 18 | explicit StSecurity(const std::shared_ptr& app, QWidget* parent = nullptr); 19 | ~StSecurity() override = default; 20 | 21 | void OnTabShow() override; 22 | void OnTabHide() override; 23 | 24 | private: 25 | GrSettings* settings_ = nullptr; 26 | }; 27 | 28 | } 29 | 30 | #endif //GAMMARAY_ST_ABOUT_ME_H 31 | -------------------------------------------------------------------------------- /src/render_panel/ui/tab_hw_info.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 22/03/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_TAB_HW_INFO_INTERNALS_H 6 | #define GAMMARAY_TAB_HW_INFO_INTERNALS_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include "tab_base.h" 12 | 13 | namespace tc 14 | { 15 | 16 | class HWInfoWidget; 17 | 18 | class TabHWInfo : public TabBase { 19 | public: 20 | TabHWInfo(const std::shared_ptr& app, QWidget *parent); 21 | 22 | void OnTabShow() override; 23 | void OnTabHide() override; 24 | 25 | private: 26 | HWInfoWidget* hw_widget_ = nullptr; 27 | }; 28 | 29 | } 30 | 31 | #endif //GAMMARAY_TAB_PROFILE_H 32 | -------------------------------------------------------------------------------- /src/service/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(SERVICE_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/service_main.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/service.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/service_context.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/service_msg_server.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/render_manager.cpp 7 | PARENT_SCOPE 8 | ) 9 | 10 | set(SERVICE_MGR_SRCS 11 | ${CMAKE_CURRENT_SOURCE_DIR}/service_manager.cpp 12 | PARENT_SCOPE 13 | ) 14 | 15 | set(SERVICE_MGR_MAIN_SRCS 16 | ${CMAKE_CURRENT_SOURCE_DIR}/service_manager_main.cpp 17 | PARENT_SCOPE 18 | ) -------------------------------------------------------------------------------- /src/service/render_process.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 6/08/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_RENDER_PROCESS_H 6 | #define GAMMARAYPREMIUM_RENDER_PROCESS_H 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace tc 13 | { 14 | class ProcessInfo; 15 | 16 | using RenderProcessId = uint32_t; 17 | 18 | class RenderProcess { 19 | public: 20 | // = ws port 21 | RenderProcessId id_ = 0; 22 | std::shared_ptr process_info_ = nullptr; 23 | std::string app_path_{}; 24 | std::string app_args_{}; 25 | std::vector origin_args_; 26 | std::string work_dir_{}; 27 | }; 28 | 29 | } 30 | 31 | #endif //GAMMARAYPREMIUM_RENDER_PROCESS_H 32 | -------------------------------------------------------------------------------- /src/service/service_main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 21/10/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_SERVICE_MAIN_H 6 | #define GAMMARAY_SERVICE_MAIN_H 7 | 8 | namespace tc 9 | { 10 | 11 | 12 | } 13 | 14 | #endif //GAMMARAY_SERVICE_MAIN_H 15 | -------------------------------------------------------------------------------- /src/service/service_messages.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 5/12/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_SERVICE_MESSAGES_H 6 | #define GAMMARAY_SERVICE_MESSAGES_H 7 | 8 | namespace tc 9 | { 10 | 11 | class MsgTimer1S { 12 | public: 13 | }; 14 | 15 | class MsgTimer3S { 16 | public: 17 | 18 | }; 19 | 20 | 21 | } 22 | 23 | #endif //GAMMARAY_SERVICE_MESSAGES_H 24 | -------------------------------------------------------------------------------- /src/skin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(interface) 2 | add_subdirectory(opensource) 3 | 4 | set(CMAKE_CXX_STANDARD 20) 5 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 6 | 7 | set(SKIN_LOADER_SRCS 8 | skin_loader.cpp 9 | ) 10 | 11 | add_library(skin_loader ${SKIN_LOADER_SRCS} ${RESOURCES}) 12 | target_link_libraries(skin_loader PRIVATE Qt6::Widgets Qt6::Core Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg 13 | tc_message tc_common_new tc_qt_widget skin_interface 14 | ) -------------------------------------------------------------------------------- /src/skin/interface/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(skin_interface) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(SRCS 7 | skin_context.cpp 8 | skin_interface.cpp 9 | ) 10 | 11 | add_library(${PROJECT_NAME} ${SRCS}) 12 | target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Core Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg tc_message tc_common_new tc_qt_widget) -------------------------------------------------------------------------------- /src/skin/interface/skin_context.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 19/11/2024. 3 | // 4 | 5 | #include "skin_context.h" 6 | #include "tc_common_new/thread.h" 7 | 8 | namespace tc 9 | { 10 | 11 | SkinContext::SkinContext(const std::string& plugin_name) { 12 | 13 | } 14 | 15 | void SkinContext::OnDestroy() { 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/skin/interface/skin_context.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 19/11/2024. 3 | // 4 | 5 | #ifndef GAMMARAY_GR_SKIN_CONTEXT_H 6 | #define GAMMARAY_GR_SKIN_CONTEXT_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | namespace tc 14 | { 15 | 16 | class SkinContext : public QObject { 17 | public: 18 | explicit SkinContext(const std::string& plugin_name); 19 | ~SkinContext() override = default; 20 | 21 | void OnDestroy(); 22 | 23 | private: 24 | }; 25 | 26 | } 27 | 28 | #endif //GAMMARAY_GR_PLUGIN_CONTEXT_H 29 | -------------------------------------------------------------------------------- /src/skin/interface/skin_settings.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 25/06/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_CT_SKIN_SETTINGS_H 6 | #define GAMMARAY_CT_SKIN_SETTINGS_H 7 | 8 | #include 9 | 10 | namespace tc 11 | { 12 | 13 | class SkinSettings { 14 | public: 15 | 16 | }; 17 | 18 | } 19 | 20 | #endif //GAMMARAY_CT_PLUGIN_SETTINGS_H 21 | -------------------------------------------------------------------------------- /src/skin/opensource/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(skin_opensource) 2 | 3 | set(CMAKE_CXX_STANDARD 20) 4 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 | 6 | set(SRCS 7 | skin_opensource.cpp 8 | ) 9 | 10 | qt_add_resources(RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc) 11 | 12 | add_library(${PROJECT_NAME} SHARED ${SRCS} ${RESOURCES}) 13 | target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Core Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg 14 | tc_message tc_common_new tc_qt_widget skin_interface 15 | ) -------------------------------------------------------------------------------- /src/skin/opensource/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | resources/abc.svg 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/skin/skin_config.toml: -------------------------------------------------------------------------------- 1 | skin_name = "skin_opensource" -------------------------------------------------------------------------------- /src/skin/skin_loader.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 13/11/2025. 3 | // 4 | 5 | #ifndef GAMMARAYPREMIUM_SKIN_LOADER_H 6 | #define GAMMARAYPREMIUM_SKIN_LOADER_H 7 | 8 | namespace tc 9 | { 10 | 11 | class SkinInterface; 12 | 13 | class SkinLoader { 14 | public: 15 | static SkinInterface* LoadSkin(); 16 | }; 17 | 18 | } 19 | 20 | #endif //GAMMARAYPREMIUM_SKIN_LOADER_H 21 | -------------------------------------------------------------------------------- /src/tests/test_http_client.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "tc_common_new/http_client.h" 3 | 4 | using namespace tc; 5 | 6 | int main() { 7 | 8 | //http://39.91.109.105:40301/create/new/device?hw_info=S3YLNX0KB75668RWD-WCC4M0FSRNRXAA000000003030000070MDA6MTU6NUQ6QTY6NTA6OEJBMDozNjpCQzozNToxQzo4MA==&platform=windows 9 | 10 | auto client = HttpClient::Make("39.91.109.105", 40301, 11 | "/create/new/device?hw_info=S3YLNX0KB75668RWD-WCC4M0FSRNRXAA000000003030000070MDA6MTU6NUQ6QTY6NTA6OEJBMDozNjpCQzozNToxQzo4MA==&platform=windows", 6000); 12 | 13 | auto resp = client->Post(); 14 | 15 | std::cout << "status: " << resp.status << std::endl; 16 | 17 | std::cout << "body: " << resp.body << std::endl; 18 | 19 | getchar(); 20 | 21 | return 0; 22 | } -------------------------------------------------------------------------------- /src/tests/test_process.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 2024/5/24. 3 | // 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include "tc_common_new/process_util.h" 12 | 13 | using namespace tc; 14 | 15 | int main(int argc, char** argv) { 16 | ::testing::InitGoogleTest(); 17 | return RUN_ALL_TESTS(); 18 | } 19 | 20 | TEST(TestProcess, StartProcess) { 21 | auto ret = ProcessUtil::StartProcess("C:/software/u3d_demo/u3d_demo/u3d_shared_window_demo.exe", {}, true, false); 22 | std::cout << "result: " << ret << std::endl; 23 | } -------------------------------------------------------------------------------- /src/tests/test_resolutions.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 31/08/2024. 3 | // 4 | 5 | #include 6 | #include 7 | 8 | int main() { 9 | DISPLAY_DEVICE dd; 10 | dd.cb = sizeof(dd); 11 | EnumDisplayDevices(NULL, 0, &dd, 0); 12 | DEVMODE dm; 13 | dm.dmSize = sizeof(dm); 14 | dm.dmDriverExtra = 0; 15 | int iModeNum = 0; 16 | while (EnumDisplaySettingsExW(dd.DeviceName, iModeNum, &dm, 0)) { 17 | std::wcout << "name: " << dd.DeviceName << " Width: " << dm.dmPelsWidth << " Height: " << dm.dmPelsHeight << std::endl; 18 | iModeNum++; 19 | } 20 | 21 | return 0; 22 | } -------------------------------------------------------------------------------- /src/ui/Readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RGAA-Software/GammaRay/983023a00d1a5a9201fe053312c1641e0c74d7fc/src/ui/Readme.txt -------------------------------------------------------------------------------- /src/uninstall/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(UNINSTALL_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/uninstall_main.cpp 3 | PARENT_SCOPE 4 | ) 5 | 6 | set(SHADOW_DELETER_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/shadow_deleter.cpp 8 | PARENT_SCOPE 9 | ) -------------------------------------------------------------------------------- /version.cmake: -------------------------------------------------------------------------------- 1 | set(TC_APP_VERSION 2.1.8) -------------------------------------------------------------------------------- /version_config.h.in: -------------------------------------------------------------------------------- 1 | // 2 | // Created by RGAA on 8/05/2025. 3 | // 4 | 5 | #ifndef GAMMARAY_APP_CONFIG_H_IN_H 6 | #define GAMMARAY_APP_CONFIG_H_IN_H 7 | 8 | // from cmake version 9 | 10 | #define PROJECT_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ 11 | #define PROJECT_VERSION_MINOR @PROJECT_VERSION_MINOR@ 12 | #define PROJECT_VERSION_PATCH @PROJECT_VERSION_PATCH@ 13 | 14 | #define PROJECT_VERSION "@PROJECT_VERSION@" 15 | 16 | #endif //GAMMARAY_APP_CONFIG_H_IN_H 17 | --------------------------------------------------------------------------------