12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "Hal.h"
- #include "mozilla/dom/ScreenOrientation.h"
- #include "nsIScreenManager.h"
- #include "nsServiceManagerUtils.h"
- namespace mozilla {
- namespace hal_impl {
- void
- EnableScreenConfigurationNotifications()
- {
- }
- void
- DisableScreenConfigurationNotifications()
- {
- }
- void
- GetCurrentScreenConfiguration(hal::ScreenConfiguration* aScreenConfiguration)
- {
- nsresult rv;
- nsCOMPtr<nsIScreenManager> screenMgr =
- do_GetService("@mozilla.org/gfx/screenmanager;1", &rv);
- if (NS_FAILED(rv)) {
- NS_ERROR("Can't find nsIScreenManager!");
- return;
- }
- nsIntRect rect;
- int32_t colorDepth, pixelDepth;
- dom::ScreenOrientationInternal orientation;
- nsCOMPtr<nsIScreen> screen;
- screenMgr->GetPrimaryScreen(getter_AddRefs(screen));
- screen->GetRect(&rect.x, &rect.y, &rect.width, &rect.height);
- screen->GetColorDepth(&colorDepth);
- screen->GetPixelDepth(&pixelDepth);
- orientation = rect.width >= rect.height
- ? dom::eScreenOrientation_LandscapePrimary
- : dom::eScreenOrientation_PortraitPrimary;
- *aScreenConfiguration =
- hal::ScreenConfiguration(rect, orientation, 0, colorDepth, pixelDepth);
- }
- bool
- LockScreenOrientation(const dom::ScreenOrientationInternal& aOrientation)
- {
- return false;
- }
- void
- UnlockScreenOrientation()
- {
- }
- } // namespace hal_impl
- } // namespace mozilla
|