FreeRDP
xf_gdi.c File Reference
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <freerdp/gdi/gdi.h>
#include <freerdp/codec/rfx.h>
#include <freerdp/codec/nsc.h>
#include <freerdp/constants.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/bitmap.h>
#include "xf_gdi.h"
#include "xf_graphics.h"
#include <freerdp/log.h>

Macros

#define TAG   CLIENT_TAG("x11")
 

Functions

static BOOL xf_set_rop2 (xfContext *xfc, int rop2)
 
static BOOL xf_set_rop3 (xfContext *xfc, UINT32 rop3)
 
static Pixmap xf_brush_new (xfContext *xfc, UINT32 width, UINT32 height, UINT32 bpp, BYTE *data)
 
static Pixmap xf_mono_bitmap_new (xfContext *xfc, int width, int height, const BYTE *data)
 
static BOOL xf_gdi_set_bounds (rdpContext *context, const rdpBounds *bounds)
 
static BOOL xf_gdi_dstblt (rdpContext *context, const DSTBLT_ORDER *dstblt)
 
static BOOL xf_gdi_patblt (rdpContext *context, PATBLT_ORDER *patblt)
 
static BOOL xf_gdi_scrblt (rdpContext *context, const SCRBLT_ORDER *scrblt)
 
static BOOL xf_gdi_opaque_rect (rdpContext *context, const OPAQUE_RECT_ORDER *opaque_rect)
 
static BOOL xf_gdi_multi_opaque_rect (rdpContext *context, const MULTI_OPAQUE_RECT_ORDER *multi_opaque_rect)
 
static BOOL xf_gdi_line_to (rdpContext *context, const LINE_TO_ORDER *line_to)
 
static BOOL xf_gdi_invalidate_poly_region (xfContext *xfc, XPoint *points, int npoints)
 
static BOOL xf_gdi_polyline (rdpContext *context, const POLYLINE_ORDER *polyline)
 
static BOOL xf_gdi_memblt (rdpContext *context, MEMBLT_ORDER *memblt)
 
static BOOL xf_gdi_mem3blt (rdpContext *context, MEM3BLT_ORDER *mem3blt)
 
static BOOL xf_gdi_polygon_sc (rdpContext *context, const POLYGON_SC_ORDER *polygon_sc)
 
static BOOL xf_gdi_polygon_cb (rdpContext *context, POLYGON_CB_ORDER *polygon_cb)
 
static BOOL xf_gdi_surface_frame_marker (rdpContext *context, const SURFACE_FRAME_MARKER *surface_frame_marker)
 
static BOOL xf_gdi_surface_update_frame (xfContext *xfc, UINT16 tx, UINT16 ty, UINT16 width, UINT16 height)
 
static BOOL xf_gdi_update_screen (xfContext *xfc, const BYTE *pSrcData, UINT32 scanline, const REGION16 *pRegion)
 
static BOOL xf_gdi_surface_bits (rdpContext *context, const SURFACE_BITS_COMMAND *cmd)
 
void xf_gdi_register_update_callbacks (rdpUpdate *update)
 

Variables

static const UINT8 GDI_BS_HATCHED_PATTERNS []
 
static const BYTE xf_rop2_table []
 

Macro Definition Documentation

#define TAG   CLIENT_TAG("x11")

FreeRDP: A Remote Desktop Protocol Implementation X11 GDI

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2014 Thincast Technologies GmbH Copyright 2014 Norbert Federa norbe.nosp@m.rt.f.nosp@m.edera.nosp@m.@thi.nosp@m.ncast.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

static Pixmap xf_brush_new ( xfContext *  xfc,
UINT32  width,
UINT32  height,
UINT32  bpp,
BYTE data 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_dstblt ( rdpContext *  context,
const DSTBLT_ORDER *  dstblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_invalidate_poly_region ( xfContext *  xfc,
XPoint *  points,
int  npoints 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_line_to ( rdpContext *  context,
const LINE_TO_ORDER *  line_to 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_mem3blt ( rdpContext *  context,
MEM3BLT_ORDER *  mem3blt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_memblt ( rdpContext *  context,
MEMBLT_ORDER *  memblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_multi_opaque_rect ( rdpContext *  context,
const MULTI_OPAQUE_RECT_ORDER *  multi_opaque_rect 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_opaque_rect ( rdpContext *  context,
const OPAQUE_RECT_ORDER *  opaque_rect 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_patblt ( rdpContext *  context,
PATBLT_ORDER *  patblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_polygon_cb ( rdpContext *  context,
POLYGON_CB_ORDER *  polygon_cb 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_polygon_sc ( rdpContext *  context,
const POLYGON_SC_ORDER *  polygon_sc 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_polyline ( rdpContext *  context,
const POLYLINE_ORDER *  polyline 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_gdi_register_update_callbacks ( rdpUpdate *  update)

FreeRDP: A Remote Desktop Protocol Implementation X11 GDI

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2016 Thincast Technologies GmbH Copyright 2016 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:

static BOOL xf_gdi_scrblt ( rdpContext *  context,
const SCRBLT_ORDER *  scrblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_set_bounds ( rdpContext *  context,
const rdpBounds *  bounds 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_surface_bits ( rdpContext *  context,
const SURFACE_BITS_COMMAND *  cmd 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_surface_frame_marker ( rdpContext *  context,
const SURFACE_FRAME_MARKER *  surface_frame_marker 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_surface_update_frame ( xfContext *  xfc,
UINT16  tx,
UINT16  ty,
UINT16  width,
UINT16  height 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_gdi_update_screen ( xfContext *  xfc,
const BYTE pSrcData,
UINT32  scanline,
const REGION16 *  pRegion 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Pixmap xf_mono_bitmap_new ( xfContext *  xfc,
int  width,
int  height,
const BYTE data 
)
static

Here is the caller graph for this function:

static BOOL xf_set_rop2 ( xfContext *  xfc,
int  rop2 
)
static

Here is the caller graph for this function:

static BOOL xf_set_rop3 ( xfContext *  xfc,
UINT32  rop3 
)
static

Here is the caller graph for this function:

Variable Documentation

const UINT8 GDI_BS_HATCHED_PATTERNS[]
static
Initial value:
=
{
0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F,
0x7F, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE,
0xF7, 0xF7, 0xF7, 0x00, 0xF7, 0xF7, 0xF7, 0xF7,
0x7E, 0xBD, 0xDB, 0xE7, 0xE7, 0xDB, 0xBD, 0x7E
}
const BYTE xf_rop2_table[]
static
Initial value:
=
{
0,
GXclear,
GXnor,
GXandInverted,
GXcopyInverted,
GXandReverse,
GXinvert,
GXxor,
GXnand,
GXand,
GXequiv,
GXnoop,
GXorInverted,
GXcopy,
GXorReverse,
GXor,
GXset
}