summaryrefslogtreecommitdiff
path: root/include/hardware/fb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hardware/fb.h')
-rw-r--r--include/hardware/fb.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/hardware/fb.h b/include/hardware/fb.h
index ba2f286d..e4fdcf7c 100644
--- a/include/hardware/fb.h
+++ b/include/hardware/fb.h
@@ -42,18 +42,32 @@ typedef struct framebuffer_device_t {
const uint32_t flags;
/* dimensions of the framebuffer in pixels */
+#ifdef TARGET_BOARD_SNOWBALL
+ uint32_t width;
+ uint32_t height;
+#else
const uint32_t width;
const uint32_t height;
+#endif
/* frambuffer stride in pixels */
+#ifdef TARGET_BOARD_SNOWBALL
+ int stride;
+#else
const int stride;
+#endif
/* framebuffer pixel format */
const int format;
/* resolution of the framebuffer's display panel in pixel per inch*/
+#ifdef TARGET_BOARD_SNOWBALL
+ float xdpi;
+ float ydpi;
+#else
const float xdpi;
const float ydpi;
+#endif
/* framebuffer's display panel refresh rate in frames per second */
const float fps;
@@ -141,6 +155,27 @@ typedef struct framebuffer_device_t {
*/
int (*enableScreen)(struct framebuffer_device_t* dev, int enable);
+#ifdef TARGET_BOARD_SNOWBALL
+ /*
+ * Sets the number of degrees ccw the framebuffer shall be rotated before
+ * being sent to the display. This call may change the framebuffer's
+ * dimensions.
+ */
+ int (*rotate)(struct framebuffer_device_t* dev, unsigned int absolute_degree);
+
+ /*
+ * Informs gralloc about the UI rotation. This is needed in the mirroring use
+ * case to get the correct orientation on the external device, e.g. HDMI.
+ */
+ void (*UIRotationChange)(struct framebuffer_device_t* dev, int uiRotation);
+
+ /*
+ * Enables the mirroring of the main display content to an external device,
+ * e.g. HDMI.
+ */
+ void (*enableHDMIMirroring)(struct framebuffer_device_t* dev, int enable);
+#endif
+
void* reserved_proc[6];
} framebuffer_device_t;