1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
#ifndef __FLTCONT_H__
#define __FLTCONT_H__
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
/////////////////////////////////////////////////////////////////////////////
//
#define WND_CLASS _T("MirandaThumbsWnd")
#define WM_REFRESH_CONTACT WM_USER + 0x100
#ifndef WS_EX_LAYERED
#define WS_EX_LAYERED 0x00080000
#endif
#ifndef LWA_ALPHA
#define LWA_ALPHA 0x00000002
#endif
#ifndef ULW_ALPHA
#define ULW_ALPHA 0x00000002
#endif
#define TIMERID_SELECT_T 1
#define TIMERID_HOVER_T 2
#define TIMERID_TOTOP_T 3
#define TIMERID_LEAVE_T 4
#if WINVER < 0x0500
#define SM_XVIRTUALSCREEN 76
#define SM_YVIRTUALSCREEN 77
#define SM_CXVIRTUALSCREEN 78
#define SM_CYVIRTUALSCREEN 79
#endif
/////////////////////////////////////////////////////////////////////////////
//
enum
{
FLT_FONTID_CONTACTS,
FLT_FONTID_INVIS,
FLT_FONTID_OFFLINE,
FLT_FONTID_OFFINVIS,
FLT_FONTID_NOTONLIST,
FLT_FONTIDS,
};
#define DBFONTF_BOLD 1
#define DBFONTF_ITALIC 2
#define DBFONTF_UNDERLINE 4
/////////////////////////////////////////////////////////////////////////////
//
#define FLT_DEFAULT_DRAWBORDER TRUE
#define FLT_DEFAULT_LTEDGESCOLOR GetSysColor(COLOR_3DHILIGHT)
#define FLT_DEFAULT_RBEDGESCOLOR GetSysColor(COLOR_3DDKSHADOW)
#define FLT_DEFAULT_BKGNDCOLOR GetSysColor(COLOR_3DFACE)
#define FLT_DEFAULT_BKGNDUSEBITMAP FALSE
#define FLT_DEFAULT_BKGNDBITMAPOPT CLB_STRETCH
/////////////////////////////////////////////////////////////////////////////
//
#define sModule "FloatingContacts"
#define TOTOPTIME_P 1000
#define TOTOPTIME_MAX (15*(60000/TOTOPTIME_P))
#define TOTOPTIME_DEF (3*(60000/TOTOPTIME_P))
#define MAXRCOOR 32767.0
#define DB_POS_GETX(pos) (short)(((float)(short)(LOWORD(pos))*(float)GetSystemMetrics(SM_CXSCREEN))/MAXRCOOR+0.5)
#define DB_POS_GETY(pos) (short)(((float)(short)(HIWORD(pos))*(float)GetSystemMetrics(SM_CYSCREEN))/MAXRCOOR+0.5)
#define DB_POS_MAKE_XY(x, y) MAKELONG((short)(((float)x*MAXRCOOR)/(float)GetSystemMetrics(SM_CXSCREEN)+0.5), (short)(((float)y*MAXRCOOR)/(float)GetSystemMetrics(SM_CYSCREEN)+0.5))
extern HINSTANCE hInst;
extern BOOL bNT;
//extern BOOL bHideOffline;
//extern BOOL bHideAll;
//extern BOOL bHideWhenFullscreen;
//extern BOOL bMoveTogether;
//extern BOOL bFixedWidth;
//extern int nThumbWidth;
//extern BYTE thumbAlpha;
//extern BOOL bShowTip;
extern BOOL bEnableTip;
//extern WORD TimeIn;
//extern BOOL bToTop;
//extern WORD ToTopTime;
//extern BOOL bHideWhenCListShow;
extern BOOL bIsCListShow;
extern HWND hwndMiranda;
extern HIMAGELIST himl;
extern RECT rcScreen;
extern HFONT hFont[FLT_FONTIDS];
extern COLORREF tColor[FLT_FONTIDS];
extern HPEN hLTEdgesPen;
extern HPEN hRBEdgesPen;
extern HBRUSH hBkBrush;
extern DWORD bkColor;
extern HBITMAP hBmpBackground;
extern WORD nBackgroundBmpUse;
typedef struct _FCOptions
{
BYTE thumbAlpha;
BOOL bHideOffline;
BOOL bHideAll;
BOOL bHideWhenFullscreen;
BOOL bMoveTogether;
BOOL bFixedWidth;
int nThumbWidth;
BOOL bShowTip;
WORD TimeIn;
BOOL bToTop;
WORD ToTopTime;
BOOL bHideWhenCListShow;
BOOL bUseSingleClick;
BOOL bShowIdle;
}
FCOptions;
extern FCOptions fcOpt;
extern BOOL (WINAPI *pSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);
extern BOOL (WINAPI *pUpdateLayeredWindow)
(HWND hwnd, HDC hdcDST, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc,
COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags);
/////////////////////////////////////////////////////////////////////////////
//
static __forceinline BOOL ImageList_GetIconSize_my(HIMAGELIST himl, SIZE &sz)
{
int cx, cy;
BOOL res = ImageList_GetIconSize(himl, &cx, &cy);
sz.cx = cx; sz.cy = cy;
return res;
}
void RegHotkey ( HANDLE hContact, HWND hwnd );
BOOL IsStatusVisible ( int status );
BOOL HideOnFullScreen ();
void SendMsgDialog ( HWND hwnd, char *pText );
void SaveContactsPos ( void );
/////////////////////////////////////////////////////////////////////////////
//
void
GetFontSetting
( IN BOOL bFltContacts
, IN int nFontId
, IN LOGFONTA* lf
, IN COLORREF* colour
);
void
ApplyOptionsChanges();
void
OnStatusChanged();
void
SetThumbsOpacity
( IN BYTE btAlpha
);
int
OnOptionsInitialize
( IN WPARAM wParam
, IN LPARAM lParam
);
/////////////////////////////////////////////////////////////////////////////
#endif // #ifndef __FLTCONT_H__
/////////////////////////////////////////////////////////////////////////////
// End Of File fltcont.h
|