SHADOW.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * These defines are used in the uiFlags and uiStyle parameters to
  3.  * the TDUTIL functions.
  4.  */
  5. // This is a part of the Microsoft Foundation Classes C++ library.
  6. // Copyright (C) 1992-1998 Microsoft Corporation
  7. // All rights reserved.
  8. //
  9. // This source code is only intended as a supplement to the
  10. // Microsoft Foundation Classes Reference and related
  11. // electronic documentation provided with the library.
  12. // See these sources for detailed information regarding the
  13. // Microsoft Foundation Classes product.
  14. #define DRAW3D_IN           0x0100     // effect looks indented
  15. #define DRAW3D_OUT          0x0200     // effect 'sticks out'
  16. #define DRAW3D_CREASE       0x0400     // for that 'creased' look
  17. #define DRAW3D_TOPLINE      0x0800
  18. #define DRAW3D_BOTTOMLINE   0x1000
  19. #define DRAW3D_LEFTLINE     0x2000
  20. #define DRAW3D_RIGHTLINE    0x4000
  21. /*
  22.  * Very useful set of macros for dealing with the 'base' 16 colors
  23.  */
  24. #ifndef _RGB_H_
  25. #define _RGB_H_
  26.    #define RGBBLACK     RGB(0,0,0)
  27.    #define RGBRED       RGB(128,0,0)
  28.    #define RGBGREEN     RGB(0,128,0)
  29.    #define RGBBLUE      RGB(0,0,128)
  30.    #define RGBBROWN     RGB(128,128,0)
  31.    #define RGBMAGENTA   RGB(128,0,128)
  32.    #define RGBCYAN      RGB(0,128,128)
  33.    #define RGBLTGRAY    RGB(192,192,192)
  34.    #define RGBGRAY      RGB(128,128,128)
  35.    #define RGBLTRED     RGB(255,0,0)
  36.    #define RGBLTGREEN   RGB(0,255,0)
  37.    #define RGBLTBLUE    RGB(0,0,255)
  38.    #define RGBYELLOW    RGB(255,255,0)
  39.    #define RGBLTMAGENTA RGB(255,0,255)
  40.    #define RGBLTCYAN    RGB(0,255,255)
  41.    #define RGBWHITE     RGB(255,255,255)
  42. #endif
  43. /* tdDraw3DRect()
  44.  *
  45.  * Draws a rectangle (non-filled) that has 3D effects.
  46.  *
  47.  *    lprc     Defines the rectangle in client coordinates
  48.  *    uiWidth  Specifies the width of the lines that make up the rectangle.
  49.  *    wFlags   Either DRAW3D_IN or DRAW3D_OUT.  May be combined with
  50.  *             DRAW3D_CREASED (uiWidth is ignored).
  51.  */
  52. VOID WINAPI tdDraw3DRect( HDC hdc, LPRECT lprc, UINT uiWidth, UINT wFlags );
  53. /* tdDraw3DLine()
  54.  *
  55.  * Draws a component of a 3D rectangle.  The tdDraw3DRect() function uses
  56.  * this function to draw the rectangles.  This function is optimized
  57.  * for speed.  For one pixel wide lines it uses ExtTextOut(), for others
  58.  * it use Polygon() ('cause line ends are not square).
  59.  *
  60.  *    x, y     Defines the line in client coordinates
  61.  *    uiWidth   Specifies the width of the lines that make up the rectangle.
  62.  *    wFlags   May be a combination of either DRAW3D_IN or DRAW3D_OUT and
  63.  *             DRAW3D_TOP, DRAW3D_LEFT, DRAW3D_BOTTOM, or DRAW3D_RIGHT.
  64.  */
  65. VOID WINAPI tdDraw3DLine( HDC hdc, UINT x, UINT y, UINT nLen, UINT uiWidth, UINT wFlags );
  66. /* tdDrawFaceFrame()
  67.  *
  68.  * Draws a rectangle using the current background color.  This function
  69.  * is useful for drawing fast rectangles (it' uses ExtTextOut() for speed).
  70.  *
  71.  * Restrictions are that it does not do patterned lines, or fill the
  72.  * rectangle.  But it's a hell of a lot faster than Rectangle().
  73.  *
  74.  * tdDrawRect() is really a macro that calls tdDrawFaceFrame() which
  75.  * is mis-named (blame curtisp).
  76.  */
  77. #define tdDrawRect tdDrawFaceFrame
  78. VOID WINAPI tdDrawFaceFrame( HDC hdc, LPRECT lprc, UINT uiWidth );
  79. /* tdDraw3DCrease()
  80.  *
  81.  * Draws a 3D 'crease' effect using the specified rectangle.  This
  82.  * effect is often used for 3d group boxes.  uiFlags dictates whether
  83.  * the crease is indented (DRAW3D_IN) or sticks out (DRAW_3DOUT).
  84.  */
  85. VOID WINAPI tdDraw3DCrease( HDC hdc, LPRECT lprc, UINT uiFlags ) ;
  86. /* tdGetHighlightColor()
  87.  *
  88.  * TDUTIL uses the concept of a normal color, highlight color, and shadow
  89.  * color to do it's drawing.  Both the highlight color and shadow colors
  90.  * are derived from the normal color.  This function takes a 'normal'
  91.  * color, and returns the appropriate highlight color.
  92.  *
  93.  * For example if RGBLTGRAY is passed in as rgb, RGBWHITE will be returned.
  94.  */
  95. COLORREF WINAPI tdGetHighlightColor( COLORREF rgb ) ;
  96. /* tdGetShadowColor()
  97.  *
  98.  * TDUTIL uses the concept of a normal color, highlight color, and shadow
  99.  * color to do it's drawing.  Both the highlight color and shadow colors
  100.  * are derived from the normal color.  This function takes a 'normal'
  101.  * color, and returns the appropriate shadow color.
  102.  *
  103.  * For example if RGBLTGRAY is passed in as rgb, RGBGRAY will be returned.
  104.  */
  105. COLORREF WINAPI tdGetShadowColor( COLORREF rgb ) ;