L_EfxPatternFillRect

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_EfxPatternFillRect(hDC, pRect, uStyle, crBack, crFore)

HDC hDC;

/* handle to the target device context */

RECT L_FAR * pRect;

/* pointer to the display rectangle */

L_UINT uStyle;

/* filling style */

COLORREF crBack;

/* background color */

COLORREF crFore;

/* foreground color */

Draws a rectangle into the target device context, and then fills the rectangle with the specified pattern and color.

Parameter

Description

hDC

Handle to the target device context.

pRect

Pointer to the display destination rectangle.

uStyle

Filling style. The following are possible values. (Values cannot be combined.)

 

Value

Meaning

 

EFX_PATTERN_SOLID

Solid

 

EFX_PATTERN_HORZ_LINE

Horizontal lines (==)

 

EFX_PATTERN_VERT_LINE

Vertical lines (||)

 

EFX_PATTERN_DOWNWARD_DIAG

Downward diagonal lines (//)

 

EFX_PATTERN_UPWARD_DIAG

Upward diagonal lines (\\)

 

EFX_PATTERN_CROSS

Cross line (++)

 

EFX_PATTERN_DIAG_CROSS

Diagonal cross lines (XX)

 

EFX_PATTERN_MAX

Diagonal cross lines (XX)

crBack

COLORREF value that specifies the background color.

crFore

COLORREF value that specifies the foreground color.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

For general information, refer to Implementing Special Effects.

Required DLLs and Libraries

LTEFX

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 95 / 98 / Me, Windows 2000 / XP, Windows CE.

See Also

Functions:

L_EfxDraw3dShape, L_EfxDraw3dText, L_EfxDrawFrame, L_EfxDrawRotated3dText, L_EfxEffectBlt, L_EfxGradientFillRect, L_EfxPaintBitmap, L_EfxPaintTransition

Topics:

Implementing Special Effects

 

Using Color Values in LEADTOOLS

Example

/* This example shows the minimum requirements for using the L_EfxPatternFillRect */
/* function to draw and fill a rectangle with a pattern and color. */
void TestFunction( HWND hWnd, RECT *pDest )
{
  HDC hdc; /* Device context for the current window */
  HPALETTE hSavedPalette = NULL; /* Temporary copy of the current system palette */
  HPALETTE hOurPalette = NULL; /* The palette that we will use to paint */
  L_INT nBitsPerPixel;
  /* Get the device context */
  hdc = GetDC (hWnd);
  /* Check the device to see if we need a palette */
  nBitsPerPixel = GetDeviceCaps( hdc, BITSPIXEL ) * GetDeviceCaps ( hdc, PLANES );
  if ( nBitsPerPixel <=8 )
  {
    hOurPalette = (HPALETTE)GetStockObject (DEFAULT_PALETTE);
    hSavedPalette = SelectPalette (hdc, hOurPalette, FALSE);
    /* Realize our palette */
    RealizePalette (hdc); 
  }
  /* Draw the pattern filled rectangle */
  L_EfxPatternFillRect ( hdc,      /* device context */
                  pDest,    /* destination rectangle */
                  EFX_PATTERN_DIAG_CROSS, /* diagonal cross pattern */
                  RGB ( 0,0,0 ),  /* background color, black */
                  RGB ( 0,0,255 ) ); /* foreground color, blue */
  /* Restore the old palette */
  if  ( hOurPalette )
    SelectPalette (hdc, hSavedPalette, FALSE);
  /* Release the device context */
  ReleaseDC(hWnd, hdc);
  return;
}