summaryrefslogtreecommitdiff
path: root/include/hardware/hwcomposer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hardware/hwcomposer.h')
-rw-r--r--include/hardware/hwcomposer.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/hardware/hwcomposer.h b/include/hardware/hwcomposer.h
index d75a0472..e9925bbb 100644
--- a/include/hardware/hwcomposer.h
+++ b/include/hardware/hwcomposer.h
@@ -408,6 +408,20 @@ typedef struct hwc_module {
struct hw_module_t common;
} hwc_module_t;
+#ifdef TARGET_BOARD_SNOWBALL
+/*
+ * names for setParameter()
+ */
+enum {
+ /* Specifies the UI orientation */
+ HWC_UI_ORIENTATION = 0x00000000,
+ /* Specifies if hardware rotation is used */
+ HWC_HARDWARE_ROTATION = 0x00000001,
+ /* Set the hdmi plug status */
+ HWC_HDMI_PLUGGED = 0x00000002,
+};
+#endif
+
typedef struct hwc_composer_device_1 {
struct hw_device_t common;
@@ -595,6 +609,17 @@ typedef struct hwc_composer_device_1 {
* Reserved for future use. Must be NULL.
*/
void* reserved_proc[4];
+#ifdef TARGET_BOARD_SNOWBALL
+ /*
+ * This hook is vendor specific and optional.
+ *
+ * (*setParameter)() makes the hardware composer aware of the system state,
+ * e.g. hdmi plug status and ui rotation, so that it can make intelligent
+ * decisions on how to handle composed surfaces and cloning in the kernel.
+ */
+ int (*setParameter)(struct hwc_composer_device* dev,
+ int param, int value);
+#endif
} hwc_composer_device_1_t;