1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsScreenManagerWin_h___
7 #define nsScreenManagerWin_h___
9 #include "nsIScreenManager.h"
14 #include "mozilla/Attributes.h"
18 //------------------------------------------------------------------------
23 ScreenListItem ( HMONITOR inMon
, nsIScreen
* inScreen
)
24 : mMon(inMon
), mScreen(inScreen
) { } ;
27 nsCOMPtr
<nsIScreen
> mScreen
;
30 class nsScreenManagerWin MOZ_FINAL
: public nsIScreenManager
33 nsScreenManagerWin ( );
34 ~nsScreenManagerWin();
37 NS_DECL_NSISCREENMANAGER
41 nsIScreen
* CreateNewScreenObject ( HMONITOR inScreen
) ;
43 uint32_t mNumberOfScreens
;
45 // cache the screens to avoid the memory allocations
46 nsAutoTArray
<ScreenListItem
, 8> mScreenList
;
50 #endif // nsScreenManagerWin_h___