54#define MCS_NOSELCHANGEONNAV 0x0100
56#define MC_SEL_LBUTUP 1
57#define MC_SEL_LBUTDOWN 2
58#define MC_PREVPRESSED 4
59#define MC_NEXTPRESSED 8
60#define MC_PREVNEXTMONTHDELAY 350
63#define MC_TODAYUPDATEDELAY 120000
65#define MC_PREVNEXTMONTHTIMER 1
66#define MC_TODAYUPDATETIMER 2
68#define MC_CALENDAR_PADDING 6
71#define DAYSTO100NSECS(days) (((ULONGLONG)(days))*24*60*60*10000000)
113 int height_increment;
148static const WCHAR themeClass[] = {
'S',
'c',
'r',
'o',
'l',
'l',
'b',
'a',
'r',0 };
218 static const int mdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
234 return mdays[
month - 1] + ((year%400 == 0) ? 1 : ((year%100 != 0) &&
235 (year%4 == 0)) ? 1 : 0);
238 return mdays[
month - 1];
252 if (
time->wMonth < 1 ||
time->wMonth > 12 )
318 st_first = st_second =
st_null;
330 st_first = st_second =
st_null;
447 if((
time->wHour > 24) || (
time->wMinute > 59) || (
time->wSecond > 59))
489 date->wYear +=
m > 0 ? (
m - 1) / 12 :
m / 12 - 1;
490 date->wMonth =
m > 0 ? (
m - 1) % 12 + 1 : 12 +
m % 12;
523 (infoPtr->
firstDay - firstDay) % 7 + 1;
551 (infoPtr->
firstDay - first_day) % 7 + 1;
567 int firstDay, col,
row;
580 return col + 7 *
row - firstDay;
715 WARN(
"Unknown flag value, got %d\n",
flag);
788 static const WCHAR fmtW[] = {
'%',
'd',0 };
836 static const int states[] = {
868 static const WCHAR mmmmW[] = {
'M',
'M',
'M',
'M',0};
869 static const WCHAR mmmW[] = {
'M',
'M',
'M',0};
870 static const WCHAR mmW[] = {
'M',
'M',0};
871 static const WCHAR fmtyearW[] = {
'%',
'l',
'd',0};
872 static const WCHAR fmtmmW[] = {
'%',
'0',
'2',
'd',0};
873 static const WCHAR fmtmW[] = {
'%',
'd',0};
876 WCHAR monthW[80],
strW[80], fmtW[80], yearW[6] ;
877 int yearoffset, monthoffset, shiftX;
899 else if (
wcsstr(fmtW, mmmW))
901 else if (
wcsstr(fmtW, mmW))
908 while (
strW[yearoffset])
916 while (
strW[monthoffset])
952 static const WCHAR fmt_weekW[] = {
'%',
'd',0 };
953 INT mindays, weeknum, weeknum1, startofprescal;
963 startofprescal = st.
wDay;
966 prev_month =
date->wMonth - 1;
967 if(prev_month == 0) prev_month = 12;
989 WARN(
"Unknown LOCALE_IFIRSTWEEKOFYEAR value %d, defaulting to 0\n", weeknum);
993 if (
date->wMonth == 1)
998 if ((infoPtr->
firstDay - weeknum1) % 7 > mindays)
1003 for(
i = 0;
i < 11;
i++)
1006 weeknum += startofprescal + 7;
1010 if ((infoPtr->
firstDay - weeknum1) % 7 > mindays) weeknum++;
1016 for(
i = 0;
i < prev_month - 1;
i++)
1019 weeknum += startofprescal + 7;
1023 if ((infoPtr->
firstDay - weeknum1) % 7 > mindays) weeknum++;
1035 for(
i = 0;
i < 6;
i++) {
1036 if((
i == 0) && (weeknum > 50))
1041 else if((
i == 5) && (weeknum > 47))
1062 static const WCHAR fmt_todayW[] = {
'%',
's',
' ',
'%',
's',0 };
1063 WCHAR buf_todayW[30], buf_dateW[20],
buf[80];
1162 lctype = LOCALE_SSHORTESTDAYNAME1 +
day;
1175 RECT r, fill_bk_rect;
1208 for(
j = 0;
j < 7;
j++) {
1357 return infoPtr->
delta;
1368 TRACE(
"delta %d\n", delta);
1370 infoPtr->
delta = delta;
1434 FIXME(
"No bug compatibility for day=%d\n",
day);
1441 infoPtr->
firstDay = (new_day >= 0) ? (++new_day) % 7 : new_day;
1519 if (!
range)
return 0;
1531 TRACE(
"%p %d %p\n", infoPtr, months, states);
1544 TRACE(
"%p\n", curSel);
1545 if(!curSel)
return FALSE;
1548 *curSel = infoPtr->
minSel;
1560 TRACE(
"%p\n", curSel);
1561 if(!curSel)
return FALSE;
1579 if (diff > 0) diff = 0;
1673 old_range[0] = infoPtr->
minSel;
1674 old_range[1] = infoPtr->
maxSel;
1692 if (diff > 0) diff = 0;
1723 TRACE(
"%p\n", today);
1725 if(!today)
return FALSE;
1762 TRACE(
"%p\n", today);
1914 if (
day < 1 && calIdx == 0)
2011 BOOL keep_selection;
2033 if (!keep_selection)
2085 TRACE(
"(hwnd=%p, uMsg=%x, wParam=%lx, lParam=%lx)\n",
2199 for (
i = 0;
i < 12;
i++)
2204 menupoint.
x =
ht.pt.x;
2205 menupoint.
y =
ht.pt.y;
2259 st[0] = st[1] =
ht.st;
2356 ERR(
"got unknown timer %ld\n",
id);
2382 TRACE(
"hit:%x\n",hit);
2489 static const WCHAR O0W[] = {
'0',
'0',0 };
2516 infoPtr->
textHeight =
tm.tmHeight +
tm.tmExternalLeading +
tm.tmInternalLeading;
2520 for (
i = 0;
i < 7;
i++)
2527 if (sz.
cx > day_width) day_width = sz.
cx;
2531 static const WCHAR sunW[] = {
'S',
'u',
'n' };
2575 weeknumrect->
left = 0;
2587 todayrect->
left = 0;
2633 if (
title->left + c_dx < 0) c_dx = 0;
2634 if (
title->top + c_dy < 0) c_dy = 0;
2636 for (
i = 0;
i <
y;
i++)
2638 for (
j = 0;
j <
x;
j++)
2661 TRACE(
"dx=%d dy=%d client[%s] title[%s] wdays[%s] days[%s] today[%s]\n",
2690 if (!
hFont)
return 0;
2692 hOldFont = infoPtr->
hFont;
2719 TRACE(
"(styletype=%lx, styleOld=0x%08x, styleNew=0x%08x)\n",
2736 TRACE(
"(styletype=%lx, styleOld=0x%08x, styleNew=0x%08x)\n",
2745 lpss->
styleNew &= ~MCS_MULTISELECT;
2767 infoPtr = heap_alloc_zero(
sizeof(*infoPtr));
2770 if (infoPtr ==
NULL) {
2771 ERR(
"could not allocate info memory!\n");
3011 case WM_THEMECHANGED:
3021 case WM_STYLECHANGED:
3024 case WM_STYLECHANGING:
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
static const char * wine_dbgstr_point(const POINT *ppt)
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
BOOL COMCTL32_IsReflectedMessage(UINT uMsg) DECLSPEC_HIDDEN
VOID COMCTL32_RefreshSysColors(void) DECLSPEC_HIDDEN
COMCTL32_SysColor comctl32_color
static int MONTHCAL_GetDayFromPos(const MONTHCAL_INFO *infoPtr, POINT pt, INT calIdx)
static LRESULT MONTHCAL_LButtonDown(MONTHCAL_INFO *infoPtr, LPARAM lParam)
static LRESULT MONTHCAL_GetSelRange(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *range)
static LRESULT MONTHCAL_GetToday(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *today)
static LRESULT MONTHCAL_Timer(MONTHCAL_INFO *infoPtr, WPARAM id)
static LRESULT MONTHCAL_HitTest(const MONTHCAL_INFO *infoPtr, MCHITTESTINFO *lpht)
#define MC_PREVNEXTMONTHTIMER
static LRESULT MONTHCAL_SetDayState(const MONTHCAL_INFO *infoPtr, INT months, MONTHDAYSTATE *states)
static LRESULT MONTHCAL_SetColor(MONTHCAL_INFO *infoPtr, UINT index, COLORREF color)
static LRESULT MONTHCAL_LButtonUp(MONTHCAL_INFO *infoPtr, LPARAM lParam)
static int MONTHCAL_MonthDiff(const SYSTEMTIME *left, const SYSTEMTIME *right)
static LRESULT theme_changed(const MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_GetMaxTodayWidth(const MONTHCAL_INFO *infoPtr)
void MONTHCAL_Unregister(void)
static const SYSTEMTIME max_allowed_date
static void MONTHCAL_EditYear(MONTHCAL_INFO *infoPtr, INT calIdx)
static INT MONTHCAL_StyleChanging(MONTHCAL_INFO *infoPtr, WPARAM wStyleType, STYLESTRUCT *lpss)
static void MONTHCAL_CircleDay(const MONTHCAL_INFO *infoPtr, HDC hdc, const SYSTEMTIME *date)
static void MONTHCAL_CopyDate(const SYSTEMTIME *from, SYSTEMTIME *to)
static void MONTHCAL_NotifyDayState(MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_PrintClient(MONTHCAL_INFO *infoPtr, HDC hdc, DWORD options)
static LRESULT CALLBACK EditWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL MONTHCAL_ValidateDate(const SYSTEMTIME *time)
static BOOL MONTHCAL_ValidateTime(const SYSTEMTIME *time)
static void MONTHCAL_GetDayPos(const MONTHCAL_INFO *infoPtr, const SYSTEMTIME *date, INT *col, INT *row, INT calIdx)
static BOOL MONTHCAL_IsSelRangeValid(const MONTHCAL_INFO *infoPtr, const SYSTEMTIME *range0, const SYSTEMTIME *range1, SYSTEMTIME *adjust)
static void MONTHCAL_NotifySelectionChange(const MONTHCAL_INFO *infoPtr)
#define MC_TODAYUPDATEDELAY
#define DAYSTO100NSECS(days)
static UINT fill_hittest_info(const MCHITTESTINFO *src, MCHITTESTINFO *dest)
static int get_localized_dayname(const MONTHCAL_INFO *infoPtr, unsigned int day, WCHAR *buff, unsigned int count)
#define MC_CALENDAR_PADDING
static BOOL MONTHCAL_IsDateInValidRange(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *date, BOOL fix)
static void MONTHCAL_PaintTitle(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps, INT calIdx)
static BOOL MONTHCAL_SetDayFocus(MONTHCAL_INFO *infoPtr, const SYSTEMTIME *st)
static void MONTHCAL_PaintTodayTitle(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
static void MONTHCAL_PaintCalendar(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps, INT calIdx)
static void MONTHCAL_GetNextMonth(SYSTEMTIME *date)
static LRESULT MONTHCAL_Create(HWND hwnd, LPCREATESTRUCTW lpcs)
static LRESULT MONTHCAL_RButtonUp(MONTHCAL_INFO *infoPtr, LPARAM lParam)
static LRESULT MONTHCAL_GetMonthRange(const MONTHCAL_INFO *infoPtr, DWORD flag, SYSTEMTIME *st)
static void MONTHCAL_GoToMonth(MONTHCAL_INFO *infoPtr, enum nav_direction direction)
static LRESULT MONTHCAL_SetSelRange(MONTHCAL_INFO *infoPtr, SYSTEMTIME *range)
static LRESULT MONTHCAL_GetMonthDelta(const MONTHCAL_INFO *infoPtr)
#define MC_PREVNEXTMONTHDELAY
static void MONTHCAL_GetMaxDate(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *date)
#define MCS_NOSELCHANGEONNAV
static LRESULT MONTHCAL_Notify(MONTHCAL_INFO *infoPtr, NMHDR *hdr)
static LRESULT WINAPI MONTHCAL_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct MONTHCAL_INFO * LPMONTHCAL_INFO
static void MONTHCAL_UpdateSize(MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_GetFont(const MONTHCAL_INFO *infoPtr)
static void MONTHCAL_PaintLeadTrailMonths(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
static LRESULT MONTHCAL_SetFont(MONTHCAL_INFO *infoPtr, HFONT hFont, BOOL redraw)
static LRESULT MONTHCAL_SetMonthDelta(MONTHCAL_INFO *infoPtr, INT delta)
int MONTHCAL_MonthLength(int month, int year)
#define MC_TODAYUPDATETIMER
static void MONTHCAL_PaintButton(MONTHCAL_INFO *infoPtr, HDC hdc, enum nav_direction button)
static LRESULT MONTHCAL_GetMaxSelCount(const MONTHCAL_INFO *infoPtr)
static COLORREF MONTHCAL_GetColor(const MONTHCAL_INFO *infoPtr, UINT index)
static LRESULT MONTHCAL_SetCurSel(MONTHCAL_INFO *infoPtr, SYSTEMTIME *curSel)
static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
static LRESULT MONTHCAL_SetRange(MONTHCAL_INFO *infoPtr, SHORT limits, SYSTEMTIME *range)
static LRESULT MONTHCAL_GetFirstDayOfWeek(const MONTHCAL_INFO *infoPtr)
static const WCHAR themeClass[]
static BOOL MONTHCAL_GetDayRect(const MONTHCAL_INFO *infoPtr, const SYSTEMTIME *date, RECT *r, INT calIdx)
static INT MONTHCAL_GetCalCount(const MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_GetCurSel(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *curSel)
static void MONTHCAL_PaintFocusAndCircle(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
static BOOL MONTHCAL_UpdateToday(MONTHCAL_INFO *infoPtr, const SYSTEMTIME *today)
static const SYSTEMTIME min_allowed_date
static LRESULT MONTHCAL_GetMinReqRect(const MONTHCAL_INFO *infoPtr, RECT *rect)
static void MONTHCAL_GetMinDate(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *date)
static void MONTHCAL_GetDayRectI(const MONTHCAL_INFO *infoPtr, RECT *r, INT col, INT row, INT calIdx)
static void MONTHCAL_Scroll(MONTHCAL_INFO *infoPtr, INT delta, BOOL keep_selection)
void MONTHCAL_Register(void)
static void MONTHCAL_DrawDay(const MONTHCAL_INFO *infoPtr, HDC hdc, const SYSTEMTIME *st, int bold, const PAINTSTRUCT *ps)
int MONTHCAL_CalculateDayOfWeek(SYSTEMTIME *date, BOOL inplace)
static LRESULT MONTHCAL_EraseBkgnd(const MONTHCAL_INFO *infoPtr, HDC hdc)
static LRESULT MONTHCAL_MouseMove(MONTHCAL_INFO *infoPtr, LPARAM lParam)
static BOOL MONTHCAL_GetUnicodeFormat(const MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_SetToday(MONTHCAL_INFO *infoPtr, const SYSTEMTIME *today)
static LRESULT MONTHCAL_SetFirstDayOfWeek(MONTHCAL_INFO *infoPtr, INT day)
static BOOL MONTHCAL_IsDateEqual(const SYSTEMTIME *first, const SYSTEMTIME *second)
static LRESULT MONTHCAL_SetFocus(const MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_SetMaxSelCount(MONTHCAL_INFO *infoPtr, INT max)
static void MONTHCAL_CopyTime(const SYSTEMTIME *from, SYSTEMTIME *to)
static void MONTHCAL_PaintWeeknumbers(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps, INT calIdx)
static void MONTHCAL_GetPrevMonth(SYSTEMTIME *date)
static BOOL MONTHCAL_SetUnicodeFormat(MONTHCAL_INFO *infoPtr, BOOL isUnicode)
LONG MONTHCAL_CompareSystemTime(const SYSTEMTIME *first, const SYSTEMTIME *second)
static LRESULT MONTHCAL_Destroy(MONTHCAL_INFO *infoPtr)
static LRESULT MONTHCAL_Size(MONTHCAL_INFO *infoPtr, int Width, int Height)
static void MONTHCAL_GetMonth(SYSTEMTIME *date, INT months)
static INT MONTHCAL_GetCalendarFromPoint(const MONTHCAL_INFO *infoPtr, const POINT *pt)
static LRESULT MONTHCAL_GetRange(const MONTHCAL_INFO *infoPtr, SYSTEMTIME *range)
static INT MONTHCAL_StyleChanged(MONTHCAL_INFO *infoPtr, WPARAM wStyleType, const STYLESTRUCT *lpss)
static void MONTHCAL_Circle(const MONTHCAL_INFO *infoPtr, HDC hdc, const RECT *r)
struct _CALENDAR_INFO CALENDAR_INFO
static void MONTHCAL_NotifySelect(const MONTHCAL_INFO *infoPtr)
static const SYSTEMTIME st_null
static LRESULT MONTHCAL_Paint(MONTHCAL_INFO *infoPtr, HDC hdc_paint)
static LONG MONTHCAL_CompareMonths(const SYSTEMTIME *first, const SYSTEMTIME *second)
static LONG MONTHCAL_CompareDate(const SYSTEMTIME *first, const SYSTEMTIME *second)
static DOUBLE day(DOUBLE time)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
LONG WINAPI CompareFileTime(IN CONST FILETIME *lpFileTime1, IN CONST FILETIME *lpFileTime2)
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
static const WCHAR month[12][4]
static unsigned char buff[32768]
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
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 flag
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
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 const struct newhuff ht[]
_Check_return_ long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
#define memcpy(s1, s2, n)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define cmp(status, error)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
#define LOCALE_USER_DEFAULT
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
#define NM_RELEASEDCAPTURE
#define MCS_NOTRAILINGDATES
#define MCM_SETMAXSELCOUNT
#define MCM_GETUNICODEFORMAT
#define MCHT_TITLEBTNPREV
#define MCM_GETCALENDARCOUNT
#define MCS_NOTODAYCIRCLE
#define MCM_GETMONTHRANGE
#define MCM_GETMONTHDELTA
#define MCHT_CALENDARDATENEXT
#define MCM_GETFIRSTDAYOFWEEK
#define MCM_SETUNICODEFORMAT
#define MCM_SETFIRSTDAYOFWEEK
#define MCHITTESTINFO_V1_SIZE
#define MCHT_CALENDARDATE
#define MCHT_TITLEBTNNEXT
#define MCS_SHORTDAYSOFWEEK
#define MCM_GETMAXTODAYWIDTH
#define MCM_GETMAXSELCOUNT
#define MCHT_CALENDARDATEPREV
#define MCM_SETMONTHDELTA
#define MCSC_TRAILINGTEXT
#define MCM_GETMINREQRECT
#define MCHT_CALENDARWEEKNUM
void redraw(int x, int y, int cx, int cy)
static unsigned __int64 next
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
COLORREF clrActiveCaption
CALENDAR_INFO * calendars
HBRUSH brushes[BrushLast]
MONTHDAYSTATE * monthdayState
COLORREF colors[MCSC_TRAILINGTEXT+1]
struct _ULARGE_INTEGER::@4142 u
LPMONTHDAYSTATE prgDayState
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
COLORREF WINAPI GetBkColor(_In_ HDC)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI GetTextExtentPoint32W(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE psizl)
#define LOCALE_IFIRSTWEEKOFYEAR
#define LOCALE_SMONTHNAME1
#define LOCALE_SABBREVMONTHNAME1
#define LOCALE_SABBREVDAYNAME1
#define LOCALE_IFIRSTDAYOFWEEK
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI IsWindow(_In_opt_ HWND)
HMENU WINAPI CreatePopupMenu(void)
#define GetWindowLongPtrW
BOOL WINAPI ReleaseCapture(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI AdjustWindowRect(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)