FreeRDP
SDL2/sdl_monitor.cpp File Reference
#include <freerdp/config.h>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <SDL.h>
#include <winpr/assert.h>
#include <winpr/crt.h>
#include <freerdp/log.h>
#include "sdl_monitor.hpp"
#include "sdl_freerdp.hpp"

Macros

#define TAG   CLIENT_TAG("sdl")
 

Typedefs

using VIRTUAL_SCREEN = struct { int nmonitors
 

Functions

int sdl_list_monitors (SdlContext *sdl)
 
static BOOL sdl_is_monitor_id_active (SdlContext *sdl, UINT32 id)
 
static BOOL sdl_apply_max_size (SdlContext *sdl, UINT32 *pMaxWidth, UINT32 *pMaxHeight)
 
static BOOL sdl_apply_display_properties (SdlContext *sdl)
 
static BOOL sdl_detect_single_window (SdlContext *sdl, UINT32 *pMaxWidth, UINT32 *pMaxHeight)
 
BOOL sdl_detect_monitors (SdlContext *sdl, UINT32 *pMaxWidth, UINT32 *pMaxHeight)
 
INT64 sdl_monitor_id_for_index (SdlContext *sdl, UINT32 index)
 

Variables

RECTANGLE_16 workarea
 
BOOL primary
 
RECTANGLE_16 area
 
MONITOR_INFO * monitors
 

Macro Definition Documentation

◆ TAG

#define TAG   CLIENT_TAG("sdl")

FreeRDP: A Remote Desktop Protocol Implementation X11 Monitor Handling

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2017 David Fort conta.nosp@m.ct@h.nosp@m.arden.nosp@m.ing-.nosp@m.consu.nosp@m.ltin.nosp@m.g.com Copyright 2018 Kai Harms kharm.nosp@m.s@ra.nosp@m.ngee..nosp@m.com

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.

Typedef Documentation

◆ VIRTUAL_SCREEN

using VIRTUAL_SCREEN = struct { int nmonitors

Function Documentation

◆ sdl_apply_display_properties()

static BOOL sdl_apply_display_properties ( SdlContext sdl)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_apply_max_size()

static BOOL sdl_apply_max_size ( SdlContext sdl,
UINT32 *  pMaxWidth,
UINT32 *  pMaxHeight 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_detect_monitors()

BOOL sdl_detect_monitors ( SdlContext sdl,
UINT32 *  pMaxWidth,
UINT32 *  pMaxHeight 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_detect_single_window()

static BOOL sdl_detect_single_window ( SdlContext sdl,
UINT32 *  pMaxWidth,
UINT32 *  pMaxHeight 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_is_monitor_id_active()

static BOOL sdl_is_monitor_id_active ( SdlContext sdl,
UINT32  id 
)
static
Here is the call graph for this function:

◆ sdl_list_monitors()

int sdl_list_monitors ( SdlContext sdl)

FreeRDP: A Remote Desktop Protocol Implementation SDL Monitor Handling

Copyright 2023 Armin Novak anova.nosp@m.k@th.nosp@m.incas.nosp@m.t.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 caller graph for this function:

◆ sdl_monitor_id_for_index()

INT64 sdl_monitor_id_for_index ( SdlContext sdl,
UINT32  index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ area

◆ monitors

MONITOR_INFO* monitors

◆ primary

BOOL primary

◆ workarea

RECTANGLE_16 workarea