Splitting labworks 1 and 2, moving keyboard catcher to lib

This commit is contained in:
Andrew Golovashevich 2024-12-25 10:41:58 +03:00
parent 7325fb5c63
commit bcb08b7cc5
19 changed files with 28 additions and 26 deletions

View File

@ -19,4 +19,4 @@ endif ()
add_subdirectory(renderer-api)
add_subdirectory(utilities)
add_subdirectory(qt-utilities)
add_subdirectory(programs/labs1_5)
add_subdirectory(programs/labs1_2)

View File

@ -1,9 +1,8 @@
add_executable(
labs
labs1_2
src/main.cpp
src/variants/sprite_data.hpp
src/keyboard_catcher_widget.hpp
src/variants/variants.hpp
src/variants/lab1/variant1.cpp
@ -16,4 +15,4 @@ add_executable(
src/variants/lab1/variant9.cpp
src/variants/lab2/variant3.cpp
)
target_link_libraries(labs PRIVATE Qt5::Core Qt5::Widgets renderer_api utilities qt_utilities)
target_link_libraries(labs1_2 PRIVATE Qt5::Core Qt5::Widgets renderer_api utilities qt_utilities)

View File

@ -9,10 +9,8 @@
#include <bgtu/computer_graphics_lab_work/utilities/voxel_painter_exporter_to_packed_array.hpp>
#include <bgtu/computer_graphics_lab_work/qt_utilities/separate_threaded_renderer.hpp>
#include <bgtu/computer_graphics_lab_work/qt_utilities/renderer_widget.hpp>
#include <bgtu/computer_graphics_lab_work/qt_utilities/owned_qimage.hpp>
#include <bgtu/computer_graphics_lab_work/utilities/shapes/triangle.hpp>
#include <bgtu/computer_graphics_lab_work/qt_utilities/keyboard_catcher_widget.hpp>
#include "variants/sprite_data.hpp"
#include "keyboard_catcher_widget.hpp"
#include "pixel_grid_sprite.hpp"
#include "variants/variants.hpp"
#include "zoomed_scene_sprite.hpp"
@ -45,24 +43,24 @@ namespace BGTU::ComputerGraphicsLabWork::Impl {
QMainWindow w{};
KeyboardCatcherWidget kbd{&w};
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_PageDown, &sprites_data, &SpriteData::Provider::decrease_pixel_size);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_PageUp, &sprites_data, &SpriteData::Provider::increase_pixel_size);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_G, &sprites_data, &SpriteData::Provider::invert_show_grid);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_1, &vmngr, &Variants::VariantsManager::set_variant_1);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_2, &vmngr, &Variants::VariantsManager::set_variant_2);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_3, &vmngr, &Variants::VariantsManager::set_variant_3);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_4, &vmngr, &Variants::VariantsManager::set_variant_4);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_5, &vmngr, &Variants::VariantsManager::set_variant_5);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_6, &vmngr, &Variants::VariantsManager::set_variant_6);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_7, &vmngr, &Variants::VariantsManager::set_variant_7);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_8, &vmngr, &Variants::VariantsManager::set_variant_8);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_9, &vmngr, &Variants::VariantsManager::set_variant_9);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_F1, &vmngr, &Variants::VariantsManager::set_lab_1);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_F2, &vmngr, &Variants::VariantsManager::set_lab_2);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_F3, &vmngr, &Variants::VariantsManager::set_lab_3);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_F4, &vmngr, &Variants::VariantsManager::set_lab_4);
QObject::connect(&kbd, &KeyboardCatcherWidget::key_pressed_F5, &vmngr, &Variants::VariantsManager::set_lab_5);
QtUtilities::KeyboardCatcherWidget kbd{&w};
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_PageDown, &sprites_data, &SpriteData::Provider::decrease_pixel_size);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_PageUp, &sprites_data, &SpriteData::Provider::increase_pixel_size);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_G, &sprites_data, &SpriteData::Provider::invert_show_grid);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_1, &vmngr, &Variants::VariantsManager::set_variant_1);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_2, &vmngr, &Variants::VariantsManager::set_variant_2);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_3, &vmngr, &Variants::VariantsManager::set_variant_3);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_4, &vmngr, &Variants::VariantsManager::set_variant_4);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_5, &vmngr, &Variants::VariantsManager::set_variant_5);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_6, &vmngr, &Variants::VariantsManager::set_variant_6);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_7, &vmngr, &Variants::VariantsManager::set_variant_7);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_8, &vmngr, &Variants::VariantsManager::set_variant_8);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_9, &vmngr, &Variants::VariantsManager::set_variant_9);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_F1, &vmngr, &Variants::VariantsManager::set_lab_1);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_F2, &vmngr, &Variants::VariantsManager::set_lab_2);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_F3, &vmngr, &Variants::VariantsManager::set_lab_3);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_F4, &vmngr, &Variants::VariantsManager::set_lab_4);
QObject::connect(&kbd, &QtUtilities::KeyboardCatcherWidget::key_pressed_F5, &vmngr, &Variants::VariantsManager::set_lab_5);
QtUtilities::SeparateThreadedDefaultRendererLinear<SpriteData> renderer{};
renderer.set_sprite_data_provider(&sprites_data);

View File

@ -4,6 +4,7 @@ add_library(
include/bgtu/computer_graphics_lab_work/qt_utilities/_separate_threaded_renderer.hpp
include/bgtu/computer_graphics_lab_work/qt_utilities/_renderer_widget.hpp
include/bgtu/computer_graphics_lab_work/qt_utilities/owned_qimage.hpp
include/bgtu/computer_graphics_lab_work/qt_utilities/keyboard_catcher_widget.hpp
)
target_include_directories(qt_utilities PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_link_libraries(qt_utilities PUBLIC Qt5::Core Qt5::Widgets Qt5::Gui renderer_api utilities)

View File

@ -4,7 +4,7 @@
#include <QWidget>
#include <QKeyEvent>
namespace BGTU::ComputerGraphicsLabWork::Impl {
namespace BGTU::ComputerGraphicsLabWork::QtUtilities {
class KeyboardCatcherWidget : public QWidget {
Q_OBJECT
public:
@ -12,6 +12,10 @@ namespace BGTU::ComputerGraphicsLabWork::Impl {
this->grabKeyboard();
}
~KeyboardCatcherWidget() {
this->releaseKeyboard();
}
signals:
void key_pressed_PageUp();