2012-03-13 09:42:46 -07:00
|
|
|
/* 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/. */
|
|
|
|
|
|
|
|
#ifndef mozilla_dom_ScreenOrientation_h
|
|
|
|
#define mozilla_dom_ScreenOrientation_h
|
|
|
|
|
2012-05-08 14:36:07 -07:00
|
|
|
#include "IPC/IPCMessageUtils.h"
|
|
|
|
|
2012-03-13 09:42:46 -07:00
|
|
|
namespace mozilla {
|
|
|
|
namespace dom {
|
|
|
|
|
2012-03-20 06:09:45 -07:00
|
|
|
// Make sure that any change here is also made in
|
|
|
|
// * mobile/android/base/GeckoScreenOrientationListener.java
|
|
|
|
// * embedding/android/GeckoScreenOrientationListener.java
|
2012-03-13 09:42:46 -07:00
|
|
|
enum ScreenOrientation {
|
2012-03-29 12:43:16 -07:00
|
|
|
eScreenOrientation_None = 0,
|
2012-03-13 09:42:46 -07:00
|
|
|
eScreenOrientation_PortraitPrimary = 1, // 00000001
|
|
|
|
eScreenOrientation_PortraitSecondary = 2, // 00000010
|
|
|
|
eScreenOrientation_Portrait = 3, // 00000011
|
|
|
|
eScreenOrientation_LandscapePrimary = 4, // 00000100
|
|
|
|
eScreenOrientation_LandscapeSecondary = 8, // 00001000
|
|
|
|
eScreenOrientation_Landscape = 12, // 00001100
|
|
|
|
eScreenOrientation_EndGuard
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace dom
|
|
|
|
} // namespace mozilla
|
|
|
|
|
|
|
|
namespace IPC {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen orientation serializer.
|
|
|
|
* Note that technically, 5, 6, 7, 9, 10 and 11 are illegal values but will
|
|
|
|
* not make the serializer to fail. We might want to write our own serializer.
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
struct ParamTraits<mozilla::dom::ScreenOrientation>
|
|
|
|
: public EnumSerializer<mozilla::dom::ScreenOrientation,
|
2012-03-29 12:43:16 -07:00
|
|
|
mozilla::dom::eScreenOrientation_None,
|
2012-03-13 09:42:46 -07:00
|
|
|
mozilla::dom::eScreenOrientation_EndGuard>
|
|
|
|
{};
|
|
|
|
|
|
|
|
} // namespace IPC
|
|
|
|
|
|
|
|
#endif // mozilla_dom_ScreenOrientation_h
|