提交 8e3d2ebb 编写于 作者: P Palana

Allow hiding the cursor for Display Capture

上级 be55c063
......@@ -13,6 +13,7 @@ struct display_capture {
unsigned display;
uint32_t width, height;
bool hide_cursor;
os_event_t disp_finished;
CGDisplayStreamRef disp;
......@@ -99,7 +100,9 @@ static bool init_display_stream(struct display_capture *dc)
NSDictionary *dict = @{
(__bridge NSString*)kCGDisplayStreamSourceRect: rect_dict,
(__bridge NSString*)kCGDisplayStreamQueueDepth: @5
(__bridge NSString*)kCGDisplayStreamQueueDepth: @5,
(__bridge NSString*)kCGDisplayStreamShowCursor:
@(!dc->hide_cursor),
};
os_event_init(&dc->disp_finished, OS_EVENT_TYPE_MANUAL);
......@@ -108,8 +111,9 @@ static bool init_display_stream(struct display_capture *dc)
dc->width, dc->height, 'BGRA',
(__bridge CFDictionaryRef)dict,
dispatch_queue_create(NULL, NULL),
^(CGDisplayStreamFrameStatus status, uint64_t
displayTime, IOSurfaceRef frameSurface,
^(CGDisplayStreamFrameStatus status,
uint64_t displayTime,
IOSurfaceRef frameSurface,
CGDisplayStreamUpdateRef updateRef)
{
UNUSED_PARAMETER(displayTime);
......@@ -247,19 +251,22 @@ static uint32_t display_capture_getheight(void *data)
static void display_capture_defaults(obs_data_t settings)
{
obs_data_set_default_int(settings, "display", 0);
obs_data_set_default_bool(settings, "show_cursor", true);
}
static void display_capture_update(void *data, obs_data_t settings)
{
struct display_capture *dc = data;
unsigned display = obs_data_getint(settings, "display");
if (dc->display == display)
bool show_cursor = obs_data_getbool(settings, "show_cursor");
if (dc->display == display && dc->hide_cursor != show_cursor)
return;
gs_entercontext(obs_graphics());
destroy_display_stream(dc);
dc->display = display;
dc->hide_cursor = !show_cursor;
init_display_stream(dc);
gs_leavecontext();
......@@ -279,6 +286,8 @@ static obs_properties_t display_capture_properties(char const *locale)
obs_property_list_add_int(list, buf, i);
}
obs_properties_add_bool(props, "show_cursor", "Show Cursor");
return props;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册