Index: pace/lib/softrend/compose.c
===================================================================
--- uspace/lib/softrend/compose.c	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,102 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#include "compose.h"
-
-pixel_t compose_clr(pixel_t fg, pixel_t bg)
-{
-	return 0;
-}
-
-pixel_t compose_src(pixel_t fg, pixel_t bg)
-{
-	return fg;
-}
-
-pixel_t compose_dst(pixel_t fg, pixel_t bg)
-{
-	return bg;
-}
-
-pixel_t compose_over(pixel_t fg, pixel_t bg)
-{
-	uint8_t res_a;
-	uint8_t res_r;
-	uint8_t res_g;
-	uint8_t res_b;
-	uint32_t res_a_inv;
-
-	res_a_inv = ALPHA(bg) * (255 - ALPHA(fg));
-	res_a = ALPHA(fg) + (res_a_inv / 255);
-
-	res_r = (RED(fg) * ALPHA(fg) / 255) + (RED(bg) * res_a_inv) / (255 * 255);
-	res_g = (GREEN(fg) * ALPHA(fg) / 255) + (GREEN(bg) * res_a_inv) / (255 * 255);
-	res_b = (BLUE(fg) * ALPHA(fg) / 255) + (BLUE(bg) * res_a_inv) / (255 * 255);
-
-	return PIXEL(res_a, res_r, res_g, res_b);
-}
-
-pixel_t compose_in(pixel_t fg, pixel_t bg)
-{
-	// TODO
-	return 0;
-}
-
-pixel_t compose_out(pixel_t fg, pixel_t bg)
-{
-	// TODO
-	return 0;
-}
-
-pixel_t compose_atop(pixel_t fg, pixel_t bg)
-{
-	// TODO
-	return 0;
-}
-
-pixel_t compose_xor(pixel_t fg, pixel_t bg)
-{
-	// TODO
-	return 0;
-}
-
-pixel_t compose_add(pixel_t fg, pixel_t bg)
-{
-	// TODO
-	return 0;
-}
-
-/** @}
- */
Index: pace/lib/softrend/compose.h
===================================================================
--- uspace/lib/softrend/compose.h	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,57 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#ifndef SOFTREND_COMPOSE_H_
-#define SOFTREND_COMPOSE_H_
-
-#include <io/pixel.h>
-
-typedef pixel_t (*compose_t)(pixel_t, pixel_t);
-
-extern pixel_t compose_clr(pixel_t, pixel_t);
-extern pixel_t compose_src(pixel_t, pixel_t);
-extern pixel_t compose_dst(pixel_t, pixel_t);
-
-extern pixel_t compose_over(pixel_t, pixel_t);
-extern pixel_t compose_in(pixel_t, pixel_t);
-extern pixel_t compose_out(pixel_t, pixel_t);
-extern pixel_t compose_atop(pixel_t, pixel_t);
-extern pixel_t compose_xor(pixel_t, pixel_t);
-extern pixel_t compose_add(pixel_t, pixel_t);
-
-#endif
-
-/** @}
- */
Index: pace/lib/softrend/filter.c
===================================================================
--- uspace/lib/softrend/filter.c	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,121 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * Copyright (c) 2014 Martin Sucha
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#include "filter.h"
-#include <io/pixel.h>
-
-static long _round(double val)
-{
-	return val > 0 ? (long) (val + 0.5) : (long) (val - 0.5);
-}
-
-static long _floor(double val)
-{
-	long lval = (long) val;
-	if (val < 0 && lval != val)
-		return lval - 1;
-	return lval;
-}
-
-static long _ceil(double val)
-{
-	long lval = (long) val;
-	if (val > 0 && lval != val)
-		return lval + 1;
-	return lval;
-}
-
-static inline pixel_t blend_pixels(size_t count, float *weights,
-    pixel_t *pixels)
-{
-	float alpha = 0, red = 0, green = 0, blue = 0;
-	for (size_t index = 0; index < count; index++) {
-		alpha += weights[index] * ALPHA(pixels[index]);
-		red   += weights[index] *   RED(pixels[index]);
-		green += weights[index] * GREEN(pixels[index]);
-		blue  += weights[index] *  BLUE(pixels[index]);
-	}
-
-	return PIXEL((uint8_t) alpha, (uint8_t) red, (uint8_t) green,
-	    (uint8_t) blue);
-}
-
-pixel_t filter_nearest(pixelmap_t *pixmap, double x, double y,
-    pixelmap_extend_t extend)
-{
-	return pixelmap_get_extended_pixel(pixmap, _round(x), _round(y), extend);
-}
-
-pixel_t filter_bilinear(pixelmap_t *pixmap, double x, double y,
-    pixelmap_extend_t extend)
-{
-	long x1 = _floor(x);
-	long x2 = _ceil(x);
-	long y1 = _floor(y);
-	long y2 = _ceil(y);
-
-	if (y1 == y2 && x1 == x2) {
-		return pixelmap_get_extended_pixel(pixmap,
-		    (sysarg_t) x1, (sysarg_t) y1, extend);
-	}
-
-	double x_delta = x - x1;
-	double y_delta = y - y1;
-
-	pixel_t pixels[4];
-	pixels[0] = pixelmap_get_extended_pixel(pixmap, x1, y1, extend);
-	pixels[1] = pixelmap_get_extended_pixel(pixmap, x2, y1, extend);
-	pixels[2] = pixelmap_get_extended_pixel(pixmap, x1, y2, extend);
-	pixels[3] = pixelmap_get_extended_pixel(pixmap, x2, y2, extend);
-
-	float weights[4];
-	weights[0] = (1 - x_delta) * (1 - y_delta);
-	weights[1] = x_delta       * (1 - y_delta);
-	weights[2] = (1 - x_delta) * y_delta;
-	weights[3] = x_delta       * y_delta;
-
-	return blend_pixels(4, weights, pixels);
-}
-
-pixel_t filter_bicubic(pixelmap_t *pixmap, double x, double y,
-    pixelmap_extend_t extend)
-{
-	// TODO
-	return 0;
-}
-
-/** @}
- */
Index: pace/lib/softrend/filter.h
===================================================================
--- uspace/lib/softrend/filter.h	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#ifndef SOFTREND_FILTER_H_
-#define SOFTREND_FILTER_H_
-
-#include <io/pixelmap.h>
-
-typedef pixel_t (*filter_t)(pixelmap_t *, double, double, pixelmap_extend_t);
-
-extern pixel_t filter_nearest(pixelmap_t *, double, double, pixelmap_extend_t);
-extern pixel_t filter_bilinear(pixelmap_t *, double, double, pixelmap_extend_t);
-extern pixel_t filter_bicubic(pixelmap_t *, double, double, pixelmap_extend_t);
-
-#endif
-
-/** @}
- */
Index: uspace/lib/softrend/meson.build
===================================================================
--- uspace/lib/softrend/meson.build	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ uspace/lib/softrend/meson.build	(revision 4b06a70665ed477f83132010ee910b572ab27028)
@@ -27,10 +27,5 @@
 #
 
-deps = [ 'math' ]
 src = files(
-	'compose.c',
-	'filter.c',
 	'pixconv.c',
-	'rectangle.c',
-	'transform.c',
 )
Index: uspace/lib/softrend/pixconv.c
===================================================================
--- uspace/lib/softrend/pixconv.c	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ uspace/lib/softrend/pixconv.c	(revision 4b06a70665ed477f83132010ee910b572ab27028)
@@ -32,11 +32,5 @@
  */
 /**
- * @file
- */
-
-#include <byteorder.h>
-#include "pixconv.h"
-
-/** Pixel conversion and mask functions
+ * @file Pixel conversion and mask functions.
  *
  * These functions write an ARGB pixel value to a memory location
@@ -47,4 +41,7 @@
  */
 
+#include <byteorder.h>
+#include "pixconv.h"
+
 void pixel2argb_8888(void *dst, pixel_t pix)
 {
Index: pace/lib/softrend/rectangle.c
===================================================================
--- uspace/lib/softrend/rectangle.c	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,84 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#include "rectangle.h"
-
-bool rectangle_intersect(
-    sysarg_t x1, sysarg_t y1, sysarg_t w1, sysarg_t h1,
-    sysarg_t x2, sysarg_t y2, sysarg_t w2, sysarg_t h2,
-    sysarg_t *x_out, sysarg_t *y_out, sysarg_t *w_out, sysarg_t *h_out)
-{
-	sysarg_t l, r, t, b;
-
-	l = x1 < x2 ? x2 : x1;
-	t = y1 < y2 ? y2 : y1;
-	r = x1 + w1 < x2 + w2 ? x1 + w1 : x2 + w2;
-	b = y1 + h1 < y2 + h2 ? y1 + h1 : y2 + h2;
-
-	if (l < r && t < b) {
-		(*x_out) = l;
-		(*y_out) = t;
-		(*w_out) = r - l;
-		(*h_out) = b - t;
-		return true;
-	} else {
-		(*x_out) = 0;
-		(*y_out) = 0;
-		(*w_out) = 0;
-		(*h_out) = 0;
-		return false;
-	}
-}
-
-void rectangle_union(
-    sysarg_t x1, sysarg_t y1, sysarg_t w1, sysarg_t h1,
-    sysarg_t x2, sysarg_t y2, sysarg_t w2, sysarg_t h2,
-    sysarg_t *x_out, sysarg_t *y_out, sysarg_t *w_out, sysarg_t *h_out)
-{
-	sysarg_t l, r, t, b;
-
-	l = x1 > x2 ? x2 : x1;
-	t = y1 > y2 ? y2 : y1;
-	r = x1 + w1 > x2 + w2 ? x1 + w1 : x2 + w2;
-	b = y1 + h1 > y2 + h2 ? y1 + h1 : y2 + h2;
-
-	(*x_out) = l;
-	(*y_out) = t;
-	(*w_out) = r - l;
-	(*h_out) = b - t;
-}
-
-/** @}
- */
Index: pace/lib/softrend/rectangle.h
===================================================================
--- uspace/lib/softrend/rectangle.h	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/*
- * Copyright (c) 2012 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#ifndef SOFTREND_RECTANGLE_H_
-#define SOFTREND_RECTANGLE_H_
-
-#include <stdbool.h>
-#include <types/common.h>
-
-extern bool rectangle_intersect(
-    sysarg_t, sysarg_t, sysarg_t, sysarg_t,
-    sysarg_t, sysarg_t, sysarg_t, sysarg_t,
-    sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *);
-extern void rectangle_union(
-    sysarg_t, sysarg_t, sysarg_t, sysarg_t,
-    sysarg_t, sysarg_t, sysarg_t, sysarg_t,
-    sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *);
-
-#endif
-
-/** @}
- */
Index: pace/lib/softrend/transform.c
===================================================================
--- uspace/lib/softrend/transform.c	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,198 +1,0 @@
-/*
- * Copyright (c) 2011 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#include <math.h>
-#include "transform.h"
-
-void transform_product(transform_t *res, const transform_t *a,
-    const transform_t *b)
-{
-	for (unsigned int i = 0; i < TRANSFORM_MATRIX_DIM; i++) {
-		for (unsigned int j = 0; j < TRANSFORM_MATRIX_DIM; j++) {
-			double comb = 0;
-
-			for (unsigned int k = 0; k < TRANSFORM_MATRIX_DIM; k++)
-				comb += a->matrix[i][k] * b->matrix[k][j];
-
-			res->matrix[i][j] = comb;
-		}
-	}
-}
-
-void transform_invert(transform_t *trans)
-{
-	double a = trans->matrix[1][1] * trans->matrix[2][2] -
-	    trans->matrix[1][2] * trans->matrix[2][1];
-	double b = trans->matrix[1][2] * trans->matrix[2][0] -
-	    trans->matrix[2][2] * trans->matrix[1][0];
-	double c = trans->matrix[1][0] * trans->matrix[2][1] -
-	    trans->matrix[1][1] * trans->matrix[2][0];
-	double d = trans->matrix[0][2] * trans->matrix[2][1] -
-	    trans->matrix[0][1] * trans->matrix[2][2];
-	double e = trans->matrix[0][0] * trans->matrix[2][2] -
-	    trans->matrix[0][2] * trans->matrix[2][0];
-	double f = trans->matrix[2][0] * trans->matrix[0][1] -
-	    trans->matrix[0][0] * trans->matrix[2][1];
-	double g = trans->matrix[0][1] * trans->matrix[1][2] -
-	    trans->matrix[0][2] * trans->matrix[1][1];
-	double h = trans->matrix[0][2] * trans->matrix[1][0] -
-	    trans->matrix[0][0] * trans->matrix[1][2];
-	double k = trans->matrix[0][0] * trans->matrix[1][1] -
-	    trans->matrix[0][1] * trans->matrix[1][0];
-
-	double det = 1 / (a * trans->matrix[0][0] + b * trans->matrix[0][1] +
-	    c * trans->matrix[0][2]);
-
-	trans->matrix[0][0] = a * det;
-	trans->matrix[1][0] = b * det;
-	trans->matrix[2][0] = c * det;
-
-	trans->matrix[0][1] = d * det;
-	trans->matrix[1][1] = e * det;
-	trans->matrix[2][1] = f * det;
-
-	trans->matrix[0][2] = g * det;
-	trans->matrix[1][2] = h * det;
-	trans->matrix[2][2] = k * det;
-}
-
-void transform_identity(transform_t *trans)
-{
-	trans->matrix[0][0] = 1;
-	trans->matrix[1][0] = 0;
-	trans->matrix[2][0] = 0;
-
-	trans->matrix[0][1] = 0;
-	trans->matrix[1][1] = 1;
-	trans->matrix[2][1] = 0;
-
-	trans->matrix[0][2] = 0;
-	trans->matrix[1][2] = 0;
-	trans->matrix[2][2] = 1;
-}
-
-void transform_translate(transform_t *trans, double dx, double dy)
-{
-	transform_t a;
-
-	a.matrix[0][0] = 1;
-	a.matrix[1][0] = 0;
-	a.matrix[2][0] = 0;
-
-	a.matrix[0][1] = 0;
-	a.matrix[1][1] = 1;
-	a.matrix[2][1] = 0;
-
-	a.matrix[0][2] = dx;
-	a.matrix[1][2] = dy;
-	a.matrix[2][2] = 1;
-
-	transform_t b = *trans;
-
-	transform_product(trans, &a, &b);
-}
-
-void transform_scale(transform_t *trans, double qx, double qy)
-{
-	transform_t a;
-
-	a.matrix[0][0] = qx;
-	a.matrix[1][0] = 0;
-	a.matrix[2][0] = 0;
-
-	a.matrix[0][1] = 0;
-	a.matrix[1][1] = qy;
-	a.matrix[2][1] = 0;
-
-	a.matrix[0][2] = 0;
-	a.matrix[1][2] = 0;
-	a.matrix[2][2] = 1;
-
-	transform_t b = *trans;
-
-	transform_product(trans, &a, &b);
-}
-
-void transform_rotate(transform_t *trans, double angle)
-{
-	transform_t a;
-
-	a.matrix[0][0] = cos(angle);
-	a.matrix[1][0] = sin(angle);
-	a.matrix[2][0] = 0;
-
-	a.matrix[0][1] = -sin(angle);
-	a.matrix[1][1] = cos(angle);
-	a.matrix[2][1] = 0;
-
-	a.matrix[0][2] = 0;
-	a.matrix[1][2] = 0;
-	a.matrix[2][2] = 1;
-
-	transform_t b = *trans;
-
-	transform_product(trans, &a, &b);
-}
-
-bool transform_is_fast(transform_t *trans)
-{
-	return ((trans->matrix[0][0] == 1) && (trans->matrix[0][1] == 0) &&
-	    (trans->matrix[1][0] == 0) && (trans->matrix[1][1] == 1) &&
-	    ((trans->matrix[0][2] - trunc(trans->matrix[0][2])) == 0.0) &&
-	    ((trans->matrix[1][2] - trunc(trans->matrix[1][2])) == 0.0));
-}
-
-void transform_apply_linear(const transform_t *trans, double *x, double *y)
-{
-	double old_x = *x;
-	double old_y = *y;
-
-	*x = old_x * trans->matrix[0][0] + old_y * trans->matrix[0][1];
-	*y = old_x * trans->matrix[1][0] + old_y * trans->matrix[1][1];
-}
-
-void transform_apply_affine(const transform_t *trans, double *x, double *y)
-{
-	double old_x = *x;
-	double old_y = *y;
-
-	*x = old_x * trans->matrix[0][0] + old_y * trans->matrix[0][1] +
-	    trans->matrix[0][2];
-	*y = old_x * trans->matrix[1][0] + old_y * trans->matrix[1][1] +
-	    trans->matrix[1][2];
-}
-
-/** @}
- */
Index: pace/lib/softrend/transform.h
===================================================================
--- uspace/lib/softrend/transform.h	(revision 63b35c78ce6d4e8e89c73f64421c78ce3a17eaf9)
+++ 	(revision )
@@ -1,64 +1,0 @@
-/*
- * Copyright (c) 2011 Petr Koupy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup softrend
- * @{
- */
-/**
- * @file
- */
-
-#ifndef SOFTREND_TRANSFORM_H_
-#define SOFTREND_TRANSFORM_H_
-
-#include <stdbool.h>
-
-#define TRANSFORM_MATRIX_DIM  3
-
-typedef struct {
-	double matrix[TRANSFORM_MATRIX_DIM][TRANSFORM_MATRIX_DIM];
-} transform_t;
-
-extern void transform_product(transform_t *, const transform_t *,
-    const transform_t *);
-extern void transform_invert(transform_t *);
-
-extern void transform_identity(transform_t *);
-extern void transform_translate(transform_t *, double, double);
-extern void transform_scale(transform_t *, double, double);
-extern void transform_rotate(transform_t *, double);
-
-extern bool transform_is_fast(transform_t *);
-
-extern void transform_apply_linear(const transform_t *, double *, double *);
-extern void transform_apply_affine(const transform_t *, double *, double *);
-
-#endif
-
-/** @}
- */
