From 34651df5076367e1f67239c30125932d4a0d84d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 20 Jan 2005 23:24:02 +0000 Subject: [PATCH] extracted general blending function git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10920 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../app/server/Painter/drawing_modes/DrawingMode.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/servers/app/server/Painter/drawing_modes/DrawingMode.h b/src/servers/app/server/Painter/drawing_modes/DrawingMode.h index 1b9ab80931..e467e56ed0 100644 --- a/src/servers/app/server/Painter/drawing_modes/DrawingMode.h +++ b/src/servers/app/server/Painter/drawing_modes/DrawingMode.h @@ -11,6 +11,15 @@ class PatternHandler; +inline void +blend(uint8* d1, uint8* d2, uint8* d3, uint8* da, + uint8 s1, uint8 s2, uint8 s3, uint8 a) +{ + *d1 = (uint8)((((s1 - *d1) * a) + (*d1 << 8)) >> 8); + *d2 = (uint8)((((s2 - *d2) * a) + (*d2 << 8)) >> 8); + *d3 = (uint8)((((s3 - *d3) * a) + (*d3 << 8)) >> 8); +} + namespace agg { //====================================================DrawingMode