From b4b6842c2083a11e8950163317e9d708f558e3ea Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sat, 3 Nov 2018 12:08:12 +0100 Subject: [PATCH] Merged GTK3 Stuff --- CMakeLists.txt | 18 ++++++++++++++++-- src/model/Element.cpp | 5 +++++ src/model/Element.h | 3 +++ src/model/Stroke.cpp | 5 +++++ src/model/Stroke.h | 1 + 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2dfd9429..f7564809 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required (VERSION 2.8.8) project ("Xournal++" CXX C) -set (PROJECT_VERSION "1.0.1") +set (PROJECT_VERSION "1.0.2") set (PROJECT_PACKAGE "xournalpp") set (PROJECT_STRING "${PROJECT_NAME} ${PROJECT_VERSION}") @@ -82,7 +82,16 @@ endif (BUILD_BOOST) add_includes_ldflags ("${Boost_LIBRARIES}" "${Boost_INCLUDE_DIRS}") # GTK+/Gnome -pkg_check_modules (Gnome REQUIRED "gtk+-2.0 >= 2.18.3" "libglade-2.0 >= 2.6.4" "glib-2.0 >= 2.32.0" "gthread-2.0 >= 2.4.0") +option (USE_GTK3 "Use GTK3 instead of GTK2" OFF) +if (USE_GTK3) + pkg_check_modules (GTK REQUIRED "gtk+-3.0 >= 3.18.9") + add_includes_ldflags ("${GTK_LDFLAGS}" "${GTK_INCLUDE_DIRS}") +else (USE_GTK3) + pkg_check_modules (GTK REQUIRED "gtk+-2.0 >= 2.18.3") + add_includes_ldflags ("${GTK_LDFLAGS}" "${GTK_INCLUDE_DIRS}") +endif (USE_GTK3) + +pkg_check_modules (Gnome REQUIRED "libglade-2.0 >= 2.6.4" "glib-2.0 >= 2.32.0" "gthread-2.0 >= 2.4.0" "libxml-2.0 >= 2.0.0") add_includes_ldflags ("${Gnome_LDFLAGS}" "${Gnome_INCLUDE_DIRS}") # Poppler @@ -241,6 +250,11 @@ if (DEV_CHECK_GTK3_COMPAT) add_definitions (-DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE) endif () +if (USE_GTK3) + add_definitions (-DGTK3_ENABLED=true) +endif (USE_GTK3) + + mark_as_advanced (FORCE DEV_CONFIG_DIR DEV_TOOLBAR_CONFIG DEV_SETTINGS_XML_FILE DEV_PRINT_CONFIG_FILE DEV_METADATA_FILE DEV_METADATA_MAX_ITEMS DEV_ENABLE_GCOV DEV_CHECK_GTK3_COMPAT diff --git a/src/model/Element.cpp b/src/model/Element.cpp index ea705088..a5434124 100644 --- a/src/model/Element.cpp +++ b/src/model/Element.cpp @@ -99,6 +99,11 @@ double Element::getElementHeight() return this->height; } +Rectangle Element::boundingRect() +{ + return Rectangle(getX(), getY(), getElementWidth(), getElementHeight()); +} + void Element::setColor(int color) { XOJ_CHECK_TYPE(Element); diff --git a/src/model/Element.h b/src/model/Element.h index ec306c02..58b85497 100644 --- a/src/model/Element.h +++ b/src/model/Element.h @@ -12,6 +12,7 @@ #pragma once #include +#include #include #include @@ -54,6 +55,8 @@ public: double getElementWidth(); double getElementHeight(); + Rectangle boundingRect(); + virtual bool intersectsArea(const GdkRectangle* src); virtual bool intersectsArea(double x, double y, double width, double height); diff --git a/src/model/Stroke.cpp b/src/model/Stroke.cpp index 5d971520..034103a1 100644 --- a/src/model/Stroke.cpp +++ b/src/model/Stroke.cpp @@ -146,6 +146,11 @@ void Stroke::setLastPoint(double x, double y) } } +void Stroke::setLastPoint(Point p) +{ + setLastPoint(p.x, p.y); +} + void Stroke::addPoint(Point p) { XOJ_CHECK_TYPE(Stroke); diff --git a/src/model/Stroke.h b/src/model/Stroke.h index 20f5f165..bc73ac89 100644 --- a/src/model/Stroke.h +++ b/src/model/Stroke.h @@ -38,6 +38,7 @@ public: void addPoint(Point p); void setLastPoint(double x, double y); + void setLastPoint(Point p); int getPointCount() const; void freeUnusedPointItems(); ArrayIterator pointIterator() const;