Mir
mir_screencast.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2014 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License version 2 or 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef MIR_TOOLKIT_MIR_SCREENCAST_H_
18 #define MIR_TOOLKIT_MIR_SCREENCAST_H_
19 
22 
23 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 typedef enum MirScreencastResult
32 {
37 
43 
45  MirScreencastResult status, MirBuffer* buffer, void* context);
46 
58 
66 void mir_screencast_spec_set_width(MirScreencastSpec* spec, unsigned int width);
67 
75 void mir_screencast_spec_set_height(MirScreencastSpec* spec, unsigned int height);
76 
85 
86 
96 
105 
114 
121 
129 
137 
149 
155  MirScreencast* screencast);
156 
164 
173  MirScreencast* screencast,
174  MirBuffer* buffer,
175  MirScreencastBufferCallback available_callback, void* available_context);
176 
187 
188 #ifdef __cplusplus
189 }
191 #endif
192 
193 #endif /* MIR_TOOLKIT_MIR_SCREENCAST_H_ */
void mir_screencast_capture_to_buffer(MirScreencast *screencast, MirBuffer *buffer, MirScreencastBufferCallback available_callback, void *available_context)
Capture the contents of the screen to a particular buffer.
struct MirScreencastSpec MirScreencastSpec
Definition: client_types.h:45
MirScreencastSpec * mir_create_screencast_spec(MirConnection *connection)
Create a screencast specification.
void mir_screencast_spec_set_capture_region(MirScreencastSpec *spec, MirRectangle const *region)
Set the rectangular region to capture.
struct MirScreencast MirScreencast
Definition: client_types.h:44
void mir_screencast_spec_set_pixel_format(MirScreencastSpec *spec, MirPixelFormat format)
Set the requested pixel format.
MirScreencastResult mir_screencast_capture_to_buffer_sync(MirScreencast *screencast, MirBuffer *buffer)
Capture the contents of the screen to a particular buffer and wait for the capture to complete.
MirScreencast * mir_screencast_create_sync(MirScreencastSpec *spec)
Create a screencast from a given specification.
void mir_screencast_spec_set_height(MirScreencastSpec *spec, unsigned int height)
Set the requested height, in pixels.
void mir_screencast_spec_release(MirScreencastSpec *spec)
Release the resources held by a MirScreencastSpec.
MirScreencastResult
Definition: mir_screencast.h:32
struct MirBuffer MirBuffer
Definition: client_types.h:53
void mir_screencast_spec_set_number_of_buffers(MirScreencastSpec *spec, unsigned int nbuffers)
Set the requested number of buffers to use.
void mir_screencast_spec_set_mirror_mode(MirScreencastSpec *spec, MirMirrorMode mode)
Set the requested mirror mode.
void(* MirScreencastBufferCallback)(MirScreencastResult status, MirBuffer *buffer, void *context)
Definition: mir_screencast.h:44
MirPixelFormat
32-bit pixel formats (8888): The order of components in the enum matches the order of the components ...
Definition: common.h:179
MirMirrorMode
Mirroring axis relative to the "natural" orientation of the display.
Definition: common.h:218
void mir_screencast_spec_set_width(MirScreencastSpec *spec, unsigned int width)
Set the requested width, in pixels.
struct MirBufferStream MirBufferStream
Definition: client_types.h:47
char const * mir_screencast_get_error_message(MirScreencast *screencast)
Retrieve a text description of the error.
struct MirConnection MirConnection
Definition: client_types.h:41
bool mir_screencast_is_valid(MirScreencast *screencast)
Test for a valid screencast.
MirBufferStream * mir_screencast_get_buffer_stream(MirScreencast *screencast)
Retrieve the MirBufferStream associated with a screencast (to advance buffers, obtain EGLNativeWindow...
void mir_screencast_release_sync(MirScreencast *screencast)
Release the specified screencast.
@ mir_screencast_error_failure
Screencasting failed.
Definition: mir_screencast.h:41
@ mir_screencast_success
Screencasting to the MirBuffer succeeded.
Definition: mir_screencast.h:36
Definition: client_types.h:345

Copyright © 2012-2021 Canonical Ltd.
Generated on Mon Jul 5 13:30:06 UTC 2021
This documentation is licensed under the GPL version 2 or 3.