MiniGUI API Reference (MiniGUI-Processes)  v5.0.6
A mature and proven cross-platform GUI system for embedded and smart IoT devices
Data Structures | Typedefs | Enumerations | Functions
BITMAP and blitting operations

Example: More...

Data Structures

struct  _STRETCH_EXTRA_INFO
 

Typedefs

typedef struct _STRETCH_EXTRA_INFO STRETCH_EXTRA_INFO
 

Enumerations

enum  ColorBlendMethod { ,
  COLOR_BLEND_PD_CLEAR = 0x0100, COLOR_BLEND_PD_SRC = 0x0101, COLOR_BLEND_PD_DST = 0x0102, COLOR_BLEND_PD_SRC_OVER = 0x0103,
  COLOR_BLEND_PD_DST_OVER = 0x0104, COLOR_BLEND_PD_SRC_IN = 0x0105, COLOR_BLEND_PD_DST_IN = 0x0106, COLOR_BLEND_PD_SRC_OUT = 0x0107,
  COLOR_BLEND_PD_DST_OUT = 0x0108, COLOR_BLEND_PD_SRC_ATOP = 0x0109, COLOR_BLEND_PD_DST_ATOP = 0x010a, COLOR_BLEND_PD_XOR = 0x010b,
  COLOR_BLEND_PD_PLUS = 0x010c, COLOR_BLEND_PD_MODULATE = 0x010d , COLOR_BLEND_SP_NORMAL = 0x0801, COLOR_BLEND_SP_MULTIPLY = 0x0830,
  COLOR_BLEND_SP_SCREEN = 0x0831, COLOR_BLEND_SP_OVERLAY = 0x0832, COLOR_BLEND_SP_DARKEN = 0x0833, COLOR_BLEND_SP_LIGHTEN = 0x0834,
  COLOR_BLEND_SP_COLOR_DODGE = 0x0835, COLOR_BLEND_SP_COLOR_BURN = 0x0836, COLOR_BLEND_SP_HARD_LIGHT = 0x0837, COLOR_BLEND_SP_SOFT_LIGHT = 0x0838,
  COLOR_BLEND_SP_DIFFERENCE = 0x0839, COLOR_BLEND_SP_EXCLUSION = 0x083a , COLOR_BLEND_NS_HUE = 0x103b, COLOR_BLEND_NS_SATURATION = 0x103c,
  COLOR_BLEND_NS_COLOR = 0x103d, COLOR_BLEND_NS_LUMINOSITY = 0x103e
}
 
enum  ColorLogicalOp
 
enum  ScalingFilter {
  SCALING_FILTER_FAST = 0x00000000, SCALING_FILTER_GOOD = 0x00010000, SCALING_FILTER_BEST = 0x00020000, SCALING_FILTER_NEAREST = 0x00020000,
  SCALING_FILTER_BILINEAR = 0x00040000, SCALING_FILTER_CONVOLUTION = 0x00050000
}
 

Functions

MG_EXPORT BOOL GUIAPI GetBitmapFromDC (HDC hdc, int x, int y, int w, int h, BITMAP *bmp)
 Get image box on a DC and saves it into a BITMAP object. More...
 
MG_EXPORT BOOL GUIAPI FillBoxWithBitmap (HDC hdc, int x, int y, int w, int h, const BITMAP *bmp)
 Fills a box with a BITMAP object. More...
 
MG_EXPORT BOOL GUIAPI FillBoxWithBitmapPart (HDC hdc, int x, int y, int w, int h, int bw, int bh, const BITMAP *bmp, int xo, int yo)
 Fills a box with a part of a bitmap oject. More...
 
MG_EXPORT BOOL GUIAPI FillBitmapPartInBox (HDC hdc, int box_x, int box_y, int box_w, int box_h, const BITMAP *pbmp, int bmp_x, int bmp_y, int bmp_w, int bmp_h)
 Fills a part of bitmap into a box, and the parts bitmap will be scaled if needed. More...
 
MG_EXPORT void GUIAPI BitBlt (HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, DWORD dwRop)
 Performs a bit-block transfer from a device context into another device context. More...
 
static void GUIAPI StretchBlt (HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, int dw, int dh, DWORD dwRop)
 Copies a bitmap from a source rectangle into a destination rectangle, streches the bitmap if necessary. More...
 
MG_EXPORT BOOL GUIAPI ScaleBitmapEx (BITMAP *dst, const BITMAP *src, HDC ref_dc)
 Scales a BITMAP object into another BITMAP object by specify algorithm. More...
 
MG_EXPORT gal_pixel GUIAPI GetPixelInBitmapEx (const BITMAP *bmp, int x, int y, Uint8 *alpha)
 Returns the pixel value in a BITMAP object. More...
 
static gal_pixel GUIAPI GetPixelInBitmap (const BITMAP *bmp, int x, int y)
 Returns the pixel value in a BITMAP object. More...
 
static BOOL GUIAPI SetPixelInBitmap (const BITMAP *bmp, int x, int y, gal_pixel pixel)
 Set pixel value in a BITMAP object. More...
 
MG_EXPORT BOOL GUIAPI SaveScreenRectContent (const RECT *rcWin, const char *filename)
 Saves content of a rectangle in the screen to a file. More...
 
MG_EXPORT BOOL GUIAPI SaveMainWindowContent (HWND hWnd, const char *filename)
 Saves content of a main window to a file. More...
 

Detailed Description

Example:

{
int tox = 800, toy = 800;
int count;
BITMAP bitmap;
unsigned int start_tick, end_tick;
/* Load the bitmap from the file. */
if (LoadBitmap (hdc, &bitmap, "res/icon.bmp"))
return;
bitmap.bmType = BMP_TYPE_ALPHACHANNEL;
/* Fill a box with the bitmap with alpha channel. */
start_tick = GetTickCount ();
count = 1000;
while (count--) {
tox = rand() % 800;
toy = rand() % 800;
/* Set a random alpha channel. */
bitmap.bmAlpha = rand() % 256;
/* Fill the box. */
FillBoxWithBitmap (hdc, tox, toy, 0, 0, &bitmap);
}
end_tick = GetTickCount ();
TellSpeed (hwnd, start_tick, end_tick, "Alpha Blended Bitmap", 1000);
bitmap.bmType = BMP_TYPE_ALPHACHANNEL | BMP_TYPE_COLORKEY;
/* Set the color key (the transparent pixel) of the bitmap. */
bitmap.bmColorKey = GetPixelInBitmap (&bitmap, 0, 0);
/* Fill a box with the bitmap with alpha channel and color key. */
start_tick = GetTickCount ();
count = 1000;
while (count--) {
tox = rand() % 800;
toy = rand() % 800;
/* Set a random alpha channel. */
bitmap.bmAlpha = rand() % 256;
/* Fill the box. */
FillBoxWithBitmap (hdc, tox, toy, 0, 0, &bitmap);
}
end_tick = GetTickCount ();
TellSpeed (hwnd, start_tick, end_tick, "Alpha Blended Transparent Bitmap", 1000);
UnloadBitmap (&bitmap);
}
{
/* Create a memory DC which hanve alpha per-pixel. */
mem_dc = CreateMemDC (400, 100, 16, MEMDC_FLAG_HWSURFACE | MEMDC_FLAG_SRCALPHA,
0x0000F000, 0x00000F00, 0x000000F0, 0x0000000F);
/* Set brush color and fill a box. */
SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0xFF, 0xFF, 0x00, 0xFF));
FillBox (mem_dc, 0, 0, 200, 50);
/* Set another brush color and fill a box */
SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0xFF, 0xFF, 0x00, 0x40));
FillBox (mem_dc, 200, 0, 200, 50);
/* Set another brush color and fill a box */
SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0xFF, 0xFF, 0x00, 0x80));
FillBox (mem_dc, 0, 50, 200, 50);
/* Set another brush color and fill a box */
SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0xFF, 0xFF, 0x00, 0xC0));
FillBox (mem_dc, 200, 50, 200, 50);
SetBkMode (mem_dc, BM_TRANSPARENT);
/* Set a text color and output the text */
SetTextColor (mem_dc, RGBA2Pixel (mem_dc, 0x00, 0x00, 0x00, 0x80));
TabbedTextOut (mem_dc, 0, 0, "Memory DC with alpha.\n"
"The source DC have alpha per-pixel.");
/* Blitting to a client DC. */
start_tick = GetTickCount ();
count = 100;
while (count--) {
BitBlt (mem_dc, 0, 0, 400, 100, hdc, rand () % 800, rand () % 800);
}
end_tick = GetTickCount ();
TellSpeed (hwnd, start_tick, end_tick, "Alpha Blit", 100);
/* delete the momory DC. */
DeleteMemDC (mem_dc);
}

Typedef Documentation

◆ STRETCH_EXTRA_INFO

The stretch extra information for StretchBltEx.

See also
StretchBltEx

Enumeration Type Documentation

◆ ColorBlendMethod

The color blend mothed.

See Compositing and Blending Level 1 Note: we define the same values with Pixman.

Enumerator
COLOR_BLEND_PD_CLEAR 

Porter Duff rule: clear

COLOR_BLEND_PD_SRC 

Porter Duff rule: source

COLOR_BLEND_PD_DST 

Porter Duff rule: destination

COLOR_BLEND_PD_SRC_OVER 

Porter Duff rule: source over destination

COLOR_BLEND_PD_DST_OVER 

Porter Duff rule: destination over source

COLOR_BLEND_PD_SRC_IN 

Porter Duff rule: souorce in destination

COLOR_BLEND_PD_DST_IN 

Porter Duff rule: destination in souorce

COLOR_BLEND_PD_SRC_OUT 

Porter Duff rule: source held out by destination

COLOR_BLEND_PD_DST_OUT 

Porter Duff rule: destination held out by source

COLOR_BLEND_PD_SRC_ATOP 

Porter Duff rule: source atop destination

COLOR_BLEND_PD_DST_ATOP 

Porter Duff rule: destination atop source

COLOR_BLEND_PD_XOR 

Porter Duff rule: source xor destination

COLOR_BLEND_PD_PLUS 

Porter Duff rule: plus

COLOR_BLEND_PD_MODULATE 

Porter Duff rule: modulate

COLOR_BLEND_SP_NORMAL 

Separable blend mode: normal The blending formula simply selects the source color.

COLOR_BLEND_SP_MULTIPLY 

Separable blend mode: multiply Darkens by multiplying colors: Sc·Dc.

COLOR_BLEND_SP_SCREEN 

Separable blend mode: screen Complements product of complements: Sc + Dc - Sc·Dc.

COLOR_BLEND_SP_OVERLAY 

Separable blend mode: overlay Inverse of hard-light.

COLOR_BLEND_SP_DARKEN 

Separable blend mode: darken Minimum of colors: min(Sc, Dc).

COLOR_BLEND_SP_LIGHTEN 

Separable blend mode: lighten Maximum of colors: max(Sc, Dc).

COLOR_BLEND_SP_COLOR_DODGE 

Separable blend mode: color-dodge Brightens destination based on source.

COLOR_BLEND_SP_COLOR_BURN 

Separable blend mode: color-burn Darkens destination based on source.

COLOR_BLEND_SP_HARD_LIGHT 

Separable blend mode: hard-light Similar to effect of harsh spotlight.

COLOR_BLEND_SP_SOFT_LIGHT 

Separable blend mode: soft-light Similar to effect of soft spotlight.

COLOR_BLEND_SP_DIFFERENCE 

Separable blend mode: difference Subtracts the darker from the lighter: Abs(Dc - Sc).

COLOR_BLEND_SP_EXCLUSION 

Separable blend mode: exclusion Similar to Difference but lower contrast.

COLOR_BLEND_NS_HUE 

Non-Separable blend mode: hue Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.

COLOR_BLEND_NS_SATURATION 

Non-Separable blend mode: saturation Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.

COLOR_BLEND_NS_COLOR 

Non-Separable blend mode: color Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.

COLOR_BLEND_NS_LUMINOSITY 

Non-Separable blend mode: luminosity Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.

Definition at line 5171 of file gdi.h.

◆ ColorLogicalOp

The color logical operations.

Definition at line 5310 of file gdi.h.

◆ ScalingFilter

The scaling filter for StretchBlt.

Enumerator
SCALING_FILTER_FAST 

The fast filter (DDA scaler)

SCALING_FILTER_GOOD 

The good filter

SCALING_FILTER_BEST 

The best filter

SCALING_FILTER_NEAREST 

The filter using nearest algorithm

SCALING_FILTER_BILINEAR 

The filter using bi-linear algorithm

SCALING_FILTER_CONVOLUTION 

The filter using convolution algorithm

Definition at line 5372 of file gdi.h.

Function Documentation

◆ BitBlt()

void GUIAPI BitBlt ( HDC  hsdc,
int  sx,
int  sy,
int  sw,
int  sh,
HDC  hddc,
int  dx,
int  dy,
DWORD  dwRop 
)

Performs a bit-block transfer from a device context into another device context.

This function performs a bit-block transfer of the color data cooresponding to a rectangle of pixels from the specified source device context hsdc into a destination device context hddc. (sx,sy,sw,sh) specifies the rectangle in the source DC, and (dx,dy) specifies the position of the rectangle in the destination DC. Note that the size of the two rectangles are identical.

Note that all coordinates should be in the device space.

Parameters
hsdcThe source device context.
sxThe x coordinate of the upper-left corner of the rectangle in the source DC.
syThe y coordinate of the upper-left corner of the rectangle in the source DC.
swThe width of the source rectangle.
shThe height of the source rectangle.
hddcThe destination device context hddc.
dxThe x coordinate of the upper-left corner of the rectangle in the destination DC.
dyThe y coordinate of the upper-left corner of the rectangle in the destination DC.
dwRopThe color blending method, see ColorBlendMethod. This argument is only valid when Pixman is used.
Note
When the source color key is specified for the blitting operation, or the formats of the device contexts are not supported by Pixman, this function will use the legacy implementation. In this situation, the color blending method will be ignored.
See also
StretchBlt, SetMemDCAlpha, SetMemDCColorKey, ColorBlendMethod

◆ FillBitmapPartInBox()

BOOL FillBitmapPartInBox ( HDC  hdc,
int  box_x,
int  box_y,
int  box_w,
int  box_h,
const BITMAP pbmp,
int  bmp_x,
int  bmp_y,
int  bmp_w,
int  bmp_h 
)

Fills a part of bitmap into a box, and the parts bitmap will be scaled if needed.

This function gives an intuitionistic way to use function FillBoxWidthBitmapPart.

Parameters
hdcThe target DC to show bitmap
box_xThe left of target box
box_yThe top of target box
box_wThe width of target box
box_hThe height of target box
pbmpThe bitmap which will be showed in the hdc
bmp_xThe visible part's left of bitmap
bmp_yThe visible part's top of bitmap
bmp_wThe visible part's width of bitmap
bmp_hThe visible part's height of bitmap
See also
FillBoxWidthBitmapPart

◆ FillBoxWithBitmap()

BOOL GUIAPI FillBoxWithBitmap ( HDC  hdc,
int  x,
int  y,
int  w,
int  h,
const BITMAP bmp 
)

Fills a box with a BITMAP object.

This function fills a box with a BITMAP object pointed to by bmp. (x,y) is the upper-left corner of the box, and w, h are the width and the height of the box respectively.

This function will scale the bitmap when necessary; that is, when the width or the height of the box is not equal to the with or the height of the BITMAP object.

Parameters
hdcThe device context.
xThe x coordinate of the upper-left corner of the box.
yThe y coordinate of the upper-left corner of the box.
wThe width of the box. Can be zero, means the width or the height will be equal to the width or the height of the BITMAP object.
hThe height of the box. Can be zero, means the width or the height will be equal to the width or the height of the BITMAP object.
bmpThe pointer to the BITMAP object.
Returns
TRUE on success, otherwise FALSE.
Note
You can specify the alpha value or the color key of the BITMAP object, and the current raster operation was set by SetRasterOperation for the DC will override the alpha value of color key if ROP is not ROP_SET.
If the bitmap has BMP_TYPE_RLE, the target w and h will be ignored. That is, the scale of the bitmap is not supported for RLE encoded bitmap.
See also
FillBoxWithBitmapPart, GetBitmapFromDC, Bitmap file load/save operations

◆ FillBoxWithBitmapPart()

BOOL GUIAPI FillBoxWithBitmapPart ( HDC  hdc,
int  x,
int  y,
int  w,
int  h,
int  bw,
int  bh,
const BITMAP bmp,
int  xo,
int  yo 
)

Fills a box with a part of a bitmap oject.

This function fills a box with a part of a bitmap object pointed to by bmp. (x,y) is the upper-left corner of the box, and w, h are the width and the height of the box respectively. (xo, yo) is the start position of the part box in the bitmap relative to upper-left corner of the bitmap, and bw, bh are the width and the height of the full bitmap expected.

If bw or bh is less than or equal to zero, this function will use the original width and height of the bitmap, else it will scale the BITMAP object when necessary; that is, when bw or bh is not equal to the width or the height of the BITMAP object.

Parameters
hdcThe device context.
xThe x coordinate of the upper-left corner of the box.
yThe y coordinate of the upper-left corner of the box.
wThe width of the box.
hThe height of the box.
bwThe width of the full bitmap expected. Can be zero, means the width or the height will be equal to the width or the height of the BITMAP object.
bhThe height of the full bitmap expected. Can be zero, means the width or the height will be equal to the width or the height of the BITMAP object.
xoxo,yo: The start position of the part box in the bitmap relative to upper-left corner of the BITMAP object.
yoxo,yo: The start position of the part box in the bitmap relative to upper-left corner of the BITMAP object.
bmpThe pointer to the BITMAP object.
Returns
TRUE on success, otherwise FALSE.
Note
1: You can specify the alpha value or the color key of the BITMAP object, and the current raster operation was set by SetRasterOperation for the DC will override the alpha value or the color key if ROP is not ROP_SET.
2: xo/yo must be greater zero and (xo + w) < bw, (yo + h) < bh. else with fill nothing.
3: xo/yo must be multiply scale factor when bitmap scaled.
4: if bw or bh is not equal to he width or the height of the BITMAP object, it will be scale bitmap, but fill box is also (0, 0, w,h).
The RLE encoded bitmap is not supported by this function so far.
See also
FillBoxWithBitmap, GetBitmapFromDC, Bitmap structure

◆ GetBitmapFromDC()

BOOL GUIAPI GetBitmapFromDC ( HDC  hdc,
int  x,
int  y,
int  w,
int  h,
BITMAP bmp 
)

Get image box on a DC and saves it into a BITMAP object.

This function gets image box on the specified device context hdc, and saves the image bits into the BITMAP object pointed to by bmp. The image box begins at (x,y), and is w wide and h high. You must make sure that bmp->bits is big enough to store the image.

Parameters
hdcThe device context.
xThe x coordinate in pixels of upper-left corner of the image box.
yThe y coordinate in pixels of upper-left corner of the image box.
wThe width of the image box.
hThe height of the image box.
bmpThe pointer to the BITMAP object.
Note
If BITMAP's bmPitch is zero or bmBits is NULL, it will be malloc bmBits internal, you need init the BITMAP surely(such as InitBitmap) or memset(bmp, 0, sizeof(BITMAP)).
See also
FillBoxWithBitmap, Bitmap structure

◆ GetPixelInBitmap()

static inline gal_pixel GUIAPI GetPixelInBitmap ( const BITMAP bmp,
int  x,
int  y 
)
inlinestatic

Returns the pixel value in a BITMAP object.

This function returns the pixel value at the position (x,y) in the BITMAP object bmp.

Parameters
bmpThe BITMAP object.
xx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
yx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
Returns
The pixel value, if the position is out of the bitmap, zero returned.
See also
SetPixelInBitmap, Bitmap structure

Definition at line 5567 of file gdi.h.

◆ GetPixelInBitmapEx()

gal_pixel GUIAPI GetPixelInBitmapEx ( const BITMAP bmp,
int  x,
int  y,
Uint8 alpha 
)

Returns the pixel value in a BITMAP object.

This function returns the pixel value and alpha at the position (x,y) in the BITMAP object bmp.

Parameters
bmpThe BITMAP object.
xx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
yx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
alphaThe point to alpha of position (x, y).
Returns
The pixel value, if the position is out of the bitmap, zero returned.
Note
if the bitmap with BMP_TYPE_ALPHA_MASK flag, the alpha value will be read from bmp->AlphaMask(Bitmap Alpha Mask array).
See also
SetPixelInBitmapEx, Bitmap structure

◆ SaveMainWindowContent()

BOOL GUIAPI SaveMainWindowContent ( HWND  hWnd,
const char *  filename 
)

Saves content of a main window to a file.

This function saves the content of the main window hWnd to the image file filename. MiniGUI uses the extension name of the file to determine the format of the image file.

Parameters
hWndHandle to the main window.
filenameThe name of the image file.
Returns
TRUE on success, otherwise FALSE.
Note
Only defined for _MGMISC_SAVESCREEN.
See also
Bitmap file load/save operations

◆ SaveScreenRectContent()

BOOL GUIAPI SaveScreenRectContent ( const RECT rc,
const char *  filename 
)

Saves content of a rectangle in the screen to a file.

This function saves the content of the rect rc to the image file filename. MiniGUI uses the extension name of the file to determine the format of the image file.

Parameters
rcThe RECT object defined the rectangle in the screen.
filenameThe name of the image file.
Returns
TRUE on success, otherwise FALSE.
Note
Only defined for _MGMISC_SAVESCREEN.
See also
Bitmap file load/save operations

◆ ScaleBitmapEx()

BOOL GUIAPI ScaleBitmapEx ( BITMAP dst,
const BITMAP src,
HDC  ref_dc 
)

Scales a BITMAP object into another BITMAP object by specify algorithm.

This function scales a BITMAP object src into another BITMAO object dst by specify algorithm. The source rectangle and the destination rectangle both are defined in the BITMAP objects.

Parameters
dstThe destination BITMAP object.
srcThe srouce BITMAP object.
ref_dcThe device context of Bitmap's relative device dc.
Returns
TRUE on success, otherwise FALSE.
Note
you should init the dst Bitmap first, such as bmPitch and bmBits.
See also
FillBoxWithBitmap, StretchBlt, Bitmap structure

◆ SetPixelInBitmap()

static inline BOOL GUIAPI SetPixelInBitmap ( const BITMAP bmp,
int  x,
int  y,
gal_pixel  pixel 
)
inlinestatic

Set pixel value in a BITMAP object.

This function sets the pixel value at the position (x,y) in the BITMAP object bmp.

Parameters
bmpThe BITMAP object.
xx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
yx,y: The position of the pixel in the bitmap relative to the upper-left corner of the bitmap.
pixelThe pixel value.
Returns
TRUE on success. If the position is out of the bitmap, FALSE returned.
See also
GetPixelInBitmap, Bitmap structure

Definition at line 5619 of file gdi.h.

◆ StretchBlt()

void GUIAPI StretchBlt ( HDC  hsdc,
int  sx,
int  sy,
int  sw,
int  sh,
HDC  hddc,
int  dx,
int  dy,
int  dw,
int  dh,
DWORD  dwRop 
)
inlinestatic

Copies a bitmap from a source rectangle into a destination rectangle, streches the bitmap if necessary.

This function copies a bitmap from a source rectangle into a destination rectangle, streching or compressing the bitmap to fit the dimension of the destination rectangle, if necessary. This function is similar with

See also
BitBlt function except the former scaling the bitmap. (dw,dh) specifies the size of the destination rectangle.
Parameters
hsdcThe source device context.
sxThe x coordinate of the upper-left corner of the rectangle in the source DC.
syThe y coordinate of the upper-left corner of the rectangle in the source DC.
swThe width of the source rectangle.
shThe height of the source rectangle.
hddcThe destination device context hddc.
dxThe x coordinate of the upper-left corner of the rectangle in the destination DC.
dyThe y coordinate of the upper-left corner of the rectangle in the destination DC.
dwThe width of the destination rectangle.
dhThe height of the destination rectangle.
dwRopThe color blending method, see ColorBlendMethod. This argument is only valid when Pixman is used.
Note
When color key is specified for the blitting operation, or the formats of the device contexts are not supported by Pixman, this function will use the legacy implementation. In this situation, the color blending method and the scaling filter will be ignored.
See also
BitBlt, SetMemDCAlpha, SetMemDCColorKey, ColorBlendMethod

Definition at line 5493 of file gdi.h.

CreateMemDC
static HDC GUIAPI CreateMemDC(int width, int height, int depth, DWORD flags, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
Creates a memory DC.
Definition: gdi.h:1787
FillBoxWithBitmap
MG_EXPORT BOOL GUIAPI FillBoxWithBitmap(HDC hdc, int x, int y, int w, int h, const BITMAP *bmp)
Fills a box with a BITMAP object.
GetPixelInBitmap
static gal_pixel GUIAPI GetPixelInBitmap(const BITMAP *bmp, int x, int y)
Returns the pixel value in a BITMAP object.
Definition: gdi.h:5567
GetTickCount
MG_EXPORT DWORD GUIAPI GetTickCount(void)
Retrieve the tick counts that have elapsed since MiniGUI was started.
RGBA2Pixel
static gal_pixel RGBA2Pixel(HDC hdc, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Get the pixel value from a color in RGBA quarter under a DC.
Definition: gdi.h:3142
FillBox
MG_EXPORT void GUIAPI FillBox(HDC hdc, int x, int y, int w, int h)
Fills a rectangle box.
TabbedTextOut
#define TabbedTextOut(hdc, x, y, text)
Outputs formatted text.
Definition: gdi.h:10853
LoadBitmap
#define LoadBitmap
An alias of LoadBitmapFromFile.
Definition: gdi.h:11407
_BITMAP::bmType
Uint8 bmType
Definition: gdi.h:11122
SetBrushColor
#define SetBrushColor(hdc, color)
Set the brush color of a DC to a new value.
Definition: gdi.h:2652
SetTextColor
#define SetTextColor(hdc, color)
Set the text color of a DC to a new value.
Definition: gdi.h:2665
BitBlt
MG_EXPORT void GUIAPI BitBlt(HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, DWORD dwRop)
Performs a bit-block transfer from a device context into another device context.
_BITMAP::bmColorKey
Uint32 bmColorKey
Definition: gdi.h:11130
_BITMAP::bmAlpha
Uint8 bmAlpha
Definition: gdi.h:11128
_BITMAP
Definition: gdi.h:11088
SetBkMode
#define SetBkMode(hdc, mode)
Set the background color of a DC to a new mode.
Definition: gdi.h:2626
UnloadBitmap
MG_EXPORT void GUIAPI UnloadBitmap(PBITMAP pBitmap)
Unloads a bitmap.
DeleteMemDC
MG_EXPORT void GUIAPI DeleteMemDC(HDC mem_dc)
Deletes a memory DC.