FreeRDP
sdl_disp.c File Reference
#include <winpr/sysinfo.h>
#include <winpr/assert.h>
#include <freerdp/gdi/gdi.h>
#include <SDL.h>
#include "sdl_disp.h"
#include "sdl_kbd.h"
#include <freerdp/log.h>

Macros

#define TAG   CLIENT_TAG("sdl.disp")
 
#define RESIZE_MIN_DELAY   200 /* minimum delay in ms between two resizes */
 

Functions

static UINT sdl_disp_sendLayout (DispClientContext *disp, const rdpMonitor *monitors, size_t nmonitors)
 
static BOOL sdl_disp_settings_changed (sdlDispContext *sdlDisp)
 
static BOOL sdl_update_last_sent (sdlDispContext *sdlDisp)
 
static BOOL sdl_disp_sendResize (sdlDispContext *sdlDisp)
 
static BOOL sdl_disp_set_window_resizable (sdlDispContext *sdlDisp)
 
static BOOL sdl_disp_check_context (void *context, sdlContext **ppsdl, sdlDispContext **ppsdlDisp, rdpSettings **ppSettings)
 
static void sdl_disp_OnActivated (void *context, const ActivatedEventArgs *e)
 
static void sdl_disp_OnGraphicsReset (void *context, const GraphicsResetEventArgs *e)
 
static void sdl_disp_OnTimer (void *context, const TimerEventArgs *e)
 
sdlDispContext * sdl_disp_new (sdlContext *sdl)
 
void sdl_disp_free (sdlDispContext *disp)
 
static BOOL sdl_grab (sdlContext *sdl, Uint32 windowID, SDL_bool enable)
 
BOOL sdl_grab_keyboard (sdlContext *sdl, Uint32 windowID, SDL_bool enable)
 
BOOL sdl_grab_mouse (sdlContext *sdl, Uint32 windowID, SDL_bool enable)
 
BOOL sdl_disp_handle_window_event (sdlDispContext *disp, const SDL_WindowEvent *ev)
 
static UINT sdl_DisplayControlCaps (DispClientContext *disp, UINT32 maxNumMonitors, UINT32 maxMonitorAreaFactorA, UINT32 maxMonitorAreaFactorB)
 
BOOL sdl_disp_init (sdlDispContext *sdlDisp, DispClientContext *disp)
 
BOOL sdl_disp_uninit (sdlDispContext *sdlDisp, DispClientContext *disp)
 

Macro Definition Documentation

◆ RESIZE_MIN_DELAY

#define RESIZE_MIN_DELAY   200 /* minimum delay in ms between two resizes */

◆ TAG

#define TAG   CLIENT_TAG("sdl.disp")

FreeRDP: A Remote Desktop Protocol Implementation SDL Display Control Channel

Copyright 2023 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ sdl_disp_check_context()

static BOOL sdl_disp_check_context ( void *  context,
sdlContext **  ppsdl,
sdlDispContext **  ppsdlDisp,
rdpSettings **  ppSettings 
)
static
Here is the caller graph for this function:

◆ sdl_disp_free()

void sdl_disp_free ( sdlDispContext *  disp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_handle_window_event()

BOOL sdl_disp_handle_window_event ( sdlDispContext *  disp,
const SDL_WindowEvent *  ev 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_init()

BOOL sdl_disp_init ( sdlDispContext *  xfDisp,
DispClientContext *  disp 
)

FreeRDP: A Remote Desktop Protocol Implementation SDL Display Control Channel

Copyright 2023 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_new()

sdlDispContext* sdl_disp_new ( sdlContext sdl)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_OnActivated()

static void sdl_disp_OnActivated ( void *  context,
const ActivatedEventArgs *  e 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_OnGraphicsReset()

static void sdl_disp_OnGraphicsReset ( void *  context,
const GraphicsResetEventArgs *  e 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_OnTimer()

static void sdl_disp_OnTimer ( void *  context,
const TimerEventArgs *  e 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_sendLayout()

static UINT sdl_disp_sendLayout ( DispClientContext *  disp,
const rdpMonitor monitors,
size_t  nmonitors 
)
static

◆ sdl_disp_sendResize()

static BOOL sdl_disp_sendResize ( sdlDispContext *  sdlDisp)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_set_window_resizable()

static BOOL sdl_disp_set_window_resizable ( sdlDispContext *  sdlDisp)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_disp_settings_changed()

static BOOL sdl_disp_settings_changed ( sdlDispContext *  sdlDisp)
static
Here is the caller graph for this function:

◆ sdl_disp_uninit()

BOOL sdl_disp_uninit ( sdlDispContext *  sdlDisp,
DispClientContext *  disp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_DisplayControlCaps()

static UINT sdl_DisplayControlCaps ( DispClientContext *  disp,
UINT32  maxNumMonitors,
UINT32  maxMonitorAreaFactorA,
UINT32  maxMonitorAreaFactorB 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_grab()

static BOOL sdl_grab ( sdlContext sdl,
Uint32  windowID,
SDL_bool  enable 
)
static
Here is the caller graph for this function:

◆ sdl_grab_keyboard()

BOOL sdl_grab_keyboard ( sdlContext sdl,
Uint32  windowID,
SDL_bool  enable 
)
Here is the caller graph for this function:

◆ sdl_grab_mouse()

BOOL sdl_grab_mouse ( sdlContext sdl,
Uint32  windowID,
SDL_bool  enable 
)
Here is the call graph for this function:

◆ sdl_update_last_sent()

static BOOL sdl_update_last_sent ( sdlDispContext *  sdlDisp)
static
Here is the caller graph for this function: