home *** CD-ROM | disk | FTP | other *** search
/ Total C++ 2 / TOTALCTWO.iso / borland / gdipal.pak / PALCTRL.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  67 lines

  1. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  2. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  3. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright (C) 1993-1995  Microsoft Corporation.  All Rights Reserved.
  7. //
  8. // PURPOSE:
  9. //    Contains declarations for the pen style dialog.
  10. //
  11.  
  12. // PalCtrl messages
  13. #define PCM_GETCURSEL WM_USER+1
  14. #define PCM_SETCURSEL WM_USER+2
  15.  
  16. // PalCtrl notification codes
  17. #define PCN_CHANGE  1
  18.  
  19. // PalCtrl defines
  20. #define PAL_CBWNDEXTRA      (1 * sizeof(HANDLE))  // Size of window extra bytes
  21. #define WL_PAL_HPALCTRLINFO 0                     // Handle to PALINFO structure
  22.  
  23. // PalCtrl internal data structure
  24. typedef struct
  25. {
  26.     HPALETTE hPal;                  // Handle to palette being displayed.
  27.     int      nEntries;              // # of entries in the palette.
  28.     int      nRows, nCols;          // # of Rows/Columns in window.
  29.     int      cxSquare, cySquare;    // Pixel width/height of palette square.
  30.     int      nEntry;                // Currently selected palette square.
  31. } PALCTRLINFO, FAR *LPPALCTRLINFO;
  32.  
  33. // PalCtrl data structure for passing current selection info
  34. typedef struct
  35. {
  36.     int index;
  37.     int red;
  38.     int green;
  39.     int blue;
  40. } PALINFO, FAR *LPPALINFO;
  41.  
  42. // globals
  43. extern PALINFO palinfo;
  44.  
  45. // Msg handler prototypes
  46. LRESULT MsgPalCtrlCreate(HWND, UINT, WPARAM, LPARAM);
  47. LRESULT MsgPalCtrlPaint (HWND, UINT, WPARAM, LPARAM);
  48. LRESULT MsgPalCtrlPaint (HWND, UINT, WPARAM, LPARAM);
  49. LRESULT MsgPalCtrlLButtonDown(HWND, UINT, WPARAM, LPARAM);
  50. LRESULT MsgPalCtrlLButtonDblClk(HWND, UINT, WPARAM, LPARAM);
  51. LRESULT MsgPalCtrlDestroy(HWND, UINT, WPARAM, LPARAM);
  52. LRESULT MsgPalCtrlGetDlgCode(HWND, UINT, WPARAM, LPARAM);
  53. LRESULT MsgPalCtrlKeyDown(HWND, UINT, WPARAM, LPARAM);
  54. LRESULT MsgPalCtrlGetCurSel(HWND, UINT, WPARAM, LPARAM);
  55. LRESULT MsgPalCtrlSetCurSel(HWND, UINT, WPARAM, LPARAM);
  56.  
  57. // Function prototypes.
  58. LRESULT CALLBACK PalCtrlProc(HWND, UINT, WPARAM, LPARAM);
  59. HPALETTE GetSystemPalette(void);
  60. HPALETTE CopyPaletteChangingFlags(HPALETTE, BYTE);
  61. BOOL RegisterPalCtrlClass(HINSTANCE);
  62. void SetPalCtrlPalette(HWND, HPALETTE);
  63. int  ColorsInPalette(HPALETTE);
  64. int  PalEntriesOnDevice(HDC);
  65. void HighlightSquare(HDC, HPALETTE, int, int, int, int, int);
  66. void UnHighlightSquare(HDC, int, int, int, int);
  67.