All Classes Namespaces Functions Variables Enumerations Properties Pages
macosx.cpp
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU 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 
28 namespace 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  {
43  }
44 }
45 
46 extern "C" {
47 
48 // this is not declared in Carbon.h anymore, but it's in the framework
49 OSStatus
50 SetMouseCoalescingEnabled(
51  Boolean inNewState,
52  Boolean * outOldState);
53 
54 bool gIsMouseCoalescing = false;
55 
56 void detectWhichOSX()
57 {
58  #if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
60  gIsMouseCoalescing = ( current >= QOperatingSystemVersion::OSXElCapitan );
61 #else
62  gIsMouseCoalescing = false;
63 #endif
64 }
65 
66 void disableCoalescing()
67 {
68  SetMouseCoalescingEnabled(gIsMouseCoalescing, nullptr);
69  //MacOSXNative::setMouseCoalescingEnabled(false);
70 }
71 
72 void enableCoalescing()
73 {
74  SetMouseCoalescingEnabled(true, nullptr);
75  //MacOSXNative::setMouseCoalescingEnabled(true);
76 }
77 
78 } // extern "C"
void setAttribute(Qt::ApplicationAttribute attribute, bool on)
QOperatingSystemVersion current()
AA_UseHighDpiPixmaps