diff options
author | Tobias Weimer <wishmaster51@googlemail.com> | 2015-07-12 14:10:16 +0000 |
---|---|---|
committer | Tobias Weimer <wishmaster51@googlemail.com> | 2015-07-12 14:10:16 +0000 |
commit | f4ce2b5c214cce406dbd7a73dc7f35ae409546ad (patch) | |
tree | 533cc821ffc9c5664c075930be6a40fde9593aba /plugins/Clist_ng/INCLUDE | |
parent | 71a88c6d8c4578ca24e02a5c6f4860c206e7c6da (diff) |
Clist NG:
Commit of CList NG by silvercircle from https://github.com/silvercircle/miranda-ng
This is based on clist_nicer and Anti-Grain Geometry: http://www.antigrain.com/
This is the first version that actually compiles.
Do NOT use it in production environment!
git-svn-id: http://svn.miranda-ng.org/main/trunk@14543 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_ng/INCLUDE')
-rw-r--r-- | plugins/Clist_ng/INCLUDE/clc.h | 586 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/clist.h | 56 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/clui.h | 168 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/config.h | 272 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/gfx.h | 501 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/m_cln_skinedit.h | 201 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/resource.h | 449 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/rowheight_funcs.h | 137 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/skin.h | 214 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/utils.h | 137 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/vsstyle.h | 1606 | ||||
-rw-r--r-- | plugins/Clist_ng/INCLUDE/vssym32.h | 712 |
12 files changed, 5039 insertions, 0 deletions
diff --git a/plugins/Clist_ng/INCLUDE/clc.h b/plugins/Clist_ng/INCLUDE/clc.h new file mode 100644 index 0000000000..421f6ac62a --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/clc.h @@ -0,0 +1,586 @@ +/*
+ * astyle --force-indent=tab=4 --brackets=linux --indent-switches
+ * --pad=oper --one-line=keep-blocks --unpad=paren
+ *
+ * Miranda IM: the free IM client for Microsoft* Windows*
+ *
+ * Copyright 2000-2010 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 clist_ng plugin for Miranda.
+ *
+ * (C) 2005-2015 by silvercircle _at_ gmail _dot_ com and contributors
+ */
+
+#ifndef __CLC_H_
+#define __CLC_H_
+
+#define NR_DSPOVERRIDES 5
+
+#define DSP_OVR_OFFLINE 0
+#define DSP_OVR_ONLINE 1
+#define DSP_OVR_SELECTED 2
+#define DSP_OVR_HOVERED 3
+#define DSP_OVR_PRIORITY 4
+
+struct TDspOverride {
+ bool fActive;
+ char bAvatar;
+ char bSecondLine;
+ char bIcon;
+ BYTE exIconOrder[EXICON_COUNT];
+};
+
+struct TDisplayProfile {
+ DWORD dwFlags;
+ DWORD dwExtraImageMask;
+ int exIconScale;
+ BOOL bCenterStatusIcons;
+ BOOL bDimIdle, bNoOfflineAvatars,
+ bShowLocalTime, bShowLocalTimeSelective,
+ bDontSeparateOffline, bCenterGroupNames;
+ BYTE dualRowMode;
+ COLORREF avatarBorder;
+ int avatarSize;
+ DWORD clcExStyle;
+ DWORD clcOfflineModes;
+ BYTE sortOrder[3], bUseDCMirroring, bGroupAlign;
+ BYTE avatarPadding;
+ BYTE bLeftMargin, bRightMargin, bRowSpacing,
+ bGroupIndent, bRowHeight, bGroupRowHeight;
+ BYTE exIconOrder[EXICON_COUNT];
+ BYTE bReserved[16];
+ TDspOverride dspOverride[NR_DSPOVERRIDES];
+};
+
+class CLC
+{
+public:
+
+ static LRESULT CALLBACK wndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static void Paint (HWND hwnd, ClcData *dat, HDC hdc, RECT *rcPaint);
+ static void PaintItem (HDC hdcMem, ClcGroup *group, struct ClcContact *contact, int indent,
+ int y, struct ClcData *dat, int index, HWND hwnd, DWORD style,
+ RECT *clRect, BOOL *bFirstNGdrawn, int groupCountsFontTopShift, int rowHeight);
+ static int AddContactToGroup (ClcData *dat, ClcGroup *group, MCONTACT hContact);
+ static void RebuildEntireList (HWND hwnd, ClcData *dat);
+ static ClcGroup* RemoveItemFromGroup (HWND hwnd, ClcGroup *group, ClcContact *contact, int updateTotalCount);
+ static CListEvent* AddEvent (CLISTEVENT *cle);
+ static int RemoveEvent (MCONTACT hContact, MEVENT hDbEvent);
+ static ClcGroup* AddGroup (HWND hwnd, ClcData *dat, const wchar_t *szName, DWORD flags, int groupId, int calcTotalMembers);
+ static int AddInfoItemToGroup (ClcGroup *group, int flags, const wchar_t *pszText);
+ static int fnIconFromStatusMode ( const char* szProto, int status, MCONTACT hContact );
+ static int IconFromStatusMode (const char *szProto, int status, MCONTACT hContact, HICON *phIcon);
+ static void LoadClcOptions (HWND hwnd, ClcData *dat, BOOL first);
+ static void LoadContactTree ();
+ static LRESULT ProcessExternalMessages (HWND hwnd, ClcData *dat, UINT msg, WPARAM wParam, LPARAM lParam);
+ static void RecalcScrollBar (HWND hwnd, ClcData *dat);
+ static INT_PTR TrayIconProcessMessage (WPARAM wParam, LPARAM lParam);
+
+ static int SettingChanged (WPARAM wParam, LPARAM lParam);
+ static void ScrollTo (HWND hwnd, ClcData *dat, int desty, int noSmooth);
+ static ClcContact* CreateClcContact ();
+ static CListEvent* fnCreateEvent ();
+ static int HitTest (HWND hwnd, ClcData *dat, int testx, int testy, ClcContact **contact,
+ ClcGroup **group, DWORD *flags);
+ static int RTL_HitTest (HWND hwnd, ClcData *dat, int testx, int testy, ClcContact *hitcontact,
+ DWORD *flags, int indent, int hit);
+
+ static int loadModule (void);
+ static int preshutdown (WPARAM wParam, LPARAM lParam);
+ static int shutDown (WPARAM wParam, LPARAM lParam);
+ static int findItem (HWND hwnd, ClcData *dat, HANDLE hItem, ClcContact **contact, ClcGroup **subgroup, int *isVisible);
+ static int SetHideOffline (WPARAM wParam, LPARAM lParam);
+ static int CompareContacts (const ClcContact* c1, const ClcContact* c2);
+ static void BeginRenameSelection (HWND hwnd, ClcData *dat);
+ static void countAvatars (ClcData *dat);
+
+
+ static inline int getStatusOnlineness(int status, bool ignoreConnectingState)
+ {
+ if(!ignoreConnectingState) {
+ if(status >= ID_STATUS_CONNECTING && status < ID_STATUS_OFFLINE)
+ return 120;
+ }
+
+ if(status >= ID_STATUS_ONLINE && status <= ID_STATUS_OUTTOLUNCH)
+ return(_status2onlineness[status - ID_STATUS_OFFLINE]);
+ return 0;
+ }
+
+ static inline int getGeneralisedStatus ()
+ {
+ int status, thisStatus, statusOnlineness, thisOnlineness;
+
+ status = ID_STATUS_OFFLINE;
+ statusOnlineness = 0;
+
+ thisStatus = cfg::maxStatus;
+ if (thisStatus == ID_STATUS_INVISIBLE)
+ return ID_STATUS_INVISIBLE;
+ thisOnlineness = getStatusOnlineness(thisStatus, true);
+ if (thisOnlineness > statusOnlineness) {
+ status = thisStatus;
+ statusOnlineness = thisOnlineness;
+ }
+ return status;
+ }
+
+ static LRESULT (CALLBACK* saveContactListControlWndProc) (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ /*
+ static int (* saveAddContactToGroup ) (ClcData *dat, ClcGroup *group, MCONTACT hContact);
+ static ClcGroup* (* saveRemoveItemFromGroup ) (HWND hwnd, ClcGroup *group, ClcContact *contact, int updateTotalCount);
+ static CListEvent* (* saveAddEvent ) (CLISTEVENT *cle);
+ static int (* saveRemoveEvent ) (MCONTACT hContact, HANDLE hDbEvent);
+ static ClcGroup* (* saveAddGroup ) (HWND hwnd, ClcData *dat, const wchar_t *szName, DWORD flags, int groupId, int calcTotalMembers);
+ static int (* saveAddInfoItemToGroup ) (ClcGroup *group, int flags, const wchar_t *pszText);
+ static int (* saveIconFromStatusMode ) (const char *szProto, int status, MCONTACT hContact );
+ static void (* saveLoadClcOptions ) (HWND hwnd, ClcData *dat, BOOL first);
+ static LRESULT (* saveProcessExternalMessages ) (HWND hwnd, ClcData *dat, UINT msg, WPARAM wParam, LPARAM lParam);
+ static void (* saveRecalcScrollBar ) (HWND hwnd, ClcData *dat);
+ static INT_PTR (* saveTrayIconProcessMessage ) (WPARAM wParam, LPARAM lParam);
+ */
+ static bool fHottrackDone, fInPaint;
+ static int iHottrackItem;
+ static HANDLE hSettingsChanged, hDBEvent;
+ static HIMAGELIST hClistImages;
+ static HANDLE hTheme;
+ static unsigned int uNrAvatars;
+ static TDisplayProfile dsp_default;
+ static int _status2onlineness[];
+
+};
+
+#define MAXEXTRACOLUMNS 16
+
+#define INTM_XSTATUSCHANGED (WM_USER+26)
+#define INTM_METACHANGEDEVENT (WM_USER+27)
+#define INTM_CODEPAGECHANGED (WM_USER+28)
+#define INTM_CLIENTCHANGED (WM_USER+29)
+#define INTM_AVATARCHANGED (WM_USER+30)
+#define INTM_STATUSMSGCHANGED (WM_USER+31)
+#define INTM_SORTCLC (WM_USER+32)
+#define INTM_STATUSCHANGED (WM_USER+33)
+#define INTM_METACHANGED (WM_USER+34)
+#define INTM_INVALIDATECONTACT (WM_USER+35)
+#define INTM_FORCESORT (WM_USER+36)
+
+#define DEFAULT_TITLEBAR_HEIGHT 18
+
+#define CLS_SKINNEDFRAME 0x0800 //this control will be the main contact list (v. 0.3.4.3+ 2004/11/02)
+
+#define TIMERID_RENAME 10
+#define TIMERID_DRAGAUTOSCROLL 11
+#define TIMERID_INFOTIP 13
+#define TIMERID_SORT 15
+#define TIMERID_REFRESH 18
+#define TIMERID_PAINT 19
+struct ClcGroup;
+
+#define CONTACTF_ONLINE 1
+#define CONTACTF_INVISTO 2
+#define CONTACTF_VISTO 4
+#define CONTACTF_NOTONLIST 8
+#define CONTACTF_CHECKED 16
+#define CONTACTF_IDLE 32
+#define CONTACTF_STICKY 64
+#define CONTACTF_PRIORITY 128
+
+#define STATUSMSG_XSTATUSID 1
+#define STATUSMSG_XSTATUSNAME 2
+#define STATUSMSG_CLIST 4
+#define STATUSMSG_YIM 8
+#define STATUSMSG_GG 16
+#define STATUSMSG_XSTATUS 32
+
+#define STATUSMSG_NOTFOUND 0
+
+#define SMSG_MAXLEN 700
+
+#define EXTRAIMAGECACHESIZE 1000
+
+// extra cache contact flags
+
+#define ECF_RTLNICK 1
+#define ECF_RTLSTATUSMSG 2
+#define ECF_FORCEAVATAR 4
+#define ECF_HIDEAVATAR 8
+#define ECF_FORCEOVERLAY 16
+#define ECF_HIDEOVERLAY 32
+#define ECF_FORCELOCALTIME 64
+#define ECF_HIDELOCALTIME 128
+#define ECF_FORCEVISIBILITY 256
+#define ECF_HIDEVISIBILITY 512
+#define ECF_HASREALTIMEZONE 1024
+
+// other contact flags (struct ClCContact;
+
+#define ECF_AVATAR 1
+#define ECF_SECONDLINE 2
+
+struct ContactFloater {
+ ContactFloater* pNextFloater;
+ HWND hwnd;
+ HDC hdc;
+ HBITMAP hbm, hbmOld;
+ MCONTACT hContact;
+};
+
+typedef struct ContactFloater CONTACTFLOATER;
+
+#define DSPF_CENTERSTATUSICON 1
+#define DSPF_DIMIDLE 2
+#define DSPF_NOFFLINEAVATARS 4
+#define DSPF_SHOWLOCALTIME 8
+#define DSPF_LOCALTIMESELECTIVE 16
+#define DSPF_DONTSEPARATEOFFLINE 32
+#define DSPF_CENTERGROUPNAMES 64
+
+/* Extra icons settings */
+typedef struct _OrderTreeData
+{
+ BYTE ID;
+ wchar_t * Name;
+ BYTE Position;
+ BOOL Visible;
+ BOOL fReserved;
+} *PORDERTREEDATA, ORDERTREEDATA;
+
+#define DSP_PROFILES_MODULE "CLG_DspProfiles" // db module for display profile overrides
+
+struct ClcContact : public ClcContactBase
+{
+ BOOL bIsMeta;
+ BYTE xStatus;
+ int xStatusIcon;
+ MCONTACT hSubContact;
+ char *metaProto;
+ DWORD codePage;
+ WORD wStatus;
+ int avatarLeft, extraIconRightBegin;
+ int isRtl;
+ DWORD cFlags;
+ BYTE bSecondLine;
+ BYTE bSecondLineLocal;
+ DWORD dwDFlags;
+ avatarCacheEntry *ace;
+ int extraCacheEntry;
+};
+
+#define DRAGSTAGE_NOTMOVED 0
+#define DRAGSTAGE_ACTIVE 1
+#define DRAGSTAGEM_STAGE 0x00FF
+#define DRAGSTAGEF_MAYBERENAME 0x8000
+#define DRAGSTAGEF_OUTSIDE 0x4000
+
+#define FONTID_CONTACTS 0
+#define FONTID_INVIS 1
+#define FONTID_OFFLINE 2
+#define FONTID_NOTONLIST 3
+#define FONTID_GROUPS 4
+#define FONTID_GROUPCOUNTS 5
+#define FONTID_DIVIDERS 6
+#define FONTID_OFFINVIS 7
+#define FONTID_STATUS 8
+#define FONTID_FRAMETITLE 9
+#define FONTID_EVENTAREA 10
+#define FONTID_TIMESTAMP 11
+#define FONTID_LAST FONTID_TIMESTAMP
+
+class CLCPaintHelper;
+
+struct ClcData : public ClcDataBase
+{
+ int *row_heights;
+ int row_heights_size;
+ int row_heights_allocated;
+
+ int row_border;
+ int min_row_heigh, group_row_height;
+
+ int currentFontID;
+ int rightMargin;
+ BYTE SelectMode;
+ BYTE isMultiSelect;
+ HWND hwndParent;
+ DWORD lastSort;
+ BOOL bNeedPaint, bisEmbedded, bHideSubcontacts;
+ DWORD lastRepaint;
+ BOOL forceScroll;
+ int oldSelection;
+ CLCPaintHelper *ph;
+};
+
+
+#define CLUI_FRAME_SHOWBOTTOMBUTTONS 2
+#define CLUI_SHOWCLIENTICONS 4
+#define CLUI_SHOWVISI 8
+#define CLUI_FRAME_CLISTSUNKEN 16
+#define CLUI_SHOWXSTATUS 32
+#define CLUI_FRAME_BUTTONSFLAT 64
+#define CLUI_FRAME_BUTTONSCLASSIC 128
+#define CLUI_USEMETAICONS 256
+#define CLUI_FRAME_AUTOHIDENOTIFY 512
+#define CLUI_STICKYEVENTS 2048
+#define CLUI_FRAME_SBARSHOW 4096
+#define CLUI_STATUSASTEXT 8192
+#define CLUI_FULLROWSELECT 16384
+#define CLUI_FRAME_BUTTONBARSUNKEN 65536
+#define CLUI_FRAME_AVATARS 0x20000
+#define CLUI_FRAME_AVATARSLEFT 0x40000
+#define CLUI_FRAME_GDIPLUS 0x80000
+#define CLUI_FRAME_AVATARBORDER 0x100000
+#define CLUI_FRAME_STATUSICONS 0x200000
+#define CLUI_FRAME_AVATARSRIGHTWITHNICK 0x400000
+#define CLUI_FRAME_TRANSPARENTAVATAR 0x800000
+//#define CLUI_FRAME_ROUNDAVATAR 0x1000000
+#define CLUI_FRAME_ALWAYSALIGNNICK 0x2000000
+#define CLUI_FRAME_AVATARSRIGHT 0x4000000
+#define CLUI_FRAME_SHOWSTATUSMSG 0x8000000
+#define CLUI_FRAME_OVERLAYICONS 0x10000000
+#define CLUI_FRAME_SELECTIVEICONS 0x20000000
+// #define CLUI_FRAME_ROUNDEDFRAME 0x40000000
+#define CLUI_FRAME_NOGROUPICON 0x80000000
+
+#define MULTIROW_NEVER 0
+#define MULTIROW_ALWAYS 1
+#define MULTIROW_IFNEEDED 2
+
+#define CLUI_USE_FLOATER 1
+#define CLUI_FLOATER_AUTOHIDE 2
+#define CLUI_FLOATER_EVENTS 4
+
+#define CLC_GROUPALIGN_LEFT 0
+#define CLC_GROUPALIGN_RIGHT 1
+#define CLC_GROUPALIGN_AUTO 2
+
+#define SORTBY_NAME 1
+#define SORTBY_PROTO 2
+#define SORTBY_STATUS 3
+#define SORTBY_LASTMSG 4
+#define SORTBY_FREQUENCY 5
+#define SORTBY_PRIOCONTACTS 6
+
+struct IconDesc {
+ char *szName;
+ char *szDesc;
+ int uId; // icon ID
+};
+
+struct NotifyMenuItemExData {
+ MCONTACT hContact;
+ int iIcon; // icon index in the image list
+ HICON hIcon; // corresponding icon handle
+ MEVENT hDbEvent;
+};
+
+#define BUTTON_HEIGHT_D 21
+#define BUTTON_WIDTH_D 21
+// #define NOTIFY_HEIGHT 24
+
+#define TOPBUTTON_PUSH 1
+#define TOPBUTTON_SENDONDOWN 2
+
+struct CluiTopButton {
+ HWND hwnd;
+ HICON hIcon, hAltIcon;
+ UINT id, idIcon, idAltIcon;
+ char *szIcoLibIcon, *szIcoLibAltIcon;
+ DWORD flags;
+ DWORD visibilityOrder;
+ wchar_t *szTooltip;
+};
+
+struct TrayIconInfo {
+ union {
+ HICON hIcon;
+ int iIcon;
+ };
+};
+
+typedef struct {
+ char protoName[50];
+ UINT menuID;
+ BOOL added;
+ HICON hIcon;
+} protoMenu;
+
+DWORD INTSORT_GetLastMsgTime(MCONTACT hContact);
+int InitCustomMenus(void);
+
+void DoSelectionDefaultAction(HWND hwnd, struct ClcData *dat);
+
+#define DROPTARGET_OUTSIDE 0
+#define DROPTARGET_ONSELF 1
+#define DROPTARGET_ONNOTHING 2
+#define DROPTARGET_ONGROUP 3
+#define DROPTARGET_ONCONTACT 4
+#define DROPTARGET_INSERTION 5
+
+BYTE GetCachedStatusMsg(int iExtraCacheEntry, char *szProto);
+void GetExtendedInfo(struct ClcContact *contact, struct ClcData *dat);
+extern LRESULT CALLBACK NewStatusBarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+
+int FrameNCCalcSize(HWND hwnd, WNDPROC oldWndProc, WPARAM wParam, LPARAM lParam, BOOL hasTitleBar);
+int FrameNCPaint(HWND hwnd, WNDPROC oldWndProc, WPARAM wParam, LPARAM lParam, BOOL hasTitleBar);
+
+void FreeProtocolData( void );
+void DSP_LoadFromDefaults(TDisplayProfile *);
+
+void GetClientID(struct ClcContact *contact, char *client);
+int LoadCLCButtonModule(void);
+void SetButtonStates(HWND hwnd);
+void IcoLibReloadIcons();
+int AvatarChanged(WPARAM wParam, LPARAM lParam);
+void ClearIcons(int mode);
+int GetBasicFontID(struct ClcContact * contact);
+extern int __fastcall CLVM_GetContactHiddenStatus(MCONTACT hContact, char *szStatus, struct ClcData *dat);
+void CreateViewModeFrame();
+void ReloadExtraInfo(MCONTACT hContact);
+void LoadAvatarForContact(struct ClcContact *p);
+void ApplyViewMode(const char *name);
+DWORD CalcXMask(MCONTACT hContact);
+
+void Reload3dBevelColors();
+void ReloadThemedOptions();
+void CreateButtonBar(HWND hWnd);
+void SetButtonToSkinned();
+void RTL_DetectAndSet(struct ClcContact *contact, MCONTACT hContact);
+void RTL_DetectGroupName(struct ClcContact *group);
+void CLN_LoadAllIcons(BOOL mode);
+void ReloadSkinItemsToCache();
+void SFL_RegisterWindowClass();
+void SFL_UnregisterWindowClass();
+void SFL_Create();
+void SFL_Destroy();
+void SFL_SetState(int iMode);
+void SFL_SetSize();
+void SFL_PaintNotifyArea();
+void SFL_Update(HICON hIcon, int iIcon, HIMAGELIST hIml, const wchar_t *szText, BOOL refresh);
+
+void FLT_Update(struct ClcData *dat, struct ClcContact *contact);
+int FLT_CheckAvail();
+void FLT_Create(int iEntry);
+void FLT_SetSize(struct TExtraCache *centry, LONG width, LONG height);
+void FLT_SyncWithClist();
+void FLT_ReadOptions();
+void FLT_WriteOptions();
+void FLT_RefreshAll();
+
+//clcopts.c
+int ClcOptInit(WPARAM wParam, LPARAM lParam);
+void CluiProtocolStatusChanged( int parStatus, const char* szProto );
+
+void LoadSkinItemToCache(struct TExtraCache *cEntry, const char *szProto);
+
+int Docking_IsDocked(WPARAM wParam, LPARAM lParam);
+
+// Menus
+
+int ClcSoundHook(WPARAM wParam, LPARAM lParam);
+
+int CoolSB_SetupScrollBar(HWND hwnd);
+
+#define NIIF_INTERN_UNICODE 0x00000100
+
+#define SETTING_WINDOWSTYLE_DEFAULT 0
+
+#define SETTING_TRAYICON_SINGLE 0
+#define SETTING_TRAYICON_CYCLE 1
+#define SETTING_TRAYICON_MULTI 2
+
+#define SETTING_STATE_HIDDEN 0
+#define SETTING_STATE_MINIMIZED 1
+#define SETTING_STATE_NORMAL 2
+
+#define SETTING_BRINGTOFRONT_DEFAULT 0
+
+#define SETTING_WINDOWSTYLE_TOOLWINDOW 1
+#define SETTING_WINDOWSTYLE_THINBORDER 2
+#define SETTING_WINDOWSTYLE_NOBORDER 3
+
+#define BM_SETPRIVATEICON (WM_USER + 6)
+#define BM_SETIMLICON (WM_USER + 7)
+#define BM_SETSKINNED (WM_USER + 8)
+#define BM_SETASMENUACTION (WM_USER + 9)
+#define BM_SETBTNITEM (WM_USER+10)
+
+#define EIMG_SHOW_RES0 8
+#define EIMG_SHOW_EMAIL 1
+#define EIMG_SHOW_WEB 2
+#define EIMG_SHOW_SMS 4
+#define EIMG_SHOW_ADV1 16
+#define EIMG_SHOW_ADV2 32
+#define EIMG_SHOW_ADV3 512
+#define EIMG_SHOW_CLIENT 64
+#define EIMG_SHOW_ADV4 1024
+#define EIMG_SHOW_RES1 128
+#define EIMG_SHOW_RES2 256
+
+#define CLCHT_ONITEMEXTRAEX 0x1000 //on an extra icon, HIBYTE(HIWORD()) says which
+#define CLCHT_ONAVATAR 0x2000
+#define CLCHT_ONITEMSPACE 0x4000
+
+#define CLM_SETEXTRAIMAGEINT (CLM_FIRST+101)
+#define CLM_SETSTICKY (CLM_FIRST+100)
+#define CLM_ISMULTISELECT (CLM_FIRST+102)
+#define CLM_SETEXTRAIMAGEINTMETA (CLM_FIRST+104)
+#define CLM_GETSTATUSMSG (CLM_FIRST+105)
+#define CLM_SETHIDESUBCONTACTS (CLM_FIRST+106)
+#define CLM_TOGGLEPRIORITYCONTACT (CLM_FIRST+107)
+#define CLM_QUERYPRIORITYCONTACT (CLM_FIRST+108)
+#define CLM_TOGGLEFLOATINGCONTACT (CLM_FIRST+109)
+#define CLM_QUERYFLOATINGCONTACT (CLM_FIRST+110)
+
+#define IDC_RESETMODES 110
+#define IDC_SELECTMODE 108
+#define IDC_CONFIGUREMODES 109
+
+#define NR_CLIENTS 40
+
+/*
+ * status and contact floater flags
+ */
+
+#define FLT_SIMPLE 1
+#define FLT_AVATARS 2
+#define FLT_DUALROW 4
+#define FLT_EXTRAICONS 8
+#define FLT_SYNCWITHCLIST 16
+#define FLT_AUTOHIDE 32
+#define FLT_SNAP 64
+#define FLT_BORDER 128
+#define FLT_ROUNDED 256
+#define FLT_FILLSTDCOLOR 512
+#define FLT_SHOWTOOLTIPS 1024
+#define FLT_ONTOP 2048
+
+typedef struct _floatopts {
+ DWORD dwFlags;
+ BYTE pad_left, pad_right, pad_top, pad_bottom;
+ DWORD width;
+ COLORREF border_colour;
+ BYTE trans, act_trans;
+ BYTE enabled;
+ BYTE def_hover_time;
+ WORD hover_time;
+} FLOATINGOPTIONS;
+
+extern FLOATINGOPTIONS g_floatoptions;
+
+#endif /* __CLC_H_*/
diff --git a/plugins/Clist_ng/INCLUDE/clist.h b/plugins/Clist_ng/INCLUDE/clist.h new file mode 100644 index 0000000000..9c6050b8cf --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/clist.h @@ -0,0 +1,56 @@ +/*
+ * astyle --force-indent=tab=4 --brackets=linux --indent-switches
+ * --pad=oper --one-line=keep-blocks --unpad=paren
+ *
+ * Miranda IM: the free IM client for Microsoft* Windows*
+ *
+ * Copyright 2000-2010 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 clist_ng plugin for Miranda.
+ *
+ * (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors
+ *
+ * $Id: clist.h 102 2010-08-31 02:48:29Z silvercircle $
+ *
+ */
+
+HTREEITEM GetTreeItemByHContact(HANDLE hContact);
+void SortContacts(void);
+
+#define CLUIINTM_REDRAW (WM_USER+100)
+#define CLUIINTM_STATUSBARUPDATE (WM_USER+101)
+#define CLUIINTM_REMOVEFROMTASKBAR (WM_USER+102)
+
+#define CLVM_FILTER_PROTOS 1
+#define CLVM_FILTER_GROUPS 2
+#define CLVM_FILTER_STATUS 4
+#define CLVM_FILTER_VARIABLES 8
+#define CLVM_STICKY_CONTACTS 16
+#define CLVM_FILTER_STICKYSTATUS 32
+#define CLVM_FILTER_LASTMSG 64
+#define CLVM_FILTER_LASTMSG_OLDERTHAN 128
+#define CLVM_FILTER_LASTMSG_NEWERTHAN 256
+
+#define CLVM_PROTOGROUP_OP 1
+#define CLVM_GROUPSTATUS_OP 2
+#define CLVM_AUTOCLEAR 4
+#define CLVM_INCLUDED_UNGROUPED 8
+#define CLVM_USELASTMSG 16
+
+#define CLVM_MODULE "CLVM_W"
diff --git a/plugins/Clist_ng/INCLUDE/clui.h b/plugins/Clist_ng/INCLUDE/clui.h new file mode 100644 index 0000000000..a09aa7f43a --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/clui.h @@ -0,0 +1,168 @@ +/*
+* astyle --force-indent=tab=4 --brackets=linux --indent-switches
+* --pad=oper --one-line=keep-blocks --unpad=paren
+*
+* Miranda IM: the free IM client for Microsoft* Windows*
+*
+* Copyright 2000-2010 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 clist_nicer plugin for Miranda.
+*
+* (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors
+*
+* $Id$
+*
+*/
+
+#ifndef __CLUI_H_
+#define __CLUI_H_
+
+#define TM_AUTOALPHA 1
+#define TIMERID_AUTOSIZE 100
+#define MENU_MIRANDAMENU 0xFFFF1234
+
+#define EXICON_COUNT 11
+
+struct TCluiData {
+ DWORD dwFlags;
+ int soundsOff;
+ BYTE bMetaAvail;
+ BYTE bAvatarServiceAvail, tabSRMM_Avail;
+ HICON hIconVisible, hIconInvisible, hIconChatactive, hIconConnecting;
+ int notifyActive;
+ int hIconNotify;
+ HMENU hMenuNotify;
+ int iLastEventAdded;
+ int wNextMenuID;
+ MCONTACT hUpdateContact;
+ wchar_t* szNoEvents;
+ BOOL forceResize;
+ COLORREF avatarBorder;
+ HBRUSH hBrushAvatarBorder;
+ HBRUSH hBrushCLCBk, hBrushCLCGroupsBk;
+ int avatarSize;
+ BOOL bForceRefetchOnPaint;
+ BYTE dualRowMode;
+ BYTE avatarPadding;
+ BYTE isTransparent;
+ BYTE alpha, autoalpha;
+ BYTE fadeinout;
+ BYTE autosize;
+ BYTE gapBetweenFrames;
+ BYTE titleBarHeight;
+ DWORD dwExtraImageMask;
+ BYTE bRowSpacing;
+ HDC hdcBg;
+ HBITMAP hbmBg, hbmBgOld;
+ SIZE dcSize;
+ POINT ptW;
+ BOOL bNoOfflineAvatars;
+ BOOL bEventAreaEnabled;
+ BOOL bDblClkAvatars;
+ BOOL bApplyIndentToBg;
+ BOOL bEqualSections;
+ DWORD bFilterEffective;
+ BOOL bCenterStatusIcons;
+ BOOL bUsePerProto;
+ BOOL bOverridePerStatusColors;
+ BOOL bDontSeparateOffline;
+ wchar_t groupFilter[2048];
+ char protoFilter[2048];
+ DWORD lastMsgFilter;
+ char current_viewmode[256], old_viewmode[256];
+ BYTE boldHideOffline;
+ DWORD statusMaskFilter;
+ DWORD stickyMaskFilter;
+ DWORD filterFlags;
+ COLORREF colorkey;
+ char szMetaName[256];
+ BOOL bMetaEnabled;
+ BOOL bNoTrayTips;
+ int exIconScale;
+ BOOL bShowLocalTime;
+ BOOL bShowLocalTimeSelective;
+ BYTE bSkinnedButtonMode;
+ BYTE bFirstRun;
+ BYTE bUseDCMirroring;
+ BYTE bUseFloater;
+ SIZE szOldCTreeSize;
+ BYTE sortOrder[3];
+ BYTE bGroupAlign;
+ BYTE bSkinnedScrollbar;
+ DWORD langPackCP;
+ int group_padding;
+ DWORD t_now;
+ BYTE exIconOrder[EXICON_COUNT];
+ BOOL realTimeSaving;
+ FILETIME ft;
+ SYSTEMTIME st;
+};
+
+class CLUI
+{
+public:
+ static void Tweak_It (const COLORREF clr);
+ static void layoutButtons (HWND hwnd, RECT *rc);
+ static HWND preCreateCLC (HWND parent);
+ static int createCLC (HWND parent);
+ static void loadModule (void);
+ static int modulesLoaded (WPARAM wParam, LPARAM lParam);
+ static LRESULT CALLBACK wndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static void configureGeometry (int mode);
+ static void reloadExtraIcons ();
+ static void loadExtraIconModule ();
+ static void removeFromTaskBar (HWND hWnd);
+ static void addToTaskBar (HWND hWnd);
+ static DWORD getWindowStyle (BYTE style);
+ static void applyBorderStyle ();
+ static LRESULT CALLBACK eventAreaWndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static void setFrameButtonStates (MCONTACT hPassedContact);
+ static void Show (HWND hwnd);
+ static void setButtonStates (HWND hwnd);
+ static void configureWindowLayout ();
+ static void hideShowNotifyFrame ();
+ static void configureEventArea (HWND hwnd);
+ static void updateLayers ();
+ static void setLayeredAttributes (COLORREF clr, BYTE alpha, DWORD flags);
+ static inline void Redraw ();
+ static HPEN hPenFrames;
+ static int fading_active;
+ static bool fInSizing;
+ static LRESULT (CALLBACK* saveContactListWndProc ) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
+ static WNDPROC OldStatusBarProc;
+ static RECT newRect, rcWPC, cluiPos;
+ static UPDATELAYEREDWINDOWINFO ulwInfo;
+ static BLENDFUNCTION bf;
+ static HIMAGELIST hExtraImages;
+ static TImageItem* bgImageItem, *bgImageItem_nonAero, *bgClientItem;
+ static TButtonItem* buttonItems;
+#ifdef _USE_D2D
+ static ID2D1HwndRenderTarget* renderTarget;
+#endif
+};
+
+void CLUI::Redraw()
+{
+ RedrawWindow(pcli->hwndContactList, NULL, NULL, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_UPDATENOW | RDW_ALLCHILDREN);
+}
+
+int MTG_OnmodulesLoad (WPARAM wParam,LPARAM lParam);
+//void InitGroupMenus ();
+
+#endif /* __CLUI_H_ */
diff --git a/plugins/Clist_ng/INCLUDE/config.h b/plugins/Clist_ng/INCLUDE/config.h new file mode 100644 index 0000000000..9b73859366 --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/config.h @@ -0,0 +1,272 @@ +/*
+ * astyle --force-indent=tab=4 --brackets=linux --indent-switches
+ * --pad=oper --one-line=keep-blocks
+ *
+ * Miranda IM: the free IM client for Microsoft* Windows*
+ *
+ * Copyright 2000-2010 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 clist_nicer plugin for Miranda.
+ *
+ * (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors
+ *
+ * $Id: config.h 134 2010-10-01 10:23:10Z silvercircle $
+ *
+ */
+
+#include <stdexcept>
+
+#ifndef __CONFIG_H_
+#define __CONFIG_H_
+
+#define DEFAULT_MODULE "Clist"
+#define SKIN_REQUIRED_VERSION 5
+
+#define IS_THEMED (Api::sysState.isThemed)
+#define IS_AERO (Api::sysState.isAero)
+
+typedef BOOL (WINAPI *PGF)(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG);
+
+typedef int (__cdecl *pfnDrawAvatar)(HDC hdcOrig, HDC hdcMem, RECT *rc, struct ClcContact *contact, int y, struct ClcData *dat, int selected, WORD cstatus, int rowHeight);
+typedef BOOL (WINAPI *pfnSetLayeredWindowAttributes_t)(HWND, COLORREF, BYTE, DWORD);
+typedef BOOL (WINAPI *pfnUpdateLayeredWindow_t)(HWND, HDC, POINT *, SIZE *, HDC, POINT *, COLORREF, BLENDFUNCTION *, DWORD);
+typedef HMONITOR(WINAPI *pfnMonitorFromWindow_t)(HWND, DWORD);
+typedef BOOL (WINAPI *pfnGetMonitorInfo_t)(HMONITOR, LPMONITORINFO);
+typedef BOOL (WINAPI *pfnTrackMouseEvent_t)(LPTRACKMOUSEEVENT);
+typedef DWORD (WINAPI *pfnSetLayout_t)(HDC, DWORD);
+typedef void (__cdecl *pfnDrawAlpha_t)(HDC hdcwnd, PRECT rc, DWORD basecolor, BYTE alpha, DWORD basecolor2, BOOL transparent, DWORD FLG_GRADIENT, DWORD FLG_CORNER, DWORD BORDERSTYLE, TImageItem *item);
+typedef BOOL (WINAPI *pfnAlphaBlend_t)(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION);
+
+typedef BOOL (WINAPI *pfnIsThemeActive_t)();
+typedef HANDLE (WINAPI *pfnOpenThemeData_t)(HWND, LPCWSTR);
+typedef UINT (WINAPI *pfnDrawThemeBackground_t)(HANDLE, HDC, int, int, RECT *, RECT *);
+typedef UINT (WINAPI *pfnCloseThemeData_t)(HANDLE);
+typedef UINT (WINAPI *pfnDrawThemeText_t)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, DWORD, RECT *);
+typedef UINT (WINAPI *pfnDrawThemeTextEx_t)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, RECT *, const DTTOPTS *);
+typedef BOOL (WINAPI *pfnIsThemeBackgroundPartiallyTransparent_t)(HANDLE, int, int);
+typedef HRESULT (WINAPI *pfnDrawThemeParentBackground_t)(HWND, HDC, RECT *);
+typedef HRESULT (WINAPI *pfnGetThemeBackgroundContentRect_t)(HANDLE, HDC, int, int, const RECT *, const RECT *);
+typedef BOOL (WINAPI *pfnEnableThemeDialogTexture_t)(HANDLE, DWORD);
+typedef HRESULT (WINAPI *pfnDwmExtendFrameIntoClientArea_t)(HWND hwnd, const MARGINS *margins);
+typedef HRESULT (WINAPI *pfnDwmIsCompositionEnabled_t)(BOOL *);
+
+typedef HRESULT (WINAPI *pfnBufferedPaintInit_t)(void);
+typedef HRESULT (WINAPI *pfnBufferedPaintUninit_t)(void);
+typedef HANDLE (WINAPI *pfnBeginBufferedPaint_t)(HDC, RECT *, BP_BUFFERFORMAT, BP_PAINTPARAMS *, HDC *);
+typedef HRESULT (WINAPI *pfnEndBufferedPaint_t)(HANDLE, BOOL);
+typedef HRESULT (WINAPI *pfnBufferedPaintSetAlpha_t)(HANDLE, const RECT *, BYTE);
+typedef HRESULT (WINAPI *pfnBufferedPaintClear_t)(HANDLE, const RECT *);
+typedef HRESULT (WINAPI *pfnDwmBlurBehindWindow_t)(HWND, DWM_BLURBEHIND *);
+typedef HRESULT (WINAPI *pfnDwmGetColorizationColor_t)(DWORD *, BOOL *);
+typedef HRESULT (WINAPI *pfnGetBufferedPaintBits_t)(HANDLE, RGBQUAD **, int *);
+typedef ULONGLONG(WINAPI *pfnGetTickCount64_t)(void);
+
+struct ContactFloater;
+
+struct TExtraCache {
+ BYTE iExtraImage[20];
+ MCONTACT hContact;
+ HANDLE hTimeZone;
+ DWORD iExtraValid;
+ BYTE valid;
+ wchar_t* statusMsg;
+ BYTE bStatusMsgValid;
+ DWORD dwCFlags;
+ DWORD dwXMask; // local extra icon mask, calculated from CLN_xmask
+ TStatusItem *status_item, *proto_status_item;
+ ContactFloater *floater; // associated floating contact window
+ DWORD dwLastMsgTime; // last message received (unix timestamp)
+ DWORD msgFrequency; // "message rate" - for sorting by activity
+ BOOL isChatRoom; // a chat room
+};
+
+class CRTException : public std::runtime_error
+{
+public:
+ CRTException(const char *szMsg, const wchar_t *szParam);
+ ~CRTException() {}
+
+ void display() const;
+
+private:
+ wchar_t m_szParam[MAX_PATH];
+};
+
+struct TSkinDescription {
+ ULONG ulID; // resource id
+ wchar_t tszName[30]; // file name
+};
+
+class cfg
+{
+public:
+ static void initCache();
+ static int onInit(); // early stage inite (read base path, extract resources)
+
+ static DWORD getDword(const MCONTACT hContact, const char *szModule, const char *szSetting, DWORD uDefault);
+ static DWORD getDword(const char *szModule, const char *szSetting, DWORD uDefault);
+ static DWORD getDword(const char *szSetting, DWORD uDefault);
+
+ static WORD getWord(const MCONTACT hContact, const char *szModule, const char *szSetting, WORD uDefault);
+ static WORD getWord(const char *szModule, const char *szSetting, WORD uDefault);
+ static WORD getWord(const char *szSetting, WORD uDefault);
+
+ static int getByte(const MCONTACT hContact, const char *szModule, const char *szSetting, int uDefault);
+ static int getByte(const char *szModule, const char *szSetting, int uDefault);
+ static int getByte(const char *szSetting, int uDefault);
+
+ static INT_PTR getTString(const MCONTACT hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv);
+ static INT_PTR getString(const MCONTACT hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv);
+
+ static INT_PTR writeDword(const MCONTACT hContact, const char *szModule, const char *szSetting, DWORD value);
+ static INT_PTR writeDword(const char *szModule, const char *szSetting, DWORD value);
+
+ static INT_PTR writeWord(const MCONTACT hContact, const char *szModule, const char *szSetting, WORD value);
+ static INT_PTR writeWord(const char *szModule, const char *szSetting, WORD value);
+
+ static INT_PTR writeByte(const MCONTACT hContact, const char *szModule, const char *szSetting, BYTE value);
+ static INT_PTR writeByte(const char *szModule, const char *szSetting, BYTE value);
+
+ static INT_PTR writeTString(const MCONTACT hContact, const char *szModule, const char *szSetting, const wchar_t *st);
+ static INT_PTR writeString(const MCONTACT hContact, const char *szModule, const char *szSetting, const char *st);
+ static int getCache(const MCONTACT hContact, const char *szProto);
+ static void FS_RegisterFonts();
+ static CLUIFrames *FrameMgr;
+
+ /*
+ * option dialog procedures
+ */
+ static INT_PTR CALLBACK DlgProcClcMainOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcViewModesSetup(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcFloatingContacts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK SkinOptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcCluiOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcSBarOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK TabOptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcDspGroups(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcDspItems(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcDspAdvanced(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcDspClasses(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcXIcons(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcDspProfiles(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK DlgProcSkinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+
+
+ static void ReloadExtraIcons();
+ static void extractBaseSkin(bool fForceOverwrite);
+
+public:
+ static TCluiData dat;
+ static ClcData* clcdat;
+ static TExtraCache* eCache;
+ static int nextCacheEntry, maxCacheEntry;
+ static int maxStatus;
+
+ static CRITICAL_SECTION cachecs;
+
+ static bool shutDown;
+ static bool isAero;
+ static wchar_t szProfileDir[MAX_PATH];
+ static bool fBaseSkinValid;
+ static FI_INTERFACE* fif;
+
+ static TSkinDescription cfg::my_default_skin[];
+};
+
+struct TSysConfig {
+ bool isVistaPlus;
+ bool isSevenPlus;
+};
+
+struct TSysState {
+ bool isThemed;
+ bool isAero;
+ bool isDwmActive;
+};
+
+class Api
+{
+public:
+ static int onInit();
+ static void onUnload();
+ static void updateState();
+
+ static void Ex_CopyEditToClipboard(HWND hWnd);
+ static INT_PTR CALLBACK Ex_DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ static void Ex_Handler();
+ static int Ex_ShowDialog(EXCEPTION_POINTERS *ep, const char *szFile, int line, wchar_t* szReason, bool fAllowContinue);
+
+ /*
+ * helpers
+ */
+
+ static PGF pfnGradientFill;
+ static pfnAlphaBlend_t pfnAlphaBlend;
+ static pfnGetTickCount64_t pfnGetTickCount64;
+ /*
+ * uxtheme
+ */
+
+ static pfnIsThemeActive_t pfnIsThemeActive;
+ static pfnOpenThemeData_t pfnOpenThemeData;
+ static pfnDrawThemeBackground_t pfnDrawThemeBackground;
+ static pfnCloseThemeData_t pfnCloseThemeData;
+ static pfnDrawThemeText_t pfnDrawThemeText;
+ static pfnDrawThemeTextEx_t pfnDrawThemeTextEx;
+ static pfnIsThemeBackgroundPartiallyTransparent_t pfnIsThemeBackgroundPartiallyTransparent;
+ static pfnDrawThemeParentBackground_t pfnDrawThemeParentBackground;
+ static pfnGetThemeBackgroundContentRect_t pfnGetThemeBackgroundContentRect;
+ static pfnEnableThemeDialogTexture_t pfnEnableThemeDialogTexture;
+
+ /*
+ * UxTheme buffered paint API (Vista+)
+ */
+ static pfnBufferedPaintInit_t pfnBufferedPaintInit;
+ static pfnBufferedPaintUninit_t pfnBufferedPaintUninit;
+ static pfnBeginBufferedPaint_t pfnBeginBufferedPaint;
+ static pfnEndBufferedPaint_t pfnEndBufferedPaint;
+ static pfnBufferedPaintSetAlpha_t pfnBufferedPaintSetAlpha;
+ static pfnBufferedPaintClear_t pfnBufferedPaintClear;
+ static pfnGetBufferedPaintBits_t pfnGetBufferedPaintBits;
+
+ /*
+ * DWM
+ */
+ static pfnDwmBlurBehindWindow_t pfnDwmBlurBehindWindow;
+ static pfnDwmGetColorizationColor_t pfnDwmGetColorizationColor;;
+ static pfnDwmExtendFrameIntoClientArea_t pfnDwmExtendFrameIntoClientArea;
+ static pfnDwmIsCompositionEnabled_t pfnDwmIsCompositionEnabled;
+
+ static TSysConfig sysConfig;
+ static TSysState sysState;
+
+ static EXCEPTION_RECORD exRecord;
+ static CONTEXT exCtx;
+ static LRESULT exLastResult;
+ static char exSzFile[MAX_PATH];
+ static wchar_t exReason[256];
+ static int exLine;
+ static bool exAllowContinue;
+
+ static HMODULE hUxTheme, hDwm;
+};
+
+
+#endif /* __CONFIG_H_*/
diff --git a/plugins/Clist_ng/INCLUDE/gfx.h b/plugins/Clist_ng/INCLUDE/gfx.h new file mode 100644 index 0000000000..10b4da7e19 --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/gfx.h @@ -0,0 +1,501 @@ +/* +* astyle --force-indent=tab=4 --brackets=linux --indent-switches +* --pad=oper --one-line=keep-blocks --unpad=paren +* +* Miranda IM: the free IM client for Microsoft* Windows* +* +* Copyright 2000-2010 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 clist_ng plugin for Miranda. +* +* (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors +* +* $Id: gfx.h 137 2010-10-16 21:03:23Z silvercircle $ +* +* low level painting functions - manage DCs, render skin image glyphs, +* text and backbuffer drawing. +* +* provide wrappers for AGG render pipelines +* +*/ + +#ifndef __GFX_H_ +#define __GFX_H_ + +#define M_PI 3.14159265358979323846 + +BYTE __forceinline percent_to_byte(UINT32 percent) +{ + return(BYTE) ((FLOAT) (((FLOAT) percent) / 100) * 255); +} + +class AGGBaseContext +{ +public: + /** + * CTOR - construct AGGBaseContext and attach it to a bitmap + * @param hdc device context (not really needed) + * @param hbm bitmap handle + * @return + */ + AGGBaseContext(HDC hdc, HBITMAP hbm) + { + m_hdc= hdc; + attach(hbm); + } + + /** + * construct AGGBaseContext and attach it to a in-memory bitmap used + * by a BufferedPaint operation + * @param hdc device context (not really required) + * @param rgbq RGBQUAD* memory buffer with bitmap bits in BGRA32 format + * @param width bitmap width (can be larger than the actual painting rectangle) + * @param height bitmap height + * @return + */ + AGGBaseContext(HDC hdc, RGBQUAD* rgbq, LONG width, LONG height) + { + m_hdc = hdc; + attach(rgbq, width, height); + } + + /** + * construct an empty AGGBase context and assign the optional HDC + * must be attached to a memory bitmap later by using one of the + * attach() methods. + * @param hdc device context + * @return + */ + AGGBaseContext(HDC hdc) { m_hdc = hdc; } + + /** + * attach the AGG rendering buffer to a memory bitmap, selected into a HDC for + * off-screen drawing. + * @param hbm bitmap to use for rendering. + */ + void attach(HBITMAP hbm) + { + BITMAP bm; + ::GetObject(hbm, sizeof(bm), &bm); + + m_rbuf.attach((unsigned char*)bm.bmBits, bm.bmWidth, bm.bmHeight, bm.bmWidthBytes); + } + + /** + * attach the AGG rendering buffer to a RGBQUAD array (as returned by + * GetBufferedPaintBits() API + * + * @param rgbq pointer to memory buffer holding the bitmap bits + * @param width width (in pixels, always properly aligned) + * @param height height (in pixels) + */ + void attach(RGBQUAD* rgbq, LONG width, LONG height) + { + m_rbuf.attach((unsigned char *)rgbq, width, height, width * 4); + } + + HDC m_hdc; + agg::rendering_buffer m_rbuf; + + ~AGGBaseContext() {} +}; + +class AGGContext +{ +public: + AGGContext(HBITMAP hbm) + { + BITMAP bm; + ::GetObject(hbm, sizeof(bm), &bm); + + m_rbuf.attach((unsigned char*)bm.bmBits, bm.bmWidth, bm.bmHeight, bm.bmWidthBytes); + initPipeline(); + }; + + AGGContext(RGBQUAD* rgbq, LONG width, LONG height) + { + m_rbuf.attach((unsigned char *)rgbq, width, height, width * 4); + initPipeline(); + } + + AGGContext() {} + + void initPipeline() + { + m_pixfmt.attach(m_rbuf); + m_rbase.attach(m_pixfmt); + m_solid_renderer.attach(m_rbase); + m_span_interpolator = agg::span_interpolator_linear<>(m_gradient_trans); + m_span_gradient = span_gradient_t(m_span_interpolator, m_gradient_func, m_color_array, 0, 200); + m_gradient_renderer.attach(m_rbase, m_span_allocator, m_span_gradient); + } + + void attach(HBITMAP hbm) + { + BITMAP bm; + ::GetObject(hbm, sizeof(bm), &bm); + + m_rbuf.attach((unsigned char*)bm.bmBits, bm.bmWidth, bm.bmHeight, bm.bmWidthBytes); + initPipeline(); + } + + void attach(RGBQUAD* rgbq, LONG width, LONG height, LONG stride) + { + m_rbuf.attach((unsigned char *)rgbq, width, height, stride); + initPipeline(); + } + + /* + * fill the color array we need for the gradient with + */ + template<class Array> static void fill_color_array(Array& arr, agg::rgba8& begin, agg::rgba8& end) + { + unsigned size = arr.size(); + + for(unsigned i = 0; i < size; ++i) + arr[i] = begin.gradient(end, i / double(size)); + } + +public: + agg::rendering_buffer m_rbuf; + agg::pixfmt_bgra32 m_pixfmt; + agg::renderer_base<agg::pixfmt_bgra32> m_rbase; + + agg::renderer_scanline_aa_solid<agg::renderer_base<agg::pixfmt_bgra32> > m_solid_renderer; + typedef agg::span_gradient<agg::rgba8, agg::span_interpolator_linear<>, agg::gradient_x, agg::pod_auto_array<agg::rgba8, 256> > span_gradient_t; + typedef agg::span_allocator<agg::rgba8> span_allocator_t; + + agg::renderer_scanline_aa<agg::renderer_base<agg::pixfmt_bgra32>, span_allocator_t, span_gradient_t> m_gradient_renderer; + + span_allocator_t m_span_allocator; + span_gradient_t m_span_gradient; + agg::span_interpolator_linear<> m_span_interpolator; + agg::gradient_x m_gradient_func; + agg::pod_auto_array<agg::rgba8, 256> m_color_array; + agg::trans_affine m_gradient_trans; +}; + +class AGGPaintHelper +{ +public: + AGGPaintHelper(HDC hdc) + { + hdcMem = hdc; + aggctx = new AGGBaseContext(hdcMem); + } + + ~AGGPaintHelper() + { + delete aggctx; + }; + +public: + agg::rounded_rect* current_shape; + AGGBaseContext* aggctx; + HDC hdcMem; +}; + +class CLCPaintHelper : public AGGPaintHelper +{ +public: + CLCPaintHelper(const HWND hwndCLC, ClcData* clcdat, DWORD windowstyle, RECT* rc, int yFirst, int fontShift, int idx) : AGGPaintHelper(0) + { + hwnd = hwndCLC; + indent = 0; + dat = clcdat; + style = windowstyle; + clRect = rc; + y = yFirst; + index = idx; + bFirstNGdrawn = false; + groupCountsFontTopShift = fontShift; + isContactFloater = false; + } + + void setHDC(const HDC hdc) + { + hdcMem = hdc; + } + + virtual ~CLCPaintHelper() {}; + + void setFloater () { isContactFloater = true; } + void Paint (ClcGroup* group, ClcContact* contact, int rowHeight); + int drawAvatar (RECT *rc, ClcContact *contact, int y, WORD cstatus, int rowHeight); + HFONT changeToFont (const unsigned int id); + void setHotTrackColour (); + + int indent; + int y; + int index; + int fSelected; + HANDLE hTheme, hbp; + bool fAvatar, fSecondLine; + TDspOverride* dsp; + + HWND hwnd; + ClcData* dat; + DWORD style; + RECT* clRect; + bool bFirstNGdrawn; + int groupCountsFontTopShift; + bool isContactFloater; + + TStatusItem *sevencontact_pos, *soddcontact_pos, *sfirstitem, + *ssingleitem, *slastitem, *sfirstitem_NG, *ssingleitem_NG, *slastitem_NG; + +private: + int m_fontHeight; +}; + +class Gfx +{ +public: +#ifdef _USE_D2D + static ID2D1Factory* pD2DFactory; +#endif + static COLORREF txtColor; + //static ULONG_PTR gdiPlusToken; + //static Gdiplus::GdiplusStartupInput gdiPlusStartupInput; + +public: + static inline HANDLE initiateBufferedPaint (const HDC hdcSrc, RECT& rc, HDC& hdcOut); + static inline void finalizeBufferedPaint (HANDLE hbp, RECT *rc, BYTE alpha = 0); + static HBITMAP createRGBABitmap (const LONG cx, const LONG cy); + static inline void drawBGFromSurface (const HWND hwnd, const RECT& rc, HDC hdc); + static inline void renderSkinItem (HDC hdc, RECT* rc, TImageItem* item); + static inline void renderSkinItem (AGGPaintHelper *ph, TStatusItem *item, RECT* rc); + + static void setBitmapAlpha (HBITMAP hBitmap, BYTE bAlpha); + static void deSaturate (HBITMAP hBitmap, bool fReduceContrast = false); + static void preMultiply (HBITMAP hBitmap, int mode); + static void __fastcall renderImageItem (HDC hdc, TImageItem *item, RECT *rc); + static void colorizeGlyph (TImageItem *item, const COLORREF clr, float H, float S, float V); + + static inline void hsvTransformPixel (BYTE *p, float value, float vsu, float vsw, BYTE alpha); + static inline void rgbTransformPixel (BYTE *p, float r, float g, float b, BYTE alpha); + + static void D2D_Init (); + static void D2D_Release (); + + static inline void setTextColor (const COLORREF clr); + static inline COLORREF getTextColor (); + static int renderText (HDC hdc, HANDLE hTheme, const TCHAR *szText, RECT *rc, DWORD dtFlags, const int iGlowSize = 0, int length = -1, bool fForceAero = false); + static void shutDown() { if (m_p) free(m_p); } + + /** + * load a png image using miranda image load service. + * + * @param szFilename full path and filename of the image + * + * @return HBITMAP of the image loaded + */ + template<class T> static HBITMAP loadPNG(const T* szFilename) + { + HBITMAP hBitmap = 0; + DWORD dwFlags = 0; + + if(sizeof(T) > 1) + dwFlags = IMGL_WCHAR; + + hBitmap = (HBITMAP)CallService(MS_IMG_LOAD, (WPARAM)szFilename, dwFlags); + if(CALLSERVICE_NOTFOUND == (INT_PTR)hBitmap) { + hBitmap = 0; + throw(CRTException("Critical error while loading a skin", L"The image service plugin is not available")); + } + return(hBitmap); + } + + /* + * a generic buffer used by various things in the class Will only be realloc'd and grow when + * needed. Free'd on shutdown. It's primarily used by bitmap operations as temporary buffer + */ + static BYTE* m_p; + static size_t m_sAllocated; +}; + +/* + * some inlined functions + */ + +/** + * Initiate a buffered paint operation + * + * @param hdcSrc The source device context (usually obtained by BeginPaint()) + * @param rc RECT&: the target rectangle that receives the painting + * @param hdcOut HDC& (out) receives the buffered device context handle + * + * @return (HANDLE) buffered paint handle + */ +inline HANDLE Gfx::initiateBufferedPaint(const HDC hdcSrc, RECT& rc, HDC& hdcOut) +{ + HANDLE hbp = Api::pfnBeginBufferedPaint(hdcSrc, &rc, BPBF_TOPDOWNDIB, NULL, &hdcOut); + return(hbp); +} + +/** + * finalize buffered paint cycle and apply (if applicable) the global alpha value + * + * @param hbp HANDLE: handle of the buffered paint context + * @param rc RECT*: target rectangly where alpha value should be applied + */ +inline void Gfx::finalizeBufferedPaint(HANDLE hbp, RECT *rc, BYTE alpha) +{ + if(alpha > 0) + Api::pfnBufferedPaintSetAlpha(hbp, rc, alpha); + Api::pfnEndBufferedPaint(hbp, TRUE); +} + +/** + * blit the background from the back buffer surface (cfg::dat.hdcBg) to the + * client area of the child frame. + * @param hwnd child window handle + * @param rcCl child window client area + * @param hdc painting DC + */ +inline void Gfx::drawBGFromSurface(const HWND hwnd, const RECT& rcCl, HDC hdc) +{ + RECT rcMapped = rcCl; + + MapWindowPoints(hwnd, pcli->hwndContactList, (POINT *)&rcMapped, 2); + BitBlt(hdc, rcCl.left, rcCl.top, rcCl.right - rcCl.left, rcCl.bottom - rcCl.top, cfg::dat.hdcBg, + rcMapped.left, rcMapped.top, SRCCOPY); +} + +/** + * render a simply skin item (image item only, do not render the underlays) + * @param hdc device context + * @param rc target rectangle + * @param imageItem image item to render + */ +inline void Gfx::renderSkinItem(HDC hdc, RECT* rc, TImageItem *imageItem) +{ + if(imageItem) + renderImageItem(hdc, imageItem, rc); +} + +/** + * render a skin item with a possible underlay (gradient and corner + * shape) + * @param ph CLCPaintHelper* (clc painting context with AGG base context) + * @param item TStatusItem* (item to render) + * @param rc target rectangle + */ +inline void Gfx::renderSkinItem(AGGPaintHelper *ph, TStatusItem *item, RECT* rc) +{ + TImageItem *imageItem = item->imageItem; + + if (CLC::fInPaint && CLC::iHottrackItem) { + item = &Skin::statusItems[ID_EXTBKHOTTRACK]; + if (item->IGNORED == 0) + imageItem = item->imageItem; + CLC::fHottrackDone = true; + } + + if(!(item->dwFlags & S_ITEM_SKIP_UNDERLAY)) { + /* + * attach the item rendering pipeline to the AGG context rendering buffer + */ + item->pixfmt->attach(ph->aggctx->m_rbuf); + item->rbase->attach(*(item->pixfmt)); + if(item->dwFlags & AGG_USE_GRADIENT_X_RENDERER) { + item->span_gradient_x->d1(rc->left); + item->span_gradient_x->d2(rc->right); + } + else { + item->span_gradient_y->d1(rc->top); + item->span_gradient_y->d2(rc->bottom); + } + + /* + * for each rendering cycle, the first shape defines the final shape for this item + * this allows items like "first item of a group" or "last item of a group" define + * their own shapes - overlays like a selection or hottrack item will use the + * original shape and only render their own color(s). + */ + if(0 == ph->current_shape) + ph->current_shape = item->rect; + + ph->current_shape->rect(rc->left, rc->top, rc->right, rc->bottom); + + agg::rasterizer_scanline_aa<> r; + r.add_path(*(ph->current_shape)); + agg::scanline_p8 sl; + + if(item->dwFlags & AGG_USE_GRADIENT_X_RENDERER) + agg::render_scanlines(r, sl, *(item->gradient_renderer_x)); + else if(item->dwFlags & AGG_USE_GRADIENT_Y_RENDERER) + agg::render_scanlines(r, sl, *(item->gradient_renderer_y)); + else + agg::render_scanlines(r, sl, *(item->solid_renderer)); + } + if(imageItem && !(item->dwFlags & S_ITEM_SKIP_IMAGE)) + renderImageItem(ph->hdcMem, imageItem, rc); +} + +/** + * set our text color for Gfx::RenderText() - replaces GDI SetTextColor() for all + * cases where we are using DrawThemeTextEx() for full 32bit text rendering. + * @param clr new text color to use + */ +inline void Gfx::setTextColor(const COLORREF clr) +{ + txtColor = clr; +} + +inline COLORREF Gfx::getTextColor() +{ + return(txtColor); +} + +inline void Gfx::hsvTransformPixel(BYTE *p, float value, float v_s_u, float v_s_w, BYTE alpha) +{ + // ain't matrices beautiful? :) + + float r = (.299 * value +.701 * v_s_u +.168 * v_s_w) * p[2] + (.587 * value -.587 * v_s_u +.330 * v_s_w) * p[1] + (.114 * value -.114 * v_s_u -.497 * v_s_w) * p[0]; + float g = (.299 * value -.299 * v_s_u -.328 * v_s_w) * p[2] + (.587 * value +.413 * v_s_u +.035 * v_s_w) * p[1] + (.114 * value -.114 * v_s_u +.292 * v_s_w) * p[0]; + float b = (.299 * value -.3 * v_s_u +1.25 * v_s_w) * p[2]+ (.587* value -.588 * v_s_u -1.05 * v_s_w) * p[1] + (.114 * value +.886 * v_s_u -.203 * v_s_w) * p[0]; + + /* + * premultiply + */ + p[0] = (int)b * alpha/255; + p[1] = (int)g * alpha/255; + p[2] = (int)r * alpha/255; +} + +inline void Gfx::rgbTransformPixel(BYTE *p, float r, float g, float b, BYTE alpha) +{ + p[0] = (int)(p[0] + b) > 255 ? 255 : p[0] + b; + p[1] = (int)(p[1] + g) > 255 ? 255 : p[1] + g; + p[2] = (int)(p[2] + r) > 255 ? 255 : p[2] + r; + + p[0] = p[0] * alpha/255; + p[1] = p[1] * alpha/255; + p[2] = p[2] * alpha/255; +} + +#ifndef _XP_SUPPORT +#define INIT_PAINT(a, b, c) (hbp = Gfx::initiateBufferedPaint((a), (b), (c))) +#define FINALIZE_PAINT(a, b, c) Gfx::finalizeBufferedPaint((a), (b), (c)) +#else +#endif + +#endif /*__GFX_H_*/ + diff --git a/plugins/Clist_ng/INCLUDE/m_cln_skinedit.h b/plugins/Clist_ng/INCLUDE/m_cln_skinedit.h new file mode 100644 index 0000000000..6022874a39 --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/m_cln_skinedit.h @@ -0,0 +1,201 @@ +
+/*
+ * services
+ */
+
+#define MS_CLNSE_INVOKE "CLN_Skinedit/Invoke"
+#define MS_CLNSE_FILLBYCURRENTSEL "CLN_Skinedit/FillByCurrentSel"
+
+/*
+ * data structs
+ */
+
+struct TImageItem {
+ char szName[40];
+ HBITMAP hbm;
+ BYTE bLeft, bRight, bTop, bBottom; // sizing margins
+ BYTE alpha;
+ DWORD dwFlags;
+ HDC hdc;
+ HBITMAP hbmOld;
+ LONG inner_height, inner_width;
+ LONG width, height;
+ BLENDFUNCTION bf;
+ BYTE bStretch;
+ HBRUSH fillBrush;
+ LONG glyphMetrics[4];
+ TImageItem *nextItem;
+};
+
+struct TButtonItem {
+ char szName[40];
+ HWND hWnd;
+ LONG xOff, yOff;
+ //LONG xOff_framed, yOff_framed;
+ LONG width, height;
+ TImageItem *imgNormal, *imgPressed, *imgHover;
+ LONG normalGlyphMetrics[4];
+ LONG hoverGlyphMetrics[4];
+ LONG pressedGlyphMetrics[4];
+ DWORD dwFlags, dwStockFlags;
+ DWORD uId;
+ TCHAR szTip[256];
+ char szService[256];
+ char szModule[256], szSetting[256];
+ BYTE bValuePush[256], bValueRelease[256];
+ DWORD type;
+ void (*pfnAction)(TButtonItem *item, HWND hwndDlg, struct MessageWindowData *dat, HWND hwndItem);
+ void (*pfnCallback)(TButtonItem *item, HWND hwndDlg, struct MessageWindowData *dat, HWND hwndItem);
+ TCHAR tszLabel[40];
+ TButtonItem *nextItem;
+};
+
+typedef struct _tagButtonSet {
+ TButtonItem *items;
+ LONG left, top, right, bottom; // client area offsets, calculated from button layout
+} ButtonSet;
+
+typedef agg::span_gradient<agg::rgba8, agg::span_interpolator_linear<>, agg::gradient_x, agg::pod_auto_array<agg::rgba8, 256> > span_gradient_x_t;
+typedef agg::span_gradient<agg::rgba8, agg::span_interpolator_linear<>, agg::gradient_y, agg::pod_auto_array<agg::rgba8, 256> > span_gradient_y_t;
+typedef agg::span_allocator<agg::rgba8> span_allocator_t;
+
+struct TStatusItem {
+ char szName[40];
+ int statusID;
+
+ BYTE GRADIENT;
+ BYTE CORNER;
+
+ DWORD COLOR;
+ DWORD COLOR2;
+ BYTE ALPHA;
+ BYTE ALPHA2;
+
+ DWORD TEXTCOLOR;
+
+ int MARGIN_LEFT;
+ int MARGIN_TOP;
+ int MARGIN_RIGHT;
+ int MARGIN_BOTTOM;
+ BYTE IGNORED;
+ DWORD dwFlags;
+ TImageItem *imageItem;
+
+ agg::rasterizer_scanline_aa<>* agg_ras;
+ agg::rounded_rect* agg_rect;
+ agg::pod_auto_array<agg::rgba8, 256>* color_array;
+
+ span_allocator_t* span_allocator;
+ span_gradient_x_t* span_gradient_x;
+ span_gradient_y_t* span_gradient_y;
+ agg::span_interpolator_linear<>* span_interpolator;
+ agg::gradient_x* gradient_func_x;
+ agg::gradient_y* gradient_func_y;
+ agg::trans_affine* gradient_trans;
+ agg::renderer_scanline_aa<agg::renderer_base<agg::pixfmt_bgra32>, span_allocator_t, span_gradient_x_t>* gradient_renderer_x;
+ agg::renderer_scanline_aa<agg::renderer_base<agg::pixfmt_bgra32>, span_allocator_t, span_gradient_y_t>* gradient_renderer_y;
+ agg::renderer_scanline_aa_solid<agg::renderer_base<agg::pixfmt_bgra32> >* solid_renderer;
+
+ agg::renderer_base<agg::pixfmt_bgra32>* rbase;
+ agg::pixfmt_bgra32* pixfmt;
+ agg::rounded_rect* rect;
+};
+
+typedef struct {
+ BOOL bGRADIENT;
+ BOOL bCORNER;
+ BOOL bCOLOR;
+ BOOL bCOLOR2;
+ BOOL bTEXTCOLOR;
+ BOOL bALPHA;
+ BOOL bMARGIN_LEFT;
+ BOOL bMARGIN_TOP;
+ BOOL bMARGIN_RIGHT;
+ BOOL bMARGIN_BOTTOM;
+ BOOL bIGNORED;
+ BOOL bALPHA2;
+ BOOL bFlags;
+} ChangedSItems_t;
+
+typedef struct _tagSkinDescription {
+ DWORD cbSize;
+ TStatusItem *StatusItems;
+ int lastItem;
+ int firstItem;
+ char szModule[100];
+ HWND hWndParent, hWndTab;
+ HWND hwndCLUI;
+ HWND hwndSkinEdit; /* out param */
+ HWND hwndImageEdit; /* out param */
+ HMENU hMenuItems;
+ void (*pfnSaveCompleteStruct)(void);
+ void (*pfnClcOptionsChanged )(void);
+ void* (*pfnMalloc)(unsigned int);
+ void (*pfnFree)(void);
+ void* (*pfnRealloc)(void *, unsigned int);
+ void* reserved[20];
+} SKINDESCRIPTION;
+
+// defines
+
+// FLAGS
+#define CORNER_NONE 0
+#define CORNER_ACTIVE 1
+#define CORNER_TL 2
+#define CORNER_TR 4
+#define CORNER_BR 8
+#define CORNER_BL 16
+
+#define GRADIENT_NONE 0
+#define GRADIENT_ACTIVE 1
+#define GRADIENT_LR 2
+#define GRADIENT_RL 4
+#define GRADIENT_TB 8
+#define GRADIENT_BT 16
+
+#define IMAGE_PERPIXEL_ALPHA 1
+#define IMAGE_FLAG_DIVIDED 2
+#define IMAGE_FILLSOLID 4
+#define IMAGE_GLYPH 8
+
+#define IMAGE_STRETCH_V 1
+#define IMAGE_STRETCH_H 2
+#define IMAGE_STRETCH_B 4
+
+#define BUTTON_ISINTERNAL 0x1
+#define BUTTON_ISTOGGLE 0x2
+#define BUTTON_ISSERVICE 0x4
+#define BUTTON_ISPROTOSERVICE 0x8
+#define BUTTON_PASSHCONTACTW 0x10
+#define BUTTON_PASSHCONTACTL 0x20
+#define BUTTON_ISDBACTION 0x40
+#define BUTTON_ISCONTACTDBACTION 0x80
+#define BUTTON_DBACTIONONCONTACT 0x100
+#define BUTTON_ISSIDEBAR 0x200
+#define BUTTON_NORMALGLYPHISICON 0x400
+#define BUTTON_PRESSEDGLYPHISICON 0x800
+#define BUTTON_HOVERGLYPHISICON 0x1000
+#define BUTTON_HASLABEL 0x2000
+#define BUTTON_HALIGN_R 0x4000
+#define BUTTON_VALIGN_B 0x8000
+#define BUTTON_FRAMELESS_ONLY 0x10000
+#define BUTTON_FAKE_CAPTIONBUTTON 0x20000
+
+#define CLCDEFAULT_GRADIENT 0
+#define CLCDEFAULT_CORNER 0
+
+#define CLCDEFAULT_COLOR 0xd0d0d0
+#define CLCDEFAULT_COLOR2 0xd0d0d0
+
+#define CLCDEFAULT_TEXTCOLOR 0x000000
+
+#define CLCDEFAULT_COLOR2_TRANSPARENT 1
+
+#define CLCDEFAULT_ALPHA 100
+#define CLCDEFAULT_MRGN_LEFT 0
+#define CLCDEFAULT_MRGN_TOP 0
+#define CLCDEFAULT_MRGN_RIGHT 0
+#define CLCDEFAULT_MRGN_BOTTOM 0
+#define CLCDEFAULT_IGNORE 1
+
+HWND SkinEdit_Invoke(WPARAM wParam, LPARAM lParam);
diff --git a/plugins/Clist_ng/INCLUDE/resource.h b/plugins/Clist_ng/INCLUDE/resource.h new file mode 100644 index 0000000000..c989272b01 --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/resource.h @@ -0,0 +1,449 @@ +//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by C:\tabsrmm\trunk\miranda\plugins\clist_NG\resource.rc
+//
+#define IDD_OPT_VIEWMODES 1
+#define IDD_OPT_FLOATING 3
+#define IDD_OPT_SKIN 4
+#define IDD_QUICKIGNORE 5
+#define IDD_OPT 6
+#define IDI_FOLDER 7
+#define IDI_POPUPON 8
+#define IDI_ICON1 9
+#define IDI_POPUPOFF 9
+#define IDD_EXCEPTION 20
+#define IDD_OPTIONSDIALOG 101
+#define IDD_CLNABOUT 102
+#define IDD_OPT_CLIST 126
+#define IDI_ADDGROUP 143
+#define IDI_CLIST 146
+#define IDI_OPTIONS 163
+#define IDI_DELETE 175
+#define IDI_CLVM_OPTIONS 176
+#define IDI_CLVM_SELECT 177
+#define IDI_RENAME 173
+#define IDR_CONTEXT 180
+#define IDC_DROP 183
+#define IDR_CLISTMENU 199
+#define IDD_WARNING 201
+#define IDI_ADDCONTACT 210
+#define IDC_HYPERLINKHAND 214
+#define IDC_DROPUSER 215
+#define IDD_OPT_CLUI 218
+#define IDD_OPT_XICONS 219
+#define IDD_OPT_CLC 228
+#define IDD_OPT_SBAR 234
+#define IDD_DELETECONTACT 254
+#define IDD_OPT_DSPPROFILES 300
+#define IDD_OPT_DSPADVANCED 301
+#define IDD_OPT_DSPITEMS 302
+#define IDD_OPT_DSPGROUPS 303
+#define IDD_OPT_DSPCLASSES 304
+#define IDD_SKINITEMEDIT 601
+#define IDD_IMAGEITEMEDIT 602
+#define IDR_SKIN_BASE 801
+#define IDR_SKIN_BACK 802
+#define IDR_SKIN_GLYPHS 803
+#define IDR_SKIN_BACKAERO 804
+#define IDC_ACTIVEPERC 1000
+#define IDC_OPTIONSTAB 1000
+#define IDC_ALWAYSSTATUS 1009
+#define IDC_APPLY 1011
+#define IDC_AUTOSIZE 1013
+#define IDC_AUTOSIZEUPWARD 1014
+#define IDC_AVATARSIZESPIN 1015
+#define IDC_STATUSICONSCENTERED 1020
+#define IDC_NOTRAYINFOTIPS 1020
+#define IDC_SHOWXSTATUS 1020
+#define IDC_AUTOCLEAR 1020
+#define IDC_FLT_SIMPLELAYOUT 1020
+#define IDC_IGN_MSGEVENTS 1020
+#define IDC_AUTOCLEARVAL 1021
+#define IDC_MARKLOCKED 1021
+#define IDC_IGN_FILEEVENTS 1021
+#define IDC_AUTOCLEARSPIN 1022
+#define IDC_IGN_URLEVENTS 1022
+#define IDC_LASTMSG 1023
+#define IDC_IGN_AUTH 1023
+#define IDC_IGN_ADD 1024
+#define IDC_CONFIRMDELETE 1025
+#define IDC_IGN_ONLINE 1025
+#define IDC_IGN_ALWAYSONLINE 1026
+#define IDC_IGN_ALWAYSOFFLINE 1027
+#define IDC_IGN_PRIORITY 1028
+#define IDC_DISABLEGROUPS 1030
+#define IDC_USEPERPROTO 1041
+#define IDC_OVERRIDEPERSTATUSCOLOR 1042
+#define IDC_SETALLBUTTONSKINNED 1043
+#define IDC_EVENTSONTOP 1044
+#define IDC_EXTRA_ICON_EMAIL 1045
+#define IDC_DONTSEPARATE 1045
+#define IDC_EXTRA_ICON_SMS 1047
+#define IDC_EXTRA_ICON_RES0 1054
+#define IDC_EXTRA_ICON_WEB 1055
+#define IDC_FADEINOUT 1056
+#define IDC_EXTRA_ICON_ADV2 1057
+#define IDC_FADEINOUT2 1057
+#define IDC_USEAERO 1057
+#define IDC_EXTRA_ICON_RES1 1058
+#define IDC_EXTRA_ICON_RES2 1059
+#define IDC_EXTRA_ICON_ADV3 1060
+#define IDC_EXTRAORDER 1061
+#define IDC_FRAMEGAP 1064
+#define IDC_FRAMEGAPSPIN 1065
+#define IDC_FULLROWSELECT 1067
+#define IDC_LOCALTIME 1068
+#define IDC_EXICONSCALE 1068
+#define IDC_EXICONSCALESPIN 1069
+#define IDC_GREYOUT 1072
+#define IDC_ONTOP 1074
+#define IDC_CLIENTDRAG 1076
+#define IDC_HIDEEMPTYGROUPS 1077
+#define IDC_HIDEOFFLINE 1081
+#define IDC_HIDEOFFLINEOPTS 1082
+#define IDC_HKREADMSG 1083
+#define IDC_HKSEARCH 1084
+#define IDC_EXTRA_ICON_ADV4 1085
+#define IDC_HKSHOWOPTIONS 1086
+#define IDC_LEFTMARGINSPIN 1092
+#define IDC_NETSEARCH 1101
+#define IDC_NOGROUPICON 1102
+#define IDC_ONECLK 1105
+#define IDC_SEARCHURL 1106
+#define IDC_BUILDTIME 1108
+#define IDC_READMSG 1119
+#define IDC_RIGHTMARGIN 1121
+#define IDC_ROWGAP 1122
+#define IDC_TRANSPARENT 1124
+#define IDC_ROWHEIGHT 1125
+#define IDC_TRANSINACTIVE 1126
+#define IDC_GROUPROWHEIGHT 1126
+#define IDC_TRANSACTIVE 1128
+#define IDC_SEARCHNEWWND 1139
+#define IDC_SHOWBOTTOMBUTTONS 1148
+#define IDC_STATIC11 1154
+#define IDC_STATIC12 1155
+#define IDC_STATIC21 1156
+#define IDC_STATIC13 1156
+#define IDC_STATIC22 1157
+#define IDC_STATIC14 1157
+#define IDC_STATIC15 1158
+#define IDC_HKSHOWHIDE 1162
+#define IDC_EXTRA_ICON_CLIENT 1164
+#define IDC_EXTRA_ICON_ADV1 1166
+#define IDC_SHOWHIDE 1170
+#define IDC_CENTERGROUPNAMES 1173
+#define IDC_SHOWOPTIONS 1174
+#define IDC_APPLYINDENTBG 1174
+#define IDC_COPYRIGHT 1178
+#define IDC_VERSION 1179
+#define IDC_SHOWSTATUSICONS 1180
+#define IDC_INACTIVEPERC 1187
+#define IDC_SHOWSTATUSMSG 1188
+#define IDC_SHOWLOCALTIME 1189
+#define IDC_SHOWVISIBILITY 1190
+#define IDC_SHOWLOCALTIMEONLYWHENDIFFERENT 1191
+#define IDC_EXCEPTION_DETAILS 1200
+#define IDC_COPY_EXCEPTION 1201
+#define IDC_EX_REASON 1202
+#define IDC_WHITERECT 1225
+#define IDC_AUTOHIDE 1235
+#define IDC_HIDETIME 1236
+#define IDC_ALWAYSHIDEONTASKBAR 1237
+#define IDC_MAXSIZEHEIGHT 1254
+#define IDC_MAXSIZESPIN 1255
+#define IDC_SMOOTHTIME 1283
+#define IDC_SMOOTHTIMESPIN 1284
+#define IDC_ROWHEIGHTSPIN 1286
+#define IDC_GROUPROWHEIGHTSPIN 1287
+#define IDC_GREYOUTOPTS 1288
+#define IDC_GROUPINDENT 1289
+#define IDC_GROUPINDENTSPIN 1290
+#define IDC_LEFTMARGIN 1291
+#define IDC_RIGHTMARGINSPIN 1294
+#define IDC_ROWGAPSPIN 1295
+#define IDC_DONTCYCLE 1315
+#define IDC_PRIMARYSTATUS 1316
+#define IDC_CYCLE 1317
+#define IDC_CYCLETIME 1318
+#define IDC_CYCLETIMESPIN 1319
+#define IDC_HIDETIMESPIN 1320
+#define IDC_MULTITRAY 1321
+#define IDC_ALWAYSMULTI 1322
+#define IDC_SHOWICON 1323
+#define IDC_SORTTHEN 1323
+#define IDC_SHOWPROTO 1324
+#define IDC_SORTFINALLY 1324
+#define IDC_SHOWSTATUS 1325
+#define IDC_EQUALSECTIONS 1326
+#define IDC_SHOWSBAR 1329
+#define IDC_RIGHTMIRANDA 1330
+#define IDC_RIGHTSTATUS 1331
+#define IDC_STCLISTGROUP 1350
+#define IDC_DISABLEDRAGDROP 1351
+#define IDC_NOTEDITLABELS 1352
+#define IDC_SHOWSELALWAYS 1353
+#define IDC_TRACKSELECT 1354
+#define IDC_SHOWGROUPCOUNTS 1355
+#define IDC_HIDECOUNTSWHENEMPTY 1356
+#define IDC_DIVIDERONOFF 1357
+#define IDC_NOTNOTRANSLUCENTSEL 1358
+#define IDC_LINEWITHGROUPS 1359
+#define IDC_QUICKSEARCHVISONLY 1360
+#define IDC_SORTGROUPSALPHA 1361
+#define IDC_NOTNOSMOOTHSCROLLING 1362
+#define IDC_STWINDOWGROUP 1364
+#define IDC_STATIC01 1365
+#define IDC_STATIC6 1366
+#define IDC_SORTPRIMARY 1420
+#define IDC_HIDE 1534
+#define IDC_TOPLINE 1535
+#define IDC_HOTKEYURLSTR 1567
+#define IDC_BRINGTOFRONT 1579
+#define IDC_LOGO 1591
+#define IDC_BLINKTIME 1607
+#define IDC_BLINKSPIN 1608
+#define IDC_DISABLEBLINK 1609
+#define IDC_IDLE 1610
+#define IDC_DBLCLKAVATARS 1611
+#define IDC_NOSCROLLBAR 1613
+#define IDC_ADDVIEWMODE 1633
+#define IDC_IGN_ALL 1633
+#define IDC_EXPORT 1634
+#define IDC_DELETEVIEWMODE 1634
+#define IDC_IGN_NONE 1634
+#define IDC_IGN_ADDPERMANENTLY 1635
+#define IDC_EXPORT2 1635
+#define IDC_SAVEASMOD 1635
+#define IDC_DSP_LOADDEFAULT 1636
+#define IDC_ONDESKTOP 1657
+#define IDC_ICONBLINK 1660
+#define IDC_APPLYLASTVIEWMODE 1661
+#define IDC_MRGN_BOTTOM 1670
+#define IDC_MRGN_LEFT 1671
+#define IDC_ALPHASPIN 1682
+#define IDC_ALPHASPIN2 1683
+#define IDC_ITEMS 1688
+#define IDC_CORNER 1689
+#define IDC_MRGN_TOP_SPIN 1693
+#define IDC_MRGN_RIGHT_SPIN 1694
+#define IDC_MRGN_BOTTOM_SPIN 1695
+#define IDC_MRGN_LEFT_SPIN 1696
+#define IDC_GRADIENT 1699
+#define IDC_GRADIENT_LR 1700
+#define IDC_GRADIENT_RL 1701
+#define IDC_GRADIENT_TB 1702
+#define IDC_BASECOLOUR 1703
+#define IDC_ALPHA 1704
+#define IDC_MRGN_TOP 1705
+#define IDC_MRGN_RIGHT 1706
+#define IDC_GRADIENT_BT 1707
+#define IDC_BASECOLOUR2 1708
+#define IDC_TEXTCOLOUR 1709
+#define IDC_CORNER_TL 1710
+#define IDC_CORNER_TR 1711
+#define IDC_CORNER_BR 1712
+#define IDC_CORNER_BL 1713
+#define IDC_COLORLABLE 1714
+#define IDC_MARGINLABLE 1715
+#define IDC_ALPHA2 1715
+#define IDC_ALPHALABLE 1716
+#define IDC_IGNORE 1717
+#define IDC_COLOR2LABLE 1718
+#define IDC_ALPHALABLE2 1719
+#define IDC_TEXTCOLOURLABLE 1720
+#define IDC_IGNORESELFORGROUPS 1722
+#define IDC_CLISTAVATARS 1729
+#define IDC_ALIGNMENT 1730
+#define IDC_AVATARSBORDER 1732
+#define IDC_AVATARBORDERCLR 1733
+#define IDC_DUALROWMODE 1735
+#define IDC_CLISTALIGN 1737
+#define IDC_CLISTSUNKEN 1738
+#define IDC_EVENTAREAAUTOHIDE 1740
+#define IDC_ALWAYSALIGNNICK 1744
+#define IDC_SELECTIVEICONS 1746
+#define IDC_OVERLAYICONS 1747
+#define IDC_AVATARHEIGHT 1748
+#define IDC_NOAVATARSOFFLINE 1749
+#define IDC_AVATARPADDING 1753
+#define IDC_GRPTOPPADDING 1753
+#define IDC_AVATARPADDINGSPIN 1754
+#define IDC_GRPPADDINGSPIN 1754
+#define IDC_LASTITEMPADDING 1755
+#define IDC_LASTITEMPADDINGSPIN 1756
+#define IDC_TBHIDEOFFLINE 1800
+#define IDC_TBHIDEGROUPS 1801
+#define IDC_TBSOUND 1802
+#define IDC_TBFINDANDADD 1803
+#define IDC_TBOPTIONS 1804
+#define IDC_TBMINIMIZE 1805
+#define IDC_TBMENU 1806
+#define IDC_TBGLOBALSTATUS 1807
+#define IDC_TABSRMMSLIST 1808
+#define IDC_TABSRMMMENU 1809
+#define IDC_TBSELECTVIEWMODE 1810
+#define IDC_TBCLEARVIEWMODE 1811
+#define IDC_TBCONFIGUREVIEWMODE 1812
+#define IDC_TBTOPMENU 1813
+#define IDC_TBTOPSTATUS 1814
+#define IDC_TBFOLDER 1815
+#define IDC_TBPOPUP 1816
+#define IDC_TBACCOUNTS 1817
+#define IDC_TBFIRSTUID 1820
+#define IDC_NOTIFYBUTTON 1900
+#define IDC_CLNICER 2002
+#define IDC_SUPPORT 2003
+#define IDI_OVL_OFFLINE 2050
+#define IDI_OVL_ONLINE 2051
+#define IDI_OVL_AWAY 2052
+#define IDI_OVL_DND 2053
+#define IDI_OVL_NA 2054
+#define IDI_OVL_OCCUPIED 2055
+#define IDI_OVL_FREEFORCHAT 2056
+#define IDI_OVL_INVISIBLE 2057
+#define IDI_OVL_ONTHEPHONE 2058
+#define IDI_OVL_OUTTOLUNCH 2059
+#define IDI_HIDEOFFLINE 2100
+#define IDI_HIDEGROUPS 2101
+#define IDI_SOUNDSON 2102
+#define IDI_FINDANDADD 2103
+#define IDI_TBOPTIONS 2104
+#define IDI_MINIMIZE 2105
+#define IDI_SOUNDSOFF 2106
+#define IDI_TABSRMMSESSIONLIST 2107
+#define IDI_TABSRMMMENU 2108
+#define IDI_CLVISIBLE 2109
+#define IDI_CLINVISIBLE 2110
+#define IDC_WARNTEXT 2110
+#define IDI_PROTOCONNECTING 2111
+#define IDC_DONTSHOWAGAIN 2111
+#define IDI_TBTOPMENU 2112
+#define IDC_CAPTION 2112
+#define IDI_TBACCOUNTS 2113
+#define IDC_WARNICON 2113
+#define IDC_WARNGROUP 2114
+#define IDC_FLT_DEFHOVERTIME 2200
+#define IDC_SKINROOTFOLDER 3201
+#define IDC_SKINNAME 3202
+#define IDC_RESCANSKIN 3203
+#define IDC_HELP_GENERAL 3204
+#define IDC_SKINNAME2 3205
+#define IDC_WINDOWSTYLE 3205
+#define IDC_CLUIFRAMESBDR 25492
+#define IDC_FLT_PADLEFTSPIN 25494
+#define IDC_FLT_PADLEFT 25495
+#define IDC_GROUPALIGN 25499
+#define IDC_CURVIEWMODE2 25503
+#define ID_ICQ_EXIT 40001
+#define IDC_STATIC7 40002
+#define POPUP_HIDEEMPTYGROUPS 40003
+#define POPUP_NEWSUBGROUP 40004
+#define POPUP_HIDEOFFLINE 40005
+#define POPUP_GROUPHIDEOFFLINE 40006
+#define POPUP_HIDEOFFLINEROOT 40007
+#define POPUP_DISABLEGROUPS 40008
+#define IDC_VIEWMODES 40010
+#define IDC_PROTOCOLS 40011
+#define IDC_GROUPS 40012
+#define IDC_STATUSMODES 40013
+#define IDC_NEWVIEMODE 40014
+#define POPUP_HIDEMIRANDA 40017
+#define IDC_TAB 40017
+#define IDC_STATIC1 40018
+#define IDC_STATIC2 40019
+#define IDC_STATIC3 40020
+#define POPUP_VISIBILITY 40021
+#define IDC_STATIC16 40021
+#define IDC_STATIC4 40022
+#define IDC_STATIC5 40023
+#define IDC_CLIST 40025
+#define IDC_STATIC8 40026
+#define IDC_STATIC9 40027
+#define IDC_CLEARALL 40028
+#define POPUP_FRAME 40029
+#define IDC_STATIC10 40029
+#define POPUP_BUTTONS 40030
+#define IDC_PROTOGROUPOP 40030
+#define POPUP_MOVEMARKEDHERE 40031
+#define IDC_GROUPSTATUSOP 40031
+#define IDC_LASTMESSAGEOP 40032
+#define ID_BUTTONS_ONLINE 40033
+#define ID_BUTTONBAR_INCREASEBUTTONSIZE 40034
+#define IDC_LASTMESSAGEUNIT 40034
+#define ID_BUTTONBAR_DECREASEBUTTONSIZE 40035
+#define ID_BUTTONBAR_FLATBUTTONS 40036
+#define IDC_FLT_AVATARS 40036
+#define IDC_HIDECONTACT 40036
+#define ID_BUTTONBAR_NOVISUALSTYLES 40037
+#define IDC_FLT_DUALROWS 40037
+#define IDC_FLT_EXTRAICONS 40038
+#define ID_TRAY_HIDE 40038
+#define ID_TRAY_EXIT 40039
+#define IDC_FLT_SYNCED 40039
+#define IDC_FLT_AUTOHIDE 40040
+#define IDC_FLT_FILLSTD 40041
+#define IDC_FLT_FILLSTD2 40042
+#define IDC_FLT_ONTOP 40042
+#define IDC_FLT_PADRIGHT 40043
+#define IDC_LASTMSGVALUE 40043
+#define IDC_FLT_PADRIGHTSPIN 40044
+#define IDC_FLT_PADTOP 40045
+#define IDC_FLT_PADTOPSPIN 40046
+#define IDC_FLT_PADBOTTOM 40047
+#define IDC_RELOADSKIN 40047
+#define IDC_FLT_PADBOTTOMSPIN 40048
+#define IDC_UNLOAD 40048
+#define ID_BUTTONBAR_DRAWSUNKENFRAME 40049
+#define POPUP_NEWGROUP 40050
+#define IDC_SECONDLINEMODE 40050
+#define POPUP_SHOWSTATUSICONS 40051
+#define IDC_OVERLAYICON 40051
+#define IDC_SHOWLOCALTIME1 40052
+#define POPUP_RENAMEGROUP 40052
+#define POPUP_DELETEGROUP 40053
+#define ID_BUTTONBAR_SKINNEDTOOLBAR 40054
+#define IDC_FLT_ENABLED 40054
+#define IDC_FLT_OPACITY 40055
+#define IDC_FLT_ACTIVEOPACITY 40056
+#define POPUP_FLOATER 40057
+#define POPUP_FLOATER_AUTOHIDE 40058
+#define IDC_FLT_WIDTH 40058
+#define IDC_AVATARDISPMODE 40059
+#define IDC_FLT_WIDTHSPIN 40059
+#define POPUP_FLOATER_EVENTS 40060
+#define IDC_FLT_SNAP 40060
+#define IDC_FLT_ACTIVEOPACITYVALUE 40061
+#define IDC_FLT_BORDER 40062
+#define IDC_CHECK1 40065
+#define IDC_SNAPTOEDGES 40065
+#define IDC_SKIP_UNDERLAY 40065
+#define IDC_DSPCLASS_AVATAR 40065
+#define IDC_FLT_WIDTHSPIN2 40066
+#define IDC_SKIP_IMAGE 40066
+#define IDC_DSPCLASS 40066
+#define IDC_FLT_HOVERTIME 40067
+#define IDC_DSPCLASS_SECONDLINE 40067
+#define IDC_BUTTON1 40067
+#define IDC_RESETXICONS 40067
+#define IDC_FLT_SHOWTOOLTIPS 40068
+#define IDC_DSPCLASS_ICON 40068
+#define IDC_FLT_HOVERTIMESPIN 40069
+#define IDC_DSPCLASS_ENABLE_SELECTED 40069
+#define IDC_FLT_OPACITYVALUE 40070
+#define IDC_DSPCLASS_ENABLE_SELECTED2 40070
+#define IDC_DSPCLASS_ENABLE_HOVERED 40070
+#define IDC_FLT_BGCOLOUR 40071
+#define IDC_FLT_BORDERCOLOUR 40072
+#define POPUP_SHOWMETAICONS 40073
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 10
+#define _APS_NEXT_COMMAND_VALUE 40061
+#define _APS_NEXT_CONTROL_VALUE 40068
+#define _APS_NEXT_SYMED_VALUE 40154
+#endif
+#endif
diff --git a/plugins/Clist_ng/INCLUDE/rowheight_funcs.h b/plugins/Clist_ng/INCLUDE/rowheight_funcs.h new file mode 100644 index 0000000000..a99ec4e83b --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/rowheight_funcs.h @@ -0,0 +1,137 @@ +/*
+* astyle --force-indent=tab=4 --brackets=linux --indent-switches
+* --pad=oper --one-line=keep-blocks --unpad=paren
+*
+* Miranda IM: the free IM client for Microsoft* Windows*
+*
+* Copyright 2000-2010 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 clist_ng plugin for Miranda.
+*
+* (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors
+*
+* $Id: rowheight_funcs.h 133 2010-09-30 06:27:18Z silvercircle $
+*
+* dynamic row height calculation for contact row. heavily used when
+* painting a clc control with dynamic row heights.
+*
+*/
+
+#ifndef __ROWHEIGHT_FUNCS_H__
+#define __ROWHEIGHT_FUNCS_H__
+
+#define ROW_SPACE_BEETWEEN_LINES 0
+#define ICON_HEIGHT 16
+
+class RowHeight {
+
+public:
+ static BOOL Alloc(ClcData *dat, int size);
+ static BOOL Init(ClcData *dat);
+ static void Free(ClcData *dat);
+ static void Clear(ClcData *dat);
+
+ // Calc and store max row height
+ static int getMaxRowHeight(ClcData *dat, const HWND hwnd);
+
+ // Calc and store row height
+ static inline int getRowHeight(ClcData *dat, ClcContact* contact, int item, DWORD style, CLCPaintHelper* ph)
+ {
+ int height = 0;
+ BYTE secondLine;
+ BOOL fAvatar;
+
+ if (!Alloc(dat, item + 1))
+ return -1;
+
+ height = dat->fontInfo[GetBasicFontID(contact)].fontHeight;
+
+ ph->fAvatar = ph->fSecondLine = false;
+
+ if(!dat->bisEmbedded) {
+ secondLine = contact->bSecondLineLocal;
+ if(255 == secondLine)
+ secondLine = ph->dsp ? (ph->dsp->bSecondLine == 0 ? contact->bSecondLine : (ph->dsp->bSecondLine == 1 ? MULTIROW_ALWAYS : MULTIROW_NEVER)) : contact->bSecondLine;
+ if(secondLine != MULTIROW_NEVER && contact->type == CLCIT_CONTACT) {
+ if ((secondLine == MULTIROW_ALWAYS || ((cfg::dat.dwFlags & CLUI_FRAME_SHOWSTATUSMSG && secondLine == MULTIROW_IFNEEDED) && (contact->xStatus > 0 || cfg::eCache[contact->extraCacheEntry].bStatusMsgValid > STATUSMSG_XSTATUSID)))) {
+ height += (dat->fontInfo[FONTID_STATUS].fontHeight + cfg::dat.avatarPadding);
+ ph->fSecondLine = true;
+ }
+ }
+
+ // Avatar size
+ if(!(contact->dwDFlags & (ECF_HIDEAVATAR | ECF_FORCEAVATAR))) { // no per contact show/hide, consider dsp override
+ if(ph->dsp)
+ fAvatar = (ph->dsp->bAvatar == 0 ? contact->cFlags & ECF_AVATAR : (ph->dsp->bAvatar == -1 ? FALSE : TRUE));
+ else
+ fAvatar = contact->cFlags & ECF_AVATAR;
+ if (fAvatar && contact->type == CLCIT_CONTACT && contact->ace != NULL) {
+ height = max(height, cfg::dat.avatarSize + cfg::dat.avatarPadding);
+ ph->fAvatar = true;
+ }
+ }
+ else {
+ if (contact->cFlags & ECF_AVATAR && contact->type == CLCIT_CONTACT && contact->ace != NULL) {
+ height = max(height, cfg::dat.avatarSize + cfg::dat.avatarPadding);
+ ph->fAvatar = true;
+ }
+ }
+ }
+
+ // Checkbox size
+ if((style&CLS_CHECKBOXES && contact->type==CLCIT_CONTACT) ||
+ (style&CLS_GROUPCHECKBOXES && contact->type==CLCIT_GROUP) ||
+ (contact->type==CLCIT_INFO && contact->flags&CLCIIF_CHECKBOX))
+ {
+ height = max(height, dat->checkboxSize);
+ }
+
+ //height += 2 * dat->row_border;
+ // Min size
+ height = max(height, contact->type == CLCIT_GROUP ? dat->group_row_height : dat->min_row_heigh);
+ height += cfg::dat.bRowSpacing;
+
+ dat->row_heights[item] = height;
+
+ return height;
+ }
+
+ // Calc and store row height for all itens in the list
+ static void calcRowHeights (ClcData *dat, HWND hwnd, CLCPaintHelper* ph);
+
+ // Calc item top Y (using stored data)
+ static int getItemTopY (ClcData *dat, int item);
+
+ // Calc item bottom Y (using stored data)
+ static int getItemBottomY (ClcData *dat, int item);
+
+ // Calc total height of rows (using stored data)
+ static int getTotalHeight (ClcData *dat);
+
+ // Return the line that pos_y is at or -1 (using stored data). Y start at 0
+ static int hitTest (ClcData *dat, int pos_y);
+
+ // Returns the height of the chosen row
+ static int getHeight (ClcData *dat, int item);
+
+ // returns the height for a floating contact
+ static int getFloatingRowHeight(const ClcData *dat, HWND hwnd, ClcContact *contact, DWORD dwFlags);
+};
+
+#endif // __ROWHEIGHT_FUNCS_H__
diff --git a/plugins/Clist_ng/INCLUDE/skin.h b/plugins/Clist_ng/INCLUDE/skin.h new file mode 100644 index 0000000000..0c8d13e2aa --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/skin.h @@ -0,0 +1,214 @@ +/*
+ * astyle --force-indent=tab=4 --brackets=linux --indent-switches
+ * --pad=oper --one-line=keep-blocks --unpad=paren
+ *
+ * Miranda IM: the free IM client for Microsoft* Windows*
+ *
+ * Copyright 2000-2010 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 clist_ng plugin for Miranda.
+ *
+ * (C) 2005-2015 by silvercircle _at_ gmail _dot_ com and contributors
+ *
+ * clist_ng skin helper classes and functions. No low level Gfx here, just
+ * managing the skin data structures...
+ *
+ * drawing is mostly in Gfx
+ *
+ * TODO implement settings override system. Allow user to save modified
+ * skin settings to a separate override file and use these modified settings
+ * when loading the skin.
+ *
+ * TODO implement logic to determine whether a skin has changed to optimize
+ * loading performance (e.g. no need to import fonts and color settings when
+ *
+ * TODO implement replacement for the old clist_nicer style "per contact" skin
+ * items. Allow colorization of contact rows on a per user base. The settings
+ * could be added to the "Contact list settings" dialog.
+ */
+
+#ifndef __SKIN_H_
+#define __SKIN_H_
+
+#define ID_EXTBKOFFLINE 0
+#define ID_EXTBKONLINE 1
+#define ID_EXTBKAWAY 2
+#define ID_EXTBKDND 3
+#define ID_EXTBKNA 4
+#define ID_EXTBKOCCUPIED 5
+#define ID_EXTBKFREECHAT 6
+#define ID_EXTBKINVISIBLE 7
+#define ID_EXTBKONTHEPHONE 8
+#define ID_EXTBKOUTTOLUNCH 9
+
+#define ID_EXTBKIDLE 10
+#define ID_EXTBKEXPANDEDGROUP 11
+#define ID_EXTBKCOLLAPSEDDGROUP 12
+#define ID_EXTBKEMPTYGROUPS 13
+#define ID_EXTBKFIRSTITEM 14
+#define ID_EXTBKSINGLEITEM 15
+#define ID_EXTBKLASTITEM 16
+
+
+#define ID_EXTBKFIRSTITEM_NG 17
+#define ID_EXTBKSINGLEITEM_NG 18
+#define ID_EXTBKLASTITEM_NG 19
+
+#define ID_EXTBKEVEN_CNTCTPOS 20
+#define ID_EXTBKODD_CNTCTPOS 21
+
+#define ID_EXTBKSELECTION 22
+#define ID_EXTBKHOTTRACK 23
+#define ID_EXTBKFRAMETITLE 24
+#define ID_EXTBKEVTAREA 25
+#define ID_EXTBKSTATUSBAR 26
+#define ID_EXTBKBUTTONSPRESSED 27
+#define ID_EXTBKBUTTONSNPRESSED 28
+#define ID_EXTBKBUTTONSMOUSEOVER 29
+#define ID_EXTBKSTATUSFLOATER 30
+#define ID_EXTBKOWNEDFRAMEBORDER 31
+#define ID_EXTBKOWNEDFRAMEBORDERTB 32
+#define ID_EXTBKAVATARFRAME 33
+#define ID_EXTBKAVATARFRAMEOFFLINE 34
+#define ID_EXTBK_LAST_D 34
+
+#define ID_EXTBKSEPARATOR 40200
+
+void extbk_import(char *file, HWND hwndDlg);
+TStatusItem *GetProtocolStatusItem(const char *szProto);
+void SaveNonStatusItemsSettings(HWND hwndDlg);
+
+#define SKIN_DB_MODULE "CLNgSkin" // database module for clng skinning
+
+/*
+ * flags for status item rendering
+ */
+#define AGG_USE_SOLID_RENDERER 1 // item has no gradient -> use a faster solid renderer
+#define AGG_USE_GRADIENT_X_RENDERER 2 // item has horizontal gradient -> use agg::gradient_x function
+#define AGG_USE_GRADIENT_Y_RENDERER 4 // item has vertical gradient -> use agg::gradient_y function
+#define S_ITEM_SKIP_UNDERLAY 8 // skip all gradient underlays and render the image item only
+#define S_ITEM_TEXT_AERO_GLOW 16 // render text with aero glow instead of solid color
+#define S_ITEM_IMAGE_ONLY 32 // this item cannot be used with gradients (only for image skinning)
+#define S_ITEM_SKIP_IMAGE 64 // skip all gradient underlays and render the image item only
+
+/*
+ * this structure describes all relevant settings that are needed
+ * for a skin except the skin items themselves. Usually, they are loaded
+ * from the skin definition (.cng), but the user can override them.
+ * Most of these settings are available on the option pages.
+ *
+ * These settings are copied to the database under ClNGSkin and have a m prefix.
+ * (e.g. cLeftFramed member name = "mLeftFramed" in the db.
+ */
+struct TSkinMetrics {
+ BYTE cLeft, cTop, cRight, cBottom; // these are the currently _effective_ values and are calculated
+ // from the other margins, never saved anywhere, only exist at runtime
+ BYTE cLeftFramed, cTopFramed, cRightFramed, cBottomFramed; // margins when using a window frame
+ BYTE cLeftSkinned, cTopSkinned, cRightSkinned, cBottomSkinned; // margins when using a window skin
+ BYTE cLeftButtonset, cTopButtonset, cRightButtonset, cBottomButtonset; // additional margins for the button sets
+ BYTE bWindowStyle; // border style (none, toolbar or normal title bar
+ BYTE cButtonHeight; // height of the bottom buttons
+ BYTE bSBarHeight; // status bar height adjustment (for skinned mode only)
+ DWORD dwTopOffset, dwBottomOffset; // cTop + additional paddings (rare)
+ BYTE cFakeCaption; // for frameless skin mode - artificial caption bar height, will be added to top aligned buttons
+ // which do not have the title bar attribute
+ BYTE cFakeLeftBorder;
+ BYTE cFakeRightBorder;
+ BYTE cFakeBtmBorder;
+ bool fHaveFrame; // quick boolean, true if clist window has a frame
+ bool fHaveAeroSkin; // true if using the background skin in aero mode
+ bool fHaveColorkey; // true if using a background skin in non-aero mode and
+ // we need a colorkey to get transparent areas
+ DWORD cCornerRadius; // corner radius used for gradient items
+};
+
+/*
+ * settings for a skin (everything else with the exception of geometry information
+ *
+ * Database module: ClNGSkin and values have a s prefix.
+ * e.gl member crColorKey = sColorKey in the db.
+ */
+struct TSkinSettings {
+ COLORREF crColorKey; // the colorkey for LWA_COLORKEY
+ bool fTransparentFrames; // make owned frames transparent
+ COLORREF crFramesColorKey; // background color which should be made transparent in frames
+ BYTE bFramesAlpha; // constant alpha for translucent frames
+ bool fUseAero; // may be used to disable aero regardless of operating system state
+ bool fHaveAeroBG; // we have a valid background item for aero mode
+ wchar_t wszSkinBaseFolder[MAX_PATH]; // internal use only - base directory of the currently loaded skin
+ wchar_t wszSkinName[MAX_PATH]; // internal use only - base name of the skin (the .cng file without extension)
+};
+/*
+ * the Skin class has helper functions to manage skin items and stores the
+ * items (image items, button items and status items
+ */
+class Skin
+{
+public:
+ static void Unload ();
+ static void freeImageItem (TImageItem *item);
+ static void exportToFile (const char *file);
+ static void exportSettingsToFile (const char *file);
+
+ static void renderNamedImageItem (const char *szItemname, RECT* rc, const HDC hdc);
+ static void colorizeGlyphByName (const char* szGlyphName, const COLORREF clr, float h, float s, float v);
+ static void Activate ();
+ static void setAeroMargins ();
+ static void updateAeroState ();
+ static void setupAGGItemContext (TStatusItem* item);
+
+ static int ID_EXTBK_LAST;
+ static TStatusItem* statusItems;
+ static TImageItem* imageItems;
+ static TImageItem* glyphItem;
+
+ static TSkinMetrics metrics;
+ static TSkinSettings settings;
+};
+
+/*
+ * the skin loader class is a helper for reading and writing skin definition files
+ */
+class SkinLoader
+{
+public:
+ SkinLoader(const wchar_t* wszFilename);
+ ~SkinLoader() {};
+
+public:
+ bool isValid () const { return(m_isValid); }
+ HRESULT Load ();
+ DWORD readInt (const char* szSection, const char* szValue, DWORD dwDefault = 0);
+ HRESULT loadItems ();
+ void readButtonItem (const char *itemName, const char *file);
+ void readImageItem (const char *itemname, const char *szFileName);
+ void createImageItem (TImageItem *item, const char *fileName, HDC hdc);
+ void loadFonts ();
+ void loadBaseItems ();
+ void readItem (TStatusItem *this_item, const char *szItem);
+
+ static UINT nextButtonID;
+
+private:
+ bool m_isValid;
+ char m_szFilename[MAX_PATH];
+ wchar_t m_wszFilename[MAX_PATH];
+};
+
+#endif /* __SKIN_H_ */
diff --git a/plugins/Clist_ng/INCLUDE/utils.h b/plugins/Clist_ng/INCLUDE/utils.h new file mode 100644 index 0000000000..24555ff01e --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/utils.h @@ -0,0 +1,137 @@ +/*
+ * astyle --force-indent=tab=4 --brackets=linux --indent-switches
+ * --pad=oper --one-line=keep-blocks --unpad=paren
+ *
+ * Miranda IM: the free IM client for Microsoft* Windows*
+ *
+ * Copyright 2000-2010 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 clist_ng plugin for Miranda.
+ *
+ * (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors
+ *
+ * $Id: utils.h 128 2010-09-26 12:12:56Z silvercircle $
+ */
+
+
+#ifndef __UTILS_H_
+#define __UTILS_H_
+
+class Utils
+{
+public:
+ static void TSAPI enableDlgControl (const HWND hwnd, UINT id, BOOL fEnable);
+ static void TSAPI showDlgControl (const HWND hwnd, UINT id, int showCmd);
+ static HMODULE loadSystemLibrary (const wchar_t* szFilename, bool useGetHandle = false);
+ static void extractResource (const HMODULE h, const UINT uID, const wchar_t* tszName, const wchar_t* tszPath,
+ const wchar_t* tszFilename, bool fForceOverwrite);
+ static void ensureTralingBackslash (wchar_t *szPathname);
+ static DWORD __fastcall hexStringToLong (const char *szSource);
+
+ static int pathIsAbsolute (const wchar_t* path);
+ static size_t pathToRelative (const wchar_t* pSrc, wchar_t* pOut, const wchar_t* szBase = 0);
+ static size_t pathToAbsolute (const wchar_t* pSrc, wchar_t* pOut, const wchar_t* szBase = 0);
+ static const wchar_t* striStr (const wchar_t* szString, const wchar_t* szSearchFor);
+ static const wchar_t* extractURLFromRichEdit (const ENLINK* _e, const HWND hwndRich);
+
+ template<class T, class U, class V, class W> static HRESULT writeProfile(T* _section, U* _key, V* _value, W* _file)
+ {
+ size_t _s = sizeof(T);
+
+ if(_s == 1)
+ return(WritePrivateProfileStringA((char *)_section, (char *)_key, (char *)_value, (char *)_file));
+ else
+ return(WritePrivateProfileStringW((wchar_t *)_section, (wchar_t *)_key, (wchar_t *)_value, (wchar_t *)_file));
+ }
+
+ template<class T, class U, class V> static HRESULT writeProfile(T* _section, U* _key, DWORD _value, const V* _file)
+ {
+ T sValue[1024];
+
+ size_t _s = sizeof(T);
+ if(_s == 1) {
+ _snprintf((char *)sValue, 1024, "%d", _value);
+ sValue[1023] = 0;
+ return(WritePrivateProfileStringA((char *)_section, (char *)_key, (char *)sValue, (char *)_file));
+ }
+ else {
+ _snwprintf((wchar_t *)sValue, 1024, L"%d", _value);
+ sValue[1023] = 0;
+ return(WritePrivateProfileStringW((wchar_t *)_section, (wchar_t *)_key, (wchar_t *)sValue, (wchar_t *)_file));
+ }
+ }
+};
+
+/**
+ * implement a warning dialog with a "do not show this again" check
+ * box
+ */
+
+class WarningDlg {
+
+public:
+ /*
+ * the warning IDs
+ */
+ enum {
+ WARN_RELNOTES = 0,
+ WARN_SKIN_LOADER_ERROR = 1,
+ WARN_SKIN_OVERWRITE = 2,
+ WARN_LAST = 3,
+ };
+
+ /*
+ * the flags (low word is reserved for default windows flags like MB_OK etc.
+ */
+
+ enum {
+ CWF_UNTRANSLATED = 0x00010000, // do not translate the msg (useful for some error messages)
+ CWF_NOALLOWHIDE = 0x00020000 // critical message, hide the "do not show this again" check box
+ };
+
+ WarningDlg(const wchar_t* tszTitle, const wchar_t* tszText, const UINT uId, const DWORD dwFlags);
+ ~WarningDlg();
+
+public:
+ /*
+ * static function to construct and show the dialog, returns the
+ * user's choice
+ */
+ static LRESULT show (const int uId, DWORD dwFlags = 0, const wchar_t* tszTxt = 0);
+ static void destroyAll ();
+ LRESULT ShowDialog () const;
+
+private:
+ UINT m_uId;
+ HFONT m_hFontCaption;
+ DWORD m_dwFlags;
+ HWND m_hwnd;
+ bool m_fIsModal;
+ pSmartWstring m_pszTitle, m_pszText;
+
+ INT_PTR CALLBACK dlgProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK stubDlgProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+ static __int64 getMask (); // get bit mask for disabled message classes
+
+private:
+ static MWindowList hWindowList;
+ static wchar_t* m_warnings[WARN_LAST];
+};
+
+#endif /* __UTILS_H_ */
diff --git a/plugins/Clist_ng/INCLUDE/vsstyle.h b/plugins/Clist_ng/INCLUDE/vsstyle.h new file mode 100644 index 0000000000..b65e223b51 --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/vsstyle.h @@ -0,0 +1,1606 @@ +//-------------------------------------------------------------------------//
+// VisualStyle Style Guide symbols
+//-------------------------------------------------------------------------//
+
+#ifndef __VSSTYLE_H__
+#define __VSSTYLE_H__
+
+//
+// property symbol definitions
+//
+
+#define TMTVS_RESERVEDLOW 100000
+#define TMTVS_RESERVEDHIGH 19999
+
+
+
+//
+// AEROWIZARDSTYLE class parts and states
+//
+#define VSCLASS_AEROWIZARDSTYLE L"AEROWIZARDSTYLE"
+#define VSCLASS_AEROWIZARD L"AEROWIZARD"
+
+enum AEROWIZARDPARTS {
+ AW_TITLEBAR = 1,
+ AW_HEADERAREA = 2,
+ AW_CONTENTAREA = 3,
+ AW_COMMANDAREA = 4,
+ AW_BUTTON = 5,
+};
+
+#define AEROWIZARDSTYLEPARTS AEROWIZARDPARTS;
+
+enum TITLEBARSTATES {
+ AW_S_TITLEBAR_ACTIVE = 1,
+ AW_S_TITLEBAR_INACTIVE = 2,
+};
+
+enum HEADERAREASTATES {
+ AW_S_HEADERAREA_NOMARGIN = 1,
+};
+
+enum CONTENTAREASTATES {
+ AW_S_CONTENTAREA_NOMARGIN = 1,
+};
+
+
+//
+// BUTTONSTYLE class parts and states
+//
+#define VSCLASS_BUTTONSTYLE L"BUTTONSTYLE"
+#define VSCLASS_BUTTON L"BUTTON"
+
+enum BUTTONPARTS {
+ BP_PUSHBUTTON = 1,
+ BP_RADIOBUTTON = 2,
+ BP_CHECKBOX = 3,
+ BP_GROUPBOX = 4,
+ BP_USERBUTTON = 5,
+ BP_COMMANDLINK = 6,
+ BP_COMMANDLINKGLYPH = 7,
+};
+
+#define BUTTONSTYLEPARTS BUTTONPARTS;
+
+enum PUSHBUTTONSTATES {
+ PBS_NORMAL = 1,
+ PBS_HOT = 2,
+ PBS_PRESSED = 3,
+ PBS_DISABLED = 4,
+ PBS_DEFAULTED = 5,
+ PBS_DEFAULTED_ANIMATING = 6,
+};
+
+enum RADIOBUTTONSTATES {
+ RBS_UNCHECKEDNORMAL = 1,
+ RBS_UNCHECKEDHOT = 2,
+ RBS_UNCHECKEDPRESSED = 3,
+ RBS_UNCHECKEDDISABLED = 4,
+ RBS_CHECKEDNORMAL = 5,
+ RBS_CHECKEDHOT = 6,
+ RBS_CHECKEDPRESSED = 7,
+ RBS_CHECKEDDISABLED = 8,
+};
+
+enum CHECKBOXSTATES {
+ CBS_UNCHECKEDNORMAL = 1,
+ CBS_UNCHECKEDHOT = 2,
+ CBS_UNCHECKEDPRESSED = 3,
+ CBS_UNCHECKEDDISABLED = 4,
+ CBS_CHECKEDNORMAL = 5,
+ CBS_CHECKEDHOT = 6,
+ CBS_CHECKEDPRESSED = 7,
+ CBS_CHECKEDDISABLED = 8,
+ CBS_MIXEDNORMAL = 9,
+ CBS_MIXEDHOT = 10,
+ CBS_MIXEDPRESSED = 11,
+ CBS_MIXEDDISABLED = 12,
+ CBS_IMPLICITNORMAL = 13,
+ CBS_IMPLICITHOT = 14,
+ CBS_IMPLICITPRESSED = 15,
+ CBS_IMPLICITDISABLED = 16,
+ CBS_EXCLUDEDNORMAL = 17,
+ CBS_EXCLUDEDHOT = 18,
+ CBS_EXCLUDEDPRESSED = 19,
+ CBS_EXCLUDEDDISABLED = 20,
+};
+
+enum GROUPBOXSTATES {
+ GBS_NORMAL = 1,
+ GBS_DISABLED = 2,
+};
+
+enum COMMANDLINKSTATES {
+ CMDLS_NORMAL = 1,
+ CMDLS_HOT = 2,
+ CMDLS_PRESSED = 3,
+ CMDLS_DISABLED = 4,
+ CMDLS_DEFAULTED = 5,
+ CMDLS_DEFAULTED_ANIMATING = 6,
+};
+
+enum COMMANDLINKGLYPHSTATES {
+ CMDLGS_NORMAL = 1,
+ CMDLGS_HOT = 2,
+ CMDLGS_PRESSED = 3,
+ CMDLGS_DISABLED = 4,
+ CMDLGS_DEFAULTED = 5,
+};
+
+
+//
+// COMBOBOXSTYLE class parts and states
+//
+#define VSCLASS_COMBOBOXSTYLE L"COMBOBOXSTYLE"
+#define VSCLASS_COMBOBOX L"COMBOBOX"
+
+enum COMBOBOXPARTS {
+ CP_DROPDOWNBUTTON = 1,
+ CP_BACKGROUND = 2,
+ CP_TRANSPARENTBACKGROUND = 3,
+ CP_BORDER = 4,
+ CP_READONLY = 5,
+ CP_DROPDOWNBUTTONRIGHT = 6,
+ CP_DROPDOWNBUTTONLEFT = 7,
+ CP_CUEBANNER = 8,
+};
+
+#define COMBOBOXSTYLEPARTS COMBOBOXPARTS;
+
+enum COMBOBOXSTYLESTATES {
+ CBXS_NORMAL = 1,
+ CBXS_HOT = 2,
+ CBXS_PRESSED = 3,
+ CBXS_DISABLED = 4,
+};
+
+enum DROPDOWNBUTTONRIGHTSTATES {
+ CBXSR_NORMAL = 1,
+ CBXSR_HOT = 2,
+ CBXSR_PRESSED = 3,
+ CBXSR_DISABLED = 4,
+};
+
+enum DROPDOWNBUTTONLEFTSTATES {
+ CBXSL_NORMAL = 1,
+ CBXSL_HOT = 2,
+ CBXSL_PRESSED = 3,
+ CBXSL_DISABLED = 4,
+};
+
+enum TRANSPARENTBACKGROUNDSTATES {
+ CBTBS_NORMAL = 1,
+ CBTBS_HOT = 2,
+ CBTBS_DISABLED = 3,
+ CBTBS_FOCUSED = 4,
+};
+
+enum BORDERSTATES {
+ CBB_NORMAL = 1,
+ CBB_HOT = 2,
+ CBB_FOCUSED = 3,
+ CBB_DISABLED = 4,
+};
+
+enum READONLYSTATES {
+ CBRO_NORMAL = 1,
+ CBRO_HOT = 2,
+ CBRO_PRESSED = 3,
+ CBRO_DISABLED = 4,
+};
+
+enum CUEBANNERSTATES {
+ CBCB_NORMAL = 1,
+ CBCB_HOT = 2,
+ CBCB_PRESSED = 3,
+ CBCB_DISABLED = 4,
+};
+
+
+//
+// COMMUNICATIONSSTYLE class parts and states
+//
+#define VSCLASS_COMMUNICATIONSSTYLE L"COMMUNICATIONSSTYLE"
+#define VSCLASS_COMMUNICATIONS L"COMMUNICATIONS"
+
+enum COMMUNICATIONSPARTS {
+ CSST_TAB = 1,
+};
+
+#define COMMUNICATIONSSTYLEPARTS COMMUNICATIONSPARTS;
+
+enum TABSTATES {
+ CSTB_NORMAL = 1,
+ CSTB_HOT = 2,
+ CSTB_SELECTED = 3,
+};
+
+
+//
+// CONTROLPANELSTYLE class parts and states
+//
+#define VSCLASS_CONTROLPANELSTYLE L"CONTROLPANELSTYLE"
+#define VSCLASS_CONTROLPANEL L"CONTROLPANEL"
+
+enum CONTROLPANELPARTS {
+ CPANEL_NAVIGATIONPANE = 1,
+ CPANEL_CONTENTPANE = 2,
+ CPANEL_NAVIGATIONPANELABEL = 3,
+ CPANEL_CONTENTPANELABEL = 4,
+ CPANEL_TITLE = 5,
+ CPANEL_BODYTEXT = 6,
+ CPANEL_HELPLINK = 7,
+ CPANEL_TASKLINK = 8,
+ CPANEL_GROUPTEXT = 9,
+ CPANEL_CONTENTLINK = 10,
+ CPANEL_SECTIONTITLELINK = 11,
+ CPANEL_LARGECOMMANDAREA = 12,
+ CPANEL_SMALLCOMMANDAREA = 13,
+ CPANEL_BUTTON = 14,
+ CPANEL_MESSAGETEXT = 15,
+ CPANEL_NAVIGATIONPANELINE = 16,
+ CPANEL_CONTENTPANELINE = 17,
+ CPANEL_BANNERAREA = 18,
+ CPANEL_BODYTITLE = 19,
+};
+
+#define CONTROLPANELSTYLEPARTS CONTROLPANELPARTS;
+
+enum HELPLINKSTATES {
+ CPHL_NORMAL = 1,
+ CPHL_HOT = 2,
+ CPHL_PRESSED = 3,
+ CPHL_DISABLED = 4,
+};
+
+enum TASKLINKSTATES {
+ CPTL_NORMAL = 1,
+ CPTL_HOT = 2,
+ CPTL_PRESSED = 3,
+ CPTL_DISABLED = 4,
+ CPTL_PAGE = 5,
+};
+
+enum CONTENTLINKSTATES {
+ CPCL_NORMAL = 1,
+ CPCL_HOT = 2,
+ CPCL_PRESSED = 3,
+ CPCL_DISABLED = 4,
+};
+
+enum SECTIONTITLELINKSTATES {
+ CPSTL_NORMAL = 1,
+ CPSTL_HOT = 2,
+};
+
+
+//
+// DATEPICKERSTYLE class parts and states
+//
+#define VSCLASS_DATEPICKERSTYLE L"DATEPICKERSTYLE"
+#define VSCLASS_DATEPICKER L"DATEPICKER"
+
+enum DATEPICKERPARTS {
+ DP_DATETEXT = 1,
+ DP_DATEBORDER = 2,
+ DP_SHOWCALENDARBUTTONRIGHT = 3,
+};
+
+#define DATEPICKERSTYLEPARTS DATEPICKERPARTS;
+
+enum DATETEXTSTATES {
+ DPDT_NORMAL = 1,
+ DPDT_DISABLED = 2,
+ DPDT_SELECTED = 3,
+};
+
+enum DATEBORDERSTATES {
+ DPDB_NORMAL = 1,
+ DPDB_HOT = 2,
+ DPDB_FOCUSED = 3,
+ DPDB_DISABLED = 4,
+};
+
+enum SHOWCALENDARBUTTONRIGHTSTATES {
+ DPSCBR_NORMAL = 1,
+ DPSCBR_HOT = 2,
+ DPSCBR_PRESSED = 3,
+ DPSCBR_DISABLED = 4,
+};
+
+
+//
+// DRAGDROPSTYLE class parts and states
+//
+#define VSCLASS_DRAGDROPSTYLE L"DRAGDROPSTYLE"
+#define VSCLASS_DRAGDROP L"DRAGDROP"
+
+enum DRAGDROPPARTS {
+ DD_COPY = 1,
+ DD_MOVE = 2,
+ DD_UPDATEMETADATA = 3,
+ DD_CREATELINK = 4,
+ DD_WARNING = 5,
+ DD_NONE = 6,
+ DD_IMAGEBG = 7,
+ DD_TEXTBG = 8,
+};
+
+#define DRAGDROPSTYLEPARTS DRAGDROPPARTS;
+
+enum COPYSTATES {
+ DDCOPY_HIGHLIGHT = 1,
+ DDCOPY_NOHIGHLIGHT = 2,
+};
+
+enum MOVESTATES {
+ DDMOVE_HIGHLIGHT = 1,
+ DDMOVE_NOHIGHLIGHT = 2,
+};
+
+enum UPDATEMETADATASTATES {
+ DDUPDATEMETADATA_HIGHLIGHT = 1,
+ DDUPDATEMETADATA_NOHIGHLIGHT = 2,
+};
+
+enum CREATELINKSTATES {
+ DDCREATELINK_HIGHLIGHT = 1,
+ DDCREATELINK_NOHIGHLIGHT = 2,
+};
+
+enum WARNINGSTATES {
+ DDWARNING_HIGHLIGHT = 1,
+ DDWARNING_NOHIGHLIGHT = 2,
+};
+
+enum NONESTATES {
+ DDNONE_HIGHLIGHT = 1,
+ DDNONE_NOHIGHLIGHT = 2,
+};
+
+
+//
+// EDITSTYLE class parts and states
+//
+#define VSCLASS_EDITSTYLE L"EDITSTYLE"
+#define VSCLASS_EDIT L"EDIT"
+
+enum EDITPARTS {
+ EP_EDITTEXT = 1,
+ EP_CARET = 2,
+ EP_BACKGROUND = 3,
+ EP_PASSWORD = 4,
+ EP_BACKGROUNDWITHBORDER = 5,
+ EP_EDITBORDER_NOSCROLL = 6,
+ EP_EDITBORDER_HSCROLL = 7,
+ EP_EDITBORDER_VSCROLL = 8,
+ EP_EDITBORDER_HVSCROLL = 9,
+};
+
+#define EDITSTYLEPARTS EDITPARTS;
+
+enum EDITTEXTSTATES {
+ ETS_NORMAL = 1,
+ ETS_HOT = 2,
+ ETS_SELECTED = 3,
+ ETS_DISABLED = 4,
+ ETS_FOCUSED = 5,
+ ETS_READONLY = 6,
+ ETS_ASSIST = 7,
+ ETS_CUEBANNER = 8,
+};
+
+enum BACKGROUNDSTATES {
+ EBS_NORMAL = 1,
+ EBS_HOT = 2,
+ EBS_DISABLED = 3,
+ EBS_FOCUSED = 4,
+ EBS_READONLY = 5,
+ EBS_ASSIST = 6,
+};
+
+enum BACKGROUNDWITHBORDERSTATES {
+ EBWBS_NORMAL = 1,
+ EBWBS_HOT = 2,
+ EBWBS_DISABLED = 3,
+ EBWBS_FOCUSED = 4,
+};
+
+enum EDITBORDER_NOSCROLLSTATES {
+ EPSN_NORMAL = 1,
+ EPSN_HOT = 2,
+ EPSN_FOCUSED = 3,
+ EPSN_DISABLED = 4,
+};
+
+enum EDITBORDER_HSCROLLSTATES {
+ EPSH_NORMAL = 1,
+ EPSH_HOT = 2,
+ EPSH_FOCUSED = 3,
+ EPSH_DISABLED = 4,
+};
+
+enum EDITBORDER_VSCROLLSTATES {
+ EPSV_NORMAL = 1,
+ EPSV_HOT = 2,
+ EPSV_FOCUSED = 3,
+ EPSV_DISABLED = 4,
+};
+
+enum EDITBORDER_HVSCROLLSTATES {
+ EPSHV_NORMAL = 1,
+ EPSHV_HOT = 2,
+ EPSHV_FOCUSED = 3,
+ EPSHV_DISABLED = 4,
+};
+
+
+//
+// EXPLORERBARSTYLE class parts and states
+//
+#define VSCLASS_EXPLORERBARSTYLE L"EXPLORERBARSTYLE"
+#define VSCLASS_EXPLORERBAR L"EXPLORERBAR"
+
+enum EXPLORERBARPARTS {
+ EBP_HEADERBACKGROUND = 1,
+ EBP_HEADERCLOSE = 2,
+ EBP_HEADERPIN = 3,
+ EBP_IEBARMENU = 4,
+ EBP_NORMALGROUPBACKGROUND = 5,
+ EBP_NORMALGROUPCOLLAPSE = 6,
+ EBP_NORMALGROUPEXPAND = 7,
+ EBP_NORMALGROUPHEAD = 8,
+ EBP_SPECIALGROUPBACKGROUND = 9,
+ EBP_SPECIALGROUPCOLLAPSE = 10,
+ EBP_SPECIALGROUPEXPAND = 11,
+ EBP_SPECIALGROUPHEAD = 12,
+};
+
+#define EXPLORERBARSTYLEPARTS EXPLORERBARPARTS;
+
+enum HEADERCLOSESTATES {
+ EBHC_NORMAL = 1,
+ EBHC_HOT = 2,
+ EBHC_PRESSED = 3,
+};
+
+enum HEADERPINSTATES {
+ EBHP_NORMAL = 1,
+ EBHP_HOT = 2,
+ EBHP_PRESSED = 3,
+ EBHP_SELECTEDNORMAL = 4,
+ EBHP_SELECTEDHOT = 5,
+ EBHP_SELECTEDPRESSED = 6,
+};
+
+enum IEBARMENUSTATES {
+ EBM_NORMAL = 1,
+ EBM_HOT = 2,
+ EBM_PRESSED = 3,
+};
+
+enum NORMALGROUPCOLLAPSESTATES {
+ EBNGC_NORMAL = 1,
+ EBNGC_HOT = 2,
+ EBNGC_PRESSED = 3,
+};
+
+enum NORMALGROUPEXPANDSTATES {
+ EBNGE_NORMAL = 1,
+ EBNGE_HOT = 2,
+ EBNGE_PRESSED = 3,
+};
+
+enum SPECIALGROUPCOLLAPSESTATES {
+ EBSGC_NORMAL = 1,
+ EBSGC_HOT = 2,
+ EBSGC_PRESSED = 3,
+};
+
+enum SPECIALGROUPEXPANDSTATES {
+ EBSGE_NORMAL = 1,
+ EBSGE_HOT = 2,
+ EBSGE_PRESSED = 3,
+};
+
+
+//
+// FLYOUTSTYLE class parts and states
+//
+#define VSCLASS_FLYOUTSTYLE L"FLYOUTSTYLE"
+#define VSCLASS_FLYOUT L"FLYOUT"
+
+enum FLYOUTPARTS {
+ FLYOUT_HEADER = 1,
+ FLYOUT_BODY = 2,
+ FLYOUT_LABEL = 3,
+ FLYOUT_LINK = 4,
+ FLYOUT_DIVIDER = 5,
+ FLYOUT_WINDOW = 6,
+ FLYOUT_LINKAREA = 7,
+ FLYOUT_LINKHEADER = 8,
+};
+
+#define FLYOUTSTYLEPARTS FLYOUTPARTS;
+
+enum LABELSTATES {
+ FLS_NORMAL = 1,
+ FLS_SELECTED = 2,
+ FLS_EMPHASIZED = 3,
+ FLS_DISABLED = 4,
+};
+
+enum LINKSTATES {
+ FLYOUTLINK_NORMAL = 1,
+ FLYOUTLINK_HOVER = 2,
+};
+
+enum BODYSTATES {
+ FBS_NORMAL = 1,
+ FBS_EMPHASIZED = 2,
+};
+
+enum LINKHEADERSTATES {
+ FLH_NORMAL = 1,
+ FLH_HOVER = 2,
+};
+
+
+//
+// HEADERSTYLE class parts and states
+//
+#define VSCLASS_HEADERSTYLE L"HEADERSTYLE"
+#define VSCLASS_HEADER L"HEADER"
+
+enum HEADERPARTS {
+ HP_HEADERITEM = 1,
+ HP_HEADERITEMLEFT = 2,
+ HP_HEADERITEMRIGHT = 3,
+ HP_HEADERSORTARROW = 4,
+ HP_HEADERDROPDOWN = 5,
+ HP_HEADERDROPDOWNFILTER = 6,
+ HP_HEADEROVERFLOW = 7,
+};
+
+#define HEADERSTYLEPARTS HEADERPARTS;
+
+enum HEADERSTYLESTATES {
+ HBG_DETAILS = 1,
+ HBG_ICON = 2,
+};
+
+enum HEADERITEMSTATES {
+ HIS_NORMAL = 1,
+ HIS_HOT = 2,
+ HIS_PRESSED = 3,
+ HIS_SORTEDNORMAL = 4,
+ HIS_SORTEDHOT = 5,
+ HIS_SORTEDPRESSED = 6,
+ HIS_ICONNORMAL = 7,
+ HIS_ICONHOT = 8,
+ HIS_ICONPRESSED = 9,
+ HIS_ICONSORTEDNORMAL = 10,
+ HIS_ICONSORTEDHOT = 11,
+ HIS_ICONSORTEDPRESSED = 12,
+};
+
+enum HEADERITEMLEFTSTATES {
+ HILS_NORMAL = 1,
+ HILS_HOT = 2,
+ HILS_PRESSED = 3,
+};
+
+enum HEADERITEMRIGHTSTATES {
+ HIRS_NORMAL = 1,
+ HIRS_HOT = 2,
+ HIRS_PRESSED = 3,
+};
+
+enum HEADERSORTARROWSTATES {
+ HSAS_SORTEDUP = 1,
+ HSAS_SORTEDDOWN = 2,
+};
+
+enum HEADERDROPDOWNSTATES {
+ HDDS_NORMAL = 1,
+ HDDS_SOFTHOT = 2,
+ HDDS_HOT = 3,
+};
+
+enum HEADERDROPDOWNFILTERSTATES {
+ HDDFS_NORMAL = 1,
+ HDDFS_SOFTHOT = 2,
+ HDDFS_HOT = 3,
+};
+
+enum HEADEROVERFLOWSTATES {
+ HOFS_NORMAL = 1,
+ HOFS_HOT = 2,
+};
+
+
+//
+// LISTBOXSTYLE class parts and states
+//
+#define VSCLASS_LISTBOXSTYLE L"LISTBOXSTYLE"
+#define VSCLASS_LISTBOX L"LISTBOX"
+
+enum LISTBOXPARTS {
+ LBCP_BORDER_HSCROLL = 1,
+ LBCP_BORDER_HVSCROLL = 2,
+ LBCP_BORDER_NOSCROLL = 3,
+ LBCP_BORDER_VSCROLL = 4,
+ LBCP_ITEM = 5,
+};
+
+#define LISTBOXSTYLEPARTS LISTBOXPARTS;
+
+enum BORDER_HSCROLLSTATES {
+ LBPSH_NORMAL = 1,
+ LBPSH_FOCUSED = 2,
+ LBPSH_HOT = 3,
+ LBPSH_DISABLED = 4,
+};
+
+enum BORDER_HVSCROLLSTATES {
+ LBPSHV_NORMAL = 1,
+ LBPSHV_FOCUSED = 2,
+ LBPSHV_HOT = 3,
+ LBPSHV_DISABLED = 4,
+};
+
+enum BORDER_NOSCROLLSTATES {
+ LBPSN_NORMAL = 1,
+ LBPSN_FOCUSED = 2,
+ LBPSN_HOT = 3,
+ LBPSN_DISABLED = 4,
+};
+
+enum BORDER_VSCROLLSTATES {
+ LBPSV_NORMAL = 1,
+ LBPSV_FOCUSED = 2,
+ LBPSV_HOT = 3,
+ LBPSV_DISABLED = 4,
+};
+
+enum ITEMSTATES {
+ LBPSI_HOT = 1,
+ LBPSI_HOTSELECTED = 2,
+ LBPSI_SELECTED = 3,
+ LBPSI_SELECTEDNOTFOCUS = 4,
+};
+
+
+//
+// LISTVIEWSTYLE class parts and states
+//
+#define VSCLASS_LISTVIEWSTYLE L"LISTVIEWSTYLE"
+#define VSCLASS_LISTVIEW L"LISTVIEW"
+
+enum LISTVIEWPARTS {
+ LVP_LISTITEM = 1,
+ LVP_LISTGROUP = 2,
+ LVP_LISTDETAIL = 3,
+ LVP_LISTSORTEDDETAIL = 4,
+ LVP_EMPTYTEXT = 5,
+ LVP_GROUPHEADER = 6,
+ LVP_GROUPHEADERLINE = 7,
+ LVP_EXPANDBUTTON = 8,
+ LVP_COLLAPSEBUTTON = 9,
+ LVP_COLUMNDETAIL = 10,
+};
+
+#define LISTVIEWSTYLEPARTS LISTVIEWPARTS;
+
+enum LISTITEMSTATES {
+ LISS_NORMAL = 1,
+ LISS_HOT = 2,
+ LISS_SELECTED = 3,
+ LISS_DISABLED = 4,
+ LISS_SELECTEDNOTFOCUS = 5,
+ LISS_HOTSELECTED = 6,
+};
+
+enum GROUPHEADERSTATES {
+ LVGH_OPEN = 1,
+ LVGH_OPENHOT = 2,
+ LVGH_OPENSELECTED = 3,
+ LVGH_OPENSELECTEDHOT = 4,
+ LVGH_OPENSELECTEDNOTFOCUSED = 5,
+ LVGH_OPENSELECTEDNOTFOCUSEDHOT = 6,
+ LVGH_OPENMIXEDSELECTION = 7,
+ LVGH_OPENMIXEDSELECTIONHOT = 8,
+ LVGH_CLOSE = 9,
+ LVGH_CLOSEHOT = 10,
+ LVGH_CLOSESELECTED = 11,
+ LVGH_CLOSESELECTEDHOT = 12,
+ LVGH_CLOSESELECTEDNOTFOCUSED = 13,
+ LVGH_CLOSESELECTEDNOTFOCUSEDHOT = 14,
+ LVGH_CLOSEMIXEDSELECTION = 15,
+ LVGH_CLOSEMIXEDSELECTIONHOT = 16,
+};
+
+enum GROUPHEADERLINESTATES {
+ LVGHL_OPEN = 1,
+ LVGHL_OPENHOT = 2,
+ LVGHL_OPENSELECTED = 3,
+ LVGHL_OPENSELECTEDHOT = 4,
+ LVGHL_OPENSELECTEDNOTFOCUSED = 5,
+ LVGHL_OPENSELECTEDNOTFOCUSEDHOT = 6,
+ LVGHL_OPENMIXEDSELECTION = 7,
+ LVGHL_OPENMIXEDSELECTIONHOT = 8,
+ LVGHL_CLOSE = 9,
+ LVGHL_CLOSEHOT = 10,
+ LVGHL_CLOSESELECTED = 11,
+ LVGHL_CLOSESELECTEDHOT = 12,
+ LVGHL_CLOSESELECTEDNOTFOCUSED = 13,
+ LVGHL_CLOSESELECTEDNOTFOCUSEDHOT = 14,
+ LVGHL_CLOSEMIXEDSELECTION = 15,
+ LVGHL_CLOSEMIXEDSELECTIONHOT = 16,
+};
+
+enum EXPANDBUTTONSTATES {
+ LVEB_NORMAL = 1,
+ LVEB_HOVER = 2,
+ LVEB_PUSHED = 3,
+};
+
+enum COLLAPSEBUTTONSTATES {
+ LVCB_NORMAL = 1,
+ LVCB_HOVER = 2,
+ LVCB_PUSHED = 3,
+};
+
+
+//
+// MENUSTYLE class parts and states
+//
+#define VSCLASS_MENUSTYLE L"MENUSTYLE"
+#define VSCLASS_MENU L"MENU"
+
+enum MENUPARTS {
+ MENU_MENUITEM_TMSCHEMA = 1,
+ MENU_MENUDROPDOWN_TMSCHEMA = 2,
+ MENU_MENUBARITEM_TMSCHEMA = 3,
+ MENU_MENUBARDROPDOWN_TMSCHEMA = 4,
+ MENU_CHEVRON_TMSCHEMA = 5,
+ MENU_SEPARATOR_TMSCHEMA = 6,
+ MENU_BARBACKGROUND = 7,
+ MENU_BARITEM = 8,
+ MENU_POPUPBACKGROUND = 9,
+ MENU_POPUPBORDERS = 10,
+ MENU_POPUPCHECK = 11,
+ MENU_POPUPCHECKBACKGROUND = 12,
+ MENU_POPUPGUTTER = 13,
+ MENU_POPUPITEM = 14,
+ MENU_POPUPSEPARATOR = 15,
+ MENU_POPUPSUBMENU = 16,
+ MENU_SYSTEMCLOSE = 17,
+ MENU_SYSTEMMAXIMIZE = 18,
+ MENU_SYSTEMMINIMIZE = 19,
+ MENU_SYSTEMRESTORE = 20,
+};
+
+#define MENUSTYLEPARTS MENUPARTS;
+
+enum BARBACKGROUNDSTATES {
+ MB_ACTIVE = 1,
+ MB_INACTIVE = 2,
+};
+
+enum BARITEMSTATES {
+ MBI_NORMAL = 1,
+ MBI_HOT = 2,
+ MBI_PUSHED = 3,
+ MBI_DISABLED = 4,
+ MBI_DISABLEDHOT = 5,
+ MBI_DISABLEDPUSHED = 6,
+};
+
+enum POPUPCHECKSTATES {
+ MC_CHECKMARKNORMAL = 1,
+ MC_CHECKMARKDISABLED = 2,
+ MC_BULLETNORMAL = 3,
+ MC_BULLETDISABLED = 4,
+};
+
+enum POPUPCHECKBACKGROUNDSTATES {
+ MCB_DISABLED = 1,
+ MCB_NORMAL = 2,
+ MCB_BITMAP = 3,
+};
+
+enum POPUPITEMSTATES {
+ MPI_NORMAL = 1,
+ MPI_HOT = 2,
+ MPI_DISABLED = 3,
+ MPI_DISABLEDHOT = 4,
+};
+
+enum POPUPSUBMENUSTATES {
+ MSM_NORMAL = 1,
+ MSM_DISABLED = 2,
+};
+
+enum SYSTEMCLOSESTATES {
+ MSYSC_NORMAL = 1,
+ MSYSC_DISABLED = 2,
+};
+
+enum SYSTEMMAXIMIZESTATES {
+ MSYSMX_NORMAL = 1,
+ MSYSMX_DISABLED = 2,
+};
+
+enum SYSTEMMINIMIZESTATES {
+ MSYSMN_NORMAL = 1,
+ MSYSMN_DISABLED = 2,
+};
+
+enum SYSTEMRESTORESTATES {
+ MSYSR_NORMAL = 1,
+ MSYSR_DISABLED = 2,
+};
+
+
+//
+// NAVIGATION class parts and states
+//
+#define VSCLASS_NAVIGATION L"NAVIGATION"
+
+enum NAVIGATIONPARTS {
+ NAV_BACKBUTTON = 1,
+ NAV_FORWARDBUTTON = 2,
+ NAV_MENUBUTTON = 3,
+};
+
+enum NAV_BACKBUTTONSTATES {
+ NAV_BB_NORMAL = 1,
+ NAV_BB_HOT = 2,
+ NAV_BB_PRESSED = 3,
+ NAV_BB_DISABLED = 4,
+};
+
+enum NAV_FORWARDBUTTONSTATES {
+ NAV_FB_NORMAL = 1,
+ NAV_FB_HOT = 2,
+ NAV_FB_PRESSED = 3,
+ NAV_FB_DISABLED = 4,
+};
+
+enum NAV_MENUBUTTONSTATES {
+ NAV_MB_NORMAL = 1,
+ NAV_MB_HOT = 2,
+ NAV_MB_PRESSED = 3,
+ NAV_MB_DISABLED = 4,
+};
+
+
+//
+// PROGRESSSTYLE class parts and states
+//
+#define VSCLASS_PROGRESSSTYLE L"PROGRESSSTYLE"
+#define VSCLASS_PROGRESS L"PROGRESS"
+
+enum PROGRESSPARTS {
+ PP_BAR = 1,
+ PP_BARVERT = 2,
+ PP_CHUNK = 3,
+ PP_CHUNKVERT = 4,
+ PP_FILL = 5,
+ PP_FILLVERT = 6,
+ PP_PULSEOVERLAY = 7,
+ PP_MOVEOVERLAY = 8,
+ PP_PULSEOVERLAYVERT = 9,
+ PP_MOVEOVERLAYVERT = 10,
+ PP_TRANSPARENTBAR = 11,
+ PP_TRANSPARENTBARVERT = 12,
+};
+
+#define PROGRESSSTYLEPARTS PROGRESSPARTS;
+
+enum TRANSPARENTBARSTATES {
+ PBBS_NORMAL = 1,
+ PBBS_PARTIAL = 2,
+};
+
+enum TRANSPARENTBARVERTSTATES {
+ PBBVS_NORMAL = 1,
+ PBBVS_PARTIAL = 2,
+};
+
+enum FILLSTATES {
+ PBFS_NORMAL = 1,
+ PBFS_ERROR = 2,
+ PBFS_PAUSED = 3,
+ PBFS_PARTIAL = 4,
+};
+
+enum FILLVERTSTATES {
+ PBFVS_NORMAL = 1,
+ PBFVS_ERROR = 2,
+ PBFVS_PAUSED = 3,
+ PBFVS_PARTIAL = 4,
+};
+
+
+//
+// REBARSTYLE class parts and states
+//
+#define VSCLASS_REBARSTYLE L"REBARSTYLE"
+#define VSCLASS_REBAR L"REBAR"
+
+enum REBARPARTS {
+ RP_GRIPPER = 1,
+ RP_GRIPPERVERT = 2,
+ RP_BAND = 3,
+ RP_CHEVRON = 4,
+ RP_CHEVRONVERT = 5,
+ RP_BACKGROUND = 6,
+ RP_SPLITTER = 7,
+ RP_SPLITTERVERT = 8,
+};
+
+#define REBARSTYLEPARTS REBARPARTS;
+
+enum CHEVRONSTATES {
+ CHEVS_NORMAL = 1,
+ CHEVS_HOT = 2,
+ CHEVS_PRESSED = 3,
+};
+
+enum CHEVRONVERTSTATES {
+ CHEVSV_NORMAL = 1,
+ CHEVSV_HOT = 2,
+ CHEVSV_PRESSED = 3,
+};
+
+enum SPLITTERSTATES {
+ SPLITS_NORMAL = 1,
+ SPLITS_HOT = 2,
+ SPLITS_PRESSED = 3,
+};
+
+enum SPLITTERVERTSTATES {
+ SPLITSV_NORMAL = 1,
+ SPLITSV_HOT = 2,
+ SPLITSV_PRESSED = 3,
+};
+
+
+//
+// SCROLLBARSTYLE class parts and states
+//
+#define VSCLASS_SCROLLBARSTYLE L"SCROLLBARSTYLE"
+#define VSCLASS_SCROLLBAR L"SCROLLBAR"
+
+enum SCROLLBARPARTS {
+ SBP_ARROWBTN = 1,
+ SBP_THUMBBTNHORZ = 2,
+ SBP_THUMBBTNVERT = 3,
+ SBP_LOWERTRACKHORZ = 4,
+ SBP_UPPERTRACKHORZ = 5,
+ SBP_LOWERTRACKVERT = 6,
+ SBP_UPPERTRACKVERT = 7,
+ SBP_GRIPPERHORZ = 8,
+ SBP_GRIPPERVERT = 9,
+ SBP_SIZEBOX = 10,
+};
+
+#define SCROLLBARSTYLEPARTS SCROLLBARPARTS;
+
+enum ARROWBTNSTATES {
+ ABS_UPNORMAL = 1,
+ ABS_UPHOT = 2,
+ ABS_UPPRESSED = 3,
+ ABS_UPDISABLED = 4,
+ ABS_DOWNNORMAL = 5,
+ ABS_DOWNHOT = 6,
+ ABS_DOWNPRESSED = 7,
+ ABS_DOWNDISABLED = 8,
+ ABS_LEFTNORMAL = 9,
+ ABS_LEFTHOT = 10,
+ ABS_LEFTPRESSED = 11,
+ ABS_LEFTDISABLED = 12,
+ ABS_RIGHTNORMAL = 13,
+ ABS_RIGHTHOT = 14,
+ ABS_RIGHTPRESSED = 15,
+ ABS_RIGHTDISABLED = 16,
+ ABS_UPHOVER = 17,
+ ABS_DOWNHOVER = 18,
+ ABS_LEFTHOVER = 19,
+ ABS_RIGHTHOVER = 20,
+};
+
+enum SCROLLBARSTYLESTATES {
+ SCRBS_NORMAL = 1,
+ SCRBS_HOT = 2,
+ SCRBS_PRESSED = 3,
+ SCRBS_DISABLED = 4,
+ SCRBS_HOVER = 5,
+};
+
+enum SIZEBOXSTATES {
+ SZB_RIGHTALIGN = 1,
+ SZB_LEFTALIGN = 2,
+ SZB_TOPRIGHTALIGN = 3,
+ SZB_TOPLEFTALIGN = 4,
+ SZB_HALFBOTTOMRIGHTALIGN = 5,
+ SZB_HALFBOTTOMLEFTALIGN = 6,
+ SZB_HALFTOPRIGHTALIGN = 7,
+ SZB_HALFTOPLEFTALIGN = 8,
+};
+
+
+//
+// SPINSTYLE class parts and states
+//
+#define VSCLASS_SPINSTYLE L"SPINSTYLE"
+#define VSCLASS_SPIN L"SPIN"
+
+enum SPINPARTS {
+ SPNP_UP = 1,
+ SPNP_DOWN = 2,
+ SPNP_UPHORZ = 3,
+ SPNP_DOWNHORZ = 4,
+};
+
+#define SPINSTYLEPARTS SPINPARTS;
+
+enum UPSTATES {
+ UPS_NORMAL = 1,
+ UPS_HOT = 2,
+ UPS_PRESSED = 3,
+ UPS_DISABLED = 4,
+};
+
+enum DOWNSTATES {
+ DNS_NORMAL = 1,
+ DNS_HOT = 2,
+ DNS_PRESSED = 3,
+ DNS_DISABLED = 4,
+};
+
+enum UPHORZSTATES {
+ UPHZS_NORMAL = 1,
+ UPHZS_HOT = 2,
+ UPHZS_PRESSED = 3,
+ UPHZS_DISABLED = 4,
+};
+
+enum DOWNHORZSTATES {
+ DNHZS_NORMAL = 1,
+ DNHZS_HOT = 2,
+ DNHZS_PRESSED = 3,
+ DNHZS_DISABLED = 4,
+};
+
+
+//
+// STATUSSTYLE class parts and states
+//
+#define VSCLASS_STATUSSTYLE L"STATUSSTYLE"
+#define VSCLASS_STATUS L"STATUS"
+
+enum STATUSPARTS {
+ SP_PANE = 1,
+ SP_GRIPPERPANE = 2,
+ SP_GRIPPER = 3,
+};
+
+#define STATUSSTYLEPARTS STATUSPARTS;
+
+
+//
+// TABSTYLE class parts and states
+//
+#define VSCLASS_TABSTYLE L"TABSTYLE"
+#define VSCLASS_TAB L"TAB"
+
+enum TABPARTS {
+ TABP_TABITEM = 1,
+ TABP_TABITEMLEFTEDGE = 2,
+ TABP_TABITEMRIGHTEDGE = 3,
+ TABP_TABITEMBOTHEDGE = 4,
+ TABP_TOPTABITEM = 5,
+ TABP_TOPTABITEMLEFTEDGE = 6,
+ TABP_TOPTABITEMRIGHTEDGE = 7,
+ TABP_TOPTABITEMBOTHEDGE = 8,
+ TABP_PANE = 9,
+ TABP_BODY = 10,
+ TABP_AEROWIZARDBODY = 11,
+};
+
+#define TABSTYLEPARTS TABPARTS;
+
+enum TABITEMSTATES {
+ TIS_NORMAL = 1,
+ TIS_HOT = 2,
+ TIS_SELECTED = 3,
+ TIS_DISABLED = 4,
+ TIS_FOCUSED = 5,
+};
+
+enum TABITEMLEFTEDGESTATES {
+ TILES_NORMAL = 1,
+ TILES_HOT = 2,
+ TILES_SELECTED = 3,
+ TILES_DISABLED = 4,
+ TILES_FOCUSED = 5,
+};
+
+enum TABITEMRIGHTEDGESTATES {
+ TIRES_NORMAL = 1,
+ TIRES_HOT = 2,
+ TIRES_SELECTED = 3,
+ TIRES_DISABLED = 4,
+ TIRES_FOCUSED = 5,
+};
+
+enum TABITEMBOTHEDGESTATES {
+ TIBES_NORMAL = 1,
+ TIBES_HOT = 2,
+ TIBES_SELECTED = 3,
+ TIBES_DISABLED = 4,
+ TIBES_FOCUSED = 5,
+};
+
+enum TOPTABITEMSTATES {
+ TTIS_NORMAL = 1,
+ TTIS_HOT = 2,
+ TTIS_SELECTED = 3,
+ TTIS_DISABLED = 4,
+ TTIS_FOCUSED = 5,
+};
+
+enum TOPTABITEMLEFTEDGESTATES {
+ TTILES_NORMAL = 1,
+ TTILES_HOT = 2,
+ TTILES_SELECTED = 3,
+ TTILES_DISABLED = 4,
+ TTILES_FOCUSED = 5,
+};
+
+enum TOPTABITEMRIGHTEDGESTATES {
+ TTIRES_NORMAL = 1,
+ TTIRES_HOT = 2,
+ TTIRES_SELECTED = 3,
+ TTIRES_DISABLED = 4,
+ TTIRES_FOCUSED = 5,
+};
+
+enum TOPTABITEMBOTHEDGESTATES {
+ TTIBES_NORMAL = 1,
+ TTIBES_HOT = 2,
+ TTIBES_SELECTED = 3,
+ TTIBES_DISABLED = 4,
+ TTIBES_FOCUSED = 5,
+};
+
+
+//
+// TASKDIALOGSTYLE class parts and states
+//
+#define VSCLASS_TASKDIALOGSTYLE L"TASKDIALOGSTYLE"
+#define VSCLASS_TASKDIALOG L"TASKDIALOG"
+
+enum TASKDIALOGPARTS {
+ TDLG_PRIMARYPANEL = 1,
+ TDLG_MAININSTRUCTIONPANE = 2,
+ TDLG_MAINICON = 3,
+ TDLG_CONTENTPANE = 4,
+ TDLG_CONTENTICON = 5,
+ TDLG_EXPANDEDCONTENT = 6,
+ TDLG_COMMANDLINKPANE = 7,
+ TDLG_SECONDARYPANEL = 8,
+ TDLG_CONTROLPANE = 9,
+ TDLG_BUTTONSECTION = 10,
+ TDLG_BUTTONWRAPPER = 11,
+ TDLG_EXPANDOTEXT = 12,
+ TDLG_EXPANDOBUTTON = 13,
+ TDLG_VERIFICATIONTEXT = 14,
+ TDLG_FOOTNOTEPANE = 15,
+ TDLG_FOOTNOTEAREA = 16,
+ TDLG_FOOTNOTESEPARATOR = 17,
+ TDLG_EXPANDEDFOOTERAREA = 18,
+ TDLG_PROGRESSBAR = 19,
+ TDLG_IMAGEALIGNMENT = 20,
+ TDLG_RADIOBUTTONPANE = 21,
+};
+
+#define TASKDIALOGSTYLEPARTS TASKDIALOGPARTS;
+
+enum CONTENTPANESTATES {
+ TDLGCPS_STANDALONE = 1,
+};
+
+enum EXPANDOBUTTONSTATES {
+ TDLGEBS_NORMAL = 1,
+ TDLGEBS_HOVER = 2,
+ TDLGEBS_PRESSED = 3,
+ TDLGEBS_EXPANDEDNORMAL = 4,
+ TDLGEBS_EXPANDEDHOVER = 5,
+ TDLGEBS_EXPANDEDPRESSED = 6,
+};
+
+
+//
+// TEXTSTYLE class parts and states
+//
+#define VSCLASS_TEXTSTYLE L"TEXTSTYLE"
+
+enum TEXTSTYLEPARTS {
+ TEXT_MAININSTRUCTION = 1,
+ TEXT_INSTRUCTION = 2,
+ TEXT_BODYTITLE = 3,
+ TEXT_BODYTEXT = 4,
+ TEXT_SECONDARYTEXT = 5,
+ TEXT_HYPERLINKTEXT = 6,
+ TEXT_EXPANDED = 7,
+ TEXT_LABEL = 8,
+ TEXT_CONTROLLABEL = 9,
+};
+
+enum HYPERLINKTEXTSTATES {
+ TS_HYPERLINK_NORMAL = 1,
+ TS_HYPERLINK_HOT = 2,
+ TS_HYPERLINK_PRESSED = 3,
+ TS_HYPERLINK_DISABLED = 4,
+};
+
+enum CONTROLLABELSTATES {
+ TS_CONTROLLABEL_NORMAL = 1,
+ TS_CONTROLLABEL_DISABLED = 2,
+};
+
+
+//
+// TOOLBARSTYLE class parts and states
+//
+#define VSCLASS_TOOLBARSTYLE L"TOOLBARSTYLE"
+#define VSCLASS_TOOLBAR L"TOOLBAR"
+
+enum TOOLBARPARTS {
+ TP_BUTTON = 1,
+ TP_DROPDOWNBUTTON = 2,
+ TP_SPLITBUTTON = 3,
+ TP_SPLITBUTTONDROPDOWN = 4,
+ TP_SEPARATOR = 5,
+ TP_SEPARATORVERT = 6,
+ TP_DROPDOWNBUTTONGLYPH = 7,
+};
+
+#define TOOLBARSTYLEPARTS TOOLBARPARTS;
+
+enum TOOLBARSTYLESTATES {
+ TS_NORMAL = 1,
+ TS_HOT = 2,
+ TS_PRESSED = 3,
+ TS_DISABLED = 4,
+ TS_CHECKED = 5,
+ TS_HOTCHECKED = 6,
+ TS_NEARHOT = 7,
+ TS_OTHERSIDEHOT = 8,
+};
+
+
+//
+// TOOLTIPSTYLE class parts and states
+//
+#define VSCLASS_TOOLTIPSTYLE L"TOOLTIPSTYLE"
+#define VSCLASS_TOOLTIP L"TOOLTIP"
+
+enum TOOLTIPPARTS {
+ TTP_STANDARD = 1,
+ TTP_STANDARDTITLE = 2,
+ TTP_BALLOON = 3,
+ TTP_BALLOONTITLE = 4,
+ TTP_CLOSE = 5,
+ TTP_BALLOONSTEM = 6,
+ TTP_WRENCH = 7,
+};
+
+#define TOOLTIPSTYLEPARTS TOOLTIPPARTS;
+
+enum CLOSESTATES {
+ TTCS_NORMAL = 1,
+ TTCS_HOT = 2,
+ TTCS_PRESSED = 3,
+};
+
+enum STANDARDSTATES {
+ TTSS_NORMAL = 1,
+ TTSS_LINK = 2,
+};
+
+enum BALLOONSTATES {
+ TTBS_NORMAL = 1,
+ TTBS_LINK = 2,
+};
+
+enum BALLOONSTEMSTATES {
+ TTBSS_POINTINGUPLEFTWALL = 1,
+ TTBSS_POINTINGUPCENTERED = 2,
+ TTBSS_POINTINGUPRIGHTWALL = 3,
+ TTBSS_POINTINGDOWNRIGHTWALL = 4,
+ TTBSS_POINTINGDOWNCENTERED = 5,
+ TTBSS_POINTINGDOWNLEFTWALL = 6,
+};
+
+enum WRENCHSTATES {
+ TTWS_NORMAL = 1,
+ TTWS_HOT = 2,
+ TTWS_PRESSED = 3,
+};
+
+
+//
+// TRACKBARSTYLE class parts and states
+//
+#define VSCLASS_TRACKBARSTYLE L"TRACKBARSTYLE"
+#define VSCLASS_TRACKBAR L"TRACKBAR"
+
+enum TRACKBARPARTS {
+ TKP_TRACK = 1,
+ TKP_TRACKVERT = 2,
+ TKP_THUMB = 3,
+ TKP_THUMBBOTTOM = 4,
+ TKP_THUMBTOP = 5,
+ TKP_THUMBVERT = 6,
+ TKP_THUMBLEFT = 7,
+ TKP_THUMBRIGHT = 8,
+ TKP_TICS = 9,
+ TKP_TICSVERT = 10,
+};
+
+#define TRACKBARSTYLEPARTS TRACKBARPARTS;
+
+enum TRACKBARSTYLESTATES {
+ TKS_NORMAL = 1,
+};
+
+enum TRACKSTATES {
+ TRS_NORMAL = 1,
+};
+
+enum TRACKVERTSTATES {
+ TRVS_NORMAL = 1,
+};
+
+enum THUMBSTATES {
+ TUS_NORMAL = 1,
+ TUS_HOT = 2,
+ TUS_PRESSED = 3,
+ TUS_FOCUSED = 4,
+ TUS_DISABLED = 5,
+};
+
+enum THUMBBOTTOMSTATES {
+ TUBS_NORMAL = 1,
+ TUBS_HOT = 2,
+ TUBS_PRESSED = 3,
+ TUBS_FOCUSED = 4,
+ TUBS_DISABLED = 5,
+};
+
+enum THUMBTOPSTATES {
+ TUTS_NORMAL = 1,
+ TUTS_HOT = 2,
+ TUTS_PRESSED = 3,
+ TUTS_FOCUSED = 4,
+ TUTS_DISABLED = 5,
+};
+
+enum THUMBVERTSTATES {
+ TUVS_NORMAL = 1,
+ TUVS_HOT = 2,
+ TUVS_PRESSED = 3,
+ TUVS_FOCUSED = 4,
+ TUVS_DISABLED = 5,
+};
+
+enum THUMBLEFTSTATES {
+ TUVLS_NORMAL = 1,
+ TUVLS_HOT = 2,
+ TUVLS_PRESSED = 3,
+ TUVLS_FOCUSED = 4,
+ TUVLS_DISABLED = 5,
+};
+
+enum THUMBRIGHTSTATES {
+ TUVRS_NORMAL = 1,
+ TUVRS_HOT = 2,
+ TUVRS_PRESSED = 3,
+ TUVRS_FOCUSED = 4,
+ TUVRS_DISABLED = 5,
+};
+
+enum TICSSTATES {
+ TSS_NORMAL = 1,
+};
+
+enum TICSVERTSTATES {
+ TSVS_NORMAL = 1,
+};
+
+
+//
+// TREEVIEWSTYLE class parts and states
+//
+#define VSCLASS_TREEVIEWSTYLE L"TREEVIEWSTYLE"
+#define VSCLASS_TREEVIEW L"TREEVIEW"
+
+enum TREEVIEWPARTS {
+ TVP_TREEITEM = 1,
+ TVP_GLYPH = 2,
+ TVP_BRANCH = 3,
+ TVP_HOTGLYPH = 4,
+};
+
+#define TREEVIEWSTYLEPARTS TREEVIEWPARTS;
+
+enum TREEITEMSTATES {
+ TREIS_NORMAL = 1,
+ TREIS_HOT = 2,
+ TREIS_SELECTED = 3,
+ TREIS_DISABLED = 4,
+ TREIS_SELECTEDNOTFOCUS = 5,
+ TREIS_HOTSELECTED = 6,
+};
+
+enum GLYPHSTATES {
+ GLPS_CLOSED = 1,
+ GLPS_OPENED = 2,
+};
+
+enum HOTGLYPHSTATES {
+ HGLPS_CLOSED = 1,
+ HGLPS_OPENED = 2,
+};
+
+
+//
+// WINDOWSTYLE class parts and states
+//
+#define VSCLASS_WINDOWSTYLE L"WINDOWSTYLE"
+#define VSCLASS_WINDOW L"WINDOW"
+
+enum WINDOWPARTS {
+ WP_CAPTION = 1,
+ WP_SMALLCAPTION = 2,
+ WP_MINCAPTION = 3,
+ WP_SMALLMINCAPTION = 4,
+ WP_MAXCAPTION = 5,
+ WP_SMALLMAXCAPTION = 6,
+ WP_FRAMELEFT = 7,
+ WP_FRAMERIGHT = 8,
+ WP_FRAMEBOTTOM = 9,
+ WP_SMALLFRAMELEFT = 10,
+ WP_SMALLFRAMERIGHT = 11,
+ WP_SMALLFRAMEBOTTOM = 12,
+ WP_SYSBUTTON = 13,
+ WP_MDISYSBUTTON = 14,
+ WP_MINBUTTON = 15,
+ WP_MDIMINBUTTON = 16,
+ WP_MAXBUTTON = 17,
+ WP_CLOSEBUTTON = 18,
+ WP_SMALLCLOSEBUTTON = 19,
+ WP_MDICLOSEBUTTON = 20,
+ WP_RESTOREBUTTON = 21,
+ WP_MDIRESTOREBUTTON = 22,
+ WP_HELPBUTTON = 23,
+ WP_MDIHELPBUTTON = 24,
+ WP_HORZSCROLL = 25,
+ WP_HORZTHUMB = 26,
+ WP_VERTSCROLL = 27,
+ WP_VERTTHUMB = 28,
+ WP_DIALOG = 29,
+ WP_CAPTIONSIZINGTEMPLATE = 30,
+ WP_SMALLCAPTIONSIZINGTEMPLATE = 31,
+ WP_FRAMELEFTSIZINGTEMPLATE = 32,
+ WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33,
+ WP_FRAMERIGHTSIZINGTEMPLATE = 34,
+ WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35,
+ WP_FRAMEBOTTOMSIZINGTEMPLATE = 36,
+ WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37,
+ WP_FRAME = 38,
+};
+
+#define WINDOWSTYLEPARTS WINDOWPARTS;
+
+enum FRAMESTATES {
+ FS_ACTIVE = 1,
+ FS_INACTIVE = 2,
+};
+
+enum CAPTIONSTATES {
+ CS_ACTIVE = 1,
+ CS_INACTIVE = 2,
+ CS_DISABLED = 3,
+};
+
+enum MAXCAPTIONSTATES {
+ MXCS_ACTIVE = 1,
+ MXCS_INACTIVE = 2,
+ MXCS_DISABLED = 3,
+};
+
+enum MINCAPTIONSTATES {
+ MNCS_ACTIVE = 1,
+ MNCS_INACTIVE = 2,
+ MNCS_DISABLED = 3,
+};
+
+enum HORZSCROLLSTATES {
+ HSS_NORMAL = 1,
+ HSS_HOT = 2,
+ HSS_PUSHED = 3,
+ HSS_DISABLED = 4,
+};
+
+enum HORZTHUMBSTATES {
+ HTS_NORMAL = 1,
+ HTS_HOT = 2,
+ HTS_PUSHED = 3,
+ HTS_DISABLED = 4,
+};
+
+enum VERTSCROLLSTATES {
+ VSS_NORMAL = 1,
+ VSS_HOT = 2,
+ VSS_PUSHED = 3,
+ VSS_DISABLED = 4,
+};
+
+enum VERTTHUMBSTATES {
+ VTS_NORMAL = 1,
+ VTS_HOT = 2,
+ VTS_PUSHED = 3,
+ VTS_DISABLED = 4,
+};
+
+enum SYSBUTTONSTATES {
+ SBS_NORMAL = 1,
+ SBS_HOT = 2,
+ SBS_PUSHED = 3,
+ SBS_DISABLED = 4,
+};
+
+enum MINBUTTONSTATES {
+ MINBS_NORMAL = 1,
+ MINBS_HOT = 2,
+ MINBS_PUSHED = 3,
+ MINBS_DISABLED = 4,
+};
+
+enum MAXBUTTONSTATES {
+ MAXBS_NORMAL = 1,
+ MAXBS_HOT = 2,
+ MAXBS_PUSHED = 3,
+ MAXBS_DISABLED = 4,
+};
+
+enum RESTOREBUTTONSTATES {
+ RBS_NORMAL = 1,
+ RBS_HOT = 2,
+ RBS_PUSHED = 3,
+ RBS_DISABLED = 4,
+};
+
+enum HELPBUTTONSTATES {
+ HBS_NORMAL = 1,
+ HBS_HOT = 2,
+ HBS_PUSHED = 3,
+ HBS_DISABLED = 4,
+};
+
+enum CLOSEBUTTONSTATES {
+ CBS_NORMAL = 1,
+ CBS_HOT = 2,
+ CBS_PUSHED = 3,
+ CBS_DISABLED = 4,
+};
+
+
+#endif //__VSSTYLE_H__
+
diff --git a/plugins/Clist_ng/INCLUDE/vssym32.h b/plugins/Clist_ng/INCLUDE/vssym32.h new file mode 100644 index 0000000000..4d2b6fd62d --- /dev/null +++ b/plugins/Clist_ng/INCLUDE/vssym32.h @@ -0,0 +1,712 @@ +//-------------------------------------------------------------------------//
+// VisualStyle Core Win32/ComCtl32 symbols
+//-------------------------------------------------------------------------//
+
+#ifndef __VSSYM32_H__
+#define __VSSYM32_H__
+
+#include "VSStyle.h"
+
+//
+// enumerated property values
+//
+
+enum BGTYPE {
+ BT_IMAGEFILE = 0,
+ BT_BORDERFILL = 1,
+ BT_NONE = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum IMAGELAYOUT {
+ IL_VERTICAL = 0,
+ IL_HORIZONTAL = 1,
+};
+
+
+//
+// enumerated property values
+//
+
+enum BORDERTYPE {
+ BT_RECT = 0,
+ BT_ROUNDRECT = 1,
+ BT_ELLIPSE = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum FILLTYPE {
+ FT_SOLID = 0,
+ FT_VERTGRADIENT = 1,
+ FT_HORZGRADIENT = 2,
+ FT_RADIALGRADIENT = 3,
+ FT_TILEIMAGE = 4,
+};
+
+
+//
+// enumerated property values
+//
+
+enum SIZINGTYPE {
+ ST_TRUESIZE = 0,
+ ST_STRETCH = 1,
+ ST_TILE = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum HALIGN {
+ HA_LEFT = 0,
+ HA_CENTER = 1,
+ HA_RIGHT = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum CONTENTALIGNMENT {
+ CA_LEFT = 0,
+ CA_CENTER = 1,
+ CA_RIGHT = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum VALIGN {
+ VA_TOP = 0,
+ VA_CENTER = 1,
+ VA_BOTTOM = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum OFFSETTYPE {
+ OT_TOPLEFT = 0,
+ OT_TOPRIGHT = 1,
+ OT_TOPMIDDLE = 2,
+ OT_BOTTOMLEFT = 3,
+ OT_BOTTOMRIGHT = 4,
+ OT_BOTTOMMIDDLE = 5,
+ OT_MIDDLELEFT = 6,
+ OT_MIDDLERIGHT = 7,
+ OT_LEFTOFCAPTION = 8,
+ OT_RIGHTOFCAPTION = 9,
+ OT_LEFTOFLASTBUTTON = 10,
+ OT_RIGHTOFLASTBUTTON = 11,
+ OT_ABOVELASTBUTTON = 12,
+ OT_BELOWLASTBUTTON = 13,
+};
+
+
+//
+// enumerated property values
+//
+
+enum ICONEFFECT {
+ ICE_NONE = 0,
+ ICE_GLOW = 1,
+ ICE_SHADOW = 2,
+ ICE_PULSE = 3,
+ ICE_ALPHA = 4,
+};
+
+
+//
+// enumerated property values
+//
+
+enum TEXTSHADOWTYPE {
+ TST_NONE = 0,
+ TST_SINGLE = 1,
+ TST_CONTINUOUS = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum GLYPHTYPE {
+ GT_NONE = 0,
+ GT_IMAGEGLYPH = 1,
+ GT_FONTGLYPH = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum IMAGESELECTTYPE {
+ IST_NONE = 0,
+ IST_SIZE = 1,
+ IST_DPI = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum TRUESIZESCALINGTYPE {
+ TSST_NONE = 0,
+ TSST_SIZE = 1,
+ TSST_DPI = 2,
+};
+
+
+//
+// enumerated property values
+//
+
+enum GLYPHFONTSIZINGTYPE {
+ GFST_NONE = 0,
+ GFST_SIZE = 1,
+ GFST_DPI = 2,
+};
+
+//
+// property symbol definitions
+//
+
+#define TMT_RESERVEDLOW 0
+#define TMT_RESERVEDHIGH 7999
+
+#define TMT_DIBDATA 2
+#define TMT_GLYPHDIBDATA 8
+#define TMT_ENUM 200
+#define TMT_STRING 201
+#define TMT_INT 202
+#define TMT_BOOL 203
+#define TMT_COLOR 204
+#define TMT_MARGINS 205
+#define TMT_FILENAME 206
+#define TMT_SIZE 207
+#define TMT_POSITION 208
+#define TMT_RECT 209
+#define TMT_FONT 210
+#define TMT_INTLIST 211
+#define TMT_HBITMAP 212
+#define TMT_DISKSTREAM 213
+#define TMT_STREAM 214
+#define TMT_BITMAPREF 215
+#define TMT_COLORSCHEMES 401
+#define TMT_SIZES 402
+#define TMT_CHARSET 403
+#define TMT_NAME 600
+#define TMT_DISPLAYNAME 601
+#define TMT_TOOLTIP 602
+#define TMT_COMPANY 603
+#define TMT_AUTHOR 604
+#define TMT_COPYRIGHT 605
+#define TMT_URL 606
+#define TMT_VERSION 607
+#define TMT_DESCRIPTION 608
+#define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME
+#define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION
+#define TMT_CAPTIONFONT 801
+#define TMT_SMALLCAPTIONFONT 802
+#define TMT_MENUFONT 803
+#define TMT_STATUSFONT 804
+#define TMT_MSGBOXFONT 805
+#define TMT_ICONTITLEFONT 806
+#define TMT_HEADING1FONT 807
+#define TMT_HEADING2FONT 808
+#define TMT_BODYFONT 809
+#define TMT_FIRSTFONT TMT_CAPTIONFONT
+#define TMT_LASTFONT TMT_BODYFONT
+#define TMT_FLATMENUS 1001
+#define TMT_FIRSTBOOL TMT_FLATMENUS
+#define TMT_LASTBOOL TMT_FLATMENUS
+#define TMT_SIZINGBORDERWIDTH 1201
+#define TMT_SCROLLBARWIDTH 1202
+#define TMT_SCROLLBARHEIGHT 1203
+#define TMT_CAPTIONBARWIDTH 1204
+#define TMT_CAPTIONBARHEIGHT 1205
+#define TMT_SMCAPTIONBARWIDTH 1206
+#define TMT_SMCAPTIONBARHEIGHT 1207
+#define TMT_MENUBARWIDTH 1208
+#define TMT_MENUBARHEIGHT 1209
+#define TMT_PADDEDBORDERWIDTH 1210
+#define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH
+#define TMT_LASTSIZE TMT_PADDEDBORDERWIDTH
+#define TMT_MINCOLORDEPTH 1301
+#define TMT_FIRSTINT TMT_MINCOLORDEPTH
+#define TMT_LASTINT TMT_MINCOLORDEPTH
+#define TMT_CSSNAME 1401
+#define TMT_XMLNAME 1402
+#define TMT_LASTUPDATED 1403
+#define TMT_ALIAS 1404
+#define TMT_FIRSTSTRING TMT_CSSNAME
+#define TMT_LASTSTRING TMT_ALIAS
+#define TMT_SCROLLBAR 1601
+#define TMT_BACKGROUND 1602
+#define TMT_ACTIVECAPTION 1603
+#define TMT_INACTIVECAPTION 1604
+#define TMT_MENU 1605
+#define TMT_WINDOW 1606
+#define TMT_WINDOWFRAME 1607
+#define TMT_MENUTEXT 1608
+#define TMT_WINDOWTEXT 1609
+#define TMT_CAPTIONTEXT 1610
+#define TMT_ACTIVEBORDER 1611
+#define TMT_INACTIVEBORDER 1612
+#define TMT_APPWORKSPACE 1613
+#define TMT_HIGHLIGHT 1614
+#define TMT_HIGHLIGHTTEXT 1615
+#define TMT_BTNFACE 1616
+#define TMT_BTNSHADOW 1617
+#define TMT_GRAYTEXT 1618
+#define TMT_BTNTEXT 1619
+#define TMT_INACTIVECAPTIONTEXT 1620
+#define TMT_BTNHIGHLIGHT 1621
+#define TMT_DKSHADOW3D 1622
+#define TMT_LIGHT3D 1623
+#define TMT_INFOTEXT 1624
+#define TMT_INFOBK 1625
+#define TMT_BUTTONALTERNATEFACE 1626
+#define TMT_HOTTRACKING 1627
+#define TMT_GRADIENTACTIVECAPTION 1628
+#define TMT_GRADIENTINACTIVECAPTION 1629
+#define TMT_MENUHILIGHT 1630
+#define TMT_MENUBAR 1631
+#define TMT_FIRSTCOLOR TMT_SCROLLBAR
+#define TMT_LASTCOLOR TMT_MENUBAR
+#define TMT_FROMHUE1 1801
+#define TMT_FROMHUE2 1802
+#define TMT_FROMHUE3 1803
+#define TMT_FROMHUE4 1804
+#define TMT_FROMHUE5 1805
+#define TMT_TOHUE1 1806
+#define TMT_TOHUE2 1807
+#define TMT_TOHUE3 1808
+#define TMT_TOHUE4 1809
+#define TMT_TOHUE5 1810
+#define TMT_FROMCOLOR1 2001
+#define TMT_FROMCOLOR2 2002
+#define TMT_FROMCOLOR3 2003
+#define TMT_FROMCOLOR4 2004
+#define TMT_FROMCOLOR5 2005
+#define TMT_TOCOLOR1 2006
+#define TMT_TOCOLOR2 2007
+#define TMT_TOCOLOR3 2008
+#define TMT_TOCOLOR4 2009
+#define TMT_TOCOLOR5 2010
+#define TMT_TRANSPARENT 2201
+#define TMT_AUTOSIZE 2202
+#define TMT_BORDERONLY 2203
+#define TMT_COMPOSITED 2204
+#define TMT_BGFILL 2205
+#define TMT_GLYPHTRANSPARENT 2206
+#define TMT_GLYPHONLY 2207
+#define TMT_ALWAYSSHOWSIZINGBAR 2208
+#define TMT_MIRRORIMAGE 2209
+#define TMT_UNIFORMSIZING 2210
+#define TMT_INTEGRALSIZING 2211
+#define TMT_SOURCEGROW 2212
+#define TMT_SOURCESHRINK 2213
+#define TMT_DRAWBORDERS 2214
+#define TMT_NOETCHEDEFFECT 2215
+#define TMT_TEXTAPPLYOVERLAY 2216
+#define TMT_TEXTGLOW 2217
+#define TMT_TEXTITALIC 2218
+#define TMT_COMPOSITEDOPAQUE 2219
+#define TMT_LOCALIZEDMIRRORIMAGE 2220
+#define TMT_IMAGECOUNT 2401
+#define TMT_ALPHALEVEL 2402
+#define TMT_BORDERSIZE 2403
+#define TMT_ROUNDCORNERWIDTH 2404
+#define TMT_ROUNDCORNERHEIGHT 2405
+#define TMT_GRADIENTRATIO1 2406
+#define TMT_GRADIENTRATIO2 2407
+#define TMT_GRADIENTRATIO3 2408
+#define TMT_GRADIENTRATIO4 2409
+#define TMT_GRADIENTRATIO5 2410
+#define TMT_PROGRESSCHUNKSIZE 2411
+#define TMT_PROGRESSSPACESIZE 2412
+#define TMT_SATURATION 2413
+#define TMT_TEXTBORDERSIZE 2414
+#define TMT_ALPHATHRESHOLD 2415
+#define TMT_WIDTH 2416
+#define TMT_HEIGHT 2417
+#define TMT_GLYPHINDEX 2418
+#define TMT_TRUESIZESTRETCHMARK 2419
+#define TMT_MINDPI1 2420
+#define TMT_MINDPI2 2421
+#define TMT_MINDPI3 2422
+#define TMT_MINDPI4 2423
+#define TMT_MINDPI5 2424
+#define TMT_TEXTGLOWSIZE 2425
+#define TMT_FRAMESPERSECOND 2426
+#define TMT_PIXELSPERFRAME 2427
+#define TMT_ANIMATIONDELAY 2428
+#define TMT_GLOWINTENSITY 2429
+#define TMT_OPACITY 2430
+#define TMT_COLORIZATIONCOLOR 2431
+#define TMT_COLORIZATIONOPACITY 2432
+#define TMT_GLYPHFONT 2601
+#define TMT_IMAGEFILE 3001
+#define TMT_IMAGEFILE1 3002
+#define TMT_IMAGEFILE2 3003
+#define TMT_IMAGEFILE3 3004
+#define TMT_IMAGEFILE4 3005
+#define TMT_IMAGEFILE5 3006
+#define TMT_GLYPHIMAGEFILE 3008
+#define TMT_TEXT 3201
+#define TMT_CLASSICVALUE 3202
+#define TMT_OFFSET 3401
+#define TMT_TEXTSHADOWOFFSET 3402
+#define TMT_MINSIZE 3403
+#define TMT_MINSIZE1 3404
+#define TMT_MINSIZE2 3405
+#define TMT_MINSIZE3 3406
+#define TMT_MINSIZE4 3407
+#define TMT_MINSIZE5 3408
+#define TMT_NORMALSIZE 3409
+#define TMT_SIZINGMARGINS 3601
+#define TMT_CONTENTMARGINS 3602
+#define TMT_CAPTIONMARGINS 3603
+#define TMT_BORDERCOLOR 3801
+#define TMT_FILLCOLOR 3802
+#define TMT_TEXTCOLOR 3803
+#define TMT_EDGELIGHTCOLOR 3804
+#define TMT_EDGEHIGHLIGHTCOLOR 3805
+#define TMT_EDGESHADOWCOLOR 3806
+#define TMT_EDGEDKSHADOWCOLOR 3807
+#define TMT_EDGEFILLCOLOR 3808
+#define TMT_TRANSPARENTCOLOR 3809
+#define TMT_GRADIENTCOLOR1 3810
+#define TMT_GRADIENTCOLOR2 3811
+#define TMT_GRADIENTCOLOR3 3812
+#define TMT_GRADIENTCOLOR4 3813
+#define TMT_GRADIENTCOLOR5 3814
+#define TMT_SHADOWCOLOR 3815
+#define TMT_GLOWCOLOR 3816
+#define TMT_TEXTBORDERCOLOR 3817
+#define TMT_TEXTSHADOWCOLOR 3818
+#define TMT_GLYPHTEXTCOLOR 3819
+#define TMT_GLYPHTRANSPARENTCOLOR 3820
+#define TMT_FILLCOLORHINT 3821
+#define TMT_BORDERCOLORHINT 3822
+#define TMT_ACCENTCOLORHINT 3823
+#define TMT_TEXTCOLORHINT 3824
+#define TMT_HEADING1TEXTCOLOR 3825
+#define TMT_HEADING2TEXTCOLOR 3826
+#define TMT_BODYTEXTCOLOR 3827
+#define TMT_BGTYPE 4001
+#define TMT_BORDERTYPE 4002
+#define TMT_FILLTYPE 4003
+#define TMT_SIZINGTYPE 4004
+#define TMT_HALIGN 4005
+#define TMT_CONTENTALIGNMENT 4006
+#define TMT_VALIGN 4007
+#define TMT_OFFSETTYPE 4008
+#define TMT_ICONEFFECT 4009
+#define TMT_TEXTSHADOWTYPE 4010
+#define TMT_IMAGELAYOUT 4011
+#define TMT_GLYPHTYPE 4012
+#define TMT_IMAGESELECTTYPE 4013
+#define TMT_GLYPHFONTSIZINGTYPE 4014
+#define TMT_TRUESIZESCALINGTYPE 4015
+#define TMT_USERPICTURE 5001
+#define TMT_DEFAULTPANESIZE 5002
+#define TMT_BLENDCOLOR 5003
+#define TMT_CUSTOMSPLITRECT 5004
+#define TMT_ANIMATIONBUTTONRECT 5005
+#define TMT_ANIMATIONDURATION 5006
+#define TMT_TRANSITIONDURATIONS 6000
+#define TMT_SCALEDBACKGROUND 7001
+#define TMT_ATLASIMAGE 8000
+#define TMT_ATLASINPUTIMAGE 8001
+#define TMT_ATLASRECT 8002
+
+
+//
+// LINK class parts and states
+//
+#define VSCLASS_LINK L"LINK"
+
+enum LINKPARTS {
+ LP_HYPERLINK = 1,
+};
+
+enum HYPERLINKSTATES {
+ HLS_NORMALTEXT = 1,
+ HLS_LINKTEXT = 2,
+};
+
+
+//
+// EMPTYMARKUP class parts and states
+//
+#define VSCLASS_EMPTYMARKUP L"EMPTYMARKUP"
+
+enum EMPTYMARKUPPARTS {
+ EMP_MARKUPTEXT = 1,
+};
+
+enum MARKUPTEXTSTATES {
+ EMT_NORMALTEXT = 1,
+ EMT_LINKTEXT = 2,
+};
+
+
+//
+// STATIC class parts and states
+//
+#define VSCLASS_STATIC L"STATIC"
+
+enum STATICPARTS {
+ STAT_TEXT = 1,
+};
+
+
+//
+// PAGE class parts and states
+//
+#define VSCLASS_PAGE L"PAGE"
+
+enum PAGEPARTS {
+ PGRP_UP = 1,
+ PGRP_DOWN = 2,
+ PGRP_UPHORZ = 3,
+ PGRP_DOWNHORZ = 4,
+};
+
+
+//
+// MONTHCAL class parts and states
+//
+#define VSCLASS_MONTHCAL L"MONTHCAL"
+
+enum MONTHCALPARTS {
+ MC_BACKGROUND = 1,
+ MC_BORDERS = 2,
+ MC_GRIDBACKGROUND = 3,
+ MC_COLHEADERSPLITTER = 4,
+ MC_GRIDCELLBACKGROUND = 5,
+ MC_GRIDCELL = 6,
+ MC_GRIDCELLUPPER = 7,
+ MC_TRAILINGGRIDCELL = 8,
+ MC_TRAILINGGRIDCELLUPPER = 9,
+ MC_NAVNEXT = 10,
+ MC_NAVPREV = 11,
+};
+
+enum GRIDCELLBACKGROUNDSTATES {
+ MCGCB_SELECTED = 1,
+ MCGCB_HOT = 2,
+ MCGCB_SELECTEDHOT = 3,
+ MCGCB_SELECTEDNOTFOCUSED = 4,
+ MCGCB_TODAY = 5,
+};
+
+enum GRIDCELLSTATES {
+ MCGC_HOT = 1,
+ MCGC_HASSTATE = 2,
+ MCGC_HASSTATEHOT = 3,
+ MCGC_TODAY = 4,
+};
+
+enum GRIDCELLUPPERSTATES {
+ MCGCU_HOT = 1,
+ MCGCU_HASSTATE = 2,
+ MCGCU_HASSTATEHOT = 3,
+};
+
+enum TRAILINGGRIDCELLSTATES {
+ MCTGC_HOT = 1,
+ MCTGC_HASSTATE = 2,
+ MCTGC_HASSTATEHOT = 3,
+ MCTGC_TODAY = 4,
+};
+
+enum TRAILINGGRIDCELLUPPERSTATES {
+ MCTGCU_HOT = 1,
+ MCTGCU_HASSTATE = 2,
+ MCTGCU_HASSTATEHOT = 3,
+};
+
+enum NAVNEXTSTATES {
+ MCNN_NORMAL = 1,
+ MCNN_HOT = 2,
+ MCNN_PRESSED = 3,
+ MCNN_DISABLED = 4,
+};
+
+enum NAVPREVSTATES {
+ MCNP_NORMAL = 1,
+ MCNP_HOT = 2,
+ MCNP_PRESSED = 3,
+ MCNP_DISABLED = 4,
+};
+
+
+//
+// CLOCK class parts and states
+//
+#define VSCLASS_CLOCK L"CLOCK"
+
+enum CLOCKPARTS {
+ CLP_TIME = 1,
+};
+
+enum CLOCKSTATES {
+ CLS_NORMAL = 1,
+ CLS_HOT = 2,
+ CLS_PRESSED = 3,
+};
+
+
+//
+// TRAYNOTIFY class parts and states
+//
+#define VSCLASS_TRAYNOTIFY L"TRAYNOTIFY"
+
+enum TRAYNOTIFYPARTS {
+ TNP_BACKGROUND = 1,
+ TNP_ANIMBACKGROUND = 2,
+};
+
+
+//
+// TASKBAR class parts and states
+//
+#define VSCLASS_TASKBAR L"TASKBAR"
+
+enum TASKBARPARTS {
+ TBP_BACKGROUNDBOTTOM = 1,
+ TBP_BACKGROUNDRIGHT = 2,
+ TBP_BACKGROUNDTOP = 3,
+ TBP_BACKGROUNDLEFT = 4,
+ TBP_SIZINGBARBOTTOM = 5,
+ TBP_SIZINGBARRIGHT = 6,
+ TBP_SIZINGBARTOP = 7,
+ TBP_SIZINGBARLEFT = 8,
+};
+
+
+//
+// TASKBAND class parts and states
+//
+#define VSCLASS_TASKBAND L"TASKBAND"
+
+enum TASKBANDPARTS {
+ TDP_GROUPCOUNT = 1,
+ TDP_FLASHBUTTON = 2,
+ TDP_FLASHBUTTONGROUPMENU = 3,
+};
+
+
+//
+// STARTPANEL class parts and states
+//
+#define VSCLASS_STARTPANEL L"STARTPANEL"
+
+enum STARTPANELPARTS {
+ SPP_USERPANE = 1,
+ SPP_MOREPROGRAMS = 2,
+ SPP_MOREPROGRAMSARROW = 3,
+ SPP_PROGLIST = 4,
+ SPP_PROGLISTSEPARATOR = 5,
+ SPP_PLACESLIST = 6,
+ SPP_PLACESLISTSEPARATOR = 7,
+ SPP_LOGOFF = 8,
+ SPP_LOGOFFBUTTONS = 9,
+ SPP_USERPICTURE = 10,
+ SPP_PREVIEW = 11,
+ SPP_MOREPROGRAMSTAB = 12,
+ SPP_NSCHOST = 13,
+ SPP_SOFTWAREEXPLORER = 14,
+ SPP_OPENBOX = 15,
+ SPP_SEARCHVIEW = 16,
+ SPP_MOREPROGRAMSARROWBACK = 17,
+ SPP_TOPMATCH = 18,
+ SPP_LOGOFFSPLITBUTTONDROPDOWN = 19,
+};
+
+enum MOREPROGRAMSTABSTATES {
+ SPMPT_NORMAL = 1,
+ SPMPT_HOT = 2,
+ SPMPT_SELECTED = 3,
+ SPMPT_DISABLED = 4,
+ SPMPT_FOCUSED = 5,
+};
+
+enum SOFTWAREEXPLORERSTATES {
+ SPSE_NORMAL = 1,
+ SPSE_HOT = 2,
+ SPSE_SELECTED = 3,
+ SPSE_DISABLED = 4,
+ SPSE_FOCUSED = 5,
+};
+
+enum OPENBOXSTATES {
+ SPOB_NORMAL = 1,
+ SPOB_HOT = 2,
+ SPOB_SELECTED = 3,
+ SPOB_DISABLED = 4,
+ SPOB_FOCUSED = 5,
+};
+
+enum MOREPROGRAMSARROWSTATES {
+ SPS_NORMAL = 1,
+ SPS_HOT = 2,
+ SPS_PRESSED = 3,
+};
+
+enum MOREPROGRAMSARROWBACKSTATES {
+ SPSB_NORMAL = 1,
+ SPSB_HOT = 2,
+ SPSB_PRESSED = 3,
+};
+
+enum LOGOFFBUTTONSSTATES {
+ SPLS_NORMAL = 1,
+ SPLS_HOT = 2,
+ SPLS_PRESSED = 3,
+};
+
+
+//
+// MENUBAND class parts and states
+//
+#define VSCLASS_MENUBAND L"MENUBAND"
+
+enum MENUBANDPARTS {
+ MDP_NEWAPPBUTTON = 1,
+ MDP_SEPERATOR = 2,
+};
+
+enum MENUBANDSTATES {
+ MDS_NORMAL = 1,
+ MDS_HOT = 2,
+ MDS_PRESSED = 3,
+ MDS_DISABLED = 4,
+ MDS_CHECKED = 5,
+ MDS_HOTCHECKED = 6,
+};
+
+
+#endif //__VSSYM32_H__
+
|