FreeRDP
mac_shadow.c File Reference
#include <winpr/crt.h>
#include <winpr/synch.h>
#include <winpr/input.h>
#include <winpr/sysinfo.h>
#include <freerdp/server/server-common.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/region.h>
#include <freerdp/log.h>
#include "mac_shadow.h"

Macros

#define TAG   SERVER_TAG("shadow.mac")
 

Functions

static BOOL mac_shadow_input_synchronize_event (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT32 flags)
 
static BOOL mac_shadow_input_keyboard_event (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT8 code)
 
static BOOL mac_shadow_input_unicode_keyboard_event (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 code)
 
static BOOL mac_shadow_input_mouse_event (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
 
static BOOL mac_shadow_input_extended_mouse_event (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
 
static int mac_shadow_detect_monitors (macShadowSubsystem *subsystem)
 
static int mac_shadow_capture_start (macShadowSubsystem *subsystem)
 
static int mac_shadow_capture_stop (macShadowSubsystem *subsystem)
 
static int mac_shadow_capture_get_dirty_region (macShadowSubsystem *subsystem)
 
static int freerdp_image_copy_from_retina (BYTE *pDstData, DWORD DstFormat, int nDstStep, int nXDst, int nYDst, int nWidth, int nHeight, BYTE *pSrcData, int nSrcStep, int nXSrc, int nYSrc)
 
static int mac_shadow_capture_init (macShadowSubsystem *subsystem)
 
static int mac_shadow_screen_grab (macShadowSubsystem *subsystem)
 
static int mac_shadow_subsystem_process_message (macShadowSubsystem *subsystem, wMessage *message)
 
static DWORD WINAPI mac_shadow_subsystem_thread (LPVOID arg)
 
static UINT32 mac_shadow_enum_monitors (MONITOR_DEF *monitors, UINT32 maxMonitors)
 
static int mac_shadow_subsystem_init (rdpShadowSubsystem *rdpsubsystem)
 
static int mac_shadow_subsystem_uninit (rdpShadowSubsystem *rdpsubsystem)
 
static int mac_shadow_subsystem_start (rdpShadowSubsystem *rdpsubsystem)
 
static int mac_shadow_subsystem_stop (rdpShadowSubsystem *subsystem)
 
static void mac_shadow_subsystem_free (rdpShadowSubsystem *subsystem)
 
static rdpShadowSubsystem * mac_shadow_subsystem_new (void)
 
FREERDP_API const char * ShadowSubsystemName (void)
 
FREERDP_API int ShadowSubsystemEntry (RDP_SHADOW_ENTRY_POINTS *pEntryPoints)
 

Variables

static macShadowSubsystem * g_Subsystem = NULL
 
static void(^ mac_capture_stream_handler )(CGDisplayStreamFrameStatus, uint64_t, IOSurfaceRef, CGDisplayStreamUpdateRef)
 

Macro Definition Documentation

◆ TAG

#define TAG   SERVER_TAG("shadow.mac")

FreeRDP: A Remote Desktop Protocol Implementation

Copyright 2011-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..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.

Function Documentation

◆ freerdp_image_copy_from_retina()

static int freerdp_image_copy_from_retina ( BYTE pDstData,
DWORD  DstFormat,
int  nDstStep,
int  nXDst,
int  nYDst,
int  nWidth,
int  nHeight,
BYTE pSrcData,
int  nSrcStep,
int  nXSrc,
int  nYSrc 
)
static
Here is the call graph for this function:

◆ mac_shadow_capture_get_dirty_region()

static int mac_shadow_capture_get_dirty_region ( macShadowSubsystem *  subsystem)
static
Here is the call graph for this function:

◆ mac_shadow_capture_init()

static int mac_shadow_capture_init ( macShadowSubsystem *  subsystem)
static
Here is the caller graph for this function:

◆ mac_shadow_capture_start()

static int mac_shadow_capture_start ( macShadowSubsystem *  subsystem)
static
Here is the caller graph for this function:

◆ mac_shadow_capture_stop()

static int mac_shadow_capture_stop ( macShadowSubsystem *  subsystem)
static

◆ mac_shadow_detect_monitors()

static int mac_shadow_detect_monitors ( macShadowSubsystem *  subsystem)
static
Here is the caller graph for this function:

◆ mac_shadow_enum_monitors()

static UINT32 mac_shadow_enum_monitors ( MONITOR_DEF monitors,
UINT32  maxMonitors 
)
static
Here is the caller graph for this function:

◆ mac_shadow_input_extended_mouse_event()

static BOOL mac_shadow_input_extended_mouse_event ( rdpShadowSubsystem *  subsystem,
rdpShadowClient *  client,
UINT16  flags,
UINT16  x,
UINT16  y 
)
static
Here is the caller graph for this function:

◆ mac_shadow_input_keyboard_event()

static BOOL mac_shadow_input_keyboard_event ( rdpShadowSubsystem *  subsystem,
rdpShadowClient *  client,
UINT16  flags,
UINT8  code 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_input_mouse_event()

static BOOL mac_shadow_input_mouse_event ( rdpShadowSubsystem *  subsystem,
rdpShadowClient *  client,
UINT16  flags,
UINT16  x,
UINT16  y 
)
static
Here is the caller graph for this function:

◆ mac_shadow_input_synchronize_event()

static BOOL mac_shadow_input_synchronize_event ( rdpShadowSubsystem *  subsystem,
rdpShadowClient *  client,
UINT32  flags 
)
static
Here is the caller graph for this function:

◆ mac_shadow_input_unicode_keyboard_event()

static BOOL mac_shadow_input_unicode_keyboard_event ( rdpShadowSubsystem *  subsystem,
rdpShadowClient *  client,
UINT16  flags,
UINT16  code 
)
static
Here is the caller graph for this function:

◆ mac_shadow_screen_grab()

static int mac_shadow_screen_grab ( macShadowSubsystem *  subsystem)
static
Here is the caller graph for this function:

◆ mac_shadow_subsystem_free()

static void mac_shadow_subsystem_free ( rdpShadowSubsystem *  subsystem)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_init()

static int mac_shadow_subsystem_init ( rdpShadowSubsystem *  rdpsubsystem)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_new()

static rdpShadowSubsystem* mac_shadow_subsystem_new ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_process_message()

static int mac_shadow_subsystem_process_message ( macShadowSubsystem *  subsystem,
wMessage *  message 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_start()

static int mac_shadow_subsystem_start ( rdpShadowSubsystem *  rdpsubsystem)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_stop()

static int mac_shadow_subsystem_stop ( rdpShadowSubsystem *  subsystem)
static
Here is the caller graph for this function:

◆ mac_shadow_subsystem_thread()

static DWORD WINAPI mac_shadow_subsystem_thread ( LPVOID  arg)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mac_shadow_subsystem_uninit()

static int mac_shadow_subsystem_uninit ( rdpShadowSubsystem *  rdpsubsystem)
static
Here is the caller graph for this function:

◆ ShadowSubsystemEntry()

FREERDP_API int ShadowSubsystemEntry ( RDP_SHADOW_ENTRY_POINTS *  pEntryPoints)
Here is the call graph for this function:

◆ ShadowSubsystemName()

FREERDP_API const char* ShadowSubsystemName ( void  )

Variable Documentation

◆ g_Subsystem

macShadowSubsystem* g_Subsystem = NULL
static

◆ mac_capture_stream_handler

void(^ mac_capture_stream_handler) (CGDisplayStreamFrameStatus, uint64_t, IOSurfaceRef, CGDisplayStreamUpdateRef) ( CGDisplayStreamFrameStatus  ,
uint64_t  ,
IOSurfaceRef  ,
CGDisplayStreamUpdateRef   
)
static