winamp/Src/Plugins/Input/in_cdda/cddbui.h
2024-09-24 14:54:57 +02:00

46 lines
2.1 KiB
C

#ifndef NULLSOFT_CDDB_UI_HEADER
#define NULLSOFT_CDDB_UI_HEADER
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#include <windows.h>
#define AUTOCLOSE_NOW 0x00000000
#define AUTOCLOSE_NEVER 0xFFFFFFFF
#define STATE_INACTIVE ((UINT)0)
#define STATE_ACTIVE ((UINT)1)
#define STATE_COMPLETED ((UINT)2)
#define STATE_ABORTING ((UINT)3)
typedef void (CALLBACK *CDDBDLG_ONBTNCLICK)(HWND /*hwndDlg*/, BSTR /*bstrUser*/); // return TRUE to close dialog or FALSE to stay in STATE_ABORTING
// all functions can accept String IDS and will resolve it using WASABI_API_LNGSTRINGW
HWND CddbProgressDlg_Create(HWND hwndParent, INT nCmdShow);
BOOL CddbProgressDlg_Initialize(HWND hwnd, LPCWSTR pszCaption, CDDBDLG_ONBTNCLICK fnOnAbort, BSTR bstrAbortUser); //
BOOL CddbProgressDlg_Completed(HWND hwnd, LPCWSTR pszResult, LPCWSTR pszReason, DWORD nAutoCloseDelay, HRESULT rCode);
BOOL CddbProgressDlg_SetStatus(HWND hwnd, LPCWSTR pszStatus, INT nPercentCompleted);
BOOL CddbProgressDlg_EnableAbortButton(HWND hwnd, BOOL bEnable);
BOOL CddbProgressDlg_ShowButton1(HWND hwnd, LPCWSTR pszCaption, CDDBDLG_ONBTNCLICK fnOnButton1, BSTR bstrUser); // set pszCaption = NULL and/or fnOnButton1 = NULL to hide it
UINT CddbProgressDlg_GetState(HWND hwnd);
BOOL CddbProgressDlg_SetUserData(HWND hwnd, HANDLE user);
HANDLE CddbProgressDlg_GetUserData(HWND hwnd);
BOOL CddbProgressDlg_ShowInTaskbar(HWND hwnd, BOOL bShow);
BOOL CddbProgressDlg_SetExtendedMode(HWND hwnd, BOOL bEnable);
BOOL CddbProgressDlg_AddRecord(HWND hwnd, LPCWSTR pszArtist, LPCWSTR pszTitle, LPCWSTR pszLanguage);
INT CddbProgressDlg_GetSelRecordIndex(HWND hwnd);
HRESULT CddbProgressDlg_DoModal(HWND hwnd, RECT *prc); // if prc != NULL will contain window rect before it closed
BOOL CddbProgressDlg_ExitModal(HWND hwnd, HRESULT rCode, BOOL bDestroy); /// exits modal loop without destroying window
BOOL CddbProgressDlg_IsModal(HWND hwnd);
#define FINDWND_ONLY_VISIBLE 0x01
#define FINDWND_ONLY_ENABLED 0x02
BOOL FindAllOwnedWindows(HWND hwndHost, HWND *hwndList, INT cList, UINT flags);
#endif //NULLSOFT_CDDB_UI_HEADER