FreeRDP
|
#include <freerdp/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <freerdp/api.h>
#include <freerdp/log.h>
#include <freerdp/freerdp.h>
#include <freerdp/gdi/gdi.h>
#include <freerdp/gdi/dc.h>
#include <freerdp/gdi/pen.h>
#include <freerdp/gdi/shape.h>
#include <freerdp/gdi/region.h>
#include <freerdp/gdi/bitmap.h>
#include "drawing.h"
#include "clipping.h"
#include "brush.h"
#include "line.h"
#include "gdi.h"
#include "../core/graphics.h"
#include "../core/update.h"
#include "../cache/cache.h"
Macros | |
#define | TAG FREERDP_TAG("gdi") |
Functions | |
BOOL | gdi_decode_color (rdpGdi *gdi, const UINT32 srcColor, UINT32 *color, UINT32 *format) |
DWORD | gdi_rop3_code (BYTE code) |
const char * | gdi_rop3_code_string (BYTE code) |
const char * | gdi_rop3_string (DWORD rop) |
UINT32 | gdi_get_pixel_format (UINT32 bitsPerPixel) |
gdiBitmap * | gdi_bitmap_new_ex (rdpGdi *gdi, int width, int height, int bpp, BYTE *data) |
void | gdi_bitmap_free_ex (gdiBitmap *bitmap) |
BOOL | gdi_bitmap_update (rdpContext *context, const BITMAP_UPDATE *bitmapUpdate) |
static BOOL | gdi_palette_update (rdpContext *context, const PALETTE_UPDATE *palette) |
static BOOL | gdi_set_bounds (rdpContext *context, const rdpBounds *bounds) |
static BOOL | gdi_dstblt (rdpContext *context, const DSTBLT_ORDER *dstblt) |
static BOOL | gdi_patblt (rdpContext *context, PATBLT_ORDER *patblt) |
static BOOL | gdi_scrblt (rdpContext *context, const SCRBLT_ORDER *scrblt) |
static BOOL | gdi_opaque_rect (rdpContext *context, const OPAQUE_RECT_ORDER *opaque_rect) |
static BOOL | gdi_multi_opaque_rect (rdpContext *context, const MULTI_OPAQUE_RECT_ORDER *multi_opaque_rect) |
static BOOL | gdi_line_to (rdpContext *context, const LINE_TO_ORDER *lineTo) |
static BOOL | gdi_polyline (rdpContext *context, const POLYLINE_ORDER *polyline) |
static BOOL | gdi_memblt (rdpContext *context, MEMBLT_ORDER *memblt) |
static BOOL | gdi_mem3blt (rdpContext *context, MEM3BLT_ORDER *mem3blt) |
static BOOL | gdi_polygon_sc (rdpContext *context, const POLYGON_SC_ORDER *polygon_sc) |
static BOOL | gdi_polygon_cb (rdpContext *context, POLYGON_CB_ORDER *polygon_cb) |
static BOOL | gdi_ellipse_sc (rdpContext *context, const ELLIPSE_SC_ORDER *ellipse_sc) |
static BOOL | gdi_ellipse_cb (rdpContext *context, const ELLIPSE_CB_ORDER *ellipse_cb) |
static BOOL | gdi_frame_marker (rdpContext *context, const FRAME_MARKER_ORDER *frameMarker) |
static BOOL | gdi_surface_frame_marker (rdpContext *context, const SURFACE_FRAME_MARKER *surfaceFrameMarker) |
static BOOL | intersect_rect (const rdpGdi *gdi, const SURFACE_BITS_COMMAND *cmd, RECTANGLE_16 *prect) |
static BOOL | gdi_surface_bits (rdpContext *context, const SURFACE_BITS_COMMAND *cmd) |
static void | gdi_register_update_callbacks (rdpUpdate *update) |
static BOOL | gdi_init_primary (rdpGdi *gdi, UINT32 stride, UINT32 format, BYTE *buffer, void(*pfree)(void *), BOOL isLocked) |
BOOL | gdi_resize (rdpGdi *gdi, UINT32 width, UINT32 height) |
BOOL | gdi_resize_ex (rdpGdi *gdi, UINT32 width, UINT32 height, UINT32 stride, UINT32 format, BYTE *buffer, void(*pfree)(void *)) |
BOOL | gdi_init (freerdp *instance, UINT32 format) |
BOOL | gdi_init_ex (freerdp *instance, UINT32 format, UINT32 stride, BYTE *buffer, void(*pfree)(void *)) |
void | gdi_free (freerdp *instance) |
BOOL | gdi_send_suppress_output (rdpGdi *gdi, BOOL suppress) |
Variables | |
static const rop_table_entry | rop3_code_table [] |
static const BYTE | GDI_BS_HATCHED_PATTERNS [] |
#define TAG FREERDP_TAG("gdi") |
FreeRDP: A Remote Desktop Protocol Implementation GDI Library
Copyright 2010-2011 Marc-Andre Moreau marca Copyright 2016 Armin Novak ndre .more au@g mail. comarmin Copyright 2016 Thincast Technologies GmbH .nov ak@th inca st.co 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.
void gdi_bitmap_free_ex | ( | gdiBitmap * | bitmap | ) |
gdiBitmap* gdi_bitmap_new_ex | ( | rdpGdi * | gdi, |
int | width, | ||
int | height, | ||
int | bpp, | ||
BYTE * | data | ||
) |
BOOL gdi_bitmap_update | ( | rdpContext * | context, |
const BITMAP_UPDATE * | bitmapUpdate | ||
) |
FreeRDP: A Remote Desktop Protocol Implementation GDI Library
Copyright 2010-2011 Marc-Andre Moreau marca ndre .more au@g mail. 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.
BOOL gdi_decode_color | ( | rdpGdi * | gdi, |
const UINT32 | srcColor, | ||
UINT32 * | color, | ||
UINT32 * | format | ||
) |
|
static |
|
static |
|
static |
|
static |
void gdi_free | ( | freerdp * | instance | ) |
UINT32 gdi_get_pixel_format | ( | UINT32 | bitsPerPixel | ) |
BOOL gdi_init | ( | freerdp * | instance, |
UINT32 | format | ||
) |
Initialize GDI
instance | A pointer to the instance to use |
format | The color format for the local framebuffer |
BOOL gdi_init_ex | ( | freerdp * | instance, |
UINT32 | format, | ||
UINT32 | stride, | ||
BYTE * | buffer, | ||
void(*)(void *) | pfree | ||
) |
Initialize GDI
instance | A pointer to the instance to use |
format | The color format for the local framebuffer |
stride | The size of a framebuffer line in bytes |
buffer | A pointer to a buffer to be used as framebuffer |
pfree | A custom function pointer to use to free the framebuffer |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Register GDI callbacks with libfreerdp-core.
update | current instance |
BOOL gdi_resize | ( | rdpGdi * | gdi, |
UINT32 | width, | ||
UINT32 | height | ||
) |
BOOL gdi_resize_ex | ( | rdpGdi * | gdi, |
UINT32 | width, | ||
UINT32 | height, | ||
UINT32 | stride, | ||
UINT32 | format, | ||
BYTE * | buffer, | ||
void(*)(void *) | pfree | ||
) |
DWORD gdi_rop3_code | ( | BYTE | code | ) |
const char* gdi_rop3_code_string | ( | BYTE | code | ) |
const char* gdi_rop3_string | ( | DWORD | rop | ) |
|
static |
BOOL gdi_send_suppress_output | ( | rdpGdi * | gdi, |
BOOL | suppress | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |