L_EfxDraw3dText
#include "l_bitmap.h"
L_INT EXT_FUNCTION L_EfxDraw3dText(hDC, pszText, pRect, uFlags, nXDepth, nYDepth, crText, crShadow, crHilite, hFont, hdcFore)
HDC hDC; |
/* handle to the target device context */ |
/* text string */ | |
RECT L_FAR * pRect; |
/* pointer to the display rectangle */ |
L_UINT uFlags; |
/* text style */ |
L_INT nXDepth; |
/* horizontal shadow position */ |
L_INT nYDepth; |
/* vertical shadow position */ |
COLORREF crText; |
/* text color */ |
COLORREF crShadow; |
/* shadow color */ |
COLORREF crHilite; |
/* border color */ |
HFONT hFont; |
/* handle to the selected font */ |
HDC hdcFore; |
/* handle to the device context for foreground */ |
Draws three-dimensional text into the target device context using the specified font, color, and style.
Parameter |
Description |
hDC |
Handle to the target device context. |
pszText |
Text string. |
pRect |
Pointer to the display destination rectangle. |
uFlags |
Text style. Use this parameter to control the style and justification of the three-dimensional text. For valid values, refer to Effect Text Style Flags and Effect Text Alignment Flags. |
nXDepth |
Horizontal shadow position. |
nYDepth |
Vertical shadow position. |
crText |
COLORREF value that specifies the text color. |
crShadow |
COLORREF value that specifies the shadow color. |
crHilite |
COLORREF value that specifies the border color. |
hFont |
Handle to the selected font. |
hdcFore |
Handle to the source device context for the foreground. Use this parameter to place an image (such as a gradient) on the surface of the three-dimensional text. Use NULL to paint the color specified in crText. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Use the uFlags parameter to control the style and justification of the three-dimensional text. Use the hdcFore parameter to place an image (such as a gradient) on the surface of the three-dimensional text.
Drop shadows are available only for the following uFlags values:
EFX_TEXT_DROPSHADOW
EFX_TEXT_BLOCKSHADOW
EFX_TEXT_OUTLINEBLOCK
The crShadow color is used for three-dimensional effects for the following uFlags values:
EFX_TEXT_INSETHEAVY
EFX_TEXT_EXTRAHEAVY
EFX_TEXT_RAISEDHEAVY
EFX_TEXT_RAISEDEXTRAHEAVY
The crHilite color is used only for the following uFlags values:
EFX_TEXT_INSETLIGHT
EFX_TEXT_INSETEXTRALIGHT
EFX_TEXT_INSETHEAVY
EFX_TEXT_INSETEXTRAHEAVY
EFX_TEXT_RAISEDLIGHT
EFX_TEXT_RAISEDEXTRALIGHT
EFX_TEXT_RAISEDHEAVY
EFX_TEXT_RAISEDEXTRAHEAVY
EFX_TEXT_OUTLINEBLOCK
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_EfxDrawFrame, L_EfxDrawRotated3dText, L_EfxEffectBlt, L_EfxGradientFillRect, L_EfxPaintBitmap, L_EfxPaintTransition, L_EfxPatternFillRect |
Topics: |
|
|
Example
/* This example shows the minimum requirements for using L_EfxDraw3dText */
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 3d Text */
L_EfxDraw3dText ( hdc, /* device context */
TEXT("3D Text - LEADTOOLS"),
pDest, /* destination rectangle */
/* style flags for 3D Text */
EFX_TEXT_DROPSHADOW | EFX_TEXT_HCENTER | EFX_TEXT_VCENTER,
2, /* horizontal shadow position */
2, /* vertical shadow position */
RGB ( 0,0,255 ), /* text color, blue */
RGB ( 0,0,0 ), /* shadow color, black */
RGB ( 255,255,255 ), /* border color, white */
(HFONT) GetStockObject(SYSTEM_FONT ),
NULL ); /* do not put an image in the font */
/* Restore the old palette */
if ( hOurPalette )
SelectPalette (hdc, hSavedPalette, FALSE);
/* Release the device context */
ReleaseDC(hWnd, hdc);
return;
}