44 #define CONV_LPARAMTOPOINT(lp,p) do { (p)->x = (short)LOWORD(lp); (p)->y = (short)HIWORD(lp); } while(0) 48 { 0x008080FF
L, 0x0080FFFF
L, 0x0080FF80
L, 0x0080FF00
L,
49 0x00FFFF80
L, 0x00FF8000
L, 0x00C080FF
L, 0x00FF80FF
L },
50 { 0x000000FF
L, 0x0000FFFF
L, 0x0000FF80
L, 0x0040FF00
L,
51 0x00FFFF00
L, 0x00C08000
L, 0x00C08080
L, 0x00FF00FF
L },
53 { 0x00404080
L, 0x004080FF
L, 0x0000FF00
L, 0x00808000
L,
54 0x00804000
L, 0x00FF8080
L, 0x00400080
L, 0x008000FF
L },
55 { 0x00000080
L, 0x000080FF
L, 0x00008000
L, 0x00408000
L,
56 0x00FF0000
L, 0x00A00000
L, 0x00800080
L, 0x00FF0080
L },
58 { 0x00000040
L, 0x00004080
L, 0x00004000
L, 0x00404000
L,
59 0x00800000
L, 0x00400000
L, 0x00400040
L, 0x00800040
L },
60 { 0x00000000
L, 0x00008080
L, 0x00408080
L, 0x00808080
L,
61 0x00808040
L, 0x00C0C0C0
L, 0x00400040
L, 0x00FFFFFF
L },
65 'c',
'o',
'l',
'o',
'u',
'r',
'd',
'i',
'a',
'l',
'o',
'g',
'p',
'r',
'o',
'p',0 };
98 maxrgb = (256 *
min(120,lum)) / 120;
104 res = (hue - 80) * maxrgb;
112 res= (240 - hue) * maxrgb;
118 res = maxrgb / 2 + (sat *
res) / 240;
121 if (lum > 120 &&
res < 256)
122 res += ((lum - 120) * (256 -
res)) / 120;
135 h = hue > 80 ? hue-80 : hue+160;
138 h = hue > 160 ? hue-160 : hue+80;
152 int iresult = 0,
r,
g,
b;
169 case 'L': mmsum *= 120;
173 case 'S':
if (!mmsum)
176 if (!mini || maxi == 255)
181 result /= (mmsum > 255 ? 510 - mmsum : mmsum);
185 case 'H':
if (!mmdif)
191 iresult = 40 * (
g -
b);
192 iresult /= (
int) mmdif;
199 iresult = 40 * (
b -
r);
200 iresult /= (
int) mmdif;
206 iresult = 40 * (
r -
g);
207 iresult /= (
int) mmdif;
409 for (
i = 0 ;
i <
m ;
i++)
412 for (
k =
i + 1;
k <=
m;
k++)
575 int sdif, hdif, xdif, ydif, hue, sat;
592 for (
rect.left = hue = 0; hue < 239 + hdif; hue += hdif)
596 for(sat = 0; sat < 240 + sdif; sat += sdif)
629 WARN(
"choose color: hdcMem is not defined\n");
653 for (lum = 0; lum < 240 + ldif; lum += ldif)
755 for (
j = 0;
j < rows;
j++ )
757 for (
i = 0;
i < cols;
i++ )
803 for (
j = 0;
j < rows;
j++)
805 for (
i = 0;
i < cols;
i++)
863 lpp = heap_alloc_zero(
sizeof(*lpp));
877 for (
i = 0;
i < 6;
i++)
878 for (
j = 0;
j < 8;
j++)
1114 int *ptrh =
NULL, *ptrs = &infoPtr->
l;
1267 const void *
template;
1269 TRACE(
"(%p)\n", lpChCol);
1271 if (!lpChCol)
return FALSE;
1302 static const WCHAR wszCHOOSE_COLOR[] = {
'C',
'H',
'O',
'O',
'S',
'E',
'_',
'C',
'O',
'L',
'O',
'R',0};
HGDIOBJ WINAPI GetStockObject(_In_ int)
static void CC_PrepareColorGraph(CCPRIV *infoPtr)
static void CC_PaintTriangle(CCPRIV *infoPtr)
static void CC_PaintCross(CCPRIV *infoPtr)
static void CC_PaintLumBar(const CCPRIV *infoPtr)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
GLubyte GLubyte GLubyte GLubyte w
DECLSPEC_HIDDEN HINSTANCE COMDLG32_hInstance
int WINAPI GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define CDERR_LOADRESFAILURE
BOOL Polygon(CONST PPOINT UnsafePoints, int Count, int polyFillMode)
BOOL WINAPI ChooseColorW(CHOOSECOLORW *lpChCol)
HDC WINAPI GetDC(_In_opt_ HWND)
ACPI_SIZE strlen(const char *String)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
COLORREF WINAPI GetNearestColor(_In_ HDC, _In_ COLORREF)
static void CC_PaintColorGraph(CCPRIV *infoPtr)
BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
GLdouble GLdouble GLdouble r
static BOOL CC_MouseCheckColorGraph(HWND hDlg, int dlgitem, int *hori, int *vert, LPARAM lParam)
static void CC_EditSetHSL(CCPRIV *infoPtr)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
BOOL WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol)
BOOL WINAPI UpdateWindow(_In_ HWND)
WINE_DEFAULT_DEBUG_CHANNEL(commdlg)
static const WCHAR szColourDialogProp[]
static int hsl_to_x(int hue, int sat, int lum)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
LPVOID WINAPI LockResource(HGLOBAL handle)
#define CC_PREVENTFULLOPEN
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
GLint GLint GLint GLint GLint x
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
static void CC_DrawCurrentFocusRect(const CCPRIV *lpp)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
static BOOL CC_MouseCheckResultWindow(HWND hDlg, LPARAM lParam)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
static void * heap_alloc(size_t len)
HANDLE WINAPI RemovePropW(_In_ HWND, _In_ LPCWSTR)
GLfloat GLfloat GLfloat GLfloat h
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define CC_ENABLETEMPLATE
#define sprintf(buf, format,...)
#define CDERR_FINDRESFAILURE
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
static LRESULT CC_WMCommand(CCPRIV *lpp, WPARAM wParam, LPARAM lParam, WORD notifyCode, HWND hwndCtl)
static void CC_SwitchToFullSize(CCPRIV *infoPtr, const RECT *lprect)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
#define GCLP_HBRBACKGROUND
#define CC_ENABLETEMPLATEHANDLE
static void CC_PaintUserColorArray(const CCPRIV *infoPtr, int rows, int cols)
static int CC_RGBtoHSL(char c, COLORREF rgb)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static void CC_PaintSelectedColor(const CCPRIV *infoPtr)
GLboolean GLboolean GLboolean b
#define IS_INTRESOURCE(i)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI SetWindowTextA(_In_ HWND, _In_opt_ LPCSTR)
static LRESULT CC_WMPaint(CCPRIV *lpp)
static const COLORREF predefcolors[6][8]
int WINAPI GetSystemMetrics(_In_ int)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
static void CC_EditSetRGB(CCPRIV *infoPtr)
#define CONV_LPARAMTOPOINT(lp, p)
static LRESULT CC_WMLButtonDown(CCPRIV *infoPtr, LPARAM lParam)
static LRESULT CC_WMMouseMove(CCPRIV *infoPtr, LPARAM lParam)
static LRESULT CC_WMInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam)
GLsizei const GLfloat * points
BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL)
static BOOL CC_HookCallChk(const CHOOSECOLORW *lpcc)
static LRESULT CC_WMLButtonUp(CCPRIV *infoPtr)
GLsizei const GLfloat * value
static void CC_PaintPredefColorArray(const CCPRIV *infoPtr, int rows, int cols)
GLint GLint GLsizei GLsizei height
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetCapture(_In_ HWND hWnd)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ ULONG _In_ ULONG rgb
BOOL WINAPI DeleteDC(_In_ HDC)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
void COMDLG32_SetCommDlgExtendedError(DWORD err) DECLSPEC_HIDDEN
static COLORREF CC_HSLtoRGB(int hue, int sat, int lum)
static BOOL CC_MouseCheckPredefColorArray(CCPRIV *lpp, int rows, int cols, LPARAM lParam)
INT_PTR WINAPI DialogBoxIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
GLint GLint GLint GLint GLint GLint y
#define MultiByteToWideChar
static BOOL CC_MouseCheckUserColorArray(CCPRIV *lpp, int rows, int cols, LPARAM lParam)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
BOOL WINAPI ReleaseCapture(void)
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
static INT_PTR CALLBACK ColorDlgProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
static int CC_CheckDigitsInEdit(HWND hwnd, int maxval)
UINT WINAPI RegisterWindowMessageA(_In_ LPCSTR)
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
static void CC_DrawFocusRect(CCPRIV *lpp, HWND hwnd, int x, int y, int rows, int cols)
static BOOL heap_free(void *mem)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
LONG WINAPI GetDialogBaseUnits(void)