]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/taskbar.h
Use kCGBlendModeExclusion for wxCOMPOSITION_XOR operation.
[wxWidgets.git] / include / wx / cocoa / taskbar.h
index 8b137891791fe96927ad78e64b0aad7bded08bdc..1410ae6873b0709c3ce8825e1eedde90df59b7c0 100644 (file)
@@ -1 +1,48 @@
+/////////////////////////////////////////////////////////////////////////
+// File:        wx/cocoa/taskbar.h
+// Purpose:     Defines wxTaskBarIcon class
+// Author:      David Elliott
+// Modified by:
+// Created:     2004/01/24
+// RCS-ID:      $Id$
+// Copyright:   (c) 2004 David Elliott
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_COCOA_TASKBAR_H__
+#define _WX_COCOA_TASKBAR_H__
+
+#include "wx/icon.h"
+
+class WXDLLIMPEXP_FWD_CORE wxIcon;
+class WXDLLIMPEXP_FWD_CORE wxMenu;
+
+class wxTaskBarIconCocoaImpl;
+
+class WXDLLIMPEXP_ADV wxTaskBarIcon : public wxTaskBarIconBase
+{
+    friend class wxTaskBarIconCocoaImpl;
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxTaskBarIcon)
+public:
+    //type of taskbar item to create (currently only DOCK is implemented)
+    enum wxTaskBarIconType
+    {   DOCK
+    ,   CUSTOM_STATUSITEM
+//    ,   STATUSITEM // TODO: Implement using NSStatusItem w/o custom NSView
+//    ,   MENUEXTRA // Menu extras require undocumented hacks
+    ,   DEFAULT_TYPE = CUSTOM_STATUSITEM
+    };
+
+    // Only one wxTaskBarIcon can be of the Dock type so by default
+    // create NSStatusItem for maximum source compatibility.
+    wxTaskBarIcon(wxTaskBarIconType iconType = DEFAULT_TYPE);
+    virtual ~wxTaskBarIcon();
+
+    bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxEmptyString);
+    bool RemoveIcon();
+    bool PopupMenu(wxMenu *menu); //, int x, int y);
+protected:
+    wxTaskBarIconCocoaImpl *m_impl;
+};
+
+#endif // _WX_COCOA_TASKBAR_H__