123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #ifndef __NULLSOFT_DX9_PLUGIN_SHELL_UTILITY_H__
- #define __NULLSOFT_DX9_PLUGIN_SHELL_UTILITY_H__ 1
- #include <windows.h>
- #include <crtdefs.h>
- #include <d3d9.h>
- #include <d3dx9.h>
- #define SafeRelease(x) { if (x) {x->Release(); x=NULL;} }
- #define SafeDelete(x) { if (x) {delete x; x=NULL;} }
- #define IsNullGuid(lpGUID) ( ((int*)lpGUID)[0]==0 && ((int*)lpGUID)[1]==0 && ((int*)lpGUID)[2]==0 && ((int*)lpGUID)[3]==0 )
- #define DlgItemIsChecked(hDlg, nIDDlgItem) ((SendDlgItemMessage(hDlg, nIDDlgItem, BM_GETCHECK, (WPARAM) 0, (LPARAM) 0) == BST_CHECKED) ? true : false)
- #define CosineInterp(x) (0.5f - 0.5f*cosf((x) * 3.1415926535898f))
- #define InvCosineInterp(x) (acosf(1.0f - 2.0f*(x))/3.1415926535898f)
- float PowCosineInterp(float x, float pow);
- float AdjustRateToFPS(float per_frame_decay_rate_at_fps1, float fps1, float actual_fps);
- #define GetPrivateProfileBoolW(w,x,y,z) ((bool)(GetPrivateProfileIntW(w,x,y,z) != 0))
- #define GetPrivateProfileBOOLW(w,x,y,z) ((BOOL)(GetPrivateProfileIntW(w,x,y,z) != 0))
- float GetPrivateProfileFloatW(wchar_t *szSectionName, wchar_t *szKeyName, float fDefault, wchar_t *szIniFile);
- bool WritePrivateProfileIntW(int d, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName);
- bool WritePrivateProfileFloatW(float f, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName);
- extern _locale_t g_use_C_locale;
- extern char keyMappings[8];
- void SetScrollLock(int bNewState, bool bPreventHandling);
- void RemoveExtension(wchar_t *str);
- void RemoveSingleAmpersands(wchar_t *str);
- void TextToGuid(char *str, GUID *pGUID);
- void GuidToText(GUID *pGUID, char *str, int nStrLen);
- #ifdef _DEBUG
- void OutputDebugMessage(char *szStartText, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
- #endif
- void MissingDirectX(HWND hwnd);
- bool CheckForMMX();
- bool CheckForSSE();
- void GetDesktopFolder(char *szDesktopFolder);
- #include "icon_t.h"
- #include <shlobj.h>
- #include <list>
- BOOL DoExplorerMenu (HWND hwnd, LPCTSTR pszPath, POINT point);
- BOOL DoExplorerMenu (HWND hwnd, LPITEMIDLIST pidl, POINT point);
- UINT GetItemCount (LPITEMIDLIST pidl);
- LPITEMIDLIST GetNextItem (LPITEMIDLIST pidl);
- LPITEMIDLIST DuplicateItem (LPMALLOC pMalloc, LPITEMIDLIST pidl);
- void FindDesktopWindows(HWND *desktop_progman, HWND *desktopview_wnd, HWND *listview_wnd);
- void ExecutePidl(LPITEMIDLIST pidl, char *szPathAndFile, char *szWorkingDirectory, HWND hWnd);
- int GetDesktopIconSize();
- inline void AddItem(HWND ctrl, const wchar_t* text, DWORD itemdata) {
- LRESULT nPos = SendMessageW( ctrl, CB_ADDSTRING, 0, (LPARAM)text);
- SendMessage( ctrl, CB_SETITEMDATA, nPos, itemdata);
- }
- inline void SelectItemByPos(HWND ctrl, int pos) {
- SendMessage(ctrl, CB_SETCURSEL, pos, 0);
- }
- int SelectItemByValue(HWND ctrl, DWORD value);
- bool ReadCBValue(HWND hwnd, DWORD ctrl_id, int* pRetValue);
- LRESULT GetWinampVersion(HWND winamp);
- void* GetTextResource(UINT id, int no_fallback);
- HMODULE FindD3DX9(HWND winamp);
- intptr_t myOpenURL(HWND hwnd, wchar_t *loc);
- typedef HRESULT (WINAPI *D3DXCREATEFONTW)(LPDIRECT3DDEVICE9, INT, UINT, UINT, UINT, BOOL, DWORD, DWORD, DWORD, DWORD, LPCWSTR, LPD3DXFONT *);
- extern D3DXCREATEFONTW pCreateFontW;
- typedef D3DXMATRIX *(WINAPI *D3DXMATRIXMULTIPLY)(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2);
- extern D3DXMATRIXMULTIPLY pMatrixMultiply;
- typedef D3DXMATRIX* (WINAPI *D3DXMATRIXTRANSLATION)( D3DXMATRIX *pOut, FLOAT x, FLOAT y, FLOAT z );
- extern D3DXMATRIXTRANSLATION pMatrixTranslation;
- typedef D3DXMATRIX* (WINAPI *D3DXMATRIXSCALING)( D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz );
- extern D3DXMATRIXSCALING pMatrixScaling;
- typedef D3DXMATRIX* (WINAPI *D3DXMATRIXROTATION)( D3DXMATRIX *pOut, FLOAT Angle );
- extern D3DXMATRIXROTATION pMatrixRotationX, pMatrixRotationY, pMatrixRotationZ;
- typedef HRESULT (WINAPI *D3DXCREATETEXTUREFROMFILEEXW)(
- LPDIRECT3DDEVICE9 pDevice,
- LPCWSTR pSrcFile,
- UINT Width,
- UINT Height,
- UINT MipLevels,
- DWORD Usage,
- D3DFORMAT Format,
- D3DPOOL Pool,
- DWORD Filter,
- DWORD MipFilter,
- D3DCOLOR ColorKey,
- D3DXIMAGE_INFO* pSrcInfo,
- PALETTEENTRY* pPalette,
- LPDIRECT3DTEXTURE9* ppTexture);
- extern D3DXCREATETEXTUREFROMFILEEXW pCreateTextureFromFileExW;
- typedef D3DXMATRIX* (WINAPI *D3DXMATRIXORTHOLH)(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
- extern D3DXMATRIXORTHOLH pMatrixOrthoLH;
- typedef HRESULT (WINAPI *D3DXCOMPILESHADER)(
- LPCSTR pSrcData,
- UINT SrcDataLen,
- CONST D3DXMACRO* pDefines,
- LPD3DXINCLUDE pInclude,
- LPCSTR pFunctionName,
- LPCSTR pProfile,
- DWORD Flags,
- LPD3DXBUFFER* ppShader,
- LPD3DXBUFFER* ppErrorMsgs,
- LPD3DXCONSTANTTABLE* ppConstantTable);
- extern D3DXCOMPILESHADER pCompileShader;
- typedef D3DXMATRIX* (WINAPI *D3DXMATRIXLOOKATLH)( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt, CONST D3DXVECTOR3 *pUp );
- extern D3DXMATRIXLOOKATLH pMatrixLookAtLH;
- typedef HRESULT (WINAPI *D3DXCREATETEXTURE)(
- LPDIRECT3DDEVICE9 pDevice,
- UINT Width,
- UINT Height,
- UINT MipLevels,
- DWORD Usage,
- D3DFORMAT Format,
- D3DPOOL Pool,
- LPDIRECT3DTEXTURE9* ppTexture);
- extern D3DXCREATETEXTURE pCreateTexture;
- #endif
|