26#define CANCEL_MSG_LINE 2
31#define UPDATE_PROGRESS 0x1
32#define UPDATE_TITLE 0x2
33#define UPDATE_LINE1 0x4
34#define UPDATE_LINE2 (UPDATE_LINE1<<1)
35#define UPDATE_LINE3 (UPDATE_LINE1<<2)
38#define WM_DLG_UPDATE (WM_APP+1)
39#define WM_DLG_DESTROY (WM_APP+2)
41#define ID_3SECONDS 101
43#define BUFFER_SIZE 256
129 while (ullTotal >> 32)
170 This->set_progress_marquee();
174 This->update_dialog(0xffffffff);
186 This->update_dialog(
This->dwUpdate);
205 if (!
This->cancelMsg[0]) {
209 This->set_progress_marquee();
218 if (
This->progressClock[29].ullMark != 0ull) {
221 This->progressClock[(
This->clockHand + 29) % 30].ullMark;
222 DWORD timeDiff =
This->progressClock[
This->clockHand].dwTime -
224 DWORD runDiff =
This->progressClock[
This->clockHand].dwTime -
229 DWORD timeLeftD = (
DWORD) timeDiff * ((
double) sizeLeft) / ((
double) sizeDiff);
231 DWORD timeLeftI = (
DWORD) runDiff * ((
double) sizeLeft) / ((
double)
This->progressClock[
This->clockHand].ullMark);
280 FIXME(
"Reserved parameters not null (%p, %p)\n", punkEnableModeless,
reserved);
282 FIXME(
"Flags PROGDLG_AUTOTIME not supported\n");
284 FIXME(
"Flags PROGDLG_NOTIME not supported\n");
356BOOL WINAPI CProgressDialog::HasUserCancelled()
static INT_PTR CALLBACK dialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void load_string(LPWSTR *buffer, HINSTANCE hInstance, UINT uiResourceId)
static DWORD WINAPI dialog_thread(LPVOID lpParameter)
static void set_buffer(LPWSTR *buffer, LPCWSTR string)
STDMETHOD() SetProgress64(ULONGLONG ullCompleted, ULONGLONG ullTotal) override
STDMETHOD() SetLine(DWORD dwLineNum, LPCWSTR pwzLine, BOOL bPath, LPCVOID reserved) override
STDMETHOD() StopProgressDialog() override
void update_dialog(DWORD dwUpdate)
void set_progress_marquee()
STDMETHOD() SetProgress(DWORD dwCompleted, DWORD dwTotal) override
STDMETHOD() GetWindow(HWND *phwnd) override
STDMETHOD() SetCancelMsg(LPCWSTR pwzMsg, LPCVOID reserved) override
STDMETHOD() Timer(DWORD dwTimerAction, LPCVOID reserved) override
STDMETHOD() SetAnimation(HINSTANCE hInstance, UINT uiResourceId) override
STDMETHOD() ContextSensitiveHelp(BOOL fEnterMode) override
STDMETHOD() StartProgressDialog(HWND hwndParent, IUnknown *punkEnableModeless, DWORD dwFlags, LPCVOID reserved) override
STDMETHOD() SetTitle(LPCWSTR pwzTitle) override
progressMark progressClock[30]
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
static const WCHAR empty[]
#define HeapFree(x, y, z)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
DWORD WINAPI GetTickCount(VOID)
INT WINAPI StrFromTimeIntervalW(LPWSTR lpszStr, UINT cchMax, DWORD dwMS, int iDigits)
GLenum const GLfloat * params
#define Animate_OpenEx(hwnd, hInst, szName)
#define ICC_ANIMATE_CLASS
#define PROGDLG_NOPROGRESSBAR
#define PROGDLG_MARQUEEPROGRESS
#define PROGDLG_NOMINIMIZE
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
static GLboolean set_buffer(GLcontext *ctx, GLenum mode)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
HWND WINAPI CreateDialogParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define GetWindowLongPtrW
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI IsDialogMessageW(_In_ HWND, _In_ LPMSG)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
#define MAKEINTRESOURCEW(i)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define SetWindowLongPtrW
BOOL WINAPI DestroyWindow(_In_ HWND)
HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)