expo: Provide a way to position things relative to display

It is often necessary to centre objects within the display area. Add a
special position value to indicate this.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/boot/scene.c b/boot/scene.c
index 237f2bc..fa8f540 100644
--- a/boot/scene.c
+++ b/boot/scene.c
@@ -364,6 +364,11 @@
 {
 	int width, height;
 
+	if (bbox->x1 == SCENEOB_DISPLAY_MAX)
+		bbox->x1 = xsize ?: 1280;
+	if (bbox->y1 == SCENEOB_DISPLAY_MAX)
+		bbox->y1 = ysize ?: 1024;
+
 	width = bbox->x1 - bbox->x0;
 	height = bbox->y1 - bbox->y0;
 
diff --git a/include/expo.h b/include/expo.h
index 2addddd..4dee479 100644
--- a/include/expo.h
+++ b/include/expo.h
@@ -242,6 +242,12 @@
 	int y;
 };
 
+/* special values for dimensions */
+enum {
+	/* width/height of the display */
+	SCENEOB_DISPLAY_MAX	= 0x7f000000,
+};
+
 /**
  * enum scene_obj_halign - Horizontal alignment of objects
  *