From c8ed9f53a6a902409b383e37e4018be76fd5c4f7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 17 Feb 2014 22:15:11 +0000 Subject: media9 (16feb14) git-svn-id: svn://tug.org/texlive/trunk@32992 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/media9/media9.sty | 130 ++++++++++++++++----- .../tex/latex/media9/players/APlayer.swf | Bin 345873 -> 345957 bytes .../tex/latex/media9/players/VPlayer.swf | Bin 502381 -> 502357 bytes 3 files changed, 104 insertions(+), 26 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/media9/media9.sty b/Master/texmf-dist/tex/latex/media9/media9.sty index 0f92922e10b..6acf9ac4bce 100644 --- a/Master/texmf-dist/tex/latex/media9/media9.sty +++ b/Master/texmf-dist/tex/latex/media9/media9.sty @@ -26,7 +26,7 @@ % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% http://mirrors.ctan.org/help/Catalogue/licenses.lppl.html % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % @@ -42,8 +42,8 @@ \RequirePackage{atbegshi} \RequirePackage{tikz} -\def\g@mix@date@tl{2014/02/06} -\def\g@mix@version@tl{0.39} +\def\g@mix@date@tl{2014/02/17} +\def\g@mix@version@tl{0.40} \def\g@mix@liiikerneldate{2013/07/28} \def\g@mix@liiipkgdate{2013/07/28} @@ -468,22 +468,60 @@ } \group_end: -%takes Field object refs -\tl_if_exist:cF{@anim@fields}{\tl_gset:cn{@anim@fields}{}} -%macro for adding AcroForm entry to PDF Catalog -\cs_new:Nn\mix_insert_acroform:{ + +%macros for adding AcroForm and OCProperties dicts to PDF Catalog +\tl_if_exist:cF{@anim@fields}{\tl_gset:cn{@anim@fields}{}}%takes Field object refs +\cs_new:Nn\mix_insert_acroform:{ %AcroForm dict \tl_if_exist:cF{Acro@Form@added}{ \mix_pdfobj:nnn{}{array}{} \tl_gset:Nx\g_mix_fieldsarray_tl{\g_mix_pdflastobj_tl} \mix_pdfcatalog:n{ /AcroForm~<>} - \AtEndDocument{% + \AtEndDocument{ \mix_pdfobj:nnn{\g_mix_fieldsarray_tl}{array}{\@anim@fields} } \tl_gset:cn{Acro@Form@added}{} } } +\tl_if_exist:cF{@anim@ocgs}{\tl_gset:cn{@anim@ocgs}{}} %takes ocg object refs +\tl_if_exist:cF{@anim@offocgs}{\tl_gset:cn{@anim@offocgs}{}} +\cs_new:Nn\mix_insert_ocprops:{%OCProperties dict + \tl_if_exist:cF{oc@props@added}{ + \mix_pdfobj:nnn{}{array}{} + \tl_gset:Nx\g_mix_ocgarray_tl{\g_mix_pdflastobj_tl} + \mix_pdfobj:nnn{}{array}{} + \tl_gset:Nx\g_mix_offocgarray_tl{\g_mix_pdflastobj_tl} + \mix_pdfcatalog:n{ + /OCProperties~<< + /OCGs~\g_mix_ocgarray_tl + /D~<< + /BaseState/ON~/OFF~\g_mix_offocgarray_tl + >> + >> + } + \AtEndDocument{ + \mix_pdfobj:nnn{\g_mix_ocgarray_tl}{array}{\@anim@ocgs} + \mix_pdfobj:nnn{\g_mix_offocgarray_tl}{array}{\@anim@offocgs} + } + \tl_gset:cn{oc@props@added}{} + } +} +\cs_new:Nn\mix_insert_btnocg:{%OCG for play button + \tl_if_exist:NF\g_mix_btnocg_tl{ + \mix_pdfobj:nnn{}{dict}{/Type/OCG/Name~(MediaPlayButton) + /Usage<< + /Print<> + /Export<> + >> + } + \tl_gput_right:Nx\@anim@ocgs{\space\g_mix_pdflastobj_tl} + \tl_gput_right:Nx\@anim@offocgs{\space\g_mix_pdflastobj_tl} + \tl_gset:Nx\g_mix_btnocg_tl{\g_mix_pdflastobj_tl} + } + \mix_pdfresources:n{/Properties<>} +} + %commands for creating PDF objects, annots etc. \bool_if:NTF\g_mix_pdfoutput_bool{ %helper func to remove `0 R' part from pdf obj reference @@ -548,6 +586,14 @@ } \cs_new:Nn\mix_pdfcatalog:n{\pdfcatalog{#1}} + \cs_new:Nn\mix_pdfresources:n{ + \group_begin: + \tl_set:Nx\l_mix_temp_tl{\group_end: + \global\pdfpageresources{\the\pdfpageresources #1} + }\l_mix_temp_tl + } + \cs_new:Nn\mix_pdfbdc:{\pdfliteral{/OC/OC@rm@play~BDC}} + \cs_new:Nn\mix_pdfemc:{\pdfliteral{EMC}} }{ \int_new:N\g_mix_obj_int % object ID \bool_if:NTF\g_mix_dvipdfmx_bool{ %dvipdfmx/XeTeX @@ -630,6 +676,9 @@ } \cs_new:Nn\mix_pdfcatalog:n{\special{pdf:put~@catalog~<<#1>>}} + \cs_new:Nn\mix_pdfresources:n{\special{pdf:put~@resources~<<#1>>}} + \cs_new:Nn\mix_pdfbdc:{\special{pdf:~content~/OC/OC@rm@play~BDC}} + \cs_new:Nn\mix_pdfemc:{\special{pdf:~content~EMC}} }{ % dvips \bool_new:N\g_mix_powerdot_bool %to cope with some powerdot oddity @@ -903,6 +952,10 @@ \cs_new:Nn\mix_pdfcatalog:n{ \special{ps:~mark~{Catalog}~<<#1>>~/PUT~pdfmark} } + + \cs_new:Nn\mix_pdfresources:n{} %no-op + \cs_new:Nn\mix_pdfbdc:{\special{ps:~mark~/OC~\g_mix_btnocg_tl~/BDC~pdfmark}} + \cs_new:Nn\mix_pdfemc:{\special{ps:~mark~/EMC~pdfmark}} } } @@ -1394,25 +1447,39 @@ \mix_keytoaux_now:nn{ann@\g_mix_usrlabel_tl}{\g_mix_pdflastann_tl} \mix_keytoaux_shipout:nn{page@\g_mix_usrlabel_tl}{ \noexpand\the\g@mix@page@int} - \mix_pdfobj:nnn{}{dict}{ - /S/JavaScript/JS~( - if(typeof(annotRM)=='undefined'){annotRM=new~Array();} - if(typeof(annotRM['\g_mix_label_tl'])=='undefined'){ - annotRM['\g_mix_label_tl']= - this.getAnnotRichMedia(this.pageNum,'\g_mix_label_tl'); + } + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + try{ + var~ocgAll=this.getOCGs(this.pageNum); + for(var~i=0;i=9 + )ocgAll[i].state=true; } - ) - } - \mix_pdfannot:nnnn{0pt}{0pt}{0pt}{ - /Subtype/Widget - /FT/Btn/Ff~65537 - /BS~<> - /T~(fd@\g_mix_label_tl) - /AA~<> - } - \tl_gput_right:Nx\@anim@fields{\g_mix_pdflastann_tl\space} - \mix_insert_acroform: + \tl_if_empty:NF\g_mix_usrlabel_tl{ + if(typeof(annotRM)=='undefined'){annotRM=new~Array();} + if(typeof(annotRM['\g_mix_label_tl'])=='undefined'){ + annotRM['\g_mix_label_tl']= + this.getAnnotRichMedia(this.pageNum,'\g_mix_label_tl'); + } + } + }catch(e){} + ) } + \mix_pdfannot:nnnn{0pt}{0pt}{0pt}{ + /Subtype/Widget + /FT/Btn/Ff~65537 + /BS~<> + /T~(fd@\g_mix_label_tl) + /AA~<> + } + \tl_gput_right:Nx\@anim@fields{\space\g_mix_pdflastann_tl\space} + \mix_insert_acroform: \hbox_overlap_right:n{ \box_move_down:nn{\l_mix_dp_tl-\box_dp:N\l_mix_poster_box}{ \box_use:N\l_mix_poster_box @@ -1420,6 +1487,8 @@ } \bool_if:NTF\g_mix_usrpbtn_bool{ %scale and insert play button overlay + \mix_insert_btnocg: %create OCG + \mix_insert_ocprops: \hbox_set:Nn\l_mix_pbtn_box{\g_mix_pbtn_tl} \dim_compare:nTF{\l_mix_tt_tl>\l_mix_wd_tl}{ \box_resize_to_wd:Nn\l_mix_pbtn_box{\l_mix_wd_tl} @@ -1430,7 +1499,11 @@ \hbox_to_wd:nn{\l_mix_wd_tl}{ \hss \vbox_to_ht:nn{\l_mix_tt_tl}{ - \vss\box_use:N\l_mix_pbtn_box\vss + \vss + \mix_pdfbdc: + \box_use:N\l_mix_pbtn_box + \mix_pdfemc: + \vss } \hss } @@ -2313,6 +2386,9 @@ draft .code:n = {}, final .code:n = {}, + tooltip .tl_gset_x:N = \g_mix_tooltip_tl, + tooltip .value_required:, + overface .code:n = { \hbox_set:Nn\l_mix_poster_box{#1} \mix_pdfxform:n{\l_mix_poster_box} @@ -2492,6 +2568,7 @@ \tl_gclear:N\g_mix_overbtn_tl \tl_gclear:N\g_mix_downbtn_tl \tl_gclear:N\g_mix_btnactions_tl + \tl_gclear:N\g_mix_tooltip_tl %process options \bool_gset_eq:NN\g_mix_btndraft_bool\g_mix_pkgdraft_bool \mix_uribegin: %treat URI characters correctly @@ -2510,6 +2587,7 @@ \mix_pdfannot:nnnn{\width}{\height}{\depth}{ /Subtype/Widget /T~(mbtn@\int_use:N\g_mix_mbtncnt_int) + \tl_if_empty:NF\g_mix_tooltip_tl{/TU~(\g_mix_tooltip_tl)} /FT/Btn/Ff~65536 /H/P /MK~<< diff --git a/Master/texmf-dist/tex/latex/media9/players/APlayer.swf b/Master/texmf-dist/tex/latex/media9/players/APlayer.swf index 2926ce52bb5..c2dfb45b19f 100644 Binary files a/Master/texmf-dist/tex/latex/media9/players/APlayer.swf and b/Master/texmf-dist/tex/latex/media9/players/APlayer.swf differ diff --git a/Master/texmf-dist/tex/latex/media9/players/VPlayer.swf b/Master/texmf-dist/tex/latex/media9/players/VPlayer.swf index 3dd82141c77..2801daea750 100644 Binary files a/Master/texmf-dist/tex/latex/media9/players/VPlayer.swf and b/Master/texmf-dist/tex/latex/media9/players/VPlayer.swf differ -- cgit v1.2.3