FreeRDP
|
#include <freerdp/config.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#include <freerdp/gdi/gdi.h>
#include <freerdp/gdi/region.h>
#include <freerdp/log.h>
Macros | |
#define | TAG FREERDP_TAG("gdi.region") |
Functions | |
static char * | gdi_rect_str (char *buffer, size_t size, const HGDI_RECT rect) |
static char * | gdi_regn_str (char *buffer, size_t size, const HGDI_RGN rgn) |
HGDI_RGN | gdi_CreateRectRgn (INT32 nLeftRect, INT32 nTopRect, INT32 nRightRect, INT32 nBottomRect) |
HGDI_RECT | gdi_CreateRect (INT32 xLeft, INT32 yTop, INT32 xRight, INT32 yBottom) |
BOOL | gdi_RectToRgn (const HGDI_RECT rect, HGDI_RGN rgn) |
BOOL | gdi_CRectToRgn (INT32 left, INT32 top, INT32 right, INT32 bottom, HGDI_RGN rgn) |
BOOL | gdi_RectToCRgn (const HGDI_RECT rect, INT32 *x, INT32 *y, INT32 *w, INT32 *h) |
BOOL | gdi_CRectToCRgn (INT32 left, INT32 top, INT32 right, INT32 bottom, INT32 *x, INT32 *y, INT32 *w, INT32 *h) |
BOOL | gdi_RgnToRect (const HGDI_RGN rgn, HGDI_RECT rect) |
INLINE BOOL | gdi_CRgnToRect (INT64 x, INT64 y, INT32 w, INT32 h, HGDI_RECT rect) |
BOOL | gdi_RgnToCRect (const HGDI_RGN rgn, INT32 *left, INT32 *top, INT32 *right, INT32 *bottom) |
INLINE BOOL | gdi_CRgnToCRect (INT32 x, INT32 y, INT32 w, INT32 h, INT32 *left, INT32 *top, INT32 *right, INT32 *bottom) |
INLINE BOOL | gdi_CopyOverlap (INT32 x, INT32 y, INT32 width, INT32 height, INT32 srcx, INT32 srcy) |
INLINE BOOL | gdi_SetRect (HGDI_RECT rc, INT32 xLeft, INT32 yTop, INT32 xRight, INT32 yBottom) |
INLINE BOOL | gdi_SetRgn (HGDI_RGN hRgn, INT32 nXLeft, INT32 nYLeft, INT32 nWidth, INT32 nHeight) |
INLINE BOOL | gdi_SetRectRgn (HGDI_RGN hRgn, INT32 nLeftRect, INT32 nTopRect, INT32 nRightRect, INT32 nBottomRect) |
INLINE BOOL | gdi_EqualRgn (const HGDI_RGN hSrcRgn1, const HGDI_RGN hSrcRgn2) |
Compare two regions for equality. msdn{dd162700}. More... | |
INLINE BOOL | gdi_CopyRect (HGDI_RECT dst, const HGDI_RECT src) |
Copy coordinates from a rectangle to another rectangle msdn{dd183481}. More... | |
INLINE BOOL | gdi_PtInRect (const HGDI_RECT rc, INT32 x, INT32 y) |
INLINE BOOL | gdi_InvalidateRegion (HGDI_DC hdc, INT32 x, INT32 y, INT32 w, INT32 h) |
#define TAG FREERDP_TAG("gdi.region") |
FreeRDP: A Remote Desktop Protocol Implementation GDI Region Functions
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.
INLINE BOOL gdi_CopyOverlap | ( | INT32 | x, |
INT32 | y, | ||
INT32 | width, | ||
INT32 | height, | ||
INT32 | srcx, | ||
INT32 | srcy | ||
) |
Check if copying would involve overlapping regions
x | x1 |
y | y1 |
width | width |
height | height |
srcx | source x1 |
srcy | source y1 |
Copy coordinates from a rectangle to another rectangle msdn{dd183481}.
dst | destination rectangle |
src | source rectangle |
HGDI_RECT gdi_CreateRect | ( | INT32 | xLeft, |
INT32 | yTop, | ||
INT32 | xRight, | ||
INT32 | yBottom | ||
) |
Create a new rectangle.
xLeft | x1 |
yTop | y1 |
xRight | x2 |
yBottom | y2 |
HGDI_RGN gdi_CreateRectRgn | ( | INT32 | nLeftRect, |
INT32 | nTopRect, | ||
INT32 | nRightRect, | ||
INT32 | nBottomRect | ||
) |
Create a region from rectangular coordinates. msdn{dd183514}
nLeftRect | x1 |
nTopRect | y1 |
nRightRect | x2 |
nBottomRect | y2 |
BOOL gdi_CRectToCRgn | ( | INT32 | left, |
INT32 | top, | ||
INT32 | right, | ||
INT32 | bottom, | ||
INT32 * | x, | ||
INT32 * | y, | ||
INT32 * | w, | ||
INT32 * | h | ||
) |
Convert rectangular coordinates to region coordinates.
left | x1 |
top | y1 |
right | x2 |
bottom | y2 |
x | x1 |
y | y1 |
w | width |
h | height |
BOOL gdi_CRectToRgn | ( | INT32 | left, |
INT32 | top, | ||
INT32 | right, | ||
INT32 | bottom, | ||
HGDI_RGN | rgn | ||
) |
Convert rectangular coordinates to a region.
left | x1 |
top | y1 |
right | x2 |
bottom | y2 |
rgn | destination region |
INLINE BOOL gdi_CRgnToCRect | ( | INT32 | x, |
INT32 | y, | ||
INT32 | w, | ||
INT32 | h, | ||
INT32 * | left, | ||
INT32 * | top, | ||
INT32 * | right, | ||
INT32 * | bottom | ||
) |
Convert region coordinates to rectangular coordinates.
x | x1 |
y | y1 |
w | width |
h | height |
left | x1 |
top | y1 |
right | x2 |
bottom | y2 |
Convert region coordinates to a rectangle.
x | x1 |
y | y1 |
w | width |
h | height |
rect | destination rectangle |
Compare two regions for equality. msdn{dd162700}.
hSrcRgn1 | first region |
hSrcRgn2 | second region |
Invalidate a given region, such that it is redrawn on the next region update. msdn{dd145003}
hdc | device context |
x | x1 |
y | y1 |
w | width |
h | height |
Check if a point is inside a rectangle. msdn{dd162882}
rc | rectangle |
x | point x position |
y | point y position |
|
static |
BOOL gdi_RectToCRgn | ( | const HGDI_RECT | rect, |
INT32 * | x, | ||
INT32 * | y, | ||
INT32 * | w, | ||
INT32 * | h | ||
) |
Convert a rectangle to region coordinates.
rect | source rectangle |
x | x1 |
y | y1 |
w | width |
h | height |
Convert a rectangle to a region.
rect | source rectangle |
rgn | destination region |
|
static |
BOOL gdi_RgnToCRect | ( | const HGDI_RGN | rgn, |
INT32 * | left, | ||
INT32 * | top, | ||
INT32 * | right, | ||
INT32 * | bottom | ||
) |
Convert a region to rectangular coordinates.
rgn | source region |
left | x1 |
top | y1 |
right | x2 |
bottom | y2 |
Convert a region to a rectangle.
rgn | source region |
rect | destination rectangle |
Set the coordinates of a given rectangle. msdn{dd145085}
rc | rectangle |
xLeft | x1 |
yTop | y1 |
xRight | x2 |
yBottom | y2 |
INLINE BOOL gdi_SetRectRgn | ( | HGDI_RGN | hRgn, |
INT32 | nLeftRect, | ||
INT32 | nTopRect, | ||
INT32 | nRightRect, | ||
INT32 | nBottomRect | ||
) |
Convert rectangular coordinates to a region
hRgn | destination region |
nLeftRect | x1 |
nTopRect | y1 |
nRightRect | x2 |
nBottomRect | y2 |