SYMBOL INDEX (760 symbols across 33 files) FILE: build.rs function build_ffmpeg (line 5) | fn build_ffmpeg(dist_dir: &Path, enable_libnpp: bool) { function main (line 30) | fn main() { function linux (line 164) | fn linux() { FILE: lib/encode_video.c type ScaleContext (line 31) | typedef struct ScaleContext type Scalers (line 40) | typedef struct Scalers type VideoContext (line 49) | typedef struct VideoContext function log_callback (line 84) | void log_callback(void* _ptr, int level, const char* fmt_orig, va_list a... function init_ffmpeg_logger (line 132) | void init_ffmpeg_logger() { av_log_set_callback(log_callback); } function set_codec_params (line 134) | void set_codec_params(VideoContext* ctx) function destroy_scale_ctx (line 149) | void destroy_scale_ctx(ScaleContext* ctx) function init_scaler (line 156) | void init_scaler( function destroy_scalers (line 363) | void destroy_scalers(Scalers* s) function init_scalers (line 372) | void init_scalers( function scale_frame (line 454) | void scale_frame(ScaleContext* ctx, Error* err) function open_video (line 477) | void open_video(VideoContext* ctx, Error* err) function destroy_video_encoder (line 818) | void destroy_video_encoder(VideoContext* ctx) function encode_video_frame (line 835) | void encode_video_frame(VideoContext* ctx, int millis, Error* err) function VideoContext (line 867) | VideoContext* init_video_encoder( function fill_bgr0 (line 898) | void fill_bgr0(VideoContext* ctx, const void* data, int stride, Error* err) function fill_rgb (line 910) | void fill_rgb(VideoContext* ctx, const void* data, Error* err) function fill_rgb0 (line 923) | void fill_rgb0(VideoContext* ctx, const void* data, Error* err) FILE: lib/error.c function fill_error (line 3) | void fill_error(Error* err, int code, const char* fmt, ...) FILE: lib/error.h type Error (line 6) | struct Error type Error (line 12) | typedef struct Error Error; FILE: lib/linux/uinput.c function setup_abs (line 25) | void setup_abs(int fd, int code, int minimum, int maximum, int resolutio... function setup (line 44) | void setup(int fd, const char* name, Error* err) function init_keyboard (line 59) | void init_keyboard(int fd, const char* name, Error* err) function init_mouse (line 87) | void init_mouse(int fd, const char* name, Error* err) function init_stylus (line 139) | void init_stylus(int fd, const char* name, Error* err) function init_touch (line 185) | void init_touch(int fd, const char* name, Error* err) function init_uinput_keyboard (line 249) | int init_uinput_keyboard(const char* name, Error* err) function init_uinput_stylus (line 262) | int init_uinput_stylus(const char* name, Error* err) function init_uinput_mouse (line 275) | int init_uinput_mouse(const char* name, Error* err) function init_uinput_touch (line 288) | int init_uinput_touch(const char* name, Error* err) function destroy_uinput_device (line 301) | void destroy_uinput_device(int fd) function send_uinput_event (line 307) | void send_uinput_event(int device, int type, int code, int value, Error*... FILE: lib/linux/xcapture.c function clamp (line 19) | int clamp(int x, int lb, int ub) type CaptureContext (line 28) | struct CaptureContext type CaptureContext (line 39) | typedef struct CaptureContext CaptureContext; type Image (line 41) | struct Image function stop_capture (line 120) | void stop_capture(CaptureContext* ctx, Error* err) function capture_screen (line 134) | void capture_screen(CaptureContext* ctx, struct Image* img, int capture_... FILE: lib/linux/xhelper.c function x11_error_handler (line 14) | int x11_error_handler(Display* disp, XErrorEvent* err) function x11_set_error_handler (line 24) | void x11_set_error_handler() function locale_to_utf8 (line 31) | int locale_to_utf8(char* src, char* dest, size_t size) function Window (line 154) | Window* get_client_list(Display* disp, unsigned long* size, Error* err) function create_capturables (line 180) | int create_capturables( function destroy_capturable (line 274) | void destroy_capturable(Capturable* c) { free(c); } function get_window_geometry (line 276) | void get_window_geometry( function get_geometry (line 295) | void get_geometry( function get_geometry_relative (line 312) | void get_geometry_relative( function client_msg (line 325) | void client_msg( function activate_window (line 357) | void activate_window(Display* disp, WindowInfo* winfo, Error* err) function capturable_before_input (line 396) | void capturable_before_input(Capturable* cap, Error* err) function map_input_device_to_entire_screen (line 410) | void map_input_device_to_entire_screen(Display* disp, const char* device... FILE: lib/linux/xhelper.h type WindowInfo (line 16) | typedef struct WindowInfo type RectInfo (line 22) | typedef struct RectInfo type CaptureType (line 30) | typedef enum CaptureType type Capturable (line 36) | typedef struct Capturable FILE: lib/log.c function log_error (line 10) | void log_error(const char* fmt, ...) function log_debug (line 19) | void log_debug(const char* fmt, ...) function log_info (line 28) | void log_info(const char* fmt, ...) function log_trace (line 37) | void log_trace(const char* fmt, ...) function log_warn (line 46) | void log_warn(const char* fmt, ...) FILE: src/capturable/captrs_capture.rs type CaptrsCapturable (line 10) | pub struct CaptrsCapturable { method new (line 18) | pub fn new(id: u8, name: String, screen: RECT, virtual_screen: RECT) -... method name (line 29) | fn name(&self) -> String { method before_input (line 32) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 35) | fn recorder(&self, _capture_cursor: bool) -> Result, B... method geometry (line 38) | fn geometry(&self) -> Result> { type CaptrsError (line 50) | pub struct CaptrsError(String); method fmt (line 53) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type CaptrsRecorder (line 60) | pub struct CaptrsRecorder { method new (line 65) | pub fn new(id: u8) -> Result> { method capture (line 73) | fn capture(&mut self) -> Result) -> std::fmt::Result { type CGDisplayCapturable (line 37) | pub struct CGDisplayCapturable { method new (line 42) | pub fn new(display: CGDisplay) -> Self { method name (line 48) | fn name(&self) -> String { method geometry (line 55) | fn geometry(&self) -> Result> { method before_input (line 65) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 68) | fn recorder(&self, capture_cursor: bool) -> Result, Bo... type RecorderCGDisplay (line 76) | pub struct RecorderCGDisplay { method new (line 83) | pub fn new(display: CGDisplay, capture_cursor: bool) -> Self { function check_pixelformat (line 92) | fn check_pixelformat(img: &CGImage) -> Result<(), Box> { method capture (line 111) | fn capture(&mut self) -> Result Result<(), Box> { method name (line 175) | fn name(&self) -> String { method geometry (line 178) | fn geometry(&self) -> Result> { method before_input (line 182) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 185) | fn recorder(&self, capture_cursor: bool) -> Result, Bo... type RecorderCGWindow (line 193) | pub struct RecorderCGWindow { method capture (line 200) | fn capture(&mut self) -> Result Vec { function screen_coordsys (line 277) | pub fn screen_coordsys() -> Result<(f64, f64, f64, f64), Box> { function get_displays (line 301) | pub fn get_displays() -> Result, Box> { function get_windows (line 310) | pub fn get_windows() -> Result, Box> { FILE: src/capturable/mod.rs type Recorder (line 20) | pub trait Recorder { method capture (line 21) | fn capture(&mut self) -> Result, Box Box; method box_clone (line 32) | fn box_clone(&self) -> Box { type Geometry (line 39) | pub enum Geometry { type Capturable (line 45) | pub trait Capturable: Send + BoxCloneCapturable { method name (line 47) | fn name(&self) -> String; method geometry (line 50) | fn geometry(&self) -> Result>; method before_input (line 54) | fn before_input(&mut self) -> Result<(), Box>; method recorder (line 57) | fn recorder(&self, capture_cursor: bool) -> Result, ... method clone (line 61) | fn clone(&self) -> Self { function get_capturables (line 66) | pub fn get_capturables( FILE: src/capturable/pipewire.rs type PwStreamInfo (line 28) | struct PwStreamInfo { type DBusError (line 34) | pub struct DBusError(String); method fmt (line 37) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GStreamerError (line 46) | pub struct GStreamerError(String); method fmt (line 49) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PipeWireCapturable (line 58) | pub struct PipeWireCapturable { method new (line 67) | fn new(conn: Arc, fd: OwnedFd, stream: PwStreamInfo) -... method fmt (line 78) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method name (line 91) | fn name(&self) -> String { method geometry (line 100) | fn geometry(&self) -> Result> { method before_input (line 104) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 108) | fn recorder(&self, _capture_cursor: bool) -> Result, B... type PipeWireRecorder (line 113) | pub struct PipeWireRecorder { method new (line 125) | pub fn new(capturable: PipeWireCapturable) -> Result Result, Box> { method drop (line 253) | fn drop(&mut self) { function handle_response (line 260) | fn handle_response( function get_portal (line 308) | fn get_portal(conn: &SyncConnection) -> Proxy<'_, &SyncConnection> { function streams_from_response (line 316) | fn streams_from_response(response: &OrgFreedesktopPortalRequestResponse)... type CallBackContext (line 358) | struct CallBackContext { function on_create_session_response (line 368) | fn on_create_session_response( function select_devices (line 397) | fn select_devices( function select_sources (line 435) | fn select_sources( function on_select_sources_response (line 482) | fn on_select_sources_response( function on_start_response (line 514) | fn on_start_response( function request_remote_desktop (line 539) | fn request_remote_desktop( function get_capturables (line 602) | pub fn get_capturables(capture_cursor: bool) -> Result Result<(), dbus::Error>; method close (line 45) | fn close(&self) -> Result<(), dbus::Error> { type OrgFreedesktopPortalRequestResponse (line 16) | pub struct OrgFreedesktopPortalRequestResponse { method append (line 22) | fn append(&self, i: &mut arg::IterAppend) { method read (line 29) | fn read(i: &mut arg::Iter) -> Result { constant NAME (line 38) | const NAME: &'static str = "Response"; constant INTERFACE (line 39) | const INTERFACE: &'static str = "org.freedesktop.portal.Request"; type OrgFreedesktopPortalScreenCast (line 50) | pub trait OrgFreedesktopPortalScreenCast { method create_session (line 51) | fn create_session(&self, options: arg::PropMap) -> Result Result; method available_cursor_modes (line 69) | fn available_cursor_modes(&self) -> Result; method version (line 70) | fn version(&self) -> Result; method create_session (line 76) | fn create_session(&self, options: arg::PropMap) -> Result Result { method available_cursor_modes (line 133) | fn available_cursor_modes(&self) -> Result { method version (line 141) | fn version(&self) -> Result { type OrgFreedesktopPortalRemoteDesktop (line 150) | pub trait OrgFreedesktopPortalRemoteDesktop { method create_session (line 151) | fn create_session(&self, options: arg::PropMap) -> Result Result; method version (line 243) | fn version(&self) -> Result; method create_session (line 249) | fn create_session(&self, options: arg::PropMap) -> Result Result { method version (line 450) | fn version(&self) -> Result { FILE: src/capturable/testsrc.rs type PixelFormat (line 6) | pub enum PixelFormat { type TestCapturable (line 13) | pub struct TestCapturable { method pixel_size (line 20) | fn pixel_size(&self) -> usize { method set_default_pixel (line 27) | fn set_default_pixel(&self, buf: &mut [u8], x: usize, y: usize) { type TestRecorder (line 41) | pub struct TestRecorder { method new (line 48) | fn new(capturable: TestCapturable) -> Self { method name (line 65) | fn name(&self) -> String { method geometry (line 71) | fn geometry(&self) -> Result> { method before_input (line 74) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 77) | fn recorder(&self, _: bool) -> Result, Box> { method capture (line 83) | fn capture(&mut self) -> Result, Box> { FILE: src/capturable/win_ctx.rs function hr_failed (line 14) | fn hr_failed(hr: HRESULT) -> bool { function create_dxgi_factory_1 (line 18) | fn create_dxgi_factory_1() -> ComPtr { function get_adapter_outputs (line 30) | fn get_adapter_outputs(adapter: &IDXGIAdapter1) -> Vec WinCtx { method get_outputs (line 85) | pub fn get_outputs(&self) -> &Vec { method get_union_rect (line 88) | pub fn get_union_rect(&self) -> &RECT { FILE: src/capturable/x11.rs function XOpenDisplay (line 13) | fn XOpenDisplay(name: *const c_char) -> *mut c_void; function XCloseDisplay (line 14) | fn XCloseDisplay(disp: *mut c_void) -> c_int; function XInitThreads (line 15) | fn XInitThreads() -> c_int; function XLockDisplay (line 16) | fn XLockDisplay(disp: *mut c_void); function XUnlockDisplay (line 17) | fn XUnlockDisplay(disp: *mut c_void); function x11_set_error_handler (line 19) | fn x11_set_error_handler(); function create_capturables (line 21) | fn create_capturables( function clone_capturable (line 29) | fn clone_capturable(handle: *const c_void) -> *mut c_void; function destroy_capturable (line 30) | fn destroy_capturable(handle: *mut c_void); function get_capturable_name (line 31) | fn get_capturable_name(handle: *const c_void) -> *const c_char; function capturable_before_input (line 32) | fn capturable_before_input(handle: *mut c_void, err: *mut CError); function get_geometry_relative (line 33) | fn get_geometry_relative( function map_input_device_to_entire_screen (line 42) | fn map_input_device_to_entire_screen( function start_capture (line 48) | fn start_capture(handle: *const c_void, ctx: *mut c_void, err: *mut CErr... function capture_screen (line 49) | fn capture_screen( function stop_capture (line 55) | fn stop_capture(handle: *mut c_void, err: *mut CError); function x11_init (line 58) | pub fn x11_init() { type X11Capturable (line 65) | pub struct X11Capturable { method handle (line 84) | pub unsafe fn handle(&mut self) -> *mut c_void { method fmt (line 148) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method clone (line 72) | fn clone(&self) -> Self { method name (line 90) | fn name(&self) -> String { method geometry (line 98) | fn geometry(&self) -> Result> { method before_input (line 127) | fn before_input(&mut self) -> Result<(), Box> { method recorder (line 139) | fn recorder(&self, capture_cursor: bool) -> Result, Bo... method drop (line 154) | fn drop(&mut self) { type XDisplay (line 161) | struct XDisplay { method new (line 166) | pub fn new() -> Option { method lock (line 174) | pub fn lock(&self) { method unlock (line 178) | pub fn unlock(&self) { method drop (line 184) | fn drop(&mut self) { type X11Context (line 191) | pub struct X11Context { method new (line 196) | pub fn new() -> Option { method capturables (line 203) | pub fn capturables(&mut self) -> Result, CError> { method map_input_device_to_entire_screen (line 239) | pub fn map_input_device_to_entire_screen(&mut self, device_name: &str,... type CImage (line 260) | struct CImage { method new (line 267) | pub fn new() -> Self { method size (line 275) | pub fn size(&self) -> usize { method data (line 279) | pub fn data(&self) -> &[u8] { type RecorderX11 (line 284) | pub struct RecorderX11 { method new (line 294) | pub fn new(mut capturable: X11Capturable, capture_cursor: bool) -> Res... method drop (line 313) | fn drop(&mut self) { method capture (line 324) | fn capture(&mut self) -> Result, Box> { FILE: src/cerror.rs type CError (line 8) | pub struct CError { method new (line 20) | pub fn new() -> Self { method is_err (line 27) | pub fn is_err(&self) -> bool { method code (line 31) | pub fn code(&self) -> i32 { method to_enum (line 35) | pub fn to_enum(&self) -> CErrorCode { method fmt (line 45) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method fmt (line 53) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type CErrorCode (line 13) | pub enum CErrorCode { FILE: src/config.rs type ThemeType (line 9) | pub enum ThemeType { method apply (line 38) | pub fn apply(&self) { method name (line 53) | pub fn name(&self) -> String { method to_index (line 57) | pub fn to_index(&self) -> i32 { method from_index (line 61) | pub fn from_index(i: i32) -> Self { method themes (line 66) | pub fn themes() -> &'static [ThemeType] { constant THEME_LIST (line 20) | const THEME_LIST: [ThemeType; 8] = [ method default (line 32) | fn default() -> Self { type Config (line 73) | pub struct Config { function read_config (line 151) | pub fn read_config() -> Option { function write_config (line 178) | pub fn write_config(conf: &Config) { function get_config (line 202) | pub fn get_config() -> Config { FILE: src/gui.rs function run (line 32) | pub fn run(config: &Config, log_receiver: mpsc::Receiver) { constant BORDER (line 387) | const BORDER: i32 = 30; type InputAreaWindowContext (line 390) | struct InputAreaWindowContext { function get_input_area (line 398) | pub fn get_input_area( function create_custom_input_area_window (line 444) | fn create_custom_input_area_window() -> InputAreaWindowContext { function custom_input_area_window_handle_events (line 511) | fn custom_input_area_window_handle_events( function show_overlay_window (line 717) | fn show_overlay_window(winctx: &mut InputAreaWindowContext) { function get_full_workspace_rect (line 773) | pub fn get_full_workspace_rect() -> Rect { FILE: src/input/autopilot_device.rs type AutoPilotDevice (line 13) | pub struct AutoPilotDevice { method new (line 18) | pub fn new(capturable: Box) -> Self { method send_wheel_event (line 24) | fn send_wheel_event(&mut self, event: &WheelEvent) { method send_pointer_event (line 32) | fn send_pointer_event(&mut self, event: &PointerEvent) { method send_keyboard_event (line 78) | fn send_keyboard_event(&mut self, event: &KeyboardEvent) { method set_capturable (line 160) | fn set_capturable(&mut self, capturable: Box) { method device_type (line 164) | fn device_type(&self) -> InputDeviceType { FILE: src/input/autopilot_device_win.rs type WindowsInput (line 15) | pub struct WindowsInput { method new (line 24) | pub fn new(capturable: Box) -> Self { method send_wheel_event (line 39) | fn send_wheel_event(&mut self, event: &WheelEvent) { method send_pointer_event (line 43) | fn send_pointer_event(&mut self, event: &PointerEvent) { method send_keyboard_event (line 216) | fn send_keyboard_event(&mut self, event: &KeyboardEvent) { method set_capturable (line 220) | fn set_capturable(&mut self, capturable: Box) { method device_type (line 224) | fn device_type(&self) -> InputDeviceType { FILE: src/input/device.rs type InputDeviceType (line 5) | pub enum InputDeviceType { type InputDevice (line 12) | pub trait InputDevice { method send_wheel_event (line 13) | fn send_wheel_event(&mut self, event: &WheelEvent); method send_pointer_event (line 14) | fn send_pointer_event(&mut self, event: &PointerEvent); method send_keyboard_event (line 15) | fn send_keyboard_event(&mut self, event: &KeyboardEvent); method set_capturable (line 16) | fn set_capturable(&mut self, capturable: Box); method device_type (line 17) | fn device_type(&self) -> InputDeviceType; FILE: src/input/uinput_device.rs function init_uinput_keyboard (line 19) | fn init_uinput_keyboard(name: *const c_char, err: *mut CError) -> c_int; function init_uinput_stylus (line 20) | fn init_uinput_stylus(name: *const c_char, err: *mut CError) -> c_int; function init_uinput_mouse (line 21) | fn init_uinput_mouse(name: *const c_char, err: *mut CError) -> c_int; function init_uinput_touch (line 22) | fn init_uinput_touch(name: *const c_char, err: *mut CError) -> c_int; function destroy_uinput_device (line 23) | fn destroy_uinput_device(fd: c_int); function send_uinput_event (line 24) | fn send_uinput_event(device: c_int, typ: c_int, code: c_int, value: c_in... type MultiTouch (line 27) | struct MultiTouch { type UInputDevice (line 31) | pub struct UInputDevice { method new (line 52) | pub fn new(capturable: Box, id: &Option) -> Re... method transform_x (line 117) | fn transform_x(&self, x: f64) -> i32 { method transform_y (line 122) | fn transform_y(&self, y: f64) -> i32 { method transform_pressure (line 127) | fn transform_pressure(&self, p: f64) -> i32 { method transform_touch_size (line 131) | fn transform_touch_size(&self, s: f64) -> i32 { method find_slot (line 135) | fn find_slot(&self, id: i64) -> Option { method send (line 151) | fn send(&self, fd: c_int, typ: c_int, code: c_int, value: c_int) { method drop (line 163) | fn drop(&mut self) { constant ET_SYNC (line 174) | const ET_SYNC: c_int = 0x00; constant ET_KEY (line 175) | const ET_KEY: c_int = 0x01; constant ET_RELATIVE (line 176) | const ET_RELATIVE: c_int = 0x02; constant ET_ABSOLUTE (line 177) | const ET_ABSOLUTE: c_int = 0x03; constant ET_MSC (line 178) | const ET_MSC: c_int = 0x04; constant EC_SYNC_REPORT (line 181) | const EC_SYNC_REPORT: c_int = 0; constant EC_KEY_MOUSE_LEFT (line 183) | const EC_KEY_MOUSE_LEFT: c_int = 0x110; constant EC_KEY_MOUSE_RIGHT (line 184) | const EC_KEY_MOUSE_RIGHT: c_int = 0x111; constant EC_KEY_MOUSE_MIDDLE (line 185) | const EC_KEY_MOUSE_MIDDLE: c_int = 0x112; constant EC_KEY_TOOL_PEN (line 186) | const EC_KEY_TOOL_PEN: c_int = 0x140; constant EC_KEY_TOOL_RUBBER (line 187) | const EC_KEY_TOOL_RUBBER: c_int = 0x141; constant EC_KEY_TOUCH (line 188) | const EC_KEY_TOUCH: c_int = 0x14a; constant EC_KEY_TOOL_FINGER (line 189) | const EC_KEY_TOOL_FINGER: c_int = 0x145; constant EC_KEY_TOOL_DOUBLETAP (line 190) | const EC_KEY_TOOL_DOUBLETAP: c_int = 0x14d; constant EC_KEY_TOOL_TRIPLETAP (line 191) | const EC_KEY_TOOL_TRIPLETAP: c_int = 0x14e; constant EC_KEY_TOOL_QUADTAP (line 192) | const EC_KEY_TOOL_QUADTAP: c_int = 0x14f; constant EC_KEY_TOOL_QUINTTAP (line 193) | const EC_KEY_TOOL_QUINTTAP: c_int = 0x148; constant EC_REL_HWHEEL (line 197) | const EC_REL_HWHEEL: c_int = 0x06; constant EC_REL_WHEEL (line 198) | const EC_REL_WHEEL: c_int = 0x08; constant EC_REL_WHEEL_HI_RES (line 199) | const EC_REL_WHEEL_HI_RES: c_int = 0x0b; constant EC_REL_HWHEEL_HI_RES (line 200) | const EC_REL_HWHEEL_HI_RES: c_int = 0x0c; constant EC_ABSOLUTE_X (line 202) | const EC_ABSOLUTE_X: c_int = 0x00; constant EC_ABSOLUTE_Y (line 203) | const EC_ABSOLUTE_Y: c_int = 0x01; constant EC_ABSOLUTE_PRESSURE (line 204) | const EC_ABSOLUTE_PRESSURE: c_int = 0x18; constant EC_ABSOLUTE_TILT_X (line 205) | const EC_ABSOLUTE_TILT_X: c_int = 0x1a; constant EC_ABSOLUTE_TILT_Y (line 206) | const EC_ABSOLUTE_TILT_Y: c_int = 0x1b; constant EC_ABS_MT_SLOT (line 207) | const EC_ABS_MT_SLOT: c_int = 0x2f; constant EC_ABS_MT_TOUCH_MAJOR (line 208) | const EC_ABS_MT_TOUCH_MAJOR: c_int = 0x30; constant EC_ABS_MT_TOUCH_MINOR (line 209) | const EC_ABS_MT_TOUCH_MINOR: c_int = 0x31; constant EC_ABS_MT_ORIENTATION (line 210) | const EC_ABS_MT_ORIENTATION: c_int = 0x34; constant EC_ABS_MT_POSITION_X (line 211) | const EC_ABS_MT_POSITION_X: c_int = 0x35; constant EC_ABS_MT_POSITION_Y (line 212) | const EC_ABS_MT_POSITION_Y: c_int = 0x36; constant EC_ABS_MT_TRACKING_ID (line 213) | const EC_ABS_MT_TRACKING_ID: c_int = 0x39; constant EC_ABS_MT_PRESSURE (line 214) | const EC_ABS_MT_PRESSURE: c_int = 0x3a; constant EC_MSC_TIMESTAMP (line 216) | const EC_MSC_TIMESTAMP: c_int = 0x05; constant ABS_MAX (line 221) | const ABS_MAX: f64 = 65535.0; constant MAX_SCREEN_MAPPING_TRIES (line 237) | const MAX_SCREEN_MAPPING_TRIES: usize = 100; method send_wheel_event (line 240) | fn send_wheel_event(&mut self, event: &WheelEvent) { method send_pointer_event (line 278) | fn send_pointer_event(&mut self, event: &PointerEvent) { method send_keyboard_event (line 643) | fn send_keyboard_event(&mut self, event: &KeyboardEvent) { method set_capturable (line 909) | fn set_capturable(&mut self, capturable: Box) { method device_type (line 913) | fn device_type(&self) -> InputDeviceType { FILE: src/input/uinput_keys.rs constant KEY_ESC (line 3) | pub const KEY_ESC: c_int = 1; constant KEY_1 (line 4) | pub const KEY_1: c_int = 2; constant KEY_2 (line 5) | pub const KEY_2: c_int = 3; constant KEY_3 (line 6) | pub const KEY_3: c_int = 4; constant KEY_4 (line 7) | pub const KEY_4: c_int = 5; constant KEY_5 (line 8) | pub const KEY_5: c_int = 6; constant KEY_6 (line 9) | pub const KEY_6: c_int = 7; constant KEY_7 (line 10) | pub const KEY_7: c_int = 8; constant KEY_8 (line 11) | pub const KEY_8: c_int = 9; constant KEY_9 (line 12) | pub const KEY_9: c_int = 10; constant KEY_0 (line 13) | pub const KEY_0: c_int = 11; constant KEY_MINUS (line 14) | pub const KEY_MINUS: c_int = 12; constant KEY_EQUAL (line 15) | pub const KEY_EQUAL: c_int = 13; constant KEY_BACKSPACE (line 16) | pub const KEY_BACKSPACE: c_int = 14; constant KEY_TAB (line 17) | pub const KEY_TAB: c_int = 15; constant KEY_Q (line 18) | pub const KEY_Q: c_int = 16; constant KEY_W (line 19) | pub const KEY_W: c_int = 17; constant KEY_E (line 20) | pub const KEY_E: c_int = 18; constant KEY_R (line 21) | pub const KEY_R: c_int = 19; constant KEY_T (line 22) | pub const KEY_T: c_int = 20; constant KEY_Y (line 23) | pub const KEY_Y: c_int = 21; constant KEY_U (line 24) | pub const KEY_U: c_int = 22; constant KEY_I (line 25) | pub const KEY_I: c_int = 23; constant KEY_O (line 26) | pub const KEY_O: c_int = 24; constant KEY_P (line 27) | pub const KEY_P: c_int = 25; constant KEY_LEFTBRACE (line 28) | pub const KEY_LEFTBRACE: c_int = 26; constant KEY_RIGHTBRACE (line 29) | pub const KEY_RIGHTBRACE: c_int = 27; constant KEY_ENTER (line 30) | pub const KEY_ENTER: c_int = 28; constant KEY_LEFTCTRL (line 31) | pub const KEY_LEFTCTRL: c_int = 29; constant KEY_A (line 32) | pub const KEY_A: c_int = 30; constant KEY_S (line 33) | pub const KEY_S: c_int = 31; constant KEY_D (line 34) | pub const KEY_D: c_int = 32; constant KEY_F (line 35) | pub const KEY_F: c_int = 33; constant KEY_G (line 36) | pub const KEY_G: c_int = 34; constant KEY_H (line 37) | pub const KEY_H: c_int = 35; constant KEY_J (line 38) | pub const KEY_J: c_int = 36; constant KEY_K (line 39) | pub const KEY_K: c_int = 37; constant KEY_L (line 40) | pub const KEY_L: c_int = 38; constant KEY_SEMICOLON (line 41) | pub const KEY_SEMICOLON: c_int = 39; constant KEY_APOSTROPHE (line 42) | pub const KEY_APOSTROPHE: c_int = 40; constant KEY_GRAVE (line 43) | pub const KEY_GRAVE: c_int = 41; constant KEY_LEFTSHIFT (line 44) | pub const KEY_LEFTSHIFT: c_int = 42; constant KEY_BACKSLASH (line 45) | pub const KEY_BACKSLASH: c_int = 43; constant KEY_Z (line 46) | pub const KEY_Z: c_int = 44; constant KEY_X (line 47) | pub const KEY_X: c_int = 45; constant KEY_C (line 48) | pub const KEY_C: c_int = 46; constant KEY_V (line 49) | pub const KEY_V: c_int = 47; constant KEY_B (line 50) | pub const KEY_B: c_int = 48; constant KEY_N (line 51) | pub const KEY_N: c_int = 49; constant KEY_M (line 52) | pub const KEY_M: c_int = 50; constant KEY_COMMA (line 53) | pub const KEY_COMMA: c_int = 51; constant KEY_DOT (line 54) | pub const KEY_DOT: c_int = 52; constant KEY_SLASH (line 55) | pub const KEY_SLASH: c_int = 53; constant KEY_RIGHTSHIFT (line 56) | pub const KEY_RIGHTSHIFT: c_int = 54; constant KEY_KPASTERISK (line 57) | pub const KEY_KPASTERISK: c_int = 55; constant KEY_LEFTALT (line 58) | pub const KEY_LEFTALT: c_int = 56; constant KEY_SPACE (line 59) | pub const KEY_SPACE: c_int = 57; constant KEY_CAPSLOCK (line 60) | pub const KEY_CAPSLOCK: c_int = 58; constant KEY_F1 (line 61) | pub const KEY_F1: c_int = 59; constant KEY_F2 (line 62) | pub const KEY_F2: c_int = 60; constant KEY_F3 (line 63) | pub const KEY_F3: c_int = 61; constant KEY_F4 (line 64) | pub const KEY_F4: c_int = 62; constant KEY_F5 (line 65) | pub const KEY_F5: c_int = 63; constant KEY_F6 (line 66) | pub const KEY_F6: c_int = 64; constant KEY_F7 (line 67) | pub const KEY_F7: c_int = 65; constant KEY_F8 (line 68) | pub const KEY_F8: c_int = 66; constant KEY_F9 (line 69) | pub const KEY_F9: c_int = 67; constant KEY_F10 (line 70) | pub const KEY_F10: c_int = 68; constant KEY_NUMLOCK (line 71) | pub const KEY_NUMLOCK: c_int = 69; constant KEY_SCROLLLOCK (line 72) | pub const KEY_SCROLLLOCK: c_int = 70; constant KEY_KP7 (line 73) | pub const KEY_KP7: c_int = 71; constant KEY_KP8 (line 74) | pub const KEY_KP8: c_int = 72; constant KEY_KP9 (line 75) | pub const KEY_KP9: c_int = 73; constant KEY_KPMINUS (line 76) | pub const KEY_KPMINUS: c_int = 74; constant KEY_KP4 (line 77) | pub const KEY_KP4: c_int = 75; constant KEY_KP5 (line 78) | pub const KEY_KP5: c_int = 76; constant KEY_KP6 (line 79) | pub const KEY_KP6: c_int = 77; constant KEY_KPPLUS (line 80) | pub const KEY_KPPLUS: c_int = 78; constant KEY_KP1 (line 81) | pub const KEY_KP1: c_int = 79; constant KEY_KP2 (line 82) | pub const KEY_KP2: c_int = 80; constant KEY_KP3 (line 83) | pub const KEY_KP3: c_int = 81; constant KEY_KP0 (line 84) | pub const KEY_KP0: c_int = 82; constant KEY_KPDOT (line 85) | pub const KEY_KPDOT: c_int = 83; constant KEY_ZENKAKUHANKAKU (line 87) | pub const KEY_ZENKAKUHANKAKU: c_int = 85; constant KEY_102ND (line 88) | pub const KEY_102ND: c_int = 86; constant KEY_F11 (line 89) | pub const KEY_F11: c_int = 87; constant KEY_F12 (line 90) | pub const KEY_F12: c_int = 88; constant KEY_RO (line 91) | pub const KEY_RO: c_int = 89; constant KEY_KATAKANA (line 92) | pub const KEY_KATAKANA: c_int = 90; constant KEY_HIRAGANA (line 93) | pub const KEY_HIRAGANA: c_int = 91; constant KEY_HENKAN (line 94) | pub const KEY_HENKAN: c_int = 92; constant KEY_KATAKANAHIRAGANA (line 95) | pub const KEY_KATAKANAHIRAGANA: c_int = 93; constant KEY_MUHENKAN (line 96) | pub const KEY_MUHENKAN: c_int = 94; constant KEY_KPJPCOMMA (line 97) | pub const KEY_KPJPCOMMA: c_int = 95; constant KEY_KPENTER (line 98) | pub const KEY_KPENTER: c_int = 96; constant KEY_RIGHTCTRL (line 99) | pub const KEY_RIGHTCTRL: c_int = 97; constant KEY_KPSLASH (line 100) | pub const KEY_KPSLASH: c_int = 98; constant KEY_SYSRQ (line 101) | pub const KEY_SYSRQ: c_int = 99; constant KEY_RIGHTALT (line 102) | pub const KEY_RIGHTALT: c_int = 100; constant KEY_LINEFEED (line 103) | pub const KEY_LINEFEED: c_int = 101; constant KEY_HOME (line 104) | pub const KEY_HOME: c_int = 102; constant KEY_UP (line 105) | pub const KEY_UP: c_int = 103; constant KEY_PAGEUP (line 106) | pub const KEY_PAGEUP: c_int = 104; constant KEY_LEFT (line 107) | pub const KEY_LEFT: c_int = 105; constant KEY_RIGHT (line 108) | pub const KEY_RIGHT: c_int = 106; constant KEY_END (line 109) | pub const KEY_END: c_int = 107; constant KEY_DOWN (line 110) | pub const KEY_DOWN: c_int = 108; constant KEY_PAGEDOWN (line 111) | pub const KEY_PAGEDOWN: c_int = 109; constant KEY_INSERT (line 112) | pub const KEY_INSERT: c_int = 110; constant KEY_DELETE (line 113) | pub const KEY_DELETE: c_int = 111; constant KEY_MACRO (line 114) | pub const KEY_MACRO: c_int = 112; constant KEY_MUTE (line 115) | pub const KEY_MUTE: c_int = 113; constant KEY_VOLUMEDOWN (line 116) | pub const KEY_VOLUMEDOWN: c_int = 114; constant KEY_VOLUMEUP (line 117) | pub const KEY_VOLUMEUP: c_int = 115; constant KEY_POWER (line 118) | pub const KEY_POWER: c_int = 116; constant KEY_KPEQUAL (line 119) | pub const KEY_KPEQUAL: c_int = 117; constant KEY_KPPLUSMINUS (line 120) | pub const KEY_KPPLUSMINUS: c_int = 118; constant KEY_PAUSE (line 121) | pub const KEY_PAUSE: c_int = 119; constant KEY_SCALE (line 122) | pub const KEY_SCALE: c_int = 120; constant KEY_KPCOMMA (line 124) | pub const KEY_KPCOMMA: c_int = 121; constant KEY_HANGEUL (line 125) | pub const KEY_HANGEUL: c_int = 122; constant KEY_HANGUEL (line 126) | pub const KEY_HANGUEL: c_int = KEY_HANGEUL; constant KEY_HANJA (line 127) | pub const KEY_HANJA: c_int = 123; constant KEY_YEN (line 128) | pub const KEY_YEN: c_int = 124; constant KEY_LEFTMETA (line 129) | pub const KEY_LEFTMETA: c_int = 125; constant KEY_RIGHTMETA (line 130) | pub const KEY_RIGHTMETA: c_int = 126; constant KEY_COMPOSE (line 131) | pub const KEY_COMPOSE: c_int = 127; constant KEY_STOP (line 133) | pub const KEY_STOP: c_int = 128; constant KEY_AGAIN (line 134) | pub const KEY_AGAIN: c_int = 129; constant KEY_PROPS (line 135) | pub const KEY_PROPS: c_int = 130; constant KEY_UNDO (line 136) | pub const KEY_UNDO: c_int = 131; constant KEY_FRONT (line 137) | pub const KEY_FRONT: c_int = 132; constant KEY_COPY (line 138) | pub const KEY_COPY: c_int = 133; constant KEY_OPEN (line 139) | pub const KEY_OPEN: c_int = 134; constant KEY_PASTE (line 140) | pub const KEY_PASTE: c_int = 135; constant KEY_FIND (line 141) | pub const KEY_FIND: c_int = 136; constant KEY_CUT (line 142) | pub const KEY_CUT: c_int = 137; constant KEY_HELP (line 143) | pub const KEY_HELP: c_int = 138; constant KEY_MENU (line 144) | pub const KEY_MENU: c_int = 139; constant KEY_CALC (line 145) | pub const KEY_CALC: c_int = 140; constant KEY_SETUP (line 146) | pub const KEY_SETUP: c_int = 141; constant KEY_SLEEP (line 147) | pub const KEY_SLEEP: c_int = 142; constant KEY_WAKEUP (line 148) | pub const KEY_WAKEUP: c_int = 143; constant KEY_FILE (line 149) | pub const KEY_FILE: c_int = 144; constant KEY_SENDFILE (line 150) | pub const KEY_SENDFILE: c_int = 145; constant KEY_DELETEFILE (line 151) | pub const KEY_DELETEFILE: c_int = 146; constant KEY_XFER (line 152) | pub const KEY_XFER: c_int = 147; constant KEY_PROG1 (line 153) | pub const KEY_PROG1: c_int = 148; constant KEY_PROG2 (line 154) | pub const KEY_PROG2: c_int = 149; constant KEY_WWW (line 155) | pub const KEY_WWW: c_int = 150; constant KEY_MSDOS (line 156) | pub const KEY_MSDOS: c_int = 151; constant KEY_COFFEE (line 157) | pub const KEY_COFFEE: c_int = 152; constant KEY_SCREENLOCK (line 158) | pub const KEY_SCREENLOCK: c_int = KEY_COFFEE; constant KEY_ROTATE_DISPLAY (line 159) | pub const KEY_ROTATE_DISPLAY: c_int = 153; constant KEY_DIRECTION (line 160) | pub const KEY_DIRECTION: c_int = KEY_ROTATE_DISPLAY; constant KEY_CYCLEWINDOWS (line 161) | pub const KEY_CYCLEWINDOWS: c_int = 154; constant KEY_MAIL (line 162) | pub const KEY_MAIL: c_int = 155; constant KEY_BOOKMARKS (line 163) | pub const KEY_BOOKMARKS: c_int = 156; constant KEY_COMPUTER (line 164) | pub const KEY_COMPUTER: c_int = 157; constant KEY_BACK (line 165) | pub const KEY_BACK: c_int = 158; constant KEY_FORWARD (line 166) | pub const KEY_FORWARD: c_int = 159; constant KEY_CLOSECD (line 167) | pub const KEY_CLOSECD: c_int = 160; constant KEY_EJECTCD (line 168) | pub const KEY_EJECTCD: c_int = 161; constant KEY_EJECTCLOSECD (line 169) | pub const KEY_EJECTCLOSECD: c_int = 162; constant KEY_NEXTSONG (line 170) | pub const KEY_NEXTSONG: c_int = 163; constant KEY_PLAYPAUSE (line 171) | pub const KEY_PLAYPAUSE: c_int = 164; constant KEY_PREVIOUSSONG (line 172) | pub const KEY_PREVIOUSSONG: c_int = 165; constant KEY_STOPCD (line 173) | pub const KEY_STOPCD: c_int = 166; constant KEY_RECORD (line 174) | pub const KEY_RECORD: c_int = 167; constant KEY_REWIND (line 175) | pub const KEY_REWIND: c_int = 168; constant KEY_PHONE (line 176) | pub const KEY_PHONE: c_int = 169; constant KEY_ISO (line 177) | pub const KEY_ISO: c_int = 170; constant KEY_CONFIG (line 178) | pub const KEY_CONFIG: c_int = 171; constant KEY_HOMEPAGE (line 179) | pub const KEY_HOMEPAGE: c_int = 172; constant KEY_REFRESH (line 180) | pub const KEY_REFRESH: c_int = 173; constant KEY_EXIT (line 181) | pub const KEY_EXIT: c_int = 174; constant KEY_MOVE (line 182) | pub const KEY_MOVE: c_int = 175; constant KEY_EDIT (line 183) | pub const KEY_EDIT: c_int = 176; constant KEY_SCROLLUP (line 184) | pub const KEY_SCROLLUP: c_int = 177; constant KEY_SCROLLDOWN (line 185) | pub const KEY_SCROLLDOWN: c_int = 178; constant KEY_KPLEFTPAREN (line 186) | pub const KEY_KPLEFTPAREN: c_int = 179; constant KEY_KPRIGHTPAREN (line 187) | pub const KEY_KPRIGHTPAREN: c_int = 180; constant KEY_NEW (line 188) | pub const KEY_NEW: c_int = 181; constant KEY_REDO (line 189) | pub const KEY_REDO: c_int = 182; constant KEY_F13 (line 191) | pub const KEY_F13: c_int = 183; constant KEY_F14 (line 192) | pub const KEY_F14: c_int = 184; constant KEY_F15 (line 193) | pub const KEY_F15: c_int = 185; constant KEY_F16 (line 194) | pub const KEY_F16: c_int = 186; constant KEY_F17 (line 195) | pub const KEY_F17: c_int = 187; constant KEY_F18 (line 196) | pub const KEY_F18: c_int = 188; constant KEY_F19 (line 197) | pub const KEY_F19: c_int = 189; constant KEY_F20 (line 198) | pub const KEY_F20: c_int = 190; constant KEY_F21 (line 199) | pub const KEY_F21: c_int = 191; constant KEY_F22 (line 200) | pub const KEY_F22: c_int = 192; constant KEY_F23 (line 201) | pub const KEY_F23: c_int = 193; constant KEY_F24 (line 202) | pub const KEY_F24: c_int = 194; constant KEY_PLAYCD (line 204) | pub const KEY_PLAYCD: c_int = 200; constant KEY_PAUSECD (line 205) | pub const KEY_PAUSECD: c_int = 201; constant KEY_PROG3 (line 206) | pub const KEY_PROG3: c_int = 202; constant KEY_PROG4 (line 207) | pub const KEY_PROG4: c_int = 203; constant KEY_DASHBOARD (line 208) | pub const KEY_DASHBOARD: c_int = 204; constant KEY_SUSPEND (line 209) | pub const KEY_SUSPEND: c_int = 205; constant KEY_CLOSE (line 210) | pub const KEY_CLOSE: c_int = 206; constant KEY_PLAY (line 211) | pub const KEY_PLAY: c_int = 207; constant KEY_FASTFORWARD (line 212) | pub const KEY_FASTFORWARD: c_int = 208; constant KEY_BASSBOOST (line 213) | pub const KEY_BASSBOOST: c_int = 209; constant KEY_PRINT (line 214) | pub const KEY_PRINT: c_int = 210; constant KEY_HP (line 215) | pub const KEY_HP: c_int = 211; constant KEY_CAMERA (line 216) | pub const KEY_CAMERA: c_int = 212; constant KEY_SOUND (line 217) | pub const KEY_SOUND: c_int = 213; constant KEY_QUESTION (line 218) | pub const KEY_QUESTION: c_int = 214; constant KEY_EMAIL (line 219) | pub const KEY_EMAIL: c_int = 215; constant KEY_CHAT (line 220) | pub const KEY_CHAT: c_int = 216; constant KEY_SEARCH (line 221) | pub const KEY_SEARCH: c_int = 217; constant KEY_CONNECT (line 222) | pub const KEY_CONNECT: c_int = 218; constant KEY_FINANCE (line 223) | pub const KEY_FINANCE: c_int = 219; constant KEY_SPORT (line 224) | pub const KEY_SPORT: c_int = 220; constant KEY_SHOP (line 225) | pub const KEY_SHOP: c_int = 221; constant KEY_ALTERASE (line 226) | pub const KEY_ALTERASE: c_int = 222; constant KEY_CANCEL (line 227) | pub const KEY_CANCEL: c_int = 223; constant KEY_BRIGHTNESSDOWN (line 228) | pub const KEY_BRIGHTNESSDOWN: c_int = 224; constant KEY_BRIGHTNESSUP (line 229) | pub const KEY_BRIGHTNESSUP: c_int = 225; constant KEY_MEDIA (line 230) | pub const KEY_MEDIA: c_int = 226; constant KEY_SWITCHVIDEOMODE (line 232) | pub const KEY_SWITCHVIDEOMODE: c_int = 227; constant KEY_KBDILLUMTOGGLE (line 233) | pub const KEY_KBDILLUMTOGGLE: c_int = 228; constant KEY_KBDILLUMDOWN (line 234) | pub const KEY_KBDILLUMDOWN: c_int = 229; constant KEY_KBDILLUMUP (line 235) | pub const KEY_KBDILLUMUP: c_int = 230; constant KEY_SEND (line 237) | pub const KEY_SEND: c_int = 231; constant KEY_REPLY (line 238) | pub const KEY_REPLY: c_int = 232; constant KEY_FORWARDMAIL (line 239) | pub const KEY_FORWARDMAIL: c_int = 233; constant KEY_SAVE (line 240) | pub const KEY_SAVE: c_int = 234; constant KEY_DOCUMENTS (line 241) | pub const KEY_DOCUMENTS: c_int = 235; constant KEY_BATTERY (line 243) | pub const KEY_BATTERY: c_int = 236; constant KEY_BLUETOOTH (line 245) | pub const KEY_BLUETOOTH: c_int = 237; constant KEY_WLAN (line 246) | pub const KEY_WLAN: c_int = 238; constant KEY_UWB (line 247) | pub const KEY_UWB: c_int = 239; constant KEY_UNKNOWN (line 249) | pub const KEY_UNKNOWN: c_int = 240; constant KEY_VIDEO_NEXT (line 251) | pub const KEY_VIDEO_NEXT: c_int = 241; constant KEY_VIDEO_PREV (line 252) | pub const KEY_VIDEO_PREV: c_int = 242; constant KEY_BRIGHTNESS_CYCLE (line 253) | pub const KEY_BRIGHTNESS_CYCLE: c_int = 243; constant KEY_BRIGHTNESS_AUTO (line 254) | pub const KEY_BRIGHTNESS_AUTO: c_int = 244; constant KEY_BRIGHTNESS_ZERO (line 255) | pub const KEY_BRIGHTNESS_ZERO: c_int = KEY_BRIGHTNESS_AUTO; constant KEY_DISPLAY_OFF (line 256) | pub const KEY_DISPLAY_OFF: c_int = 245; constant KEY_WWAN (line 258) | pub const KEY_WWAN: c_int = 246; constant KEY_WIMAX (line 259) | pub const KEY_WIMAX: c_int = KEY_WWAN; constant KEY_RFKILL (line 260) | pub const KEY_RFKILL: c_int = 247; constant KEY_MICMUTE (line 262) | pub const KEY_MICMUTE: c_int = 248; FILE: src/log.rs function init_ffmpeg_logger (line 9) | fn init_ffmpeg_logger(); type GuiTracingWriter (line 12) | struct GuiTracingWriter { method write (line 17) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 23) | fn flush(&mut self) -> std::io::Result<()> { type GuiTracingWriterFactory (line 28) | struct GuiTracingWriterFactory { type Writer (line 33) | type Writer = GuiTracingWriter; method make_writer (line 34) | fn make_writer(&'a self) -> Self::Writer { function get_log_level (line 41) | pub fn get_log_level() -> tracing::Level { function setup_logging (line 57) | pub fn setup_logging(sender: mpsc::SyncSender) { function log_error_rust (line 94) | fn log_error_rust(msg: *const c_char) { function log_debug_rust (line 100) | fn log_debug_rust(msg: *const c_char) { function log_info_rust (line 106) | fn log_info_rust(msg: *const c_char) { function log_trace_rust (line 112) | fn log_trace_rust(msg: *const c_char) { function log_warn_rust (line 118) | fn log_warn_rust(msg: *const c_char) { FILE: src/main.rs function main (line 32) | fn main() { function bench_capture_x11 (line 129) | fn bench_capture_x11(b: &mut Bencher) { function bench_video_x11 (line 140) | fn bench_video_x11(b: &mut Bencher) { function bench_capture_wayland (line 159) | fn bench_capture_wayland(b: &mut Bencher) { function bench_video_wayland (line 173) | fn bench_video_wayland(b: &mut Bencher) { function bench_video_vaapi (line 194) | fn bench_video_vaapi(b: &mut Bencher) { function bench_video_x264 (line 223) | fn bench_video_x264(b: &mut Bencher) { function bench_video_nvenc (line 252) | fn bench_video_nvenc(b: &mut Bencher) { FILE: src/protocol.rs type ClientConfiguration (line 4) | pub struct ClientConfiguration { type MessageInbound (line 16) | pub enum MessageInbound { type MessageOutbound (line 29) | pub enum MessageOutbound { type Rect (line 39) | pub struct Rect { method default (line 47) | fn default() -> Self { type CustomInputAreas (line 58) | pub struct CustomInputAreas { type PointerType (line 65) | pub enum PointerType { type PointerEventType (line 77) | pub enum PointerEventType { type KeyboardEventType (line 97) | pub enum KeyboardEventType { type KeyboardLocation (line 107) | pub enum KeyboardLocation { function location_from (line 114) | fn location_from<'de, D: Deserializer<'de>>(deserializer: D) -> Result>(deserializer: D) -> Result Result<(), Sel... method send_video (line 194) | fn send_video(&mut self, bytes: &[u8]) -> Result<(), Self::Error>; type WeylusReceiver (line 197) | pub trait WeylusReceiver: Iterator { function size (line 49) | pub fn size(&self) -> (usize, usize) { type EncoderOptions (line 60) | pub struct EncoderOptions { type VideoEncoder (line 67) | pub struct VideoEncoder { method new (line 78) | pub fn new( method encode (line 118) | pub fn encode(&mut self, pixel_provider: PixelProvider) { method check_size (line 151) | pub fn check_size( method drop (line 166) | fn drop(&mut self) { FILE: src/web.rs type WebStartUpMessage (line 26) | pub enum WebStartUpMessage { type Web2UiMessage (line 31) | pub enum Web2UiMessage { constant INDEX_HTML (line 35) | pub const INDEX_HTML: &str = std::include_str!("../www/templates/index.h... constant ACCESS_HTML (line 36) | pub const ACCESS_HTML: &str = std::include_str!("../www/static/access_co... constant STYLE_CSS (line 37) | pub const STYLE_CSS: &str = std::include_str!("../www/static/style.css"); constant LIB_JS (line 38) | pub const LIB_JS: &str = std::include_str!("../www/static/lib.js"); type IndexTemplateContext (line 41) | struct IndexTemplateContext { function response_from_str (line 49) | fn response_from_str(s: &str, content_type: &str) -> Response Response> { function response_from_path_or_default (line 65) | async fn response_from_path_or_default( function serve (line 82) | async fn serve( type WebServerConfig (line 221) | pub struct WebServerConfig { type Context (line 231) | struct Context<'a> { function run (line 237) | pub fn run( function run_server (line 258) | async fn run_server( FILE: src/websocket.rs type VideoConfig (line 22) | struct VideoConfig { type VideoCommands (line 30) | enum VideoCommands { function send_message (line 37) | fn send_message(sender: &mut S, message: MessageOutbound) type WeylusClientHandler (line 46) | pub struct WeylusClientHandler { type WeylusClientConfig (line 61) | pub struct WeylusClientConfig { function new (line 69) | pub fn new( function run (line 102) | pub fn run(mut self) function send_message (line 157) | fn send_message(&mut self, message: MessageOutbound) function process_wheel_event (line 164) | fn process_wheel_event(&mut self, event: &WheelEvent) { function process_pointer_event (line 171) | fn process_pointer_event(&mut self, event: &PointerEvent) { function process_keyboard_event (line 182) | fn process_keyboard_event(&mut self, event: &KeyboardEvent) { function send_capturable_list (line 193) | fn send_capturable_list(&mut self) function update_config (line 210) | fn update_config(&mut self, config: ClientConfiguration) function handle_video (line 303) | fn handle_video( type WsWeylusReceiver (line 443) | pub struct WsWeylusReceiver { type Item (line 448) | type Item = Result; method next (line 450) | fn next(&mut self) -> Option { type Error (line 456) | type Error = Infallible; type WsMessage (line 459) | pub enum WsMessage { type WsWeylusSender (line 468) | pub struct WsWeylusSender { type Error (line 473) | type Error = tokio::sync::mpsc::error::SendError; method send_message (line 475) | fn send_message(&mut self, message: MessageOutbound) -> Result<(), Self:... method send_video (line 480) | fn send_video(&mut self, bytes: &[u8]) -> Result<(), Self::Error> { function weylus_websocket_channel (line 485) | pub fn weylus_websocket_channel( FILE: src/weylus.rs type Weylus (line 10) | pub struct Weylus { method new (line 16) | pub fn new() -> Self { method start (line 23) | pub fn start( method stop (line 102) | pub fn stop(&mut self) { method wait (line 107) | fn wait(&mut self) { method drop (line 117) | fn drop(&mut self) { FILE: ts/lib.ts type Window (line 1) | interface Window { type LogLevel (line 5) | enum LogLevel { function run (line 23) | function run(level: string) { function log (line 50) | function log(level: LogLevel, msg: string) { function frame_rate_scale (line 72) | function frame_rate_scale(x: number) { function frame_rate_scale_inv (line 76) | function frame_rate_scale_inv(x: number) { function calc_max_video_resolution (line 81) | function calc_max_video_resolution(scale: number) { function fresh_canvas (line 88) | function fresh_canvas() { class Rect (line 97) | class Rect { class CustomInputAreas (line 104) | class CustomInputAreas { class Settings (line 110) | class Settings { method constructor (line 125) | constructor(webSocket: WebSocket) { method send_server_config (line 241) | send_server_config() { method save_settings (line 257) | save_settings() { method load_settings (line 269) | load_settings() { method stretched_video (line 338) | stretched_video() { method pointer_types (line 342) | pointer_types() { method toggle (line 353) | toggle() { method onCapturableList (line 358) | onCapturableList(window_names: string[]) { method toggle_energysaving (line 379) | toggle_energysaving(energysaving: boolean) { method video_enabled (line 397) | video_enabled(): boolean { class PEvent (line 406) | class PEvent { method constructor (line 425) | constructor(eventType: string, event: PointerEvent, targetRect: DOMRec... class WEvent (line 474) | class WEvent { method constructor (line 479) | constructor(event: WheelEvent) { class Painter (line 524) | class Painter { method constructor (line 547) | constructor(canvas: HTMLCanvasElement) { method loadShader (line 559) | loadShader(type, source): WebGLShader { method setupWebGL (line 572) | setupWebGL() { method render (line 602) | render() { method appendEventToLine (line 630) | appendEventToLine(event: PointerEvent) { method onstart (line 666) | onstart(event: PointerEvent) { method onmove (line 670) | onmove(event: PointerEvent) { method onstop (line 679) | onstop(event: PointerEvent) { class PointerHandler (line 689) | class PointerHandler { method constructor (line 693) | constructor(webSocket: WebSocket) { method onEvent (line 745) | onEvent(event: PointerEvent, event_type: string) { class KEvent (line 828) | class KEvent { method constructor (line 838) | constructor(event_type: string, event: KeyboardEvent) { class KeyboardHandler (line 850) | class KeyboardHandler { method constructor (line 853) | constructor(webSocket: WebSocket) { method onEvent (line 889) | onEvent(event: KeyboardEvent, event_type: string) { function frame_rate_stats (line 897) | function frame_rate_stats() { function handle_messages (line 906) | function handle_messages( function check_apis (line 1002) | function check_apis() { function init (line 1025) | function init() { function stretch_video (line 1120) | function stretch_video() {