nsWindowUtilWin.h
Go to the documentation of this file.
1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * The contents of this file are subject to the Mozilla Public License Version
5  * 1.1 (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS" basis,
10  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11  * for the specific language governing rights and limitations under the
12  * License.
13  *
14  * The Original Code is MinimizeToTray.
15  *
16  * The Initial Developer of the Original Code are
17  * Mark Yen and Brad Peterson.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  *
21  * Contributor(s):
22  * Mark Yen <mook.moz+cvs.mozilla.org@gmail.com>, Original author
23  * Brad Peterson <b_peterson@yahoo.com>, Original author
24  * Daniel Glazman <daniel.glazman@disruptive-innovations.com>
25  * Matthew Gertner <matthew@allpeers.com>
26  *
27  * Alternatively, the contents of this file may be used under the terms of
28  * either the GNU General Public License Version 2 or later (the "GPL"), or
29  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30  * in which case the provisions of the GPL or the LGPL are applicable instead
31  * of those above. If you wish to allow use of your version of this file only
32  * under the terms of either the GPL or the LGPL, and not to allow others to
33  * use your version of this file under the terms of the MPL, indicate your
34  * decision by deleting the provisions above and replace them with the notice
35  * and other provisions required by the GPL or the LGPL. If you do not delete
36  * the provisions above, a recipient may use your version of this file under
37  * the terms of any one of the MPL, the GPL or the LGPL.
38  *
39  * ***** END LICENSE BLOCK ***** */
40 
41 #ifndef nsIWindowUtil_h__
42 #define nsIWindowUtil_h__
43 
44 #include <windows.h>
45 
46 #include "nsIWindowUtil.h"
47 #include "nsCOMPtr.h"
48 
49 // {2657AFF1-65D6-4913-A561-8FC1859348BF}
50 #define NS_WINDOWUTIL_CID \
51  { 0x2657aff1, 0x65d6, 0x4913, \
52  { 0xa5, 0x61, 0x8f, 0xc1, 0x85, 0x93, 0x48, 0xbf } }
53 
54 #define NS_WINDOWUTIL_CONTRACTID "@mozilla.org/window-util;1"
55 #define NS_WINDOWUTIL_CLASSNAME "Window Util"
56 
57 class nsWindowUtil : public nsIWindowUtil
58 {
59 public:
61  NS_DECL_NSIWINDOWUTIL
62 
63  nsWindowUtil();
64 
65 private:
66  ~nsWindowUtil();
67 
68 protected:
69  static LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,
70  LPARAM lParam);
71 
72  nsCOMPtr<nsIDOMWindow> mDOMWindow;
73  HWND mWnd;
74  WNDPROC mOldProc;
75 };
76 
77 #endif // nsIWindowUtil_h__
NS_DECL_ISUPPORTS NS_DECL_NSIWINDOWUTIL nsWindowUtil()
WNDPROC mOldProc
static LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
nsCOMPtr< nsIDOMWindow > mDOMWindow