Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: ui/gfx/android/device_display_info.h

Issue 1144333004: Make WebView work for external displays (over Presentations). Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor fixes according to boliu/jdduke's comments Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_ 5 #ifndef UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_
6 #define UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_ 6 #define UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 #include <string> 9 #include <string>
10 10
11 #include "base/android/jni_android.h"
11 #include "base/basictypes.h" 12 #include "base/basictypes.h"
12 #include "ui/gfx/gfx_export.h" 13 #include "ui/gfx/gfx_export.h"
13 14
14 namespace gfx { 15 namespace gfx {
15 16
16 // Facilitates access to device information typically only 17 // Facilitates access to device information typically only
17 // available using the Android SDK, including Display properties. 18 // available using the Android SDK, including Display properties.
18 class GFX_EXPORT DeviceDisplayInfo { 19 class GFX_EXPORT DeviceDisplayInfo {
19 public: 20 public:
20 DeviceDisplayInfo(); 21 DeviceDisplayInfo();
22 explicit DeviceDisplayInfo(jobject context);
21 ~DeviceDisplayInfo(); 23 ~DeviceDisplayInfo();
22 24
23 // Returns display height in physical pixels. 25 // Returns display height in physical pixels.
24 int GetDisplayHeight(); 26 int GetDisplayHeight() const;
25 27
26 // Returns display width in physical pixels. 28 // Returns display width in physical pixels.
27 int GetDisplayWidth(); 29 int GetDisplayWidth() const;
28 30
29 // Returns real display height in physical pixels. 31 // Returns real display height in physical pixels.
30 // This version does not subtract window decorations etc. 32 // This version does not subtract window decorations etc.
31 // WARNING: This is only supported on JB-MR1 (sdk >= 17). Either 33 // WARNING: This is only supported on JB-MR1 (sdk >= 17). Either
32 // check the SDK-level, or check for '0' being returned. 34 // check the SDK-level, or check for '0' being returned.
33 int GetPhysicalDisplayHeight(); 35 int GetPhysicalDisplayHeight() const;
34 36
35 // Returns real display width in physical pixels. 37 // Returns real display width in physical pixels.
36 // This version does not subtract window decorations etc. 38 // This version does not subtract window decorations etc.
37 // WARNING: This is only supported on JB-MR1 (sdk >= 17). Either 39 // WARNING: This is only supported on JB-MR1 (sdk >= 17). Either
38 // check the SDK-level, or check for '0' being returned. 40 // check the SDK-level, or check for '0' being returned.
39 int GetPhysicalDisplayWidth(); 41 int GetPhysicalDisplayWidth() const;
40 42
41 // Returns number of bits per pixel. 43 // Returns number of bits per pixel.
42 int GetBitsPerPixel(); 44 int GetBitsPerPixel() const;
43 45
44 // Returns number of bits per component. 46 // Returns number of bits per component.
45 int GetBitsPerComponent(); 47 int GetBitsPerComponent() const;
46 48
47 // Returns a scaling factor for Density Independent Pixel unit 49 // Returns a scaling factor for Density Independent Pixel unit
48 // (1.0 is 160dpi, 0.75 is 120dpi, 2.0 is 320dpi). 50 // (1.0 is 160dpi, 0.75 is 120dpi, 2.0 is 320dpi).
49 double GetDIPScale(); 51 double GetDIPScale() const;
50 52
51 // Smallest possible screen size in density-independent pixels. 53 // Smallest possible screen size in density-independent pixels.
52 int GetSmallestDIPWidth(); 54 int GetSmallestDIPWidth() const;
53 55
54 // Returns the display rotation angle from its natural orientation. Expected 56 // Returns the display rotation angle from its natural orientation. Expected
55 // values are one of { 0, 90, 180, 270 }. 57 // values are one of { 0, 90, 180, 270 }.
56 // See DeviceDispayInfo.java for more information. 58 // See DeviceDispayInfo.java for more information.
57 int GetRotationDegrees(); 59 int GetRotationDegrees() const;
60
61 // Registers methods with JNI and returns true if succeeded.
62 static bool RegisterDeviceDisplayInfo(JNIEnv* env);
63
64 private:
65 void FetchDisplayInfoFromJava(JNIEnv* env);
66
67 base::android::ScopedJavaGlobalRef<jobject> j_device_info_;
68
69 int display_height_;
70 int display_width_;
71 int physical_display_height_;
72 int physical_display_width_;
73 int bits_per_pixel_;
74 int bits_per_component_;
75 double dip_scale_;
76 int smallest_dip_width_;
77 int rotation_degrees_;
58 78
59 private: 79 private:
60 DISALLOW_COPY_AND_ASSIGN(DeviceDisplayInfo); 80 DISALLOW_COPY_AND_ASSIGN(DeviceDisplayInfo);
61 }; 81 };
62 82
63 } // namespace gfx 83 } // namespace gfx
64 84
65 #endif // UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_ 85 #endif // UI_GFX_ANDROID_DEVICE_DISPLAY_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698