aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/edje
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/edje')
-rw-r--r--src/bin/edje/edje_cc_handlers.c27
-rwxr-xr-xsrc/bin/edje/edje_cc_out.c10
2 files changed, 32 insertions, 5 deletions
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index b371aec5ca..d9ddbd3898 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -258,6 +258,7 @@ static void st_collections_group_parts_part_pointer_mode(void);
static void st_collections_group_parts_part_precise_is_inside(void);
static void st_collections_group_parts_part_use_alternate_font_metrics(void);
static void st_collections_group_parts_part_clip_to_id(void);
+static void st_collections_group_parts_part_no_render(void);
static void st_collections_group_parts_part_source(void);
static void st_collections_group_parts_part_source2(void);
static void st_collections_group_parts_part_source3(void);
@@ -693,6 +694,7 @@ New_Statement_Handler statement_handlers[] =
{"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside},
{"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics},
{"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id},
+ {"collections.group.parts.part.no_render", st_collections_group_parts_part_no_render},
{"collections.group.parts.part.source", st_collections_group_parts_part_source},
{"collections.group.parts.part.source2", st_collections_group_parts_part_source2},
{"collections.group.parts.part.source3", st_collections_group_parts_part_source3},
@@ -4417,6 +4419,7 @@ st_collections_group_parts_alias(void)
source: "groupname";
pointer_mode: AUTOGRAB;
use_alternate_font_metrics: 0;
+ no_render: 0;
dragable { }
items { }
@@ -4469,6 +4472,7 @@ edje_cc_handlers_part_make(int id)
ep->use_alternate_font_metrics = 0;
ep->access = 0;
ep->clip_to_id = -1;
+ ep->no_render = 0;
ep->dragable.confine_id = -1;
ep->dragable.threshold_id = -1;
ep->dragable.event_id = -1;
@@ -5396,6 +5400,29 @@ st_collections_group_parts_part_clip_to_id(void)
/**
@page edcref
@property
+ no_render
+ @parameters
+ [1 or 0]
+ @effect
+ Setting the no_render flag on an object will make it never render
+ directly on the canvas, regardless of the visible and color properties.
+ But the object will still be rendered in a dedicated surface when
+ required if it is a proxy source or a mask (clipper).
+ Strongly recommended for use with mask objects and proxy sources
+ (instead of setting "source_visible" on the proxy itself).
+ @endproperty
+*/
+static void
+st_collections_group_parts_part_no_render(void)
+{
+ check_arg_count(1);
+
+ current_part->no_render = parse_bool(0);
+}
+
+/**
+ @page edcref
+ @property
source
@parameters
[another group's name]
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index 78d3fab431..be534aab5f 100755
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -485,20 +485,20 @@ check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
/* FIXME: check image set and sort them. */
if (!ep->default_desc)
error_and_abort(ef, "Collection %i: default description missing "
- "for part \"%s\"", pc->id, ep->name);
+ "for part \"%s\"", pc->id, ep->name);
for (i = 0; i < ep->other.desc_count; ++i)
check_state(pc, ep, ep->other.desc[i], ef);
if (ep->type == EDJE_PART_TYPE_IMAGE)
{
- check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->default_desc, ef);
+ check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->default_desc, ef);
- for (i = 0; i < ep->other.desc_count; ++i)
- check_image_part_desc (pc, ep, (Edje_Part_Description_Image*) ep->other.desc[i], ef);
+ for (i = 0; i < ep->other.desc_count; ++i)
+ check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->other.desc[i], ef);
}
else if ((ep->type == EDJE_PART_TYPE_BOX) ||
- (ep->type == EDJE_PART_TYPE_TABLE))
+ (ep->type == EDJE_PART_TYPE_TABLE))
check_packed_items(pc, ep, ef);
else if (ep->type == EDJE_PART_TYPE_GROUP)
check_source_links(pc, ep, ef, group_path);