Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
  • core_lib
  • src
  • external
  • macosx
macosx.cpp
1/*
2
3Pencil2D - Traditional Animation Software
4Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5Copyright (C) 2012-2020 Matthew Chiawen Chang
6
7This program is free software; you can redistribute it and/or
8modify it under the terms of the GNU General Public License
9as published by the Free Software Foundation; version 2 of the License.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16*/
17
18#include <QApplication>
19
20#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
21 #include <QOperatingSystemVersion>
22#endif
23
24#include <CoreFoundation/CoreFoundation.h>
25
26#include "macosxnative.h"
27
28namespace PlatformHandler
29{
30 void configurePlatformSpecificSettings()
31 {
32 MacOSXNative::removeUnwantedMenuItems();
33 }
34
35 bool isDarkMode()
36 {
37 return MacOSXNative::isDarkMode();
38 }
39
40 void initialise()
41 {
42#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
43 QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
44#endif
45 }
46}
47
48extern "C" {
49
50// this is not declared in Carbon.h anymore, but it's in the framework
51OSStatus
52SetMouseCoalescingEnabled(
53 Boolean inNewState,
54 Boolean * outOldState);
55
56bool gIsMouseCoalescing = false;
57
58void detectWhichOSX()
59{
60 #if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
61 QOperatingSystemVersion current = QOperatingSystemVersion::current();
62 gIsMouseCoalescing = ( current >= QOperatingSystemVersion::OSXElCapitan );
63#else
64 gIsMouseCoalescing = false;
65#endif
66}
67
68void disableCoalescing()
69{
70 SetMouseCoalescingEnabled(gIsMouseCoalescing, nullptr);
71 //MacOSXNative::setMouseCoalescingEnabled(false);
72}
73
74void enableCoalescing()
75{
76 SetMouseCoalescingEnabled(true, nullptr);
77 //MacOSXNative::setMouseCoalescingEnabled(true);
78}
79
80} // extern "C"
QCoreApplication::setAttribute
void setAttribute(Qt::ApplicationAttribute attribute, bool on)
QOperatingSystemVersion
QOperatingSystemVersion::current
QOperatingSystemVersion current()
Qt::AA_UseHighDpiPixmaps
AA_UseHighDpiPixmaps
Generated on Thu May 8 2025 04:47:53 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39