summaryrefslogtreecommitdiffstats
path: root/templates/machine/m3ulcb/50_setup.sh
blob: abd2a33af0dc088480d56571e514eb2814667643 (plain)
1
2
3
4
5
6
7
8
9
10
# setup proprietary gfx drivers and multimedia packages
pushd $METADIR 2>/dev/null

SETUP_MM_SCRIPT=$METADIR/meta-agl/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh
if [ -f $SETUP_MM_SCRIPT ]; then
	. $SETUP_MM_SCRIPT
	copy_mm_packages
fi

popd 2>/dev/null
mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
index e1e897ed..5b1f12f0 100644
--- a/ivi-shell/ivi-layout-export.h
+++ b/ivi-shell/ivi-layout-export.h
@@ -320,6 +320,12 @@ struct ivi_layout_interface {
 					struct ivi_layout_surface *ivisurf,
 					uint32_t duration);
 
+	/**
+	 * \brief set id of ivi_layout_surface
+	 */
+	int32_t (*surface_set_id)(struct ivi_layout_surface *ivisurf,
+				  uint32_t id_surface);
+
 	/**
 	 * layer controller interface
 	 */
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index 298e18ea..fa8e75f6 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -1901,6 +1901,44 @@ ivi_layout_surface_set_transition_duration(struct ivi_layout_surface *ivisurf,
 	return 0;
 }
 
+/*
+ * This interface enables e.g. an id agent to set the id of an ivi-layout
+ * surface, that has been created by a desktop application. This can only be
+ * done once as long as the initial surface id equals IVI_INVALID_ID. Afterwards
+ * two events are emitted, namely surface_created and surface_configured.
+ */
+static int32_t
+ivi_layout_surface_set_id(struct ivi_layout_surface *ivisurf,
+			  uint32_t id_surface)
+{
+	struct ivi_layout *layout = get_instance();
+	struct ivi_layout_surface *search_ivisurf = NULL;
+
+	if (!ivisurf) {
+		weston_log("%s: invalid argument\n", __func__);
+		return IVI_FAILED;
+	}
+
+	if (ivisurf->id_surface != IVI_INVALID_ID) {
+		weston_log("surface id can only be set once\n");
+		return IVI_FAILED;
+	}
+
+	search_ivisurf = get_surface(&layout->surface_list, id_surface);
+	if (search_ivisurf) {
+		weston_log("id_surface(%d) is already created\n", id_surface);
+		return IVI_FAILED;
+	}
+
+	ivisurf->id_surface = id_surface;
+
+	wl_signal_emit(&layout->surface_notification.created, ivisurf);
+	wl_signal_emit(&layout->surface_notification.configure_changed,
+		       ivisurf);
+
+	return IVI_SUCCEEDED;
+}
+
 static int32_t
 ivi_layout_surface_set_transition(struct ivi_layout_surface *ivisurf,
 				  enum ivi_layout_transition_type type,
@@ -2058,6 +2096,7 @@ static struct ivi_layout_interface ivi_layout_interface = {
 	.surface_get_weston_surface		= ivi_layout_surface_get_weston_surface,
 	.surface_set_transition			= ivi_layout_surface_set_transition,
 	.surface_set_transition_duration	= ivi_layout_surface_set_transition_duration,
+	.surface_set_id				= ivi_layout_surface_set_id,
 
 	/**
 	 * layer controller interfaces