Searched +hist:0 +hist:ccd1db1 (Results 1 - 1 of 1) sorted by relevance
/haiku/src/servers/app/drawing/Painter/ | ||
H A D | Painter.cpp | diff 0ccd1db1 Wed Jan 13 15:50:31 MST 2016 Julian Harnath <julian.harnath@rwth-aachen.de> app_server: fix lines which are pixel dots, in layers * Painter::StrokeLine() has an optimization for lines which are single pixel dots, i.e. identical start and end point and pen size 1: it sets the pixel directly in the buffer, completely bypassing the AGG base renderer. This is a problem when inside a layer since this also bypasses the low-level offset in the base renderer (which moves drawing coordinates into the layer bitmap), causing an out-of-bounds access. * Fixes #12587 diff 0ccd1db1 Wed Jan 13 15:50:31 MST 2016 Julian Harnath <julian.harnath@rwth-aachen.de> app_server: fix lines which are pixel dots, in layers * Painter::StrokeLine() has an optimization for lines which are single pixel dots, i.e. identical start and end point and pen size 1: it sets the pixel directly in the buffer, completely bypassing the AGG base renderer. This is a problem when inside a layer since this also bypasses the low-level offset in the base renderer (which moves drawing coordinates into the layer bitmap), causing an out-of-bounds access. * Fixes #12587 diff c4e8d88f Fri Dec 05 06:52:31 MST 2014 Adrien Destugues <pulkomandy@gmail.com> app_server: fix gradients with no stops at the ends When a gradient has no stop at offset 0 or 255, the drawing code will not automatically complete the gradiet with the first or last color, instead agg interpolation generated invalid random colors. To avoid this, insert extra stops at the start and end in the DrawingEngine when we prepare the gradient for drawing. We just copy the first and last stops to new stops at offsets 0 and 255, which makes sure the gradients covers the whole range and gives the expected result. Fixes #2945. diff c4e8d88f Fri Dec 05 06:52:31 MST 2014 Adrien Destugues <pulkomandy@gmail.com> app_server: fix gradients with no stops at the ends When a gradient has no stop at offset 0 or 255, the drawing code will not automatically complete the gradiet with the first or last color, instead agg interpolation generated invalid random colors. To avoid this, insert extra stops at the start and end in the DrawingEngine when we prepare the gradient for drawing. We just copy the first and last stops to new stops at offsets 0 and 255, which makes sure the gradients covers the whole range and gives the expected result. Fixes #2945. diff 345dc29f Sat Jun 14 14:52:05 MDT 2008 Michael Lotz <mmlr@mlotz.ch> When drawing bitmaps with B_OP_OVER with a color space that does not provide an alpha channel of itself, we have to respect B_TRANSPARENT_MAGIC_* pixels and properly make them transparent. We achive that now by just setting the alpha to 0 in our converted B_RGBA32 bitmap for each pixel where there is a B_TRANSPARENT_MAGIC_* pixel in the source. This is not really efficient, but fixes missing images for example in NetPositive. They were treated as B_RGBA32 while they in fact were B_RGB32 and happened to have all alpha bits set to 0. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25956 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 345dc29f Sat Jun 14 14:52:05 MDT 2008 Michael Lotz <mmlr@mlotz.ch> When drawing bitmaps with B_OP_OVER with a color space that does not provide an alpha channel of itself, we have to respect B_TRANSPARENT_MAGIC_* pixels and properly make them transparent. We achive that now by just setting the alpha to 0 in our converted B_RGBA32 bitmap for each pixel where there is a B_TRANSPARENT_MAGIC_* pixel in the source. This is not really efficient, but fixes missing images for example in NetPositive. They were treated as B_RGBA32 while they in fact were B_RGB32 and happened to have all alpha bits set to 0. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25956 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b8fc177d Mon Jul 03 13:49:51 MDT 2006 Jérôme Duval <korli@users.berlios.de> * default source BRect is now offset to B_ORIGIN because Bitmap bounds lefttop could be something else than (0,0). This caused some bugs in Haiku SoundRecorder app i* thus the NOTE in Painter isn't valid anymore * in Painter::_DrawBimap() moved scale computation after potential changes to BRects * fix typo : right => bottom. This caused a bug in Haiku Mouse preferences app git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18017 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b8fc177d Mon Jul 03 13:49:51 MDT 2006 Jérôme Duval <korli@users.berlios.de> * default source BRect is now offset to B_ORIGIN because Bitmap bounds lefttop could be something else than (0,0). This caused some bugs in Haiku SoundRecorder app i* thus the NOTE in Painter isn't valid anymore * in Painter::_DrawBimap() moved scale computation after potential changes to BRects * fix typo : right => bottom. This caused a bug in Haiku Mouse preferences app git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18017 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 0c926a19 Thu Apr 14 18:25:25 MDT 2005 Stephan Aßmus <superstippi@gmx.de> reuse DrawingMode instances git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12412 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff c4e8d88f7c53179606b32acb0cab1265eaa47bf3 Fri Dec 05 06:52:31 MST 2014 Adrien Destugues <pulkomandy@gmail.com> app_server: fix gradients with no stops at the ends When a gradient has no stop at offset 0 or 255, the drawing code will not automatically complete the gradiet with the first or last color, instead agg interpolation generated invalid random colors. To avoid this, insert extra stops at the start and end in the DrawingEngine when we prepare the gradient for drawing. We just copy the first and last stops to new stops at offsets 0 and 255, which makes sure the gradients covers the whole range and gives the expected result. Fixes #2945. diff c4e8d88f7c53179606b32acb0cab1265eaa47bf3 Fri Dec 05 06:52:31 MST 2014 Adrien Destugues <pulkomandy@gmail.com> app_server: fix gradients with no stops at the ends When a gradient has no stop at offset 0 or 255, the drawing code will not automatically complete the gradiet with the first or last color, instead agg interpolation generated invalid random colors. To avoid this, insert extra stops at the start and end in the DrawingEngine when we prepare the gradient for drawing. We just copy the first and last stops to new stops at offsets 0 and 255, which makes sure the gradients covers the whole range and gives the expected result. Fixes #2945. |
Completed in 100 milliseconds