From d4090bdb7d61af6d40b559d277d398ed80573fc1 Mon Sep 17 00:00:00 2001 From: barbieri Date: Sat, 28 Feb 2009 18:47:17 +0000 Subject: [PATCH] Split files so we can avoid "defined but not used" warnings. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@39295 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/engines/common_16/Makefile.am | 1 + src/lib/engines/common_16/evas_soft16_font.c | 1 - .../common_16/evas_soft16_image_scaled_sampled.c | 2 +- src/lib/engines/common_16/evas_soft16_main.c | 10 +- .../engines/common_16/evas_soft16_point_blend.c | 149 +++++++++++++++++++++ .../engines/common_16/evas_soft16_scanline_blend.c | 120 +---------------- 6 files changed, 157 insertions(+), 126 deletions(-) create mode 100644 src/lib/engines/common_16/evas_soft16_point_blend.c diff --git a/src/lib/engines/common_16/Makefile.am b/src/lib/engines/common_16/Makefile.am index 00268d5..c7579fc 100644 --- a/src/lib/engines/common_16/Makefile.am +++ b/src/lib/engines/common_16/Makefile.am @@ -26,5 +26,6 @@ evas_soft16_polygon.c libevas_engine_common_16_la_DEPENDENCIES = $(top_builddir)/config.h EXTRA_DIST = \ +evas_soft16_point_blend.c \ evas_soft16_scanline_blend.c \ evas_soft16_scanline_fill.c diff --git a/src/lib/engines/common_16/evas_soft16_font.c b/src/lib/engines/common_16/evas_soft16_font.c index d4d917c..85e3666 100644 --- a/src/lib/engines/common_16/evas_soft16_font.c +++ b/src/lib/engines/common_16/evas_soft16_font.c @@ -1,5 +1,4 @@ #include "evas_common_soft16.h" -#include "evas_soft16_scanline_blend.c" static always_inline void _glyph_pt_mask_solid_solid(DATA16 *dst, diff --git a/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c b/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c index 94d64f7..be92ed8 100644 --- a/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c +++ b/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c @@ -1,5 +1,5 @@ #include "evas_common_soft16.h" -#include "evas_soft16_scanline_blend.c" +#include "evas_soft16_point_blend.c" static void _soft16_image_draw_scaled_solid_solid(Soft16_Image *src, diff --git a/src/lib/engines/common_16/evas_soft16_main.c b/src/lib/engines/common_16/evas_soft16_main.c index 1d02f62..a4b9a5c 100644 --- a/src/lib/engines/common_16/evas_soft16_main.c +++ b/src/lib/engines/common_16/evas_soft16_main.c @@ -25,11 +25,11 @@ static int _evas_common_soft16_image_colorspace_set(Image_Entry* i static int _evas_common_load_soft16_image_data_from_file(Image_Entry *ie); -static void -_evas_common_soft16_image_debug(const char* context, Image_Entry *eim) -{ - fprintf(stderr, "[16] %p = [%s] {%s,%s} %i [%i|%i]\n", eim, context, eim->file, eim->key, eim->references, eim->w, eim->h); -} +/* static void */ +/* _evas_common_soft16_image_debug(const char* context, Image_Entry *eim) */ +/* { */ +/* fprintf(stderr, "[16] %p = [%s] {%s,%s} %i [%i|%i]\n", eim, context, eim->file, eim->key, eim->references, eim->w, eim->h); */ +/* } */ static const Evas_Cache_Image_Func _evas_common_soft16_image_func = { diff --git a/src/lib/engines/common_16/evas_soft16_point_blend.c b/src/lib/engines/common_16/evas_soft16_point_blend.c new file mode 100644 index 0000000..9f36984 --- /dev/null +++ b/src/lib/engines/common_16/evas_soft16_point_blend.c @@ -0,0 +1,149 @@ +/** NOTE: This file is meant to be included by users **/ + +/** NOTE2: r, g, b parameters are 16bits, so you can pass 0 to 256 inclusive. + ** this is due our division by 256 when multiplying the color. + **/ + +/***************************************************************************** + * Scanline processing + * + * _soft16_pt___[_]() + * + ****************************************************************************/ + +/*********************************************************************** + * Regular blend operations + */ + +static always_inline void +_soft16_pt_blend_transp_solid(DATA16 *p_dst, DATA16 src, DATA8 alpha) +{ + if (alpha == 31) *p_dst = src; + else if (alpha != 0) + { + DATA32 a, b; + + a = RGB_565_UNPACK(src); + b = RGB_565_UNPACK(*p_dst); + b = RGB_565_UNPACKED_BLEND(a, b, alpha); + *p_dst = RGB_565_PACK(b); + } +} + +static always_inline void +_soft16_pt_blend_solid_solid(DATA16 *p_dst, DATA16 src) +{ + *p_dst = src; +} + +/*********************************************************************** + * Blend operations taking an extra alpha (fade in, out) + */ + +static always_inline void +_soft16_pt_blend_transp_solid_mul_alpha(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 rel_alpha) +{ + DATA32 a, b; + + alpha = (alpha * rel_alpha) >> 5; + if (alpha == 0) + return; + + alpha++; + + a = ((RGB_565_UNPACK(src) * rel_alpha) >> 5) & RGB_565_UNPACKED_MASK; + b = RGB_565_UNPACK(*p_dst); + b = RGB_565_UNPACKED_BLEND(a, b, alpha); + *p_dst = RGB_565_PACK(b); +} + +static always_inline void +_soft16_pt_blend_solid_solid_mul_alpha(DATA16 *p_dst, DATA16 src, DATA8 rel_alpha) +{ + DATA32 a, b; + a = RGB_565_UNPACK(src); + b = RGB_565_UNPACK(*p_dst); + b = RGB_565_UNPACKED_BLEND_UNMUL(a, b, rel_alpha); + *p_dst = RGB_565_PACK(b); +} + +/*********************************************************************** + * Blend operations with extra alpha and multiply color + */ + +static always_inline void +_soft16_pt_blend_transp_solid_mul_color_transp(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) +{ + DATA32 rgb, d; + int r1, g1, b1; + + alpha = (alpha * rel_alpha) >> 5; + if (alpha == 0) + return; + + alpha++; + + r1 = ((((src) >> 11) & 0x1f) * r) >> 5; + g1 = ((((src) >> 5) & 0x3f) * g) >> 6; + b1 = (((src) & 0x1f) * b) >> 5; + rgb = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; + d = RGB_565_UNPACK(*p_dst); + d = RGB_565_UNPACKED_BLEND(rgb, d, alpha); + + *p_dst = RGB_565_PACK(d); +} + +static always_inline void +_soft16_pt_blend_solid_solid_mul_color_transp(DATA16 *p_dst, DATA16 src, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) +{ + int r1, g1, b1; + DATA32 rgb, d; + + r1 = ((((src) >> 11) & 0x1f) * r) >> 5; + g1 = ((((src) >> 5) & 0x3f) * g) >> 6; + b1 = (((src) & 0x1f) * b) >> 5; + + rgb = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; + d = RGB_565_UNPACK(*p_dst); + d = RGB_565_UNPACKED_BLEND(rgb, d, rel_alpha); + *p_dst = RGB_565_PACK(d); +} + +/*********************************************************************** + * Blend operations with extra multiply color + */ + +static always_inline void +_soft16_pt_blend_transp_solid_mul_color_solid(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 r, DATA8 g, DATA8 b) +{ + int r1, g1, b1; + + if (alpha == 0) return; + + r1 = ((((src >> 11) & 0x1f) * r) >> 5) & 0x1f; + g1 = ((((src >> 5) & 0x3f) * g) >> 6) & 0x3f; + b1 = (((src & 0x1f) * b) >> 5) & 0x1f; + + if (alpha == 31) *p_dst = (r1 << 11) | (g1 << 5) | b1; + else + { + DATA32 rgb_unpack, d; + + rgb_unpack = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; + d = RGB_565_UNPACK(*p_dst); + d = RGB_565_UNPACKED_BLEND(rgb_unpack, d, alpha); + *p_dst = RGB_565_PACK(d); + } +} + +static always_inline void +_soft16_pt_blend_solid_solid_mul_color_solid(DATA16 *p_dst, DATA16 src, DATA16 r, DATA16 g, DATA16 b) +{ + int r1, g1, b1; + + r1 = ((((src >> 11) & 0x1f) * r) >> 5) & 0x1f; + g1 = ((((src >> 5) & 0x3f) * g) >> 6) & 0x3f; + b1 = (((src & 0x1f) * b) >> 5) & 0x1f; + + *p_dst = (r1 << 11) | (g1 << 5) | b1; +} diff --git a/src/lib/engines/common_16/evas_soft16_scanline_blend.c b/src/lib/engines/common_16/evas_soft16_scanline_blend.c index 409eb10..c89eeaa 100644 --- a/src/lib/engines/common_16/evas_soft16_scanline_blend.c +++ b/src/lib/engines/common_16/evas_soft16_scanline_blend.c @@ -11,20 +11,7 @@ * ****************************************************************************/ -static always_inline void -_soft16_pt_blend_transp_solid(DATA16 *p_dst, DATA16 src, DATA8 alpha) -{ - if (alpha == 31) *p_dst = src; - else if (alpha != 0) - { - DATA32 a, b; - - a = RGB_565_UNPACK(src); - b = RGB_565_UNPACK(*p_dst); - b = RGB_565_UNPACKED_BLEND(a, b, alpha); - *p_dst = RGB_565_PACK(b); - } -} +#include "evas_soft16_point_blend.c" /*********************************************************************** * Regular blend operations @@ -85,12 +72,6 @@ _soft16_scanline_blend_transp_solid(DATA16 *src, DATA8 *alpha, DATA16 *dst, int _soft16_pt_blend_transp_solid(start, *src, *alpha); } -static always_inline void -_soft16_pt_blend_solid_solid(DATA16 *p_dst, DATA16 src) -{ - *p_dst = src; -} - static inline void _soft16_scanline_blend_solid_solid(DATA16 *src, DATA16 *dst, int size) { @@ -101,23 +82,6 @@ _soft16_scanline_blend_solid_solid(DATA16 *src, DATA16 *dst, int size) * Blend operations taking an extra alpha (fade in, out) */ -static inline void -_soft16_pt_blend_transp_solid_mul_alpha(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 rel_alpha) -{ - DATA32 a, b; - - alpha = (alpha * rel_alpha) >> 5; - if (alpha == 0) - return; - - alpha++; - - a = ((RGB_565_UNPACK(src) * rel_alpha) >> 5) & RGB_565_UNPACKED_MASK; - b = RGB_565_UNPACK(*p_dst); - b = RGB_565_UNPACKED_BLEND(a, b, alpha); - *p_dst = RGB_565_PACK(b); -} - static void _soft16_scanline_blend_transp_solid_mul_alpha(DATA16 *src, DATA8 *alpha, DATA16 *dst, int size, const DATA8 rel_alpha) { @@ -179,16 +143,6 @@ _soft16_scanline_blend_transp_solid_mul_alpha(DATA16 *src, DATA8 *alpha, DATA16 _soft16_pt_blend_transp_solid_mul_alpha(start, *src, *alpha, rel_alpha); } -static always_inline void -_soft16_pt_blend_solid_solid_mul_alpha(DATA16 *p_dst, DATA16 src, DATA8 rel_alpha) -{ - DATA32 a, b; - a = RGB_565_UNPACK(src); - b = RGB_565_UNPACK(*p_dst); - b = RGB_565_UNPACKED_BLEND_UNMUL(a, b, rel_alpha); - *p_dst = RGB_565_PACK(b); -} - static void _soft16_scanline_blend_solid_solid_mul_alpha(DATA16 *src, DATA16 *dst, int size, DATA8 rel_alpha) { @@ -218,28 +172,6 @@ _soft16_scanline_blend_solid_solid_mul_alpha(DATA16 *src, DATA16 *dst, int size, * Blend operations with extra alpha and multiply color */ -static always_inline void -_soft16_pt_blend_transp_solid_mul_color_transp(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) -{ - DATA32 rgb, d; - int r1, g1, b1; - - alpha = (alpha * rel_alpha) >> 5; - if (alpha == 0) - return; - - alpha++; - - r1 = ((((src) >> 11) & 0x1f) * r) >> 5; - g1 = ((((src) >> 5) & 0x3f) * g) >> 6; - b1 = (((src) & 0x1f) * b) >> 5; - rgb = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; - d = RGB_565_UNPACK(*p_dst); - d = RGB_565_UNPACKED_BLEND(rgb, d, alpha); - - *p_dst = RGB_565_PACK(d); -} - static void _soft16_scanline_blend_transp_solid_mul_color_transp(DATA16 *src, DATA8 *alpha, DATA16 *dst, int size, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) { @@ -302,22 +234,6 @@ _soft16_scanline_blend_transp_solid_mul_color_transp(DATA16 *src, DATA8 *alpha, (start, *src, *alpha, rel_alpha, r, g, b); } -static always_inline void -_soft16_pt_blend_solid_solid_mul_color_transp(DATA16 *p_dst, DATA16 src, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) -{ - int r1, g1, b1; - DATA32 rgb, d; - - r1 = ((((src) >> 11) & 0x1f) * r) >> 5; - g1 = ((((src) >> 5) & 0x3f) * g) >> 6; - b1 = (((src) & 0x1f) * b) >> 5; - - rgb = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; - d = RGB_565_UNPACK(*p_dst); - d = RGB_565_UNPACKED_BLEND(rgb, d, rel_alpha); - *p_dst = RGB_565_PACK(d); -} - static void _soft16_scanline_blend_solid_solid_mul_color_transp(DATA16 *src, DATA16 *dst, int size, DATA8 rel_alpha, DATA16 r, DATA16 g, DATA16 b) { @@ -348,28 +264,6 @@ _soft16_scanline_blend_solid_solid_mul_color_transp(DATA16 *src, DATA16 *dst, in /*********************************************************************** * Blend operations with extra multiply color */ -static always_inline void -_soft16_pt_blend_transp_solid_mul_color_solid(DATA16 *p_dst, DATA16 src, DATA8 alpha, DATA8 r, DATA8 g, DATA8 b) -{ - int r1, g1, b1; - - if (alpha == 0) return; - - r1 = ((((src >> 11) & 0x1f) * r) >> 5) & 0x1f; - g1 = ((((src >> 5) & 0x3f) * g) >> 6) & 0x3f; - b1 = (((src & 0x1f) * b) >> 5) & 0x1f; - - if (alpha == 31) *p_dst = (r1 << 11) | (g1 << 5) | b1; - else - { - DATA32 rgb_unpack, d; - - rgb_unpack = ((r1 << 11) | (g1 << 21) | b1) & RGB_565_UNPACKED_MASK; - d = RGB_565_UNPACK(*p_dst); - d = RGB_565_UNPACKED_BLEND(rgb_unpack, d, alpha); - *p_dst = RGB_565_PACK(d); - } -} static void _soft16_scanline_blend_transp_solid_mul_color_solid(DATA16 *src, DATA8 *alpha, DATA16 *dst, int size, DATA16 r, DATA16 g, DATA16 b) @@ -433,18 +327,6 @@ _soft16_scanline_blend_transp_solid_mul_color_solid(DATA16 *src, DATA8 *alpha, D (start, *src, *alpha, r, g, b); } -static always_inline void -_soft16_pt_blend_solid_solid_mul_color_solid(DATA16 *p_dst, DATA16 src, DATA16 r, DATA16 g, DATA16 b) -{ - int r1, g1, b1; - - r1 = ((((src >> 11) & 0x1f) * r) >> 5) & 0x1f; - g1 = ((((src >> 5) & 0x3f) * g) >> 6) & 0x3f; - b1 = (((src & 0x1f) * b) >> 5) & 0x1f; - - *p_dst = (r1 << 11) | (g1 << 5) | b1; -} - static void _soft16_scanline_blend_solid_solid_mul_color_solid(DATA16 *src, DATA16 *dst, int size, DATA8 r, DATA8 g, DATA8 b) { -- 2.7.4