obs-studio/plugins/mac-capture/window-utils.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.1 KiB
C
Raw Normal View History

2014-08-20 00:36:24 +02:00
#import <CoreGraphics/CGWindow.h>
#import <Cocoa/Cocoa.h>
#include <util/threading.h>
#include <obs-module.h>
struct cocoa_window {
2019-07-09 13:29:39 -05:00
CGWindowID window_id;
int owner_pid;
2014-08-20 00:36:24 +02:00
pthread_mutex_t name_lock;
2019-07-09 13:29:39 -05:00
NSString *owner_name;
NSString *window_name;
2014-08-20 00:36:24 +02:00
uint64_t next_search_time;
2014-08-20 00:36:24 +02:00
};
typedef struct cocoa_window *cocoa_window_t;
NSArray *enumerate_cocoa_windows(void);
2014-08-20 00:36:24 +02:00
bool find_window(cocoa_window_t cw, obs_data_t *settings, bool force);
2014-08-20 00:36:24 +02:00
void init_window(cocoa_window_t cw, obs_data_t *settings);
2014-08-20 00:36:24 +02:00
void destroy_window(cocoa_window_t cw);
void update_window(cocoa_window_t cw, obs_data_t *settings);
2014-08-20 00:36:24 +02:00
void window_defaults(obs_data_t *settings);
2014-08-20 00:36:24 +02:00
void add_window_properties(obs_properties_t *props);
2014-08-20 00:36:24 +02:00
void show_window_properties(obs_properties_t *props, bool show);
/** Get the display ID of a display and simultaneously migrate pre-30.0 display IDs to 30.0 UUIDs.
- Parameter settings: Pointer to `obs_data_t` object containing `display` int and/or `display_uuid` string
- Returns: `CGDirectDisplayID` of the display the user selected. May be 0 if the display cannot be found. */
CGDirectDisplayID get_display_migrate_settings(obs_data_t *settings);