Split files so we can avoid "defined but not used" warnings.

SVN revision: 39295
This commit is contained in:
Gustavo Sverzut Barbieri 2009-02-28 18:47:17 +00:00
parent 3fb821ca1d
commit 5be0dac611
6 changed files with 157 additions and 126 deletions

View File

@ -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

View File

@ -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,

View File

@ -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,

View File

@ -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 =
{

View File

@ -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_<description>_<src>_<dst>[_<modifier>]()
*
****************************************************************************/
/***********************************************************************
* 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;
}

View File

@ -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)
{