| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- /******************************************************************************
 
-     Copyright (C) 2013 by Hugh Bailey <[email protected]>
 
-     This program is free software: you can redistribute it and/or modify
 
-     it under the terms of the GNU General Public License as published by
 
-     the Free Software Foundation, either version 2 of the License, or
 
-     (at your option) any later version.
 
-     This program is distributed in the hope that it will be useful,
 
-     but WITHOUT ANY WARRANTY; without even the implied warranty of
 
-     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
-     GNU General Public License for more details.
 
-     You should have received a copy of the GNU General Public License
 
-     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
- ******************************************************************************/
 
- #pragma once
 
- #include <util/c99defs.h>
 
- #include <string>
 
- #include <vector>
 
- class QWidget;
 
- /* Gets the path of obs-studio specific data files (such as locale) */
 
- bool GetDataFilePath(const char *data, std::string &path);
 
- std::string GetDefaultVideoSavePath();
 
- std::vector<std::string> GetPreferredLocales();
 
- bool IsAlwaysOnTop(QWidget *window);
 
- void SetAlwaysOnTop(QWidget *window, bool enable);
 
- bool SetDisplayAffinitySupported(void);
 
- enum TaskbarOverlayStatus {
 
- 	TaskbarOverlayStatusInactive,
 
- 	TaskbarOverlayStatusActive,
 
- 	TaskbarOverlayStatusPaused,
 
- };
 
- void TaskbarOverlayInit();
 
- void TaskbarOverlaySetStatus(TaskbarOverlayStatus status);
 
- #ifdef _WIN32
 
- class RunOnceMutex;
 
- RunOnceMutex
 
- #else
 
- void
 
- #endif
 
- CheckIfAlreadyRunning(bool &already_running);
 
- #ifdef _WIN32
 
- uint32_t GetWindowsVersion();
 
- uint32_t GetWindowsBuild();
 
- void SetAeroEnabled(bool enable);
 
- void SetProcessPriority(const char *priority);
 
- void SetWin32DropStyle(QWidget *window);
 
- bool DisableAudioDucking(bool disable);
 
- struct RunOnceMutexData;
 
- class RunOnceMutex {
 
- 	RunOnceMutexData *data = nullptr;
 
- public:
 
- 	RunOnceMutex(RunOnceMutexData *data_) : data(data_) {}
 
- 	RunOnceMutex(const RunOnceMutex &rom) = delete;
 
- 	RunOnceMutex(RunOnceMutex &&rom);
 
- 	~RunOnceMutex();
 
- 	RunOnceMutex &operator=(const RunOnceMutex &rom) = delete;
 
- 	RunOnceMutex &operator=(RunOnceMutex &&rom);
 
- };
 
- QString GetMonitorName(const QString &id);
 
- bool IsRunningOnWine();
 
- #endif
 
- #ifdef __APPLE__
 
- typedef enum {
 
- 	kAudioDeviceAccess = 0,
 
- 	kVideoDeviceAccess = 1,
 
- 	kScreenCapture = 2,
 
- 	kAccessibility = 3
 
- } MacPermissionType;
 
- typedef enum {
 
- 	kPermissionNotDetermined = 0,
 
- 	kPermissionRestricted = 1,
 
- 	kPermissionDenied = 2,
 
- 	kPermissionAuthorized = 3,
 
- } MacPermissionStatus;
 
- void EnableOSXVSync(bool enable);
 
- void EnableOSXDockIcon(bool enable);
 
- bool isInBundle();
 
- void InstallNSApplicationSubclass();
 
- void InstallNSThreadLocks();
 
- void disableColorSpaceConversion(QWidget *window);
 
- MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type,
 
- 					      bool prompt_for_permission);
 
- #define CheckPermission(x) CheckPermissionWithPrompt(x, false)
 
- #define RequestPermission(x) CheckPermissionWithPrompt(x, true)
 
- #endif
 
 
  |