Commit graph

78 commits

Author SHA1 Message Date
Fabien Freling 049228b377 Fill a temp buffer for each line.
We don’t write into the memory right away, we first write to a temp
buffer that we blit into the rotated image.
2014-07-04 08:23:06 +02:00
Fabien Freling e3e0d3c20a Fix first rotated tile on each row.
The first tile on each row seemed to be missing values.
This was due to the ‘continue’ statement that would prevent
src_rotated_point to be incremented properly.
2014-07-04 00:34:06 +02:00
Fabien Freling 7f29bd192a Pass tile to rotate_pixel() instead of image. 2014-07-04 00:23:54 +02:00
Fabien Freling 80975f6138 Update TODO. 2014-07-04 00:23:21 +02:00
Fabien Freling 8811d7023e Factorize rotated point computation 2014-07-03 23:56:10 +02:00
Fabien Freling a871d92723 Add image destructors. 2014-07-03 23:56:10 +02:00
Fabien Freling 9e8d79d384 Return image pointer for rotate(). 2014-07-03 23:56:10 +02:00
Fabien Freling 8d096ee2ce Add get_save_path(). 2014-07-03 23:49:10 +02:00
Fabien Freling 4f124a2896 Remove deprecated functions (draw). 2014-07-03 23:48:11 +02:00
Fabien Freling e86dbe0f36 Factorize the computation of the source point. 2014-07-02 22:38:57 +02:00
Fabien Freling 7e33e85909 Fix tiled rotation.
- Add TiledImage::access_pixel().
- Add TiledImage::print_tile().
- Compare implementations.
2014-07-02 21:54:52 +02:00
Fabien Freling 007ad2284e Add basic tiled image type. 2014-07-01 21:52:40 +02:00
Fabien Freling 3af56f6619 Interpolate using SSE instructions. 2014-06-29 17:17:19 +02:00
Fabien Freling 05777d59f8 Deduce src points needed for interpolation.
Computing the four points is too heavy.
2014-06-28 18:35:48 +02:00
Fabien Freling 36c47fd13e Add Lena 64x64 PPM. 2014-06-28 18:24:10 +02:00
Fabien Freling 0a0fbabeac Bilinear interpolation.
- Compute src delta for each rotated steps.
2014-06-28 18:23:43 +02:00
Fabien Freling 258ddce814 Use a unique buffer for pixels (scanline).
- Add rotate_pixel().
- Remove APoint, use Point instead.
2014-06-28 13:52:24 +02:00
Fabien Freling 6a94c79ac2 FIll new interpolated pixels.
- Take input image in argument.
- Allow set_pixel() out of bounds, noop.
2014-06-26 23:45:02 +02:00
Fabien Freling 00543d258d Ignore PNG files. 2014-06-26 21:30:13 +02:00
Fabien Freling 52f958f40b Add sample images. 2014-06-26 21:29:32 +02:00
Fabien Freling c0ed5f1be0 Add check_90().
- Fix border.
2014-06-26 21:28:34 +02:00
Fabien Freling b666b1b4a6 Walk through src pixel in order.
- Set background to red
2014-06-26 19:18:32 +02:00
Fabien Freling ce3592e857 Fix rotation by using atan2().
- Add more check on polar conversion.
2014-06-24 19:14:59 +02:00
Fabien Freling cc7ec6fef2 Add basic support for full (broken) rotation.
- New way to compute ratio.
- Add {set,get}_pixel()
2014-06-24 00:59:04 +02:00
Fabien Freling 22546de9db Fix draw_lines for x1 = x2 and y1 = y2.
Some lines are dotted though.
2014-06-22 16:08:40 +02:00
Fabien Freling 70a828b651 Fix trigo, use double point for position. 2014-06-22 15:50:42 +02:00
Fabien Freling 8a17f7b8d8 Draw rotated outlines.
There is a bug for rotation = pi / 2
2014-06-19 00:05:49 +02:00
Fabien Freling 4bf69e8204 Initial commit 2014-06-18 08:47:10 +02:00