1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2
#ifndef __SHELL_SCREENSHOT_H__
3
#define __SHELL_SCREENSHOT_H__
6
* SECTION:shell-screenshot
7
* @short_description: Grabs screenshots of areas and/or windows
9
* The #ShellScreenshot object is used to take screenshots of screen
10
* areas or windows and write them out as png files.
14
typedef struct _ShellScreenshot ShellScreenshot;
15
typedef struct _ShellScreenshotClass ShellScreenshotClass;
17
#define SHELL_TYPE_SCREENSHOT (shell_screenshot_get_type ())
18
#define SHELL_SCREENSHOT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_SCREENSHOT, ShellScreenshot))
19
#define SHELL_SCREENSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_SCREENSHOT, ShellScreenshotClass))
20
#define SHELL_IS_SCREENSHOT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_SCREENSHOT))
21
#define SHELL_IS_SCREENSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_SCREENSHOT))
22
#define SHELL_SCREENSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_SCREENSHOT, ShellScreenshotClass))
24
GType shell_screenshot_get_type (void) G_GNUC_CONST;
26
ShellScreenshot *shell_screenshot_new (void);
28
typedef void (*ShellScreenshotCallback) (ShellScreenshot *screenshot,
30
cairo_rectangle_int_t *screenshot_area);
32
void shell_screenshot_screenshot_area (ShellScreenshot *screenshot,
38
ShellScreenshotCallback callback);
40
void shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
41
gboolean include_frame,
42
gboolean include_cursor,
44
ShellScreenshotCallback callback);
46
void shell_screenshot_screenshot (ShellScreenshot *screenshot,
47
gboolean include_cursor,
49
ShellScreenshotCallback callback);
51
#endif /* ___SHELL_SCREENSHOT_H__ */