]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/matitaEngine.ml
Proof simplified (??).
[helm.git] / helm / software / matita / matitaEngine.ml
index a2effbe039d6656a47b5ad5b06417d0cab15a0be..c13004c24917f51fcbe1609607656636e745ed9d 100644 (file)
@@ -58,6 +58,25 @@ let disambiguate_macro lexicon_status_ref grafite_status macro context =
  in
   GrafiteTypes.set_metasenv metasenv grafite_status,macro
 
+let eval_macro_screenshot (status : GrafiteTypes.status) name =
+  let _,_,metasenv,subst,_ = status#obj in
+  let sequent = List.hd metasenv in
+  let mathml = 
+    ApplyTransformation.nmml_of_cic_sequent 
+      status metasenv subst sequent 
+  in
+  let domImpl = Gdome.domImplementation () in
+  ignore(domImpl#saveDocumentToFile 
+    ~name:(name^".xml") ~doc:mathml ());
+  ignore(Sys.command ("mathmlsvg --verbose=1 --font-size=20 --cut-filename=no " ^ 
+    Filename.quote (name^".xml")));
+  ignore(Sys.command ("convert " ^ 
+    Filename.quote (name^".svg") ^ " " ^ 
+    Filename.quote (name^".png")));
+  HLog.debug ("generated " ^ name ^ ".png");
+  status, `New []
+;;
+
 let eval_ast ?do_heavy_checks status (text,prefix_len,ast) =
  let dump = not (Helm_registry.get_bool "matita.moo") in
  let lexicon_status_ref = ref (status :> LexiconEngine.status) in