FreeRDP
gfx.c File Reference
#include <freerdp/log.h>
#include <freerdp/gdi/gfx.h>
#include <freerdp/gdi/region.h>

Macros

#define TAG   FREERDP_TAG("gdi")
 

Functions

static DWORD gfx_align_scanline (DWORD widthInBytes, DWORD alignment)
 
static UINT gdi_ResetGraphics (RdpgfxClientContext *context, const RDPGFX_RESET_GRAPHICS_PDU *resetGraphics)
 
static UINT gdi_OutputUpdate (rdpGdi *gdi, gdiGfxSurface *surface)
 
static UINT gdi_UpdateSurfaces (RdpgfxClientContext *context)
 
static UINT gdi_StartFrame (RdpgfxClientContext *context, const RDPGFX_START_FRAME_PDU *startFrame)
 
static UINT gdi_EndFrame (RdpgfxClientContext *context, const RDPGFX_END_FRAME_PDU *endFrame)
 
static UINT gdi_SurfaceCommand_Uncompressed (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_RemoteFX (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_ClearCodec (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_Planar (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_AVC420 (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_AVC444 (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_Alpha (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand_Progressive (rdpGdi *gdi, RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_SurfaceCommand (RdpgfxClientContext *context, const RDPGFX_SURFACE_COMMAND *cmd)
 
static UINT gdi_DeleteEncodingContext (RdpgfxClientContext *context, const RDPGFX_DELETE_ENCODING_CONTEXT_PDU *deleteEncodingContext)
 
static UINT gdi_CreateSurface (RdpgfxClientContext *context, const RDPGFX_CREATE_SURFACE_PDU *createSurface)
 
static UINT gdi_DeleteSurface (RdpgfxClientContext *context, const RDPGFX_DELETE_SURFACE_PDU *deleteSurface)
 
static UINT gdi_SolidFill (RdpgfxClientContext *context, const RDPGFX_SOLID_FILL_PDU *solidFill)
 
static UINT gdi_SurfaceToSurface (RdpgfxClientContext *context, const RDPGFX_SURFACE_TO_SURFACE_PDU *surfaceToSurface)
 
static UINT gdi_SurfaceToCache (RdpgfxClientContext *context, const RDPGFX_SURFACE_TO_CACHE_PDU *surfaceToCache)
 
static UINT gdi_CacheToSurface (RdpgfxClientContext *context, const RDPGFX_CACHE_TO_SURFACE_PDU *cacheToSurface)
 
static UINT gdi_CacheImportReply (RdpgfxClientContext *context, const RDPGFX_CACHE_IMPORT_REPLY_PDU *cacheImportReply)
 
static UINT gdi_EvictCacheEntry (RdpgfxClientContext *context, const RDPGFX_EVICT_CACHE_ENTRY_PDU *evictCacheEntry)
 
static UINT gdi_MapSurfaceToOutput (RdpgfxClientContext *context, const RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU *surfaceToOutput)
 
static UINT gdi_MapSurfaceToWindow (RdpgfxClientContext *context, const RDPGFX_MAP_SURFACE_TO_WINDOW_PDU *surfaceToWindow)
 
BOOL gdi_graphics_pipeline_init (rdpGdi *gdi, RdpgfxClientContext *gfx)
 
void gdi_graphics_pipeline_uninit (rdpGdi *gdi, RdpgfxClientContext *gfx)
 

Macro Definition Documentation

#define TAG   FREERDP_TAG("gdi")

FreeRDP: A Remote Desktop Protocol Implementation GDI Graphics Pipeline

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2016 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2016 Thincast Technologies GmbH

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

static UINT gdi_CacheImportReply ( RdpgfxClientContext *  context,
const RDPGFX_CACHE_IMPORT_REPLY_PDU *  cacheImportReply 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT gdi_CacheToSurface ( RdpgfxClientContext *  context,
const RDPGFX_CACHE_TO_SURFACE_PDU *  cacheToSurface 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_CreateSurface ( RdpgfxClientContext *  context,
const RDPGFX_CREATE_SURFACE_PDU *  createSurface 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_DeleteEncodingContext ( RdpgfxClientContext *  context,
const RDPGFX_DELETE_ENCODING_CONTEXT_PDU *  deleteEncodingContext 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT gdi_DeleteSurface ( RdpgfxClientContext *  context,
const RDPGFX_DELETE_SURFACE_PDU *  deleteSurface 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_EndFrame ( RdpgfxClientContext *  context,
const RDPGFX_END_FRAME_PDU *  endFrame 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT gdi_EvictCacheEntry ( RdpgfxClientContext *  context,
const RDPGFX_EVICT_CACHE_ENTRY_PDU *  evictCacheEntry 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL gdi_graphics_pipeline_init ( rdpGdi *  gdi,
RdpgfxClientContext *  gfx 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void gdi_graphics_pipeline_uninit ( rdpGdi *  gdi,
RdpgfxClientContext *  gfx 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_MapSurfaceToOutput ( RdpgfxClientContext *  context,
const RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU *  surfaceToOutput 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_MapSurfaceToWindow ( RdpgfxClientContext *  context,
const RDPGFX_MAP_SURFACE_TO_WINDOW_PDU *  surfaceToWindow 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT gdi_OutputUpdate ( rdpGdi *  gdi,
gdiGfxSurface *  surface 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_ResetGraphics ( RdpgfxClientContext *  context,
const RDPGFX_RESET_GRAPHICS_PDU *  resetGraphics 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SolidFill ( RdpgfxClientContext *  context,
const RDPGFX_SOLID_FILL_PDU *  solidFill 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_StartFrame ( RdpgfxClientContext *  context,
const RDPGFX_START_FRAME_PDU *  startFrame 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand ( RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_Alpha ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_AVC420 ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_AVC444 ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_ClearCodec ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_Planar ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_Progressive ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Note: Since this comes via a Wire-To-Surface-2 PDU the cmd's top/left/right/bottom/width/height members are always zero! The update region is determined during decompression.

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_RemoteFX ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceCommand_Uncompressed ( rdpGdi *  gdi,
RdpgfxClientContext *  context,
const RDPGFX_SURFACE_COMMAND *  cmd 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceToCache ( RdpgfxClientContext *  context,
const RDPGFX_SURFACE_TO_CACHE_PDU *  surfaceToCache 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_SurfaceToSurface ( RdpgfxClientContext *  context,
const RDPGFX_SURFACE_TO_SURFACE_PDU *  surfaceToSurface 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT gdi_UpdateSurfaces ( RdpgfxClientContext *  context)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD gfx_align_scanline ( DWORD  widthInBytes,
DWORD  alignment 
)
static

Here is the caller graph for this function: