| Index: ui/gfx/android/shared_device_display_info.h
|
| diff --git a/ui/gfx/android/shared_device_display_info.h b/ui/gfx/android/shared_device_display_info.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..231438ea0439b1b0eba90f9c8c4af86fe27a04a6
|
| --- /dev/null
|
| +++ b/ui/gfx/android/shared_device_display_info.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef UI_GFX_ANDROID_SHARED_DEVICE_DISPLAY_INFO_H_
|
| +#define UI_GFX_ANDROID_SHARED_DEVICE_DISPLAY_INFO_H_
|
| +
|
| +#include "base/android/scoped_java_ref.h"
|
| +#include "base/basictypes.h"
|
| +#include "base/memory/singleton.h"
|
| +#include "base/synchronization/lock.h"
|
| +
|
| +namespace gfx {
|
| +
|
| +// Facilitates access to device information typically only
|
| +// available using the Android SDK, including Display properties.
|
| +class SharedDeviceDisplayInfo {
|
| + public:
|
| + static SharedDeviceDisplayInfo* GetInstance();
|
| +
|
| + int GetDisplayHeight();
|
| + int GetDisplayWidth();
|
| + int GetBitsPerPixel();
|
| + int GetBitsPerComponent();
|
| + double GetDIPScale();
|
| + int GetSmallestDIPWidth();
|
| +
|
| + // Registers methods with JNI and returns true if succeeded.
|
| + static bool RegisterSharedDeviceDisplayInfo(JNIEnv* env);
|
| +
|
| + void InvokeUpdate(JNIEnv* env,
|
| + jobject jobj,
|
| + jint display_height,
|
| + jint display_width,
|
| + jint bits_per_pixel,
|
| + jint bits_per_component,
|
| + jdouble dip_scale,
|
| + jint smallest_dip_width);
|
| + private:
|
| + friend struct DefaultSingletonTraits<SharedDeviceDisplayInfo>;
|
| +
|
| + SharedDeviceDisplayInfo();
|
| + ~SharedDeviceDisplayInfo();
|
| + void UpdateDisplayInfo(JNIEnv* env,
|
| + jobject jobj,
|
| + jint display_height,
|
| + jint display_width,
|
| + jint bits_per_pixel,
|
| + jint bits_per_component,
|
| + jdouble dip_scale,
|
| + jint smallest_dip_width);
|
| +
|
| + base::Lock lock_;
|
| + base::android::ScopedJavaGlobalRef<jobject> j_device_info_;
|
| +
|
| + int display_height_;
|
| + int display_width_;
|
| + int bits_per_pixel_;
|
| + int bits_per_component_;
|
| + double dip_scale_;
|
| + int smallest_dip_width_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SharedDeviceDisplayInfo);
|
| +};
|
| +
|
| +} // namespace gfx
|
| +
|
| +#endif // UI_GFX_ANDROID_SHARED_DEVICE_DISPLAY_INFO_H_
|
|
|