source: trunk/src/3rdparty/os2/xsystray/xsystray_api.h@ 278

Last change on this file since 278 was 273, checked in by Dmitry A. Kuminov, 16 years ago

3rdparty: os2/xsystray: Use custom shared memory pool for structures posted by the server to the client windows. Process mouse/wheel and context menu messages in the icon area and post them to the respective client windows. Use smaller spacing between icons (one pad unit instead of two).

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Date Revision Author Id
File size: 2.3 KB
Line 
1/*
2 * Extended system tray widget for XCenter/eCenter
3 *
4 * Public API
5 *
6 * Made by netlabs.org
7 *
8 * Author: Dmitry A. Kuminov
9 *
10 * This software is public domain.
11 *
12 * WITHOUT ANY WARRANTY..., AT YOUR OWN RISC... ETC.
13 *
14 */
15
16#ifndef XSYSTRAY_API_HEADER_INCLUDED
17#define XSYSTRAY_API_HEADER_INCLUDED
18
19#if __cplusplus
20extern "C" {
21#endif
22
23// notification code constants for the notification messages sent by the system
24// tray (refer to xstAddSysTrayIcon() for details)
25#define XST_IN_MOUSE 0x0001
26#define XST_IN_CONTEXT 0x0002
27#define XST_IN_WHEEL 0x0003
28
29// structure for XST_IN_MOUSE
30typedef struct
31{
32 ULONG ulMouseMsg;
33 // mouse message (one of WM_BUTTONxyyy)
34 POINTS ptsPointerPos;
35 // global pointer position at the time of the mouse event
36 USHORT fsHitTestRes;
37 // hit-test result (see WM_BUTTONxyyy description in PM)
38 USHORT fsFlags;
39 // keyboard control codes (see WM_BUTTONxyyy description in PM)
40
41} XSTMOUSEMSG, *PXSTMOUSEMSG;
42
43// structure for XST_IN_CONTEXT
44typedef struct
45{
46 POINTS ptsPointerPos;
47 // global pointer position at the time of the mouse event
48 USHORT fPointer;
49 // input device flag (see WM_CONTEXTMENU description in PM)
50
51} XSTCONTEXTMSG, *PXSTCONTEXTMSG;
52
53// structure for XST_IN_WHEEL
54typedef struct
55{
56 ULONG ulWheelMsg;
57 // mouse message (one of WM_HSCROLL or WM_VSCROLL)
58 POINTS ptsPointerPos;
59 // global pointer position at the time of the mouse event
60 USHORT usCmd;
61 // command (see WM_HSCROLL/WM_VSCROLL description in PM)
62
63} XSTWHEELMSG, *PXSTWHEELMSG;
64
65BOOL xstQuerySysTrayVersion(PULONG pulMajor, PULONG pulMinor, PULONG pulRevision);
66BOOL xstAddSysTrayIcon(HWND hwnd, USHORT usId, HPOINTER hIcon, ULONG ulMsgId,
67 ULONG ulFlags);
68BOOL xstRemoveSysTrayIcon(HWND hwnd, USHORT usId);
69BOOL xstSetSysTrayIconToolTip(HWND hwnd, USHORT usId, PSZ pszText);
70BOOL xstShowSysTrayIconBalloon(HWND hwnd, USHORT usId, PSZ pszTitle, PSZ pszText,
71 ULONG ulFlags, ULONG ulTimeout);
72BOOL xstHideSysTrayIconBalloon(HWND hwnd, USHORT usId);
73
74BOOL xstQuerySysTrayIconRect(HWND hwnd, USHORT usId, PRECTL prclRect);
75
76ULONG xstGetSysTrayCreatedMsgId();
77
78ULONG xstGetSysTrayMaxTextLen();
79
80#if __cplusplus
81}
82#endif
83
84#endif // XSYSTRAY_API_HEADER_INCLUDED
85
Note: See TracBrowser for help on using the repository browser.