[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4811] add "plugin" renderer for video_plugin papget
From: |
Pascal Brisset |
Subject: |
[paparazzi-commits] [4811] add "plugin" renderer for video_plugin papget |
Date: |
Mon, 19 Apr 2010 13:22:50 +0000 |
Revision: 4811
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4811
Author: hecto
Date: 2010-04-19 13:22:50 +0000 (Mon, 19 Apr 2010)
Log Message:
-----------
add "plugin" renderer for video_plugin papget
Modified Paths:
--------------
paparazzi3/trunk/sw/ground_segment/cockpit/papgets.ml
paparazzi3/trunk/sw/lib/ocaml/papget_renderer.ml
paparazzi3/trunk/sw/lib/ocaml/papget_renderer.mli
Modified: paparazzi3/trunk/sw/ground_segment/cockpit/papgets.ml
===================================================================
--- paparazzi3/trunk/sw/ground_segment/cockpit/papgets.ml 2010-04-18
23:31:35 UTC (rev 4810)
+++ paparazzi3/trunk/sw/ground_segment/cockpit/papgets.ml 2010-04-19
13:22:50 UTC (rev 4811)
@@ -176,6 +176,8 @@
match display with
"mplayer" ->
(new Papget_renderer.canvas_mplayer canvas_group ~config x y :>
Papget_renderer.t)
+ | "plugin" ->
+ (new Papget_renderer.canvas_plugin canvas_group ~config x y :>
Papget_renderer.t)
| _ -> failwith (sprintf "Unexpected papget display: %s" display) in
let properties = locked papget in
Modified: paparazzi3/trunk/sw/lib/ocaml/papget_renderer.ml
===================================================================
--- paparazzi3/trunk/sw/lib/ocaml/papget_renderer.ml 2010-04-18 23:31:35 UTC
(rev 4810)
+++ paparazzi3/trunk/sw/lib/ocaml/papget_renderer.ml 2010-04-19 13:22:50 UTC
(rev 4811)
@@ -344,7 +344,33 @@
end
+(****************************************************************************)
+class canvas_plugin = fun ?(config=[]) canvas_group x y ->
+ let command = PC.get_prop "command" config "missing_plugin_command" in
+ let width = float_of_string (PC.get_prop "width" config "320.")
+ and height = float_of_string (PC.get_prop "height" config "240.") in
+ let socket = GWindow.socket () in
+ let group = GnoCanvas.group ~x ~y canvas_group in
+ let _item = GnoCanvas.widget ~width ~height ~widget:socket group in
+ object
+ method tag = "Plugin"
+ method item = (group :> movable_item)
+ method edit = fun (pack:GObj.widget -> unit) -> ()
+ method update = fun (value:string) -> ()
+ method config = fun () ->
+ [ PC.property "command" command;
+ PC.float_property "width" width;
+ PC.float_property "height" height ]
+ initializer
+ group#lower_to_bottom ();
+ let com = sprintf "exec %s0x%lx" command socket#xwindow in
+ let dev_null = Unix.descr_of_out_channel (open_out "/dev/null") in
+ ignore (Unix.create_process "/bin/sh" [|"/bin/sh"; "-c"; com|] dev_null
dev_null dev_null)
+ end
+
+
+
let renderers =
[ (new canvas_text :> ?config:Xml.xml list -> #GnoCanvas.group -> float ->
float -> t);
(new canvas_ruler :> ?config:Xml.xml list -> #GnoCanvas.group -> float ->
float -> t);
Modified: paparazzi3/trunk/sw/lib/ocaml/papget_renderer.mli
===================================================================
--- paparazzi3/trunk/sw/lib/ocaml/papget_renderer.mli 2010-04-18 23:31:35 UTC
(rev 4810)
+++ paparazzi3/trunk/sw/lib/ocaml/papget_renderer.mli 2010-04-19 13:22:50 UTC
(rev 4811)
@@ -57,6 +57,9 @@
class canvas_mplayer : ?config:Xml.xml list -> #GnoCanvas.group -> float ->
float -> t
(** [canvas_mplayer config group x y] *)
+class canvas_plugin : ?config:Xml.xml list -> #GnoCanvas.group -> float ->
float -> t
+(** [canvas_plugin config group x y] *)
+
val lazy_tagged_renderers :
(string * (?config:Xml.xml list -> GnoCanvas.group -> float -> float -> t))
list lazy_t
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4811] add "plugin" renderer for video_plugin papget,
Pascal Brisset <=