summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-08-15 20:57:42 -0700
committerSteve Kondik <steve@cyngn.com>2015-08-17 12:17:21 -0700
commit0a2704df8bc6156fb322b1cda2575f55bb1cb332 (patch)
tree01270b366c2d521871fc83d031023beea69975b8 /src
parent0a583f1738d2fa21ba4019fdc4425d4ea16d5486 (diff)
downloadandroid_hardware_lineage_lineagehw-0a2704df8bc6156fb322b1cda2575f55bb1cb332.tar.gz
android_hardware_lineage_lineagehw-0a2704df8bc6156fb322b1cda2575f55bb1cb332.tar.bz2
android_hardware_lineage_lineagehw-0a2704df8bc6156fb322b1cda2575f55bb1cb332.zip
hardware: Add DisplayModeControl API
* A device may have a preset list of display modes identified by strings. This API adds support for enumerating and selecting one of these modes. Change-Id: I01f4655a31d79e5c55d318afc71204b9fc5e0ec5
Diffstat (limited to 'src')
-rw-r--r--src/org/cyanogenmod/hardware/DisplayModeControl.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/hardware/DisplayModeControl.java b/src/org/cyanogenmod/hardware/DisplayModeControl.java
new file mode 100644
index 0000000..4ae4ef0
--- /dev/null
+++ b/src/org/cyanogenmod/hardware/DisplayModeControl.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2015 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.cyanogenmod.hardware;
+
+import cyanogenmod.hardware.DisplayMode;
+
+/*
+ * Display Modes API
+ *
+ * A device may implement a list of preset display modes for different
+ * viewing intents, such as movies, photos, or extra vibrance. These
+ * modes may have multiple components such as gamma correction, white
+ * point adjustment, etc, but are activated by a single control point.
+ *
+ * This API provides support for enumerating and selecting the
+ * modes supported by the hardware.
+ */
+
+public class DisplayModeControl {
+
+ /*
+ * All HAF classes should export this boolean.
+ * Real implementations must, of course, return true
+ */
+ public static boolean isSupported() { return false; }
+
+ /*
+ * Get the list of available modes. A mode has an integer
+ * identifier and a string name.
+ *
+ * It is the responsibility of the upper layers to
+ * map the name to a human-readable format or perform translation.
+ */
+ public static DisplayMode[] getAvailableModes() {
+ throw new UnsupportedOperationException();
+ }
+
+ /*
+ * Get the name of the currently selected mode. This can return
+ * null if no mode is selected.
+ */
+ public static DisplayMode getCurrentMode() {
+ return null;
+ }
+
+ /*
+ * Selects a mode from the list of available modes by it's
+ * string identifier. Returns true on success, false for
+ * failure. It is up to the implementation to determine
+ * if this mode is valid.
+ */
+ public static boolean setMode(DisplayMode mode, boolean makeDefault) {
+ return false;
+ }
+
+ /*
+ * Gets the preferred default mode for this device by it's
+ * string identifier. Can return null if there is no default.
+ */
+ public static DisplayMode getDefaultMode() {
+ return null;
+ }
+}