From 50feaa0ffc1b2e120eb6b22b2970f5bc2f7dc7a4 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sun, 14 Oct 2012 13:35:25 +0000 Subject: TabSRMM: folders restructurization git-svn-id: http://svn.miranda-ng.org/main/trunk@1923 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TabSRMM/include/mim.h | 301 ------------------------------------------ 1 file changed, 301 deletions(-) delete mode 100644 plugins/TabSRMM/include/mim.h (limited to 'plugins/TabSRMM/include/mim.h') diff --git a/plugins/TabSRMM/include/mim.h b/plugins/TabSRMM/include/mim.h deleted file mode 100644 index c971cb7fdf..0000000000 --- a/plugins/TabSRMM/include/mim.h +++ /dev/null @@ -1,301 +0,0 @@ -/* - * astyle --force-indent=tab=4 --brackets=linux --indent-switches - * --pad=oper --one-line=keep-blocks --unpad=paren - * - * Miranda NG: the free IM client for Microsoft* Windows* - * - * Copyright 2000-2009 Miranda ICQ/IM project, - * all portions of this codebase are copyrighted to the people - * listed in contributors.txt. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * you should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * part of tabSRMM messaging plugin for Miranda. - * - * (C) 2005-2009 by silvercircle _at_ gmail _dot_ com and contributors - * - * $Id: mim.h 12272 2010-08-04 08:24:08Z silvercircle $ - * - * wraps some parts of Miranda API - * Also, OS dependent stuff (visual styles api etc.) - * - */ - -#ifndef __MIM_H -#define __MIM_H - - -extern FI_INTERFACE *FIF; - -/* - * Win32 API definitions of functions dynamically obtained via GetProcAddress() - * - uxtheme - * - dwmapi - * - some GDI functions (AlphaBlend()..) - */ -typedef BOOL (WINAPI *SMI)( HMENU hmenu, LPCMENUINFO lpcmi ); -typedef HRESULT (WINAPI *DEFICA)(HWND hwnd, const MARGINS *margins); -typedef HRESULT (WINAPI *DICE)(BOOL *); -typedef DWORD (WINAPI *PSLWA)(HWND, DWORD, BYTE, DWORD); -typedef BOOL (WINAPI *PULW)(HWND, HDC, POINT *, SIZE *, HDC, POINT *, COLORREF, BLENDFUNCTION *, DWORD); -typedef BOOL (WINAPI *PFWEX)(FLASHWINFO *); -typedef BOOL (WINAPI *PAB)(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); -typedef BOOL (WINAPI *PGF)(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); - -typedef BOOL (WINAPI *PITA)(); -typedef HANDLE (WINAPI *POTD)(HWND, LPCWSTR); -typedef UINT (WINAPI *PDTB)(HANDLE, HDC, int, int, RECT *, RECT *); -typedef UINT (WINAPI *PCTD)(HANDLE); -typedef UINT (WINAPI *PDTT)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, DWORD, RECT *); -typedef UINT (WINAPI *PDTTE)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, RECT *, const DTTOPTS *); -typedef BOOL (WINAPI *PITBPT)(HANDLE, int, int); -typedef HRESULT (WINAPI *PDTPB)(HWND, HDC, RECT *); -typedef HRESULT (WINAPI *PGTBCR)(HANDLE, HDC, int, int, const RECT *, const RECT *); - -typedef HMONITOR(WINAPI *MMFW)(HWND, DWORD); -typedef BOOL (WINAPI *GMIA)(HMONITOR, LPMONITORINFO); -typedef HRESULT (WINAPI *DRT)(HWND, HWND, PHTHUMBNAIL); -typedef BOOL (WINAPI *ETDT)(HANDLE, DWORD); -typedef HANDLE (WINAPI *BBP)(HDC, RECT *, BP_BUFFERFORMAT, BP_PAINTPARAMS *, HDC *); -typedef HRESULT (WINAPI *EBP)(HANDLE, BOOL); -typedef HRESULT (WINAPI *BPI)(void); -typedef HRESULT (WINAPI *BPU)(void); -typedef HRESULT (WINAPI *BBW)(HWND, DWM_BLURBEHIND *); -typedef HRESULT (WINAPI *DGC)(DWORD *, BOOL *); -typedef HRESULT (WINAPI *BPSA)(HANDLE, const RECT *, BYTE); -typedef int (WINAPI *GLIX)(LPCWSTR, LCTYPE, LPCWSTR, int); -typedef HRESULT (WINAPI *DWMSWA)(HWND, DWORD, LPCVOID, DWORD); -typedef HRESULT (WINAPI *DWMIIB)(HWND); -typedef HRESULT (WINAPI *DWMUT)(HTHUMBNAIL, DWM_THUMBNAIL_PROPERTIES *); -typedef HRESULT (WINAPI *DURT)(HTHUMBNAIL); -typedef HRESULT (WINAPI *DSIT)(HWND, HBITMAP, DWORD); -typedef HRESULT (WINAPI *DSILP)(HWND, HBITMAP, POINT *, DWORD); - -/* - * used to encapsulate some parts of the Miranda API - * constructor does early time initialization - do NOT put anything - * here, except thngs that deal with the core and database API. - * - * it is UNSAFE to assume that any plugin provided services are available - * when the object is instantiated. - */ - -class CMimAPI -{ -public: - CMimAPI() - { - InitPaths(); - InitAPI(); - getAeroState(); - - LRESULT fi_version = CallService(MS_IMG_GETIFVERSION, 0, 0); - CallService(MS_IMG_GETINTERFACE, fi_version, (LPARAM)&FIF); - - ::QueryPerformanceFrequency((LARGE_INTEGER *)&m_tFreq); - m_dFreq = (double)(1.0f / m_tFreq); - m_hChatLogLock = INVALID_HANDLE_VALUE; - } - - ~CMimAPI() { - if (m_haveBufferedPaint) - m_pfnBufferedPaintUninit(); - if (m_hUxTheme != 0) - FreeLibrary(m_hUxTheme); - if (m_hDwmApi != 0) - FreeLibrary(m_hDwmApi); - - if (m_hChatLogLock != INVALID_HANDLE_VALUE) - CloseHandle(m_hChatLogLock); - } - - /* - * database functions - */ - - DWORD FASTCALL GetDword (const HANDLE hContact, const char *szModule, const char *szSetting, DWORD uDefault) const; - - DWORD FASTCALL GetDword (const char *szModule, const char *szSetting, DWORD uDefault) const; - DWORD FASTCALL GetDword (const char *szSetting, DWORD uDefault) const; - DWORD FASTCALL GetDword (const HANDLE hContact, const char *szSetting, DWORD uDefault) const; - - int FASTCALL GetByte (const HANDLE hContact, const char *szModule, const char *szSetting, int uDefault) const; - int FASTCALL GetByte (const char *szModule, const char *szSetting, int uDefault) const; - int FASTCALL GetByte (const char *szSetting, int uDefault) const; - int FASTCALL GetByte (const HANDLE hContact, const char *szSetting, int uDefault) const; - - INT_PTR FASTCALL GetTString (const HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv) const; - INT_PTR FASTCALL GetString (const HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv) const; - - INT_PTR FASTCALL WriteDword (const HANDLE hContact, const char *szModule, const char *szSetting, DWORD value) const; - INT_PTR FASTCALL WriteDword (const char *szModule, const char *szSetting, DWORD value) const; - - INT_PTR FASTCALL WriteByte (const HANDLE hContact, const char *szModule, const char *szSetting, BYTE value) const; - INT_PTR FASTCALL WriteByte (const char *szModule, const char *szSetting, BYTE value) const; - - INT_PTR FASTCALL WriteTString (const HANDLE hContact, const char *szModule, const char *szSetting, const TCHAR *st) const; - - /* - * path utilities - */ - - int pathIsAbsolute (const TCHAR *path) const; - size_t pathToAbsolute (const TCHAR *pSrc, TCHAR *pOut, const TCHAR *szBase = 0) const; - size_t pathToRelative (const TCHAR *pSrc, TCHAR *pOut, const TCHAR *szBase = 0) const; - - const TCHAR* getDataPath() const { return(m_szProfilePath); } - const TCHAR* getSkinPath() const { return(m_szSkinsPath); } - const TCHAR* getSavedAvatarPath() const { return(m_szSavedAvatarsPath); } - const TCHAR* getChatLogPath() const { return(m_szChatLogsPath); } - const bool haveFoldersPlugin() const { return(m_haveFolders); } - - const TCHAR* getUserDir(); - void configureCustomFolders(); - INT_PTR foldersPathChanged(); - - void startTimer(); - void stopTimer (const char *szMsg = 0); - void timerMsg (const char *szMsg); - __int64 getTimerStart() const { return(m_tStart); } - __int64 getTimerStop() const { return(m_tStop); } - __int64 getTicks() const { return(m_tStop - m_tStart); } - double getFreq() const { return(m_dFreq); } - double getMsec() const { return(1000 * ((double)(m_tStop - m_tStart) * m_dFreq)); } - - /* - * os dependant stuff (aero, visual styles etc.) - */ - - const bool isVSAPIState() const { return m_VsAPI; } - /** - * return status of Vista Aero - * - * @return bool: true if aero active, false otherwise - */ - const bool isAero() const { return(m_isAero); } - const bool isDwmActive() const { return(m_DwmActive); } - - /** - * Refresh Aero status. - * Called on: - * * plugin init - * * WM_DWMCOMPOSITIONCHANGED message received - * - * @return - */ - bool getAeroState(); - /** - * return status of visual styles theming engine (Windows XP+) - * - * @return bool: themes are enabled - */ - bool isVSThemed() - { - return(m_isVsThemed); - } - /* - * window lists - */ - - void BroadcastMessage (UINT msg, WPARAM wParam, LPARAM lParam); - void BroadcastMessageAsync (UINT msg, WPARAM wParam, LPARAM lParam); - INT_PTR AddWindow (HWND hWnd, HANDLE h); - INT_PTR RemoveWindow (HWND hWnd); - HWND FindWindow (HANDLE h) const; - - static int FoldersPathChanged(WPARAM wParam, LPARAM lParam); // hook subscriber for folders plugin - static const TCHAR* TSAPI StriStr(const TCHAR *szString, const TCHAR *szSearchFor); - static int TypingMessage(WPARAM wParam, LPARAM lParam); - static int ProtoAck(WPARAM wParam, LPARAM lParam); - static int PrebuildContactMenu(WPARAM wParam, LPARAM lParam); - static int DispatchNewEvent(WPARAM wParam, LPARAM lParam); - static int MessageEventAdded(WPARAM wParam, LPARAM lParam); -public: - HANDLE m_hMessageWindowList; - /* - various function pointers - */ - static PITA m_pfnIsThemeActive; - static POTD m_pfnOpenThemeData; - static PDTB m_pfnDrawThemeBackground; - static PCTD m_pfnCloseThemeData; - static PDTT m_pfnDrawThemeText; - static PDTTE m_pfnDrawThemeTextEx; - static PITBPT m_pfnIsThemeBackgroundPartiallyTransparent; - static PDTPB m_pfnDrawThemeParentBackground; - static PGTBCR m_pfnGetThemeBackgroundContentRect; - static ETDT m_pfnEnableThemeDialogTexture; - static PSLWA m_pSetLayeredWindowAttributes; - static PFWEX m_MyFlashWindowEx; - static PAB m_MyAlphaBlend; - static PGF m_MyGradientFill; - static DEFICA m_pfnDwmExtendFrameIntoClientArea; - static DICE m_pfnDwmIsCompositionEnabled; - static MMFW m_pfnMonitorFromWindow; - static GMIA m_pfnGetMonitorInfoA; - static DRT m_pfnDwmRegisterThumbnail; - static BPI m_pfnBufferedPaintInit; - static BPU m_pfnBufferedPaintUninit; - static BBP m_pfnBeginBufferedPaint; - static EBP m_pfnEndBufferedPaint; - static BBW m_pfnDwmBlurBehindWindow; - static DGC m_pfnDwmGetColorizationColor; - static BPSA m_pfnBufferedPaintSetAlpha; - static GLIX m_pfnGetLocaleInfoEx; - static DWMSWA m_pfnDwmSetWindowAttribute; - static DWMIIB m_pfnDwmInvalidateIconicBitmaps; - static DWMUT m_pfnDwmUpdateThumbnailProperties; - static DURT m_pfnDwmUnregisterThumbnail; - static DSIT m_pfnDwmSetIconicThumbnail; - static DSILP m_pfnDwmSetIconicLivePreviewBitmap; - static bool m_shutDown, m_haveBufferedPaint; - -private: - TCHAR m_szProfilePath[MAX_PATH + 2], m_szSkinsPath[MAX_PATH + 2], m_szSavedAvatarsPath[MAX_PATH + 2], m_szChatLogsPath[MAX_PATH + 2]; - HMODULE m_hUxTheme, m_hDwmApi; - bool m_VsAPI; - bool m_isAero; - bool m_DwmActive; - bool m_isVsThemed; - HANDLE m_hDataPath, m_hSkinsPath, m_hAvatarsPath, m_hChatLogsPath; - __int64 m_tStart, m_tStop, m_tFreq; - double m_dFreq; - char m_timerMsg[256]; - bool m_haveFolders; - HANDLE m_hChatLogLock; - - void InitAPI(); - void InitPaths(); - -private: - static TCHAR m_userDir[MAX_PATH + 2]; -}; - -inline void CMimAPI::startTimer() -{ - ::QueryPerformanceCounter((LARGE_INTEGER *)&m_tStart); -} - -inline void CMimAPI::stopTimer(const char *szMsg) -{ - ::QueryPerformanceCounter((LARGE_INTEGER *)&m_tStop); - - if (szMsg) - timerMsg(szMsg); -} - -extern CMimAPI *M; - -#endif /* __MIM_H */ -- cgit v1.2.3