[PATCH weston 2/2] compositor: Add doxygen for weston_surface_to_buffer_rect()
Derek Foreman
derekf at osg.samsung.com
Tue Dec 1 11:00:44 PST 2015
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
src/compositor.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/compositor.c b/src/compositor.c
index 0118b67..43cd094 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -932,6 +932,24 @@ weston_surface_to_buffer(struct weston_surface *surface,
*by = floorf(byf);
}
+/* Transform a rectangle from surface coordinates to buffer coordinates
+ *
+ * \param surface The surface to fetch wl_viewport and buffer transformation
+ * from.
+ * \param rect The rectangle to transform.
+ * \return The transformed rectangle.
+ *
+ * Viewport and buffer transformations can only do translation, scaling,
+ * and rotations in 90-degree steps. Therefore the only loss in the
+ * conversion is coordinate rounding.
+ *
+ * However, some coordinate rounding takes place as an intermediate
+ * step before the buffer scale factor is applied, so the rectangle
+ * boundary may not be exactly as expected.
+ *
+ * This is OK for damage tracking since a little extra coverage is
+ * not a problem.
+ */
WL_EXPORT pixman_box32_t
weston_surface_to_buffer_rect(struct weston_surface *surface,
pixman_box32_t rect)
@@ -965,7 +983,8 @@ weston_surface_to_buffer_rect(struct weston_surface *surface,
*
* Viewport and buffer transformations can only do translation, scaling,
* and rotations in 90-degree steps. Therefore the only loss in the
- * conversion is coordinate flooring (rounding).
+ * conversion is from the coordinate rounding that takes place in
+ * \ref weston_surface_to_buffer_rect.
*/
WL_EXPORT void
weston_surface_to_buffer_region(struct weston_surface *surface,
--
2.6.2
More information about the wayland-devel
mailing list