X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FmatitaMathView.ml;h=c666a34f7d7fe5f06efe5827e3660a5900e7bfc2;hb=0771f484b17fbe61f17c03288cfdc1124698f161;hp=ad0a66294db314ff2ac47be9c59e45b2ee9df6ea;hpb=4286d368b6d902a4b54c4cf8590c387f2cdb90ea;p=helm.git diff --git a/helm/software/matita/matitaMathView.ml b/helm/software/matita/matitaMathView.ml index ad0a66294..c666a34f7 100644 --- a/helm/software/matita/matitaMathView.ml +++ b/helm/software/matita/matitaMathView.ml @@ -1576,12 +1576,9 @@ let mathViewer () = method show_uri_list ?(reuse=false) ~entry l = (self#get_browser reuse)#load entry - method screenshot status sequent metasenv subst (filename as ofn) = - let mathml = - ApplyTransformation.nmml_of_cic_sequent status metasenv subst sequent - in + method screenshot status sequents metasenv subst (filename as ofn) = let w = GWindow.window ~title:"screenshot" () in - let width = 600 in + let width = 500 in let height = 2000 in let m = GMathView.math_view ~font_size:!current_font_size ~width ~height @@ -1589,16 +1586,44 @@ let mathViewer () = ~show:true () in w#show (); - m#load_root ~root:mathml#get_documentElement; - let pixmap = m#get_buffer in - let pixbuf = GdkPixbuf.create ~width ~height () in - GdkPixbuf.get_from_drawable ~dest:pixbuf pixmap; - let filename = filename ^ "-raw.png" in - GdkPixbuf.save ~filename ~typ:"png" pixbuf; + let filenames = + HExtlib.list_mapi + (fun (mno,_ as sequent) i -> + let mathml = + ApplyTransformation.nmml_of_cic_sequent + status metasenv subst sequent + in + m#load_root ~root:mathml#get_documentElement; + let pixmap = m#get_buffer in + let pixbuf = GdkPixbuf.create ~width ~height () in + GdkPixbuf.get_from_drawable ~dest:pixbuf pixmap; + let filename = + filename ^ "-raw" ^ string_of_int i ^ ".png" + in + GdkPixbuf.save ~filename ~typ:"png" pixbuf; + filename,mno) + sequents + in + let items = + List.map (fun (x,mno) -> + ignore(Sys.command + (Printf.sprintf + ("convert "^^ + " '(' -gravity west -bordercolor grey -border 1 label:%d ')' "^^ + " '(' -trim -bordercolor white -border 5 "^^ + " -bordercolor grey -border 1 %s ')' -append %s ") + mno + (Filename.quote x) + (Filename.quote (x ^ ".label.png")))); + x ^ ".label.png") + filenames + in ignore(Sys.command (Printf.sprintf - "convert -trim -border 3 -bordercolor white %s %s" - (Filename.quote filename) + "convert %s +append %s" + (String.concat (" '(' -gravity center -size 10x10 xc: ')' ") items) (Filename.quote (ofn ^ ".png")))); + List.iter (fun x,_ -> Sys.remove x) filenames; + List.iter Sys.remove items; w#destroy (); end