compositor, shell: add and use weston_surface_set_position()

Another shorthand like weston_surface_configure().

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.c b/src/compositor.c
index cb21eb7..ab90ded 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -518,6 +518,15 @@
 	surface->geometry.dirty = 1;
 }
 
+WL_EXPORT void
+weston_surface_set_position(struct weston_surface *surface,
+			    GLfloat x, GLfloat y)
+{
+	surface->geometry.x = x;
+	surface->geometry.y = y;
+	surface->geometry.dirty = 1;
+}
+
 WL_EXPORT uint32_t
 weston_compositor_get_time(void)
 {
@@ -1364,9 +1373,9 @@
 			  device->grab->x, device->grab->y);
 
 	if (wd->sprite) {
-		wd->sprite->geometry.x = device->x - wd->hotspot_x;
-		wd->sprite->geometry.y = device->y - wd->hotspot_y;
-		wd->sprite->geometry.dirty = 1;
+		weston_surface_set_position(wd->sprite,
+					    device->x - wd->hotspot_x,
+					    device->y - wd->hotspot_y);
 
 		weston_compositor_schedule_repaint(ec);
 	}
diff --git a/src/compositor.h b/src/compositor.h
index 1b0d5cb..966d3f4 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -399,6 +399,10 @@
 			 GLfloat x, GLfloat y, int width, int height);
 
 void
+weston_surface_set_position(struct weston_surface *surface,
+			    GLfloat x, GLfloat y);
+
+void
 weston_surface_assign_output(struct weston_surface *surface);
 
 void
diff --git a/src/shell.c b/src/shell.c
index f67a894..66c4f01 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -346,9 +346,9 @@
 {
 	switch (surface->type) {
 	case SHELL_SURFACE_FULLSCREEN:
-		surface->surface->geometry.x = surface->saved_x;
-		surface->surface->geometry.y = surface->saved_y;
-		surface->surface->geometry.dirty = 1;
+		weston_surface_set_position(surface->surface,
+					    surface->saved_x,
+					    surface->saved_y);
 		surface->surface->fullscreen_output = NULL;
 		break;
 	case SHELL_SURFACE_PANEL:
@@ -402,10 +402,8 @@
 
 	/* assign to parents output  */
 	es->output = pes->output;
- 
-	es->geometry.x = pes->geometry.x + x;
-	es->geometry.y = pes->geometry.y + y;
-	es->geometry.dirty = 1;
+ 	weston_surface_set_position(es, pes->geometry.x + x,
+					pes->geometry.y + y);
 
 	shsurf->type = SHELL_SURFACE_TRANSIENT;
 }
@@ -436,9 +434,9 @@
 
 	shsurf->saved_x = es->geometry.x;
 	shsurf->saved_y = es->geometry.y;
-	es->geometry.x = (output->current->width - es->geometry.width) / 2;
-	es->geometry.y = (output->current->height - es->geometry.height) / 2;
-	es->geometry.dirty = 1;
+	weston_surface_set_position(es,
+		(output->current->width - es->geometry.width) / 2,
+		(output->current->height - es->geometry.height) / 2);
 	es->fullscreen_output = output;
 	shsurf->type = SHELL_SURFACE_FULLSCREEN;
 }
@@ -533,9 +531,7 @@
 	}
 	wl_list_insert(es->geometry.transformation_list.prev,
 		       &shsurf->popup.parent_transform.link);
-	es->geometry.x = shsurf->popup.x;
-	es->geometry.y = shsurf->popup.y;
-	es->geometry.dirty = 1;
+	weston_surface_set_position(es, shsurf->popup.x, shsurf->popup.y);
 
 	shsurf->popup.grab.input_device = device;
 	shsurf->popup.time = device->grab_time;
@@ -747,9 +743,8 @@
 
 	wl_list_insert(&shell->backgrounds, &shsurf->link);
 
-	surface->geometry.x = shsurf->output->x;
-	surface->geometry.y = shsurf->output->y;
-	surface->geometry.dirty = 1;
+	weston_surface_set_position(surface, shsurf->output->x,
+				    shsurf->output->y);
 
 	wl_resource_post_event(resource,
 			       DESKTOP_SHELL_CONFIGURE,
@@ -786,9 +781,8 @@
 
 	wl_list_insert(&shell->panels, &shsurf->link);
 
-	surface->geometry.x = shsurf->output->x;
-	surface->geometry.y = shsurf->output->y;
-	surface->geometry.dirty = 1;
+	weston_surface_set_position(surface, shsurf->output->x,
+				    shsurf->output->y);
 
 	wl_resource_post_event(resource,
 			       DESKTOP_SHELL_CONFIGURE,
@@ -1266,12 +1260,10 @@
 center_on_output(struct weston_surface *surface, struct weston_output *output)
 {
 	struct weston_mode *mode = output->current;
+	GLfloat x = (mode->width - surface->geometry.width) / 2;
+	GLfloat y = (mode->height - surface->geometry.height) / 2;
 
-	surface->geometry.x =
-		output->x + (mode->width - surface->geometry.width) / 2;
-	surface->geometry.y =
-		output->y + (mode->height - surface->geometry.height) / 2;
-	surface->geometry.dirty = 1;
+	weston_surface_set_position(surface, output->x + x, output->y + y);
 }
 
 static void
@@ -1304,8 +1296,8 @@
 	/* initial positioning, see also configure() */
 	switch (surface_type) {
 	case SHELL_SURFACE_TOPLEVEL:
-		surface->geometry.x = 10 + random() % 400;
-		surface->geometry.y = 10 + random() % 400;
+		weston_surface_set_position(surface, 10 + random() % 400,
+					    10 + random() % 400);
 		break;
 	case SHELL_SURFACE_SCREENSAVER:
 	case SHELL_SURFACE_FULLSCREEN:
diff --git a/src/tablet-shell.c b/src/tablet-shell.c
index 5e8d5f1..48784f6 100644
--- a/src/tablet-shell.c
+++ b/src/tablet-shell.c
@@ -110,9 +110,7 @@
 	struct tablet_shell *shell =
 		container_of(base, struct tablet_shell, shell);
 
-	surface->geometry.x = 0;
-	surface->geometry.y = 0;
-	surface->geometry.dirty = 1;
+	weston_surface_configure(surface, 0, 0, width, height);
 
 	if (surface == shell->lockscreen_surface) {
 		/* */
@@ -134,8 +132,6 @@
 	}
 
 	wl_list_insert(&shell->compositor->surface_list, &surface->link);
-	weston_surface_configure(surface, surface->geometry.x,
-				 surface->geometry.y, width, height);
 	weston_surface_assign_output(surface);
 }
 
@@ -168,9 +164,7 @@
 	struct tablet_shell *shell = resource->data;
 	struct weston_surface *es = surface_resource->data;
 
-	es->geometry.x = 0;
-	es->geometry.y = 0;
-	es->geometry.dirty = 1;
+	weston_surface_set_position(es, 0, 0);
 	shell->lockscreen_surface = es;
 	shell->lockscreen_listener.func = handle_lockscreen_surface_destroy;
 	wl_list_insert(es->surface.resource.destroy_listener_list.prev,
@@ -203,9 +197,7 @@
 	 * layer idea, we should be able to hit the framerate on the
 	 * fade/zoom in. */
 	shell->switcher_surface = es;
-	shell->switcher_surface->geometry.x = 0;
-	shell->switcher_surface->geometry.y = 0;
-	shell->switcher_surface->geometry.dirty = 1;
+	weston_surface_set_position(shell->switcher_surface, 0, 0);
 
 	shell->switcher_listener.func = handle_switcher_surface_destroy;
 	wl_list_insert(es->surface.resource.destroy_listener_list.prev,
@@ -220,9 +212,7 @@
 	struct tablet_shell *shell = resource->data;
 
 	shell->home_surface = surface_resource->data;
-	shell->home_surface->geometry.x = 0;
-	shell->home_surface->geometry.y = 0;
-	shell->home_surface->geometry.dirty = 1;
+	weston_surface_set_position(shell->home_surface, 0, 0);
 }
 
 static void