From 1961a676536195a218fdb065d5895489cedb276c Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sat, 13 May 2017 11:03:46 +0200 Subject: [PATCH 1/9] user32 hurts --- KShare.pro | 20 +++++++++++++++++++- main.cpp | 2 ++ platformbackend.hpp | 14 ++++++++++++++ platformspecifics/mac/macbackend.cpp | 6 ++++++ platformspecifics/mac/macbackend.hpp | 15 +++++++++++++++ platformspecifics/u32/u32backend.cpp | 21 +++++++++++++++++++++ platformspecifics/u32/u32backend.hpp | 15 +++++++++++++++ platformspecifics/x11/x11backend.cpp | 22 ++++++++++++++++++++++ platformspecifics/x11/x11backend.hpp | 15 +++++++++++++++ 9 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 platformbackend.hpp create mode 100644 platformspecifics/mac/macbackend.cpp create mode 100644 platformspecifics/mac/macbackend.hpp create mode 100644 platformspecifics/u32/u32backend.cpp create mode 100644 platformspecifics/u32/u32backend.hpp create mode 100644 platformspecifics/x11/x11backend.cpp create mode 100644 platformspecifics/x11/x11backend.hpp diff --git a/KShare.pro b/KShare.pro index e5e7388..feef83e 100644 --- a/KShare.pro +++ b/KShare.pro @@ -70,7 +70,25 @@ HEADERS += mainwindow.hpp \ cropeditor/settings/blurdialog.hpp \ cropeditor/drawing/pathitem.hpp \ cropeditor/drawing/lineitem.hpp \ - cropeditor/drawing/textitem.hpp + cropeditor/drawing/textitem.hpp \ + platformbackend.hpp +mac { + SOURCES += $$PWD/platformspecifics/mac/macbackend.cpp + HEADERS += $$PWD/platformspecifics/mac/macbackend.hpp + LIBS += -framework Carbon +} else:win32 { + SOURCES += $$PWD/platformspecifics/u32/u32backend.cpp + HEADERS += $$PWD/platformspecifics/u32/u32backend.hpp + LIBS += -luser32 + QT += winextras +} else:unix { + SOURCES += $$PWD/platformspecifics/x11/x11backend.cpp + HEADERS += $$PWD/platformspecifics/x11/x11backend.hpp + QT += x11extras + LIBS += -lxcb-cursor -lxcb-xfixes +} else { + error(Unsupported platform); +} FORMS += mainwindow.ui \ cropeditor/settings/brushpenselection.ui \ diff --git a/main.cpp b/main.cpp index 718d139..caada8c 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include bool verbose = false; @@ -44,6 +45,7 @@ int main(int argc, char *argv[]) { parser.addOption(v); parser.process(a); verbose = parser.isSet(v); + PlatformBackend::inst().getCursor().save("test.png", "PNG"); MainWindow w; w.show(); diff --git a/platformbackend.hpp b/platformbackend.hpp new file mode 100644 index 0000000..8133ebc --- /dev/null +++ b/platformbackend.hpp @@ -0,0 +1,14 @@ +#ifndef PLATFORMBACKEND_HPP +#define PLATFORMBACKEND_HPP + +#ifdef __APPLE__ +#include +#endif +#ifdef _WIN32 +#include +#endif +#ifdef __unix__ +#include +#endif + +#endif // PLATFORMBACKEND_HPP diff --git a/platformspecifics/mac/macbackend.cpp b/platformspecifics/mac/macbackend.cpp new file mode 100644 index 0000000..af2f4e5 --- /dev/null +++ b/platformspecifics/mac/macbackend.cpp @@ -0,0 +1,6 @@ +#include "macbackend.hpp" + +QPixmap PlatformBackend::getCursor() { +#warning "TODO: Mac backend" + return QPixmap(); +} diff --git a/platformspecifics/mac/macbackend.hpp b/platformspecifics/mac/macbackend.hpp new file mode 100644 index 0000000..324e375 --- /dev/null +++ b/platformspecifics/mac/macbackend.hpp @@ -0,0 +1,15 @@ +#ifndef MACBACKEND_HPP +#define MACBACKEND_HPP + +#include + +class PlatformBackend { + public: + QPixmap getCursor(); + static PlatformBackend &inst() { + static PlatformBackend inst; + return inst; + } +}; + +#endif // MACBACKEND_HPP diff --git a/platformspecifics/u32/u32backend.cpp b/platformspecifics/u32/u32backend.cpp new file mode 100644 index 0000000..b190328 --- /dev/null +++ b/platformspecifics/u32/u32backend.cpp @@ -0,0 +1,21 @@ +#include "u32backend.hpp" + +#include +#include +#include + +QPixmap PlatformBackend::getCursor() { + CURSORINFO cursorInfo; + cursorInfo.cbSize = sizeof(cursorInfo); + if (GetCursorInfo(&cursorInfo)) { + if (cursorInfo.flags == CURSOR_SHOWING) { + ICONINFO info; // It took me 5 hours to get to here + if (GetIconInfo(cursorInfo.hCursor, &info)) { + return QtWin::fromHBITMAP(info.hbmColor); + } else + return QPixmap(); + } else + return QPixmap(); + } else + return QPixmap(); +} diff --git a/platformspecifics/u32/u32backend.hpp b/platformspecifics/u32/u32backend.hpp new file mode 100644 index 0000000..4d082d2 --- /dev/null +++ b/platformspecifics/u32/u32backend.hpp @@ -0,0 +1,15 @@ +#ifndef U32BACKEND_HPP +#define U32BACKEND_HPP + +#include + +class PlatformBackend { + public: + QPixmap getCursor(); + static PlatformBackend &inst() { + static PlatformBackend inst; + return inst; + } +}; + +#endif // U32BACKEND_HPP diff --git a/platformspecifics/x11/x11backend.cpp b/platformspecifics/x11/x11backend.cpp new file mode 100644 index 0000000..f347f54 --- /dev/null +++ b/platformspecifics/x11/x11backend.cpp @@ -0,0 +1,22 @@ +#include "x11backend.hpp" + +#include +#include +#include +#include +#include + +QPixmap PlatformBackend::getCursor() { + xcb_connection_t *connection = QX11Info::connection(); + xcb_xfixes_get_cursor_image_cookie_t cursorCookie = xcb_xfixes_get_cursor_image_unchecked(connection); + QScopedPointer cursorReply(xcb_xfixes_get_cursor_image_reply(connection, cursorCookie, NULL)); + if (cursorReply.isNull()) { + return QPixmap(); + } + + quint32 *pixels = xcb_xfixes_get_cursor_image_cursor_image(cursorReply.data()); + if (!pixels) { + return QPixmap(); + } + return QPixmap::fromImage(QImage((quint8 *)pixels, cursorReply->width, cursorReply->height, QImage::Format_ARGB32_Premultiplied)); +} diff --git a/platformspecifics/x11/x11backend.hpp b/platformspecifics/x11/x11backend.hpp new file mode 100644 index 0000000..ab4ed57 --- /dev/null +++ b/platformspecifics/x11/x11backend.hpp @@ -0,0 +1,15 @@ +#ifndef X11BACKEND_HPP +#define X11BACKEND_HPP + +#include + +class PlatformBackend { + public: + QPixmap getCursor(); + static PlatformBackend &inst() { + static PlatformBackend inst; + return inst; + } +}; + +#endif // X11BACKEND_HPP From 927e7c41651138d1b821353d1f08955e76ce0e30 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sat, 13 May 2017 23:33:36 +0200 Subject: [PATCH 2/9] Hotspot support --- main.cpp | 2 -- platformspecifics/mac/macbackend.cpp | 2 +- platformspecifics/u32/u32backend.cpp | 10 +++++----- platformspecifics/u32/u32backend.hpp | 2 +- platformspecifics/x11/x11backend.cpp | 10 ++++++---- platformspecifics/x11/x11backend.hpp | 2 +- screenshotutil.cpp | 10 +++++++++- 7 files changed, 23 insertions(+), 15 deletions(-) diff --git a/main.cpp b/main.cpp index caada8c..718d139 100644 --- a/main.cpp +++ b/main.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include bool verbose = false; @@ -45,7 +44,6 @@ int main(int argc, char *argv[]) { parser.addOption(v); parser.process(a); verbose = parser.isSet(v); - PlatformBackend::inst().getCursor().save("test.png", "PNG"); MainWindow w; w.show(); diff --git a/platformspecifics/mac/macbackend.cpp b/platformspecifics/mac/macbackend.cpp index af2f4e5..cdfec2a 100644 --- a/platformspecifics/mac/macbackend.cpp +++ b/platformspecifics/mac/macbackend.cpp @@ -2,5 +2,5 @@ QPixmap PlatformBackend::getCursor() { #warning "TODO: Mac backend" - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } diff --git a/platformspecifics/u32/u32backend.cpp b/platformspecifics/u32/u32backend.cpp index b190328..60e231e 100644 --- a/platformspecifics/u32/u32backend.cpp +++ b/platformspecifics/u32/u32backend.cpp @@ -4,18 +4,18 @@ #include #include -QPixmap PlatformBackend::getCursor() { +std::tuple getCursor() { CURSORINFO cursorInfo; cursorInfo.cbSize = sizeof(cursorInfo); if (GetCursorInfo(&cursorInfo)) { if (cursorInfo.flags == CURSOR_SHOWING) { ICONINFO info; // It took me 5 hours to get to here if (GetIconInfo(cursorInfo.hCursor, &info)) { - return QtWin::fromHBITMAP(info.hbmColor); + return std::tuple(QPoint(info.xHotspot, info.yHotspot), QtWin::fromHBITMAP(info.hbmColor)); } else - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } else - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } else - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } diff --git a/platformspecifics/u32/u32backend.hpp b/platformspecifics/u32/u32backend.hpp index 4d082d2..e779fc5 100644 --- a/platformspecifics/u32/u32backend.hpp +++ b/platformspecifics/u32/u32backend.hpp @@ -5,7 +5,7 @@ class PlatformBackend { public: - QPixmap getCursor(); + std::tuple getCursor(); static PlatformBackend &inst() { static PlatformBackend inst; return inst; diff --git a/platformspecifics/x11/x11backend.cpp b/platformspecifics/x11/x11backend.cpp index f347f54..2281831 100644 --- a/platformspecifics/x11/x11backend.cpp +++ b/platformspecifics/x11/x11backend.cpp @@ -6,17 +6,19 @@ #include #include -QPixmap PlatformBackend::getCursor() { +std::tuple PlatformBackend::getCursor() { xcb_connection_t *connection = QX11Info::connection(); xcb_xfixes_get_cursor_image_cookie_t cursorCookie = xcb_xfixes_get_cursor_image_unchecked(connection); QScopedPointer cursorReply(xcb_xfixes_get_cursor_image_reply(connection, cursorCookie, NULL)); if (cursorReply.isNull()) { - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } quint32 *pixels = xcb_xfixes_get_cursor_image_cursor_image(cursorReply.data()); if (!pixels) { - return QPixmap(); + return std::tuple(QPoint(0, 0), QPixmap()); } - return QPixmap::fromImage(QImage((quint8 *)pixels, cursorReply->width, cursorReply->height, QImage::Format_ARGB32_Premultiplied)); + return std::tuple(QPoint(cursorReply->xhot, cursorReply->yhot), + QPixmap::fromImage(QImage((quint8 *)pixels, cursorReply->width, cursorReply->height, + QImage::Format_ARGB32_Premultiplied))); } diff --git a/platformspecifics/x11/x11backend.hpp b/platformspecifics/x11/x11backend.hpp index ab4ed57..808ad42 100644 --- a/platformspecifics/x11/x11backend.hpp +++ b/platformspecifics/x11/x11backend.hpp @@ -5,7 +5,7 @@ class PlatformBackend { public: - QPixmap getCursor(); + std::tuple getCursor(); static PlatformBackend &inst() { static PlatformBackend inst; return inst; diff --git a/screenshotutil.cpp b/screenshotutil.cpp index b052d53..85c821e 100644 --- a/screenshotutil.cpp +++ b/screenshotutil.cpp @@ -2,11 +2,19 @@ #include #include +#include #include #include +#include QPixmap *screenshotutil::fullscreen() { - return window(0); + QPixmap *noCursor = window(0); + QScopedPointer p(noCursor); + QPixmap *withCursor = new QPixmap(noCursor->size()); + QPainter painter(withCursor); + auto cursorData = PlatformBackend::inst().getCursor(); + painter.drawPixmap(std::get<0>(cursorData), std::get<1>(cursorData)); + return withCursor; } QPixmap *screenshotutil::window(long wid) { From 446440aca9b2c9f4967d41eaad4372102016a2d2 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sat, 13 May 2017 23:39:38 +0200 Subject: [PATCH 3/9] Cursor support --- screenshotutil.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/screenshotutil.cpp b/screenshotutil.cpp index 85c821e..8e5b1db 100644 --- a/screenshotutil.cpp +++ b/screenshotutil.cpp @@ -10,10 +10,11 @@ QPixmap *screenshotutil::fullscreen() { QPixmap *noCursor = window(0); QScopedPointer p(noCursor); - QPixmap *withCursor = new QPixmap(noCursor->size()); + QPixmap *withCursor = new QPixmap(*noCursor); QPainter painter(withCursor); auto cursorData = PlatformBackend::inst().getCursor(); - painter.drawPixmap(std::get<0>(cursorData), std::get<1>(cursorData)); + painter.drawPixmap(QCursor::pos() - std::get<0>(cursorData), std::get<1>(cursorData)); + painter.end(); return withCursor; } From b6931e13c5f610c6eb8482aae820e88870bd7853 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sat, 13 May 2017 23:49:16 +0200 Subject: [PATCH 4/9] Bookmars are so 2015 --- platformspecifics/mac/macbackend.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platformspecifics/mac/macbackend.cpp b/platformspecifics/mac/macbackend.cpp index cdfec2a..cd8ff2a 100644 --- a/platformspecifics/mac/macbackend.cpp +++ b/platformspecifics/mac/macbackend.cpp @@ -3,4 +3,7 @@ QPixmap PlatformBackend::getCursor() { #warning "TODO: Mac backend" return std::tuple(QPoint(0, 0), QPixmap()); + // Monday: https://developer.apple.com/reference/appkit/nscursor/1527062-image + // Some on how to do NSImage -> QPixmap: http://stackoverflow.com/a/2468961/3809164 + // This is gonna be easier than with Windows } From bc8766d234d05418011161bb3244d60657d2b7cb Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sun, 14 May 2017 19:32:55 +0200 Subject: [PATCH 5/9] A bugfix in QHotkey --- QHotkey | 2 +- main.cpp | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/QHotkey b/QHotkey index 7c4ef6a..9eace8f 160000 --- a/QHotkey +++ b/QHotkey @@ -1 +1 @@ -Subproject commit 7c4ef6a03a219c99932975bab270ea812589e1ad +Subproject commit 9eace8fbbd8dede95db623eea5e25403fd59b490 diff --git a/main.cpp b/main.cpp index 718d139..cb36d38 100644 --- a/main.cpp +++ b/main.cpp @@ -46,9 +46,6 @@ int main(int argc, char *argv[]) { verbose = parser.isSet(v); MainWindow w; - w.show(); - QTimer::singleShot(0, [&] { - if (parser.isSet(h)) w.hide(); - }); + if (!parser.isSet(h)) w.show(); return a.exec(); } From 7411bca817c4b1b9894b44592eb810a3d9a7bdd4 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Mon, 15 May 2017 11:19:52 +0200 Subject: [PATCH 6/9] When youre stupid --- platformspecifics/u32/u32backend.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformspecifics/u32/u32backend.cpp b/platformspecifics/u32/u32backend.cpp index 60e231e..74b69cb 100644 --- a/platformspecifics/u32/u32backend.cpp +++ b/platformspecifics/u32/u32backend.cpp @@ -4,7 +4,7 @@ #include #include -std::tuple getCursor() { +std::tuple PlatformBackend::getCursor() { CURSORINFO cursorInfo; cursorInfo.cbSize = sizeof(cursorInfo); if (GetCursorInfo(&cursorInfo)) { From 32a146b564fef3267738e145ae5dc835fbc3e4ed Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Mon, 15 May 2017 11:31:08 +0200 Subject: [PATCH 7/9] Windows backend done --- platformspecifics/u32/u32backend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platformspecifics/u32/u32backend.cpp b/platformspecifics/u32/u32backend.cpp index 74b69cb..6bb7819 100644 --- a/platformspecifics/u32/u32backend.cpp +++ b/platformspecifics/u32/u32backend.cpp @@ -11,7 +11,8 @@ std::tuple PlatformBackend::getCursor() { if (cursorInfo.flags == CURSOR_SHOWING) { ICONINFO info; // It took me 5 hours to get to here if (GetIconInfo(cursorInfo.hCursor, &info)) { - return std::tuple(QPoint(info.xHotspot, info.yHotspot), QtWin::fromHBITMAP(info.hbmColor)); + return std::tuple(QPoint(info.xHotspot, info.yHotspot), + QtWin::fromHBITMAP(info.hbmColor, QtWin::HBitmapAlpha)); } else return std::tuple(QPoint(0, 0), QPixmap()); } else From df61acdbb37f85480e79eb76bb9a2cc9076f3b14 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Mon, 15 May 2017 14:10:00 +0200 Subject: [PATCH 8/9] feature/platformbackends (aka cursors) done for all but mac --- mainwindow.cpp | 5 ++++ mainwindow.hpp | 5 +--- mainwindow.ui | 73 +++++++++++++++++++++++++--------------------- screenshotter.cpp | 5 ++-- screenshotutil.cpp | 21 +++++++------ screenshotutil.hpp | 2 +- 6 files changed, 62 insertions(+), 49 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index b3f186b..cc3d16a 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -84,6 +84,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi addHotkeyItem("Area image", "area", new std::function([] { screenshotter::area(); })); ui->quickMode->setChecked(settings::settings().value("quickMode", false).toBool()); + ui->captureCursor->setChecked(settings::settings().value("captureCursor", true).toBool()); } MainWindow::~MainWindow() { @@ -172,3 +173,7 @@ void MainWindow::on_settingsButton_clicked() { void MainWindow::on_quickMode_clicked(bool checked) { settings::settings().setValue("quickMode", checked); } + +void MainWindow::on_captureCursor_clicked(bool checked) { + settings::settings().setValue("captureCursor", checked); +} diff --git a/mainwindow.hpp b/mainwindow.hpp index 2395741..272631d 100644 --- a/mainwindow.hpp +++ b/mainwindow.hpp @@ -25,14 +25,11 @@ class MainWindow : public QMainWindow { void on_actionArea_triggered(); void on_uploaderList_clicked(const QModelIndex &); void on_nameScheme_textEdited(const QString &arg1); - void on_delay_valueChanged(double arg1); - void on_hotkeys_doubleClicked(const QModelIndex &index); - void on_settingsButton_clicked(); - void on_quickMode_clicked(bool checked); + void on_captureCursor_clicked(bool checked); public: explicit MainWindow(QWidget *parent = 0); diff --git a/mainwindow.ui b/mainwindow.ui index c1af1bf..e049602 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 512 - 337 + 483 + 368 @@ -25,7 +25,17 @@ - + + + + http://doc.qt.io/qt-5/qdatetime.html#toString + + + Screenshot %(yyyy-MM-dd HH:mm:ss)date + + + + <a href="https://github.com/ArsenArsen/KShare">Source code available free for everyone. Forever.</a> @@ -37,6 +47,13 @@ + + + + Delay before taking a screenshot + + + @@ -50,24 +67,10 @@ - - + + - File name scheme: - - - - - - - Uploader selection: - - - - - - - Delay before taking a screenshot + Open settings directory @@ -78,19 +81,16 @@ - - - - - - - http://doc.qt.io/qt-5/qdatetime.html#toString - + + - Screenshot %(yyyy-MM-dd HH:mm:ss)date + File name scheme: + + + @@ -98,10 +98,17 @@ - - + + - Open settings directory + Uploader selection: + + + + + + + Capture cursor @@ -112,7 +119,7 @@ 0 0 - 512 + 483 24 diff --git a/screenshotter.cpp b/screenshotter.cpp index ef0cddc..62ed8b5 100644 --- a/screenshotter.cpp +++ b/screenshotter.cpp @@ -5,14 +5,15 @@ #include "uploaders/uploadersingleton.hpp" #include #include +#include void screenshotter::area() { - CropEditor *editor = new CropEditor(screenshotutil::fullscreen()); + CropEditor *editor = new CropEditor(screenshotutil::fullscreen(settings::settings().value("captureCursor", true).toBool())); QObject::connect(editor, &CropEditor::cropped, [&](QPixmap *pixmap) { UploaderSingleton::inst().upload(pixmap); }); } void screenshotter::fullscreen() { - UploaderSingleton::inst().upload(screenshotutil::fullscreen()); + UploaderSingleton::inst().upload(screenshotutil::fullscreen(settings::settings().value("captureCursor", true).toBool())); } void screenshotter::areaDelayed() { diff --git a/screenshotutil.cpp b/screenshotutil.cpp index 8e5b1db..e79d5bb 100644 --- a/screenshotutil.cpp +++ b/screenshotutil.cpp @@ -7,15 +7,18 @@ #include #include -QPixmap *screenshotutil::fullscreen() { - QPixmap *noCursor = window(0); - QScopedPointer p(noCursor); - QPixmap *withCursor = new QPixmap(*noCursor); - QPainter painter(withCursor); - auto cursorData = PlatformBackend::inst().getCursor(); - painter.drawPixmap(QCursor::pos() - std::get<0>(cursorData), std::get<1>(cursorData)); - painter.end(); - return withCursor; +QPixmap *screenshotutil::fullscreen(bool cursor) { + if (cursor) { + QPixmap *noCursor = window(0); + QScopedPointer p(noCursor); + QPixmap *withCursor = new QPixmap(*noCursor); + QPainter painter(withCursor); + auto cursorData = PlatformBackend::inst().getCursor(); + painter.drawPixmap(QCursor::pos() - std::get<0>(cursorData), std::get<1>(cursorData)); + painter.end(); + return withCursor; + } + return window(0); } QPixmap *screenshotutil::window(long wid) { diff --git a/screenshotutil.hpp b/screenshotutil.hpp index e8778ca..f683bc4 100644 --- a/screenshotutil.hpp +++ b/screenshotutil.hpp @@ -4,7 +4,7 @@ #include namespace screenshotutil { -QPixmap *fullscreen(); +QPixmap *fullscreen(bool cursor = true); QPixmap *window(long wid); void toClipboard(QString value); } From 7739a0bfeb9f30828d0f289022ed055199dc6030 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Wed, 17 May 2017 13:42:01 +0200 Subject: [PATCH 9/9] Mac is on pause --- platformspecifics/mac/macbackend.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformspecifics/mac/macbackend.cpp b/platformspecifics/mac/macbackend.cpp index cd8ff2a..0e45ff0 100644 --- a/platformspecifics/mac/macbackend.cpp +++ b/platformspecifics/mac/macbackend.cpp @@ -3,7 +3,7 @@ QPixmap PlatformBackend::getCursor() { #warning "TODO: Mac backend" return std::tuple(QPoint(0, 0), QPixmap()); - // Monday: https://developer.apple.com/reference/appkit/nscursor/1527062-image + // Not Monday: https://developer.apple.com/reference/appkit/nscursor/1527062-image // Some on how to do NSImage -> QPixmap: http://stackoverflow.com/a/2468961/3809164 // This is gonna be easier than with Windows }