/usr/include/mirclient/mir_toolkit/mir_screencast.h is in libmirclient-dev 0.26.3+16.04.20170605-0ubuntu1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | /*
* Copyright © 2014 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MIR_TOOLKIT_MIR_SCREENCAST_H_
#define MIR_TOOLKIT_MIR_SCREENCAST_H_
#include <mir_toolkit/client_types.h>
#include <mir_toolkit/deprecations.h>
#ifdef __cplusplus
/**
* \addtogroup mir_toolkit
* @{
*/
extern "C" {
#endif
/**
* Create a screencast specification.
*
* \remark For use with mir_screencast_create() at the width, height,
* pixel format and capture region must be set.
*
* \param [in] connection a valid mir connection
* \return A handle that can ultimately be passed to
* mir_create_window() or mir_window_apply_spec()
*/
MirScreencastSpec* mir_create_screencast_spec(MirConnection* connection);
/**
* Set the requested width, in pixels
*
* \param [in] spec Specification to mutate
* \param [in] width Requested width.
*
*/
void mir_screencast_spec_set_width(MirScreencastSpec* spec, unsigned int width);
/**
* Set the requested height, in pixels
*
* \param [in] spec Specification to mutate
* \param [in] height Requested height.
*
*/
void mir_screencast_spec_set_height(MirScreencastSpec* spec, unsigned int height);
/**
* Set the requested pixel format.
*
* \param [in] spec Specification to mutate
* \param [in] format Requested pixel format
*
*/
void mir_screencast_spec_set_pixel_format(MirScreencastSpec* spec, MirPixelFormat format);
/**
* Set the rectangular region to capture.
*
* \param [in] spec Specification to mutate
* \param [in] region The rectangular region of the screen to capture
* specified in virtual screen space coordinates
*
*/
void mir_screencast_spec_set_capture_region(MirScreencastSpec* spec, MirRectangle const* region);
/**
* Set the requested mirror mode.
*
* \param [in] spec Specification to mutate
* \param [in] mode The mirroring mode to apply when screencasting
*
*/
void mir_screencast_spec_set_mirror_mode(MirScreencastSpec* spec, MirMirrorMode mode);
/**
* Set the requested number of buffers to use.
*
* \param [in] spec Specification to mutate
* \param [in] nbuffers The number of buffers to allocate for screencasting
*
*/
void mir_screencast_spec_set_number_of_buffers(MirScreencastSpec* spec, unsigned int nbuffers);
/**
* Release the resources held by a MirScreencastSpec.
*
* \param [in] spec Specification to release
*/
void mir_screencast_spec_release(MirScreencastSpec* spec);
/**
* Create a screencast from a given specification
*
* \param [in] spec Specification of the screencast attributes
* \return The resulting screencast
*/
MirScreencast* mir_screencast_create_sync(MirScreencastSpec* spec);
/**
* Test for a valid screencast
*
* \param [in] screencast The screencast to verify
* \return True if the supplied screencast is valid, false otherwise.
*/
bool mir_screencast_is_valid(MirScreencast *screencast);
/**
* Retrieve a text description of the error. The returned string is owned by
* the library and remains valid until the screencast or the associated
* connection has been released.
*
* \param [in] screencast The screencast
* \return A text description of any error resulting in an
* invalid screencast, or the empty string "" if the
* screencast is valid.
*/
char const *mir_screencast_get_error_message(MirScreencast *screencast);
/**
* Create a screencast on the supplied connection.
*
* A screencast allows clients to read the contents of the screen.
*
* \warning This request may be denied.
* \param [in] connection The connection
* \param [in] parameters The screencast parameters
* \return The resulting screencast
*/
MirScreencast* mir_connection_create_screencast_sync(
MirConnection* connection,
MirScreencastParameters* parameters)
MIR_FOR_REMOVAL_IN_VERSION_1("use mir_screencast_create_sync instead");
/**
* Release the specified screencast.
* \param [in] screencast The screencast to be released
*/
void mir_screencast_release_sync(
MirScreencast* screencast);
/**
* Retrieve the MirBufferStream associated with a screencast
* (to advance buffers, obtain EGLNativeWindowType, etc...)
*
* \param[in] screencast The screencast
*/
MirBufferStream* mir_screencast_get_buffer_stream(MirScreencast* screencast);
#ifdef __cplusplus
}
/**@}*/
#endif
#endif /* MIR_TOOLKIT_MIR_SCREENCAST_H_ */
|