From 92492db788e97db028176c942e9aed047f8f152a Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 13 Mar 2025 00:18:28 +0100 Subject: Add region capture with -w region -region WxH+X+Y --- include/capture/kms.h | 2 ++ include/capture/nvfbc.h | 2 ++ include/utils.h | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/capture/kms.h b/include/capture/kms.h index bf1ba62..f359783 100644 --- a/include/capture/kms.h +++ b/include/capture/kms.h @@ -12,6 +12,8 @@ typedef struct { bool record_cursor; int fps; vec2i output_resolution; + vec2i region_size; + vec2i region_position; } gsr_capture_kms_params; gsr_capture* gsr_capture_kms_create(const gsr_capture_kms_params *params); diff --git a/include/capture/nvfbc.h b/include/capture/nvfbc.h index 90da7fa..f93fdc0 100644 --- a/include/capture/nvfbc.h +++ b/include/capture/nvfbc.h @@ -15,6 +15,8 @@ typedef struct { gsr_color_range color_range; bool record_cursor; vec2i output_resolution; + vec2i region_size; + vec2i region_position; } gsr_capture_nvfbc_params; gsr_capture* gsr_capture_nvfbc_create(const gsr_capture_nvfbc_params *params); diff --git a/include/utils.h b/include/utils.h index f9b41b9..22bc4cf 100644 --- a/include/utils.h +++ b/include/utils.h @@ -15,7 +15,7 @@ typedef struct AVFrame AVFrame; typedef struct { const char *name; int name_len; - vec2i pos; + vec2i pos; /* This is 0, 0 on wayland. Use |drm_monitor_get_display_server_data| to get the position */ vec2i size; uint32_t connector_id; /* Only on x11 and drm */ gsr_monitor_rotation rotation; /* Only on x11 and wayland */ @@ -43,7 +43,7 @@ typedef void (*active_monitor_callback)(const gsr_monitor *monitor, void *userda void for_each_active_monitor_output_x11_not_cached(Display *display, active_monitor_callback callback, void *userdata); void for_each_active_monitor_output(const gsr_window *window, const char *card_path, gsr_connection_type connection_type, active_monitor_callback callback, void *userdata); bool get_monitor_by_name(const gsr_egl *egl, gsr_connection_type connection_type, const char *name, gsr_monitor *monitor); -gsr_monitor_rotation drm_monitor_get_display_server_rotation(const gsr_window *window, const gsr_monitor *monitor); +bool drm_monitor_get_display_server_data(const gsr_window *window, const gsr_monitor *monitor, gsr_monitor_rotation *monitor_rotation, vec2i *monitor_position); int get_connector_type_by_name(const char *name); drm_connector_type_count* drm_connector_types_get_index(drm_connector_type_count *type_counts, int *num_type_counts, int connector_type); -- cgit v1.2.3-70-g09d2