123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /**********************************************************************
- *<
- FILE: hsv.h
- DESCRIPTION:
- CREATED BY: Dan Silva
- HISTORY:
- *> Copyright (c) 1994, All Rights Reserved.
- **********************************************************************/
- #ifndef __HSV__H
- #define __HSV__H
- #define MAXCOLORS 16
- // This callback proc gets called after every mouse button up to tell you the
- // new color, if you want to do interactive update.
- class HSVCallback {
- public:
- virtual void ButtonDown() {}
- virtual void ButtonUp(BOOL accept) {}
- virtual void ColorChanged(DWORD col, BOOL buttonUp)=0;
- virtual void BeingDestroyed(IPoint2 pos)=0; // gets called when picker is closed:
- };
- // Put up the dialog.
- extern CoreExport int HSVDlg_Do(
- HWND hwndOwner, // owning window
- DWORD *lpc, // pointer to color to be edited
- IPoint2 *spos, // starting position, set to ending position
- HSVCallback *callBack, // called when color changes
- TCHAR *name // name of color being edited
- );
- CoreExport void RGBtoHSV (DWORD rgb, int *ho, int *so, int *vo);
- CoreExport DWORD HSVtoRGB (int H, int S, int V);
- CoreExport void HSVtoHWBt (int h, int s, int v, int *ho, int *w, int *bt);
- CoreExport void HWBttoHSV (int h, int w, int bt, int *ho, int *s, int *v);
- // RB: Added floating point versions
- class Color;
- CoreExport Color RGBtoHSV(Color rgb);
- CoreExport Color HSVtoRGB(Color hsv);
- // MODELESS Version
- class ColorPicker {
- public:
- ColorPicker() {}
- virtual ~ColorPicker() {};
- virtual void ModifyColor (DWORD color)=0;
- virtual void SetNewColor (DWORD color, TCHAR *name)=0;
- virtual DWORD GetColor()=0;
- virtual IPoint2 GetPosition()=0;
- virtual void Destroy()=0; //when parent is going away.
- virtual void InstallNewCB(DWORD col, HSVCallback *pcb, TCHAR *name)=0;
- };
- CoreExport ColorPicker *CreateColorPicker(HWND hwndOwner, DWORD initColor,
- IPoint2* spos, HSVCallback *pcallback, TCHAR *name, int objClr=0);
-
- CoreExport void SetCPInitPos(IPoint2 &pos);
- CoreExport IPoint2 GetCPInitPos(void);
- #define WM_ADD_COLOR (WM_USER+2321) // wParam = color
- #endif
|