FreeRDP
|
#include <freerdp/api.h>
Data Structures | |
struct | gdiPalette |
Enumerations | |
enum | FREERDP_IMAGE_FLAGS { FREERDP_FLIP_NONE = 0 , FREERDP_FLIP_VERTICAL = 1 , FREERDP_FLIP_HORIZONTAL = 2 , FREERDP_KEEP_DST_ALPHA = 4 } |
Functions | |
FREERDP_API DWORD | FreeRDPAreColorFormatsEqualNoAlpha (DWORD first, DWORD second) |
FREERDP_API const char * | FreeRDPGetColorFormatName (UINT32 format) |
FREERDP_API void | FreeRDPSplitColor (UINT32 color, UINT32 format, BYTE *_r, BYTE *_g, BYTE *_b, BYTE *_a, const gdiPalette *palette) |
FREERDP_API UINT32 | FreeRDPGetColor (UINT32 format, BYTE r, BYTE g, BYTE b, BYTE a) |
static INLINE UINT32 | FreeRDPGetBitsPerPixel (UINT32 format) |
static INLINE BOOL | FreeRDPColorHasAlpha (UINT32 format) |
FREERDP_API UINT32 | FreeRDPReadColor (const BYTE *WINPR_RESTRICT src, UINT32 format) |
FREERDP_API BOOL | FreeRDPWriteColor (BYTE *WINPR_RESTRICT dst, UINT32 format, UINT32 color) |
FREERDP_API BOOL | FreeRDPWriteColorIgnoreAlpha (BYTE *WINPR_RESTRICT dst, UINT32 format, UINT32 color) |
static INLINE UINT32 | FreeRDPConvertColor (UINT32 color, UINT32 srcFormat, UINT32 dstFormat, const gdiPalette *palette) |
static INLINE UINT32 | FreeRDPGetBytesPerPixel (UINT32 format) |
FREERDP_API BYTE * | freerdp_glyph_convert (UINT32 width, UINT32 height, const BYTE *WINPR_RESTRICT data) |
FREERDP_API BOOL | freerdp_image_copy_from_monochrome (BYTE *WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *WINPR_RESTRICT pSrcData, UINT32 backColor, UINT32 foreColor, const gdiPalette *WINPR_RESTRICT palette) |
FREERDP_API BOOL | freerdp_image_copy_from_icon_data (BYTE *WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT16 nWidth, UINT16 nHeight, const BYTE *WINPR_RESTRICT bitsColor, UINT16 cbBitsColor, const BYTE *WINPR_RESTRICT bitsMask, UINT16 cbBitsMask, const BYTE *WINPR_RESTRICT colorTable, UINT16 cbColorTable, UINT32 bpp) |
FREERDP_API BOOL | freerdp_image_copy_from_pointer_data (BYTE *WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *WINPR_RESTRICT xorMask, UINT32 xorMaskLength, const BYTE *WINPR_RESTRICT andMask, UINT32 andMaskLength, UINT32 xorBpp, const gdiPalette *WINPR_RESTRICT palette) |
FREERDP_API BOOL | freerdp_image_copy (BYTE *pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette *WINPR_RESTRICT palette, UINT32 flags) |
FREERDP_API BOOL | freerdp_image_copy_overlap (BYTE *pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette *WINPR_RESTRICT palette, UINT32 flags) |
FREERDP_API BOOL | freerdp_image_copy_no_overlap (BYTE *WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *WINPR_RESTRICT pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette *WINPR_RESTRICT palette, UINT32 flags) |
FREERDP_API BOOL | freerdp_image_scale (BYTE *WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nDstWidth, UINT32 nDstHeight, const BYTE *WINPR_RESTRICT pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, UINT32 nSrcWidth, UINT32 nSrcHeight) |
FREERDP_API BOOL | freerdp_image_fill (BYTE *WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, UINT32 color) |
#define FREERDP_PIXEL_FORMAT | ( | _bpp, | |
_type, | |||
_a, | |||
_r, | |||
_g, | |||
_b | |||
) | ((_bpp << 24) | (_type << 16) | (_a << 12) | (_r << 8) | (_g << 4) | (_b)) |
#define FREERDP_PIXEL_FORMAT_IS_ABGR | ( | _format | ) | (FREERDP_PIXEL_FORMAT_TYPE(_format) == FREERDP_PIXEL_FORMAT_TYPE_ABGR) |
#define FREERDP_PIXEL_FORMAT_TYPE | ( | _format | ) | (((_format) >> 16) & 0x07) |
#define FREERDP_PIXEL_FORMAT_TYPE_A 0 |
FreeRDP: A Remote Desktop Protocol Implementation Color Conversion Routines
Copyright 2010 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.
#define FREERDP_PIXEL_FORMAT_TYPE_ABGR 2 |
#define FREERDP_PIXEL_FORMAT_TYPE_ARGB 1 |
#define FREERDP_PIXEL_FORMAT_TYPE_BGRA 4 |
#define FREERDP_PIXEL_FORMAT_TYPE_RGBA 3 |
#define PIXEL_FORMAT_A4 FREERDP_PIXEL_FORMAT(4, FREERDP_PIXEL_FORMAT_TYPE_A, 4, 0, 0, 0) |
#define PIXEL_FORMAT_ABGR15 FREERDP_PIXEL_FORMAT(16, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 1, 5, 5, 5) |
#define PIXEL_FORMAT_ABGR32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 8, 8, 8, 8) |
#define PIXEL_FORMAT_ARGB15 FREERDP_PIXEL_FORMAT(16, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 1, 5, 5, 5) |
#define PIXEL_FORMAT_ARGB32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 8, 8, 8, 8) |
#define PIXEL_FORMAT_BGR15 FREERDP_PIXEL_FORMAT(15, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 0, 5, 5, 5) |
#define PIXEL_FORMAT_BGR16 FREERDP_PIXEL_FORMAT(16, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 0, 5, 6, 5) |
#define PIXEL_FORMAT_BGR24 FREERDP_PIXEL_FORMAT(24, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 0, 8, 8, 8) |
#define PIXEL_FORMAT_BGRA32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_BGRA, 8, 8, 8, 8) |
#define PIXEL_FORMAT_BGRX32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_BGRA, 0, 8, 8, 8) |
#define PIXEL_FORMAT_BGRX32_DEPTH30 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_BGRA, 0, 10, 10, 10) |
#define PIXEL_FORMAT_MONO FREERDP_PIXEL_FORMAT(1, FREERDP_PIXEL_FORMAT_TYPE_A, 1, 0, 0, 0) |
#define PIXEL_FORMAT_RGB15 FREERDP_PIXEL_FORMAT(15, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 0, 5, 5, 5) |
#define PIXEL_FORMAT_RGB16 FREERDP_PIXEL_FORMAT(16, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 0, 5, 6, 5) |
#define PIXEL_FORMAT_RGB24 FREERDP_PIXEL_FORMAT(24, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 0, 8, 8, 8) |
#define PIXEL_FORMAT_RGB8 FREERDP_PIXEL_FORMAT(8, FREERDP_PIXEL_FORMAT_TYPE_A, 8, 0, 0, 0) |
#define PIXEL_FORMAT_RGBA32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_RGBA, 8, 8, 8, 8) |
#define PIXEL_FORMAT_RGBX32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_RGBA, 0, 8, 8, 8) |
#define PIXEL_FORMAT_RGBX32_DEPTH30 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_RGBA, 0, 10, 10, 10) |
#define PIXEL_FORMAT_XBGR32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_ABGR, 0, 8, 8, 8) |
#define PIXEL_FORMAT_XRGB32 FREERDP_PIXEL_FORMAT(32, FREERDP_PIXEL_FORMAT_TYPE_ARGB, 0, 8, 8, 8) |
enum FREERDP_IMAGE_FLAGS |
FREERDP_API BYTE* freerdp_glyph_convert | ( | UINT32 | width, |
UINT32 | height, | ||
const BYTE *WINPR_RESTRICT | data | ||
) |
FREERDP_API BOOL freerdp_image_copy | ( | BYTE * | pDstData, |
DWORD | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
const BYTE * | pSrcData, | ||
DWORD | SrcFormat, | ||
UINT32 | nSrcStep, | ||
UINT32 | nXSrc, | ||
UINT32 | nYSrc, | ||
const gdiPalette *WINPR_RESTRICT | palette, | ||
UINT32 | flags | ||
) |
FREERDP_API BOOL freerdp_image_copy_from_icon_data | ( | BYTE *WINPR_RESTRICT | pDstData, |
UINT32 | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT16 | nWidth, | ||
UINT16 | nHeight, | ||
const BYTE *WINPR_RESTRICT | bitsColor, | ||
UINT16 | cbBitsColor, | ||
const BYTE *WINPR_RESTRICT | bitsMask, | ||
UINT16 | cbBitsMask, | ||
const BYTE *WINPR_RESTRICT | colorTable, | ||
UINT16 | cbColorTable, | ||
UINT32 | bpp | ||
) |
FREERDP_API BOOL freerdp_image_copy_from_monochrome | ( | BYTE *WINPR_RESTRICT | pDstData, |
UINT32 | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
const BYTE *WINPR_RESTRICT | pSrcData, | ||
UINT32 | backColor, | ||
UINT32 | foreColor, | ||
const gdiPalette *WINPR_RESTRICT | palette | ||
) |
FREERDP_API BOOL freerdp_image_copy_from_pointer_data | ( | BYTE *WINPR_RESTRICT | pDstData, |
UINT32 | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
const BYTE *WINPR_RESTRICT | xorMask, | ||
UINT32 | xorMaskLength, | ||
const BYTE *WINPR_RESTRICT | andMask, | ||
UINT32 | andMaskLength, | ||
UINT32 | xorBpp, | ||
const gdiPalette *WINPR_RESTRICT | palette | ||
) |
FREERDP_API BOOL freerdp_image_copy_no_overlap | ( | BYTE *WINPR_RESTRICT | pDstData, |
DWORD | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
const BYTE *WINPR_RESTRICT | pSrcData, | ||
DWORD | SrcFormat, | ||
UINT32 | nSrcStep, | ||
UINT32 | nXSrc, | ||
UINT32 | nYSrc, | ||
const gdiPalette *WINPR_RESTRICT | palette, | ||
UINT32 | flags | ||
) |
FREERDP_API BOOL freerdp_image_copy_overlap | ( | BYTE * | pDstData, |
DWORD | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
const BYTE * | pSrcData, | ||
DWORD | SrcFormat, | ||
UINT32 | nSrcStep, | ||
UINT32 | nXSrc, | ||
UINT32 | nYSrc, | ||
const gdiPalette *WINPR_RESTRICT | palette, | ||
UINT32 | flags | ||
) |
FREERDP_API BOOL freerdp_image_fill | ( | BYTE *WINPR_RESTRICT | pDstData, |
DWORD | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nWidth, | ||
UINT32 | nHeight, | ||
UINT32 | color | ||
) |
FREERDP_API BOOL freerdp_image_scale | ( | BYTE *WINPR_RESTRICT | pDstData, |
DWORD | DstFormat, | ||
UINT32 | nDstStep, | ||
UINT32 | nXDst, | ||
UINT32 | nYDst, | ||
UINT32 | nDstWidth, | ||
UINT32 | nDstHeight, | ||
const BYTE *WINPR_RESTRICT | pSrcData, | ||
DWORD | SrcFormat, | ||
UINT32 | nSrcStep, | ||
UINT32 | nXSrc, | ||
UINT32 | nYSrc, | ||
UINT32 | nSrcWidth, | ||
UINT32 | nSrcHeight | ||
) |
FREERDP_API DWORD FreeRDPAreColorFormatsEqualNoAlpha | ( | DWORD | first, |
DWORD | second | ||
) |
|
static |
|
static |
|
static |
|
static |
FREERDP_API UINT32 FreeRDPGetColor | ( | UINT32 | format, |
BYTE | r, | ||
BYTE | g, | ||
BYTE | b, | ||
BYTE | a | ||
) |
FREERDP_API const char* FreeRDPGetColorFormatName | ( | UINT32 | format | ) |
FREERDP_API UINT32 FreeRDPReadColor | ( | const BYTE *WINPR_RESTRICT | src, |
UINT32 | format | ||
) |
FREERDP_API void FreeRDPSplitColor | ( | UINT32 | color, |
UINT32 | format, | ||
BYTE * | _r, | ||
BYTE * | _g, | ||
BYTE * | _b, | ||
BYTE * | _a, | ||
const gdiPalette * | palette | ||
) |
FREERDP_API BOOL FreeRDPWriteColor | ( | BYTE *WINPR_RESTRICT | dst, |
UINT32 | format, | ||
UINT32 | color | ||
) |
FREERDP_API BOOL FreeRDPWriteColorIgnoreAlpha | ( | BYTE *WINPR_RESTRICT | dst, |
UINT32 | format, | ||
UINT32 | color | ||
) |