diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:54:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:54:43 +0000 |
commit | e4283f6d48b98e764b988b43bbc86b9d52e6ec94 (patch) | |
tree | c8f7f7a6c2f5faa2942d27cefc6fd46cca492656 /src/shell-screenshot.h | |
parent | Initial commit. (diff) | |
download | gnome-shell-e4283f6d48b98e764b988b43bbc86b9d52e6ec94.tar.xz gnome-shell-e4283f6d48b98e764b988b43bbc86b9d52e6ec94.zip |
Adding upstream version 43.9.upstream/43.9upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shell-screenshot.h')
-rw-r--r-- | src/shell-screenshot.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/shell-screenshot.h b/src/shell-screenshot.h new file mode 100644 index 0000000..441410d --- /dev/null +++ b/src/shell-screenshot.h @@ -0,0 +1,90 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#ifndef __SHELL_SCREENSHOT_H__ +#define __SHELL_SCREENSHOT_H__ + +/** + * SECTION:shell-screenshot + * @short_description: Grabs screenshots of areas and/or windows + * + * The #ShellScreenshot object is used to take screenshots of screen + * areas or windows and write them out as png files. + * + */ +#define SHELL_TYPE_SCREENSHOT (shell_screenshot_get_type ()) +G_DECLARE_FINAL_TYPE (ShellScreenshot, shell_screenshot, + SHELL, SCREENSHOT, GObject) + +ShellScreenshot *shell_screenshot_new (void); + +void shell_screenshot_screenshot_area (ShellScreenshot *screenshot, + int x, + int y, + int width, + int height, + GOutputStream *stream, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean shell_screenshot_screenshot_area_finish (ShellScreenshot *screenshot, + GAsyncResult *result, + cairo_rectangle_int_t **area, + GError **error); + +void shell_screenshot_screenshot_window (ShellScreenshot *screenshot, + gboolean include_frame, + gboolean include_cursor, + GOutputStream *stream, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean shell_screenshot_screenshot_window_finish (ShellScreenshot *screenshot, + GAsyncResult *result, + cairo_rectangle_int_t **area, + GError **error); + +void shell_screenshot_screenshot (ShellScreenshot *screenshot, + gboolean include_cursor, + GOutputStream *stream, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean shell_screenshot_screenshot_finish (ShellScreenshot *screenshot, + GAsyncResult *result, + cairo_rectangle_int_t **area, + GError **error); + +void shell_screenshot_screenshot_stage_to_content (ShellScreenshot *screenshot, + GAsyncReadyCallback callback, + gpointer user_data); +ClutterContent *shell_screenshot_screenshot_stage_to_content_finish (ShellScreenshot *screenshot, + GAsyncResult *result, + float *scale, + ClutterContent **cursor_content, + graphene_point_t *cursor_point, + float *cursor_scale, + GError **error); + +void shell_screenshot_pick_color (ShellScreenshot *screenshot, + int x, + int y, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean shell_screenshot_pick_color_finish (ShellScreenshot *screenshot, + GAsyncResult *result, + ClutterColor *color, + GError **error); + +void shell_screenshot_composite_to_stream (CoglTexture *texture, + int x, + int y, + int width, + int height, + float scale, + CoglTexture *cursor, + int cursor_x, + int cursor_y, + float cursor_scale, + GOutputStream *stream, + GAsyncReadyCallback callback, + gpointer user_data); +GdkPixbuf *shell_screenshot_composite_to_stream_finish (GAsyncResult *result, + GError **error); + +#endif /* ___SHELL_SCREENSHOT_H__ */ |