summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2014-11-26 12:22:55 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-11-26 12:22:55 +0900
commit215b52ecc108b2b13814534d75565152e8c0973a (patch)
tree9d0864d0a403d66e50f8ece399565e947ea746cb /src/lib/evas
parentd3d306ec5cca2023c0612106d3990d63794c6279 (diff)
evas/map : set antialias context for map rendering.
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_object_image.c3
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c2
-rw-r--r--src/lib/evas/common/evas_map_image.c36
-rw-r--r--src/lib/evas/common/evas_map_image.h2
-rw-r--r--src/lib/evas/common/evas_map_image_internal.c4
-rw-r--r--src/lib/evas/common/evas_pipe.c4
6 files changed, 32 insertions, 19 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index 03f422d0ba..fdd716147e 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -2718,7 +2718,8 @@ evas_draw_image_map_async_check(Evas_Object_Protected_Data *obj,
2718 Eina_Bool do_async) 2718 Eina_Bool do_async)
2719{ 2719{
2720 Eina_Bool async_unref; 2720 Eina_Bool async_unref;
2721 2721 obj->layer->evas->engine.func->context_anti_alias_set(data, context,
2722 obj->cur->anti_alias);
2722 async_unref = ENFN->image_map_draw(data, context, 2723 async_unref = ENFN->image_map_draw(data, context,
2723 surface, image, m, 2724 surface, image, m,
2724 smooth, level, 2725 smooth, level,
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c
index 3633bc001a..9454a3dcac 100644
--- a/src/lib/evas/canvas/evas_object_rectangle.c
+++ b/src/lib/evas/canvas/evas_object_rectangle.c
@@ -127,6 +127,8 @@ evas_object_rectangle_render(Evas_Object *eo_obj EINA_UNUSED,
127 obj->cur->cache.clip.g, 127 obj->cur->cache.clip.g,
128 obj->cur->cache.clip.b, 128 obj->cur->cache.clip.b,
129 obj->cur->cache.clip.a); 129 obj->cur->cache.clip.a);
130 obj->layer->evas->engine.func->context_anti_alias_set(output, context,
131 obj->cur->anti_alias);
130 obj->layer->evas->engine.func->context_multiplier_unset(output, 132 obj->layer->evas->engine.func->context_multiplier_unset(output,
131 context); 133 context);
132 obj->layer->evas->engine.func->context_render_op_set(output, context, 134 obj->layer->evas->engine.func->context_render_op_set(output, context,
diff --git a/src/lib/evas/common/evas_map_image.c b/src/lib/evas/common/evas_map_image.c
index 01573d2c95..0fa1f6c182 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -668,7 +668,7 @@ void evas_common_map_rgba_internal_mmx(RGBA_Image *src, RGBA_Image *dst, RGBA_Dr
668 _evas_common_map_rgba_internal_mmx(src, dst, 668 _evas_common_map_rgba_internal_mmx(src, dst,
669 clip_x, clip_y, clip_w, clip_h, 669 clip_x, clip_y, clip_w, clip_h,
670 mul_col, dc->render_op, 670 mul_col, dc->render_op,
671 p, smooth, level); 671 p, smooth, dc->anti_alias, level);
672} 672}
673#endif 673#endif
674 674
@@ -696,7 +696,7 @@ void evas_common_map_rgba_internal(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_C
696 _evas_common_map_rgba_internal(src, dst, 696 _evas_common_map_rgba_internal(src, dst,
697 clip_x, clip_y, clip_w, clip_h, 697 clip_x, clip_y, clip_w, clip_h,
698 mul_col, dc->render_op, 698 mul_col, dc->render_op,
699 p, smooth, level); 699 p, smooth, dc->anti_alias, level);
700} 700}
701 701
702#ifdef BUILD_NEON 702#ifdef BUILD_NEON
@@ -724,7 +724,7 @@ void evas_common_map_rgba_internal_neon(RGBA_Image *src, RGBA_Image *dst, RGBA_D
724 _evas_common_map_rgba_internal_neon(src, dst, 724 _evas_common_map_rgba_internal_neon(src, dst,
725 clip_x, clip_y, clip_w, clip_h, 725 clip_x, clip_y, clip_w, clip_h,
726 mul_col, dc->render_op, 726 mul_col, dc->render_op,
727 p, smooth, level); 727 p, smooth, dc->anti_alias, level);
728} 728}
729#endif 729#endif
730 730
@@ -856,7 +856,7 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
856} 856}
857 857
858EAPI void 858EAPI void
859evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip_y, int clip_w, int clip_h, DATA32 mul_col, int render_op, int npoints EINA_UNUSED, RGBA_Map_Point *p, int smooth, int level) 859evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip_y, int clip_w, int clip_h, DATA32 mul_col, int render_op, int npoints EINA_UNUSED, RGBA_Map_Point *p, int smooth, Eina_Bool anti_alias, int level)
860{ 860{
861#ifdef BUILD_MMX 861#ifdef BUILD_MMX
862 int mmx, sse, sse2; 862 int mmx, sse, sse2;
@@ -866,7 +866,7 @@ evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip
866 _evas_common_map_rgba_internal_mmx(src, dst, 866 _evas_common_map_rgba_internal_mmx(src, dst,
867 clip_x, clip_y, clip_w, clip_h, 867 clip_x, clip_y, clip_w, clip_h,
868 mul_col, render_op, 868 mul_col, render_op,
869 p, smooth, level); 869 p, smooth, anti_alias, level);
870 else 870 else
871#endif 871#endif
872#ifdef BUILD_NEON 872#ifdef BUILD_NEON
@@ -874,13 +874,13 @@ evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip
874 _evas_common_map_rgba_internal_neon(src, dst, 874 _evas_common_map_rgba_internal_neon(src, dst,
875 clip_x, clip_y, clip_w, clip_h, 875 clip_x, clip_y, clip_w, clip_h,
876 mul_col, render_op, 876 mul_col, render_op,
877 p, smooth, level); 877 p, smooth, anti_alias, level);
878 else 878 else
879#endif 879#endif
880 _evas_common_map_rgba_internal(src, dst, 880 _evas_common_map_rgba_internal(src, dst,
881 clip_x, clip_y, clip_w, clip_h, 881 clip_x, clip_y, clip_w, clip_h,
882 mul_col, render_op, 882 mul_col, render_op,
883 p, smooth, level); 883 p, smooth, anti_alias, level);
884} 884}
885 885
886EAPI void 886EAPI void
@@ -912,17 +912,20 @@ evas_common_map_rgba_do(const Eina_Rectangle *clip,
912#ifdef BUILD_MMX 912#ifdef BUILD_MMX
913 if (mmx) 913 if (mmx)
914 evas_common_map_rgba_internal_mmx_do(src, dst, dc, 914 evas_common_map_rgba_internal_mmx_do(src, dst, dc,
915 &spans->spans[0], smooth, level); 915 &spans->spans[0], smooth,
916 dc->anti_alias, level);
916 else 917 else
917#endif 918#endif
918#ifdef BUILD_NEON 919#ifdef BUILD_NEON
919 if (evas_common_cpu_has_feature(CPU_FEATURE_NEON)) 920 if (evas_common_cpu_has_feature(CPU_FEATURE_NEON))
920 evas_common_map_rgba_internal_neon_do(src, dst, dc, 921 evas_common_map_rgba_internal_neon_do(src, dst, dc,
921 &spans->spans[0], smooth, level); 922 &spans->spans[0], smooth,
923 dc->anti_alias, level);
922 else 924 else
923#endif 925#endif
924 evas_common_map_rgba_internal_do(src, dst, dc, 926 evas_common_map_rgba_internal_do(src, dst, dc,
925 &spans->spans[0], smooth, level); 927 &spans->spans[0], smooth,
928 dc->anti_alias, level);
926 return; 929 return;
927 } 930 }
928 931
@@ -935,17 +938,22 @@ evas_common_map_rgba_do(const Eina_Rectangle *clip,
935 evas_common_draw_context_set_clip(dc, area.x, area.y, area.w, area.h); 938 evas_common_draw_context_set_clip(dc, area.x, area.y, area.w, area.h);
936#ifdef BUILD_MMX 939#ifdef BUILD_MMX
937 if (mmx) 940 if (mmx)
938 evas_common_map_rgba_internal_mmx_do(src, dst, dc, 941 {
939 &spans->spans[i], smooth, level); 942 evas_common_map_rgba_internal_mmx_do(src, dst, dc,
943 &spans->spans[i], smooth,
944 dc->anti_alias, level);
945 }
940 else 946 else
941#endif 947#endif
942#ifdef BUILD_NEON 948#ifdef BUILD_NEON
943 if (evas_common_cpu_has_feature(CPU_FEATURE_NEON)) 949 if (evas_common_cpu_has_feature(CPU_FEATURE_NEON))
944 evas_common_map_rgba_internal_neon_do(src, dst, dc, 950 evas_common_map_rgba_internal_neon_do(src, dst, dc,
945 &spans->spans[i], smooth, level); 951 &spans->spans[i], smooth,
952 dc->anti_alias, level);
946 else 953 else
947#endif 954#endif
948 evas_common_map_rgba_internal_do(src, dst, dc, 955 evas_common_map_rgba_internal_do(src, dst, dc,
949 &spans->spans[i], smooth, level); 956 &spans->spans[i], smooth,
957 dc->anti_alias, level);
950 } 958 }
951} 959}
diff --git a/src/lib/evas/common/evas_map_image.h b/src/lib/evas/common/evas_map_image.h
index a45b56a2bd..ff83650fe9 100644
--- a/src/lib/evas/common/evas_map_image.h
+++ b/src/lib/evas/common/evas_map_image.h
@@ -19,7 +19,7 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
19 int npoints, RGBA_Map_Point *points, 19 int npoints, RGBA_Map_Point *points,
20 int smooth, int level); 20 int smooth, int level);
21 21
22EAPI void evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip_y, int clip_w, int clip_h, DATA32 mul_col, int render_op, int npoints, RGBA_Map_Point *p, int smooth, int level); 22EAPI void evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int clip_y, int clip_w, int clip_h, DATA32 mul_col, int render_op, int npoints, RGBA_Map_Point *p, int smooth, Eina_Bool anti_alias, int level);
23 23
24EAPI Eina_Bool 24EAPI Eina_Bool
25evas_common_map_rgba_prepare(RGBA_Image *src, RGBA_Image *dst, 25evas_common_map_rgba_prepare(RGBA_Image *src, RGBA_Image *dst,
diff --git a/src/lib/evas/common/evas_map_image_internal.c b/src/lib/evas/common/evas_map_image_internal.c
index eb1b77056e..331c3dd77c 100644
--- a/src/lib/evas/common/evas_map_image_internal.c
+++ b/src/lib/evas/common/evas_map_image_internal.c
@@ -4,7 +4,7 @@ FUNC_NAME(RGBA_Image *src, RGBA_Image *dst,
4 int clip_x, int clip_y, int clip_w, int clip_h, 4 int clip_x, int clip_y, int clip_w, int clip_h,
5 DATA32 mul_col, int render_op, 5 DATA32 mul_col, int render_op,
6 RGBA_Map_Point *p, 6 RGBA_Map_Point *p,
7 int smooth, int level EINA_UNUSED) // level unused for now - for future use 7 int smooth, int anti_alias, int level EINA_UNUSED) // level unused for now - for future use
8{ 8{
9 int i; 9 int i;
10 int cx, cy, cw, ch; 10 int cx, cy, cw, ch;
@@ -115,7 +115,7 @@ static void
115FUNC_NAME_DO(RGBA_Image *src, RGBA_Image *dst, 115FUNC_NAME_DO(RGBA_Image *src, RGBA_Image *dst,
116 RGBA_Draw_Context *dc, 116 RGBA_Draw_Context *dc,
117 const RGBA_Map_Spans *ms, 117 const RGBA_Map_Spans *ms,
118 int smooth, int level EINA_UNUSED) // level unused for now - for future use 118 int smooth, int anti_alias EINA_UNUSED, int level EINA_UNUSED) // level unused for now - for future use
119{ 119{
120 Line *spans; 120 Line *spans;
121 DATA32 *buf = NULL, *sp; 121 DATA32 *buf = NULL, *sp;
diff --git a/src/lib/evas/common/evas_pipe.c b/src/lib/evas/common/evas_pipe.c
index 0d57119b69..92d5bed5ff 100644
--- a/src/lib/evas/common/evas_pipe.c
+++ b/src/lib/evas/common/evas_pipe.c
@@ -606,7 +606,8 @@ evas_common_pipe_map_draw_do(RGBA_Image *dst, const RGBA_Pipe_Op *op, const RGBA
606 memcpy(&(context), &(op->context), sizeof(RGBA_Draw_Context)); 606 memcpy(&(context), &(op->context), sizeof(RGBA_Draw_Context));
607 evas_common_map_rgba_do(&info->area, op->op.map.src, dst, 607 evas_common_map_rgba_do(&info->area, op->op.map.src, dst,
608 &context, op->op.map.m, 608 &context, op->op.map.m,
609 op->op.map.smooth, op->op.map.level); 609 op->op.map.smooth, op->op.map.anti_alias,
610 op->op.map.level);
610} 611}
611 612
612static Eina_Bool 613static Eina_Bool
@@ -647,6 +648,7 @@ evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
647 src->ref++; 648 src->ref++;
648 op->op.map.src = src; 649 op->op.map.src = src;
649 op->op.map.m = m; 650 op->op.map.m = m;
651 op->op.map.anti_alias = dc->anti_alias;
650 op->op_func = evas_common_pipe_map_draw_do; 652 op->op_func = evas_common_pipe_map_draw_do;
651 op->free_func = evas_common_pipe_op_map_free; 653 op->free_func = evas_common_pipe_op_map_free;
652 op->prepare_func = evas_common_pipe_map_draw_prepare; 654 op->prepare_func = evas_common_pipe_map_draw_prepare;