forked from enlightenment/efl
295 lines
6.3 KiB
C
295 lines
6.3 KiB
C
#include "evas_common.h"
|
|
|
|
#ifdef BUILD_CONVERT_32_RGB_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT0
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgb_8888 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int y;
|
|
Gfx_Func_Blend_Src_Dst func;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
src_ptr = src;
|
|
|
|
func = evas_common_draw_func_copy_get(w, 0);
|
|
|
|
for (y = 0; y < h; y++)
|
|
{
|
|
func(src_ptr, dst_ptr, w);
|
|
src_ptr += w + src_jump;
|
|
dst_ptr += w + dst_jump;
|
|
}
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_RGB_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT270
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgb_8888_rot_270 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_270();
|
|
|
|
*dst_ptr = *src_ptr;
|
|
|
|
CONVERT_LOOP_END_ROT_270();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_RGB_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT90
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgb_8888_rot_90 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_90();
|
|
|
|
*dst_ptr = *src_ptr;
|
|
|
|
CONVERT_LOOP_END_ROT_90();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_RGBX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT0
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgbx_8888 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_0();
|
|
|
|
*dst_ptr = (R_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (B_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_0();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_RGBX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT270
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgbx_8888_rot_270 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_270();
|
|
|
|
*dst_ptr = (R_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (B_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_270();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_RGBX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT90
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_rgbx_8888_rot_90 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_90();
|
|
|
|
*dst_ptr = (R_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (B_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_90();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGR_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT0
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgr_8888 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_0();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 16) | (G_VAL(src_ptr) << 8) | (R_VAL(src_ptr));
|
|
|
|
CONVERT_LOOP_END_ROT_0();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGR_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT270
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgr_8888_rot_270 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_270();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 16) | (G_VAL(src_ptr) << 8) | (R_VAL(src_ptr));
|
|
|
|
CONVERT_LOOP_END_ROT_270();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGR_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT90
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgr_8888_rot_90 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_90();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 16) | (G_VAL(src_ptr) << 8) | (R_VAL(src_ptr));
|
|
|
|
CONVERT_LOOP_END_ROT_90();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGRX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT0
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgrx_8888 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_0();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (R_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_0();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGRX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT270
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgrx_8888_rot_270 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_270();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (R_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_270();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef BUILD_CONVERT_32_BGRX_8888
|
|
#ifdef BUILD_CONVERT_32_RGB_ROT90
|
|
void
|
|
evas_common_convert_rgba_to_32bpp_bgrx_8888_rot_90 (DATA32 *src, DATA8 *dst, int src_jump, int dst_jump, int w, int h, int dith_x, int dith_y, DATA8 *pal)
|
|
{
|
|
DATA32 *src_ptr;
|
|
DATA32 *dst_ptr;
|
|
int x, y;
|
|
|
|
dst_ptr = (DATA32 *)dst;
|
|
|
|
CONVERT_LOOP_START_ROT_90();
|
|
|
|
*dst_ptr = (B_VAL(src_ptr) << 24) | (G_VAL(src_ptr) << 16) | (R_VAL(src_ptr) << 8);
|
|
|
|
CONVERT_LOOP_END_ROT_90();
|
|
return;
|
|
pal = 0;
|
|
dith_x = 0;
|
|
dith_y = 0;
|
|
}
|
|
#endif
|
|
#endif
|