summaryrefslogtreecommitdiff
path: root/plugins/TipperYM/popwin.h
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
commit48540940b6c28bb4378abfeb500ec45a625b37b6 (patch)
tree2ef294c0763e802f91d868bdef4229b6868527de /plugins/TipperYM/popwin.h
parent5c350913f011e119127baeb32a6aedeb4f0d33bc (diff)
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/TipperYM/popwin.h')
-rw-r--r--plugins/TipperYM/popwin.h140
1 files changed, 140 insertions, 0 deletions
diff --git a/plugins/TipperYM/popwin.h b/plugins/TipperYM/popwin.h
new file mode 100644
index 0000000000..b7ba674b08
--- /dev/null
+++ b/plugins/TipperYM/popwin.h
@@ -0,0 +1,140 @@
+/*
+Copyright (C) 2006-2007 Scott Ellis
+Copyright (C) 2007-2011 Jan Holub
+
+This is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this file; see the file license.txt. If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+*/
+
+#ifndef _POPWIN_INC
+#define _POPWIN_INC
+
+#include "mir_smileys.h"
+
+#define POP_WIN_CLASS _T(MODULE) _T("MimTTClass")
+
+#define PUM_GETHEIGHT (WM_USER + 0x020)
+#define PUM_CALCPOS (WM_USER + 0x021)
+#define PUM_SETSTATUSTEXT (WM_USER + 0x022)
+#define PUM_UPDATERGN (WM_USER + 0x023)
+#define PUM_SETAVATAR (WM_USER + 0x024)
+#define PUM_REFRESH_VALUES (WM_USER + 0x025)
+#define PUM_SHOWXSTATUS (WM_USER + 0x026)
+#define PUM_EXPANDTRAYTIP (WM_USER + 0x027)
+#define PUM_REFRESHTRAYTIP (WM_USER + 0x028)
+#define PUM_FADEOUTWINDOW (WM_USER + 0x029)
+
+// extra icons
+#define EXICONS_COUNT 6
+#define CTRY_ERROR 42 //Flags - some strange value ???
+#define GEN_FEMALE 70
+#define GEN_MALE 77
+
+// copy menu
+#define COPYMENU_ALLITEMS_LABELS 1000
+#define COPYMENU_ALLITEMS 1001
+#define COPYMENU_AVATAR 1002
+
+// tray tooltip items
+#define TRAYTIP_ITEMS_COUNT 11
+
+#define TRAYTIP_NUMCONTACTS 1
+#define TRAYTIP_LOCKSTATUS 2
+#define TRAYTIP_LOGON 4
+#define TRAYTIP_UNREAD_EMAILS 8
+#define TRAYTIP_STATUS 16
+#define TRAYTIP_STATUS_MSG 32
+#define TRAYTIP_EXTRA_STATUS 64
+#define TRAYTIP_LISTENINGTO 128
+#define TRAYTIP_FAVCONTACTS 256
+#define TRAYTIP_MIRANDA_UPTIME 512
+#define TRAYTIP_CLIST_EVENT 1024
+
+// favorite contacts options
+#define FAVCONT_HIDE_OFFLINE 1
+#define FAVCONT_APPEND_PROTO 2
+
+// other
+#define TITLE_TEXT_LEN 512
+#define MAX_VALUE_LEN 64
+
+#define ANIM_ELAPSE 10
+#define ANIM_STEPS 255
+#define CHECKMOUSE_ELAPSE 250
+
+#define ID_TIMER_ANIMATE 0x0100
+#define ID_TIMER_CHECKMOUSE 0x0101
+#define ID_TIMER_TRAYTIP 0x0102
+
+
+typedef struct {
+ HICON hIcon;
+ bool bDestroy;
+} ExtraIcons;
+
+typedef struct {
+ int cbSize;
+ int isTreeFocused; //so the plugin can provide an option
+ int isGroup; //0 if it's a contact, 1 if it's a group
+ HANDLE hItem; //handle to group or contact
+ POINT ptCursor;
+ RECT rcItem;
+ TCHAR *swzText; // for tips with specific text
+ char *szProto; // for proto tips
+} CLCINFOTIPEX;
+
+typedef struct {
+ TCHAR *swzLabel, *swzValue;
+ HICON hIcon;
+ bool bValueNewline;
+ bool bLineAbove;
+ bool bIsTitle;
+ int iLabelHeight, iValueHeight, iTotalHeight;
+ SMILEYPARSEINFO spi;
+} RowData;
+
+typedef struct {
+ HPEN hpenBorder, hpenDivider;
+ int iTitleHeight, iAvatarHeight, iIconsHeight, iTextHeight, iLabelWidth;
+ int iRealAvatarWidth, iRealAvatarHeight;
+ HANDLE hContact;
+ int iIconIndex;
+ CLCINFOTIPEX clcit;
+ TCHAR swzTitle[TITLE_TEXT_LEN];
+ SMILEYPARSEINFO spiTitle;
+ RowData *rows;
+ int iRowCount;
+ int iAnimStep;
+ int iCurrentTrans;
+ bool bIsTextTip, bIsTrayTip;
+ int iIndent, iSidebarWidth;
+ POINT ptCursorStartPos; // work around bugs with hiding tips (timer check mouse position)
+ ExtraIcons extraIcons[EXICONS_COUNT];
+ bool bIsIconVisible[EXICONS_COUNT];
+ int iTrans;
+ int iHotkeyId;
+ bool bIsPainted;
+ bool bNeedRefresh;
+ bool bAllowReposition;
+ RECT rcWindow;
+ HRGN hrgnAeroGlass;
+} PopupWindowData;
+
+
+LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+extern int IsTrayProto(const TCHAR *swzProto, BOOL bExtendedTip);
+
+
+#endif