Compare commits

..

No commits in common. "43e41caebf18268f9e492ed7903342cdd0db3626" and "ae9a4adf674d8831c9f769c1dbeaf260249437ff" have entirely different histories.

5 changed files with 10 additions and 20 deletions

View file

@ -37,8 +37,6 @@ PATHS
/usr/local/lib
/usr/local/lib/qt6
/usr/lib
/usr/lib64
/usr/lib32
${VCPKG_INSTALLED_DIR}/x64-windows/lib
)
@ -52,8 +50,6 @@ PATHS
$ENV{LIB_DIR}/lib
/usr/local/lib
/usr/local/lib/qt6
/usr/lib64
/usr/lib32
/usr/lib
${QSCINTILLA_LIB_DIR}
${VCPKG_INSTALLED_DIR}/x64-windows/lib

View file

@ -2,12 +2,9 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(QT_VERSION_MAJOR 6)
find_package(Qt6 REQUIRED COMPONENTS Widgets OpenGLWidgets REQUIRED)
find_package(QScintilla6 REQUIRED)
include(${CMAKE_CURRENT_SOURCE_DIR}/deps.cmake)
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
@ -40,7 +37,7 @@ set(PROJECT_SOURCES
qt_add_executable(editor MANUAL_FINALIZATION ${PROJECT_SOURCES})
target_include_directories(editor PRIVATE .)
target_link_libraries(editor PRIVATE openblocks Qt6::Widgets Qt6::OpenGLWidgets ${QSCINTILLA_LIBRARY} miniaudio QCursorConstraints)
target_link_libraries(editor PRIVATE openblocks Qt6::Widgets Qt6::OpenGLWidgets ${QSCINTILLA_LIBRARY} miniaudio)
set_target_properties(editor PROPERTIES
WIN32_EXECUTABLE ON

View file

@ -1,4 +0,0 @@
include(CPM)
CPMAddPackage("gh:m-doescode/qcursorconstraints#cef1a31c0afad8ed3c95ee1a6bc531090805b510")

View file

@ -11,7 +11,6 @@
#include <qfont.h>
#include <qsurfaceformat.h>
#include <miniaudio.h>
#include <qcursorconstraints.h>
ma_engine miniaudio;
@ -34,7 +33,6 @@ int main(int argc, char *argv[])
QSurfaceFormat::setDefaultFormat(format);
QApplication a(argc, argv);
QCursorConstraints::init();
MainWindow w;
w.show();

View file

@ -3,7 +3,6 @@
#include <glm/vector_relational.hpp>
#include <memory>
#include <miniaudio.h>
#include <qcursorconstraints.h>
#include <qnamespace.h>
#include <qguiapplication.h>
#include <string>
@ -75,11 +74,17 @@ void MainGLWidget::paintGL() {
}
bool isMouseRightDragging = false;
QPoint mouseLockedPos;
QPoint lastMousePos;
void MainGLWidget::handleCameraRotate(QMouseEvent* evt) {
if (!isMouseRightDragging) return;
camera.processRotation(evt->pos().x() - mouseLockedPos.x(), evt->pos().y() - mouseLockedPos.y());
camera.processRotation(evt->pos().x() - lastMousePos.x(), evt->pos().y() - lastMousePos.y());
// Does not work on Wayland. Find an alternative
if (QGuiApplication::platformName() != "wayland")
QCursor::setPos(mapToGlobal(lastMousePos));
else
lastMousePos = evt->pos();
}
@ -378,10 +383,9 @@ void MainGLWidget::mousePressEvent(QMouseEvent* evt) {
switch(evt->button()) {
// Camera drag
case Qt::RightButton: {
mouseLockedPos = evt->pos();
lastMousePos = evt->pos();
isMouseRightDragging = true;
setCursor(Qt::BlankCursor);
QCursorConstraints::lockCursor(window()->windowHandle());
return;
// Clicking on objects
} case Qt::LeftButton: {
@ -466,7 +470,6 @@ void MainGLWidget::mousePressEvent(QMouseEvent* evt) {
}
void MainGLWidget::mouseReleaseEvent(QMouseEvent* evt) {
QCursorConstraints::unlockCursor(window()->windowHandle());
// if (isMouseDragging) draggingObject.lock()->rigidBody->getCollider(0)->setCollisionCategoryBits(0b11);
isMouseRightDragging = false;
isMouseDragging = false;