it* My version of sent Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sent-sdk.git URL:git://git.codevoid.de/sent-sdk.git codevoid.de 70 1Log /git/sent-sdk/log.gph codevoid.de 70 1Files /git/sent-sdk/files.gph codevoid.de 70 1Refs /git/sent-sdk/refs.gph codevoid.de 70 1README /git/sent-sdk/file/README.md.gph codevoid.de 70 1LICENSE /git/sent-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 68ac6486b106751f79e2ff2f4d53e56843521ce5 /git/sent-sdk/commit/68ac6486b106751f79e2ff2f4d53e56843521ce5.gph codevoid.de 70 1parent b0ad67036e35bc148ebda08184881375e716ec0b /git/sent-sdk/commit/b0ad67036e35bc148ebda08184881375e716ec0b.gph codevoid.de 70 hAuthor: FRIGN URL:mailto:dev@frign.de codevoid.de 70 iDate: Sun, 31 Jan 2016 11:05:00 +0100 Err codevoid.de 70 i Err codevoid.de 70 iFix alpha blending Err codevoid.de 70 i Err codevoid.de 70 i- "/ 257", because 255 * 257 = UINT16_MAX Err codevoid.de 70 i- "/ 255", because that's the maximum possible RGB value Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M sent.c | 14 +++++++------- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 7 insertions(+), 7 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/sent.c b/sent.c /git/sent-sdk/file/sent.c.gph codevoid.de 70 it@@ -258,15 +258,15 @@ int ffread(Image *img) Err codevoid.de 70 i nbytes += count; Err codevoid.de 70 i } Err codevoid.de 70 i for (x = 0; x < rowlen / 2; x += 4) { Err codevoid.de 70 i- fg_r = ntohs(row[x + 0]) / 256; Err codevoid.de 70 i- fg_g = ntohs(row[x + 1]) / 256; Err codevoid.de 70 i- fg_b = ntohs(row[x + 2]) / 256; Err codevoid.de 70 i- opac = ntohs(row[x + 3]) / 256; Err codevoid.de 70 i+ fg_r = ntohs(row[x + 0]) / 257; Err codevoid.de 70 i+ fg_g = ntohs(row[x + 1]) / 257; Err codevoid.de 70 i+ fg_b = ntohs(row[x + 2]) / 257; Err codevoid.de 70 i+ opac = ntohs(row[x + 3]) / 257; Err codevoid.de 70 i /* blend opaque part of image data with window background color to Err codevoid.de 70 i * emulate transparency */ Err codevoid.de 70 i- img->buf[off++] = (fg_r * opac + bg_r * (255 - opac)) / 256; Err codevoid.de 70 i- img->buf[off++] = (fg_g * opac + bg_g * (255 - opac)) / 256; Err codevoid.de 70 i- img->buf[off++] = (fg_b * opac + bg_b * (255 - opac)) / 256; Err codevoid.de 70 i+ img->buf[off++] = (fg_r * opac + bg_r * (255 - opac)) / 255; Err codevoid.de 70 i+ img->buf[off++] = (fg_g * opac + bg_g * (255 - opac)) / 255; Err codevoid.de 70 i+ img->buf[off++] = (fg_b * opac + bg_b * (255 - opac)) / 255; Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 .