summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/media9
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-09-23 21:34:28 +0000
committerKarl Berry <karl@freefriends.org>2014-09-23 21:34:28 +0000
commitb61de522f6f66b2ea9d99faaeefa9ec2a9a0e344 (patch)
tree88fdb2174eb11d864367c58f838a9620c1b164aa /Master/texmf-dist/tex/latex/media9
parent809ee2bda7e5afc20f6e22fe1d7a322af86b225e (diff)
media9 (23sep14)
git-svn-id: svn://tug.org/texlive/trunk@35240 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/media9')
-rw-r--r--Master/texmf-dist/tex/latex/media9/javascript/3Dmenu.js22
-rw-r--r--Master/texmf-dist/tex/latex/media9/media9.sty234
2 files changed, 202 insertions, 54 deletions
diff --git a/Master/texmf-dist/tex/latex/media9/javascript/3Dmenu.js b/Master/texmf-dist/tex/latex/media9/javascript/3Dmenu.js
index 17dd99b60b0..36cbd4bdeb5 100644
--- a/Master/texmf-dist/tex/latex/media9/javascript/3Dmenu.js
+++ b/Master/texmf-dist/tex/latex/media9/javascript/3Dmenu.js
@@ -4,7 +4,7 @@
//
// 3Dmenu.js
//
-// version 20131204
+// version 20140923
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -597,7 +597,20 @@ function get3Dview () {
if(!(normal.x==1 && normal.y==0 && normal.z==0))
res+=host.util.printf(
' NORMAL=%s %s %s\n', normal.x, normal.y, normal.z);
+ res+=host.util.printf(
+ ' VISIBLE=%s\n', clip.visible);
+ res+=host.util.printf(
+ ' PLANECOLOR=%s %s %s\n', clip.material.emissiveColor.r,
+ clip.material.emissiveColor.g, clip.material.emissiveColor.b);
+ res+=host.util.printf(
+ ' OPACITY=%s\n', clip.opacity);
+ res+=host.util.printf(
+ ' INTERSECTIONCOLOR=%s %s %s\n',
+ clip.wireframeColor.r, clip.wireframeColor.g, clip.wireframeColor.b);
res+=' END\n';
+// for(var propt in clip){
+// console.println(propt+':'+clip[propt]);
+// }
}
res+='END\n';
host.console.show();
@@ -644,8 +657,8 @@ cameraEventHandler.onEvent=function(e){
var clip=null;
runtime.removeCustomMenuItem("csection");
runtime.addCustomMenuItem("csection", "Cross Section", "checked", 0);
- if(clip=scene.nodes.getByName('$$$$$$')||
- scene.nodes.getByName('Clipping Plane')){
+ if(clip=scene.nodes.getByName('$$$$$$')|| //predefined
+ scene.nodes.getByName('Clipping Plane')){ //added via context menu
runtime.removeCustomMenuItem("csection");
runtime.addCustomMenuItem("csection", "Cross Section", "checked", 1);
}
@@ -808,10 +821,11 @@ function addremoveClipPlane(chk) {
scene.nodes.getByName('$$$$$$')||
scene.nodes.getByName('Clipping Plane')
){
- clip.remove();
+ clip.remove();clip=null;
}
}
restoreTrans(curTrans);
+ return clip;
}
//function to store current transformation matrix of all nodes in the scene
diff --git a/Master/texmf-dist/tex/latex/media9/media9.sty b/Master/texmf-dist/tex/latex/media9/media9.sty
index 26a356c3721..d7f49e2ab8e 100644
--- a/Master/texmf-dist/tex/latex/media9/media9.sty
+++ b/Master/texmf-dist/tex/latex/media9/media9.sty
@@ -43,8 +43,8 @@
\RequirePackage{atenddvi}
\RequirePackage{tikz}
-\def\g@mix@date@tl{2014/08/06}
-\def\g@mix@version@tl{0.46}
+\def\g@mix@date@tl{2014/09/23}
+\def\g@mix@version@tl{0.47}
\def\g@mix@liiikerneldate{2014/07/20}
\def\g@mix@liiipkgdate{2014/07/20}
@@ -52,8 +52,8 @@
\ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl}
{acrobat-9/X compatible media}
-\tl_gset:Nx\g_mix_date_tl{\g@mix@date@tl}
-\tl_gset:Nx\g_mix_version_tl{\g@mix@version@tl}
+\tl_gset_eq:NN\g_mix_date_tl\g@mix@date@tl
+\tl_gset_eq:NN\g_mix_version_tl\g@mix@version@tl
\cs_if_exist:NTF\msg_set:nnnn{
\msg_set:nnnn{media9}{support~outdated}{
@@ -107,6 +107,12 @@
\bool_new:N\g_mix_dvipdfmx_bool
\bool_new:N\g_mix_pkgdraft_bool
\bool_new:N\g_mix_opt_pkgwindowed_bool
+\int_new:N\g_mix_pkgresizeflag_int% resizing flag according to options given
+\tl_gset:Nn\g_mix_pkgwdarg_tl{\width}
+\tl_gset:Nn\g_mix_pkghtarg_tl{\height}
+\tl_gset:Nn\g_mix_pkgttarg_tl{\totalheight}
+\bool_new:N\g_mix_pkgiso_bool
+\tl_gset:Nn\g_mix_pkgscalearg_tl{1.0}
\tl_gset:Nx\g_mix_pkgwinsize_tl{defaultxdefault}
\tl_gset:Nx\g_mix_pkgwinpos_tl{cc}
\tl_gset:Nn\g_mix_pkgact_tl{/XA}
@@ -219,6 +225,47 @@
}
},
+ width .code:n = {
+ \tl_gset:Nn\g_mix_pkgwdarg_tl{#1}
+ \tl_if_exist:NF\l_mix_pkgwd_tl{
+ \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_four}
+ \tl_set:Nn\l_mix_pkgwd_tl{}
+ }
+ },
+ width .value_required:,
+
+ height .code:n = {
+ \tl_gset:Nn\g_mix_pkghtarg_tl{#1}
+ \tl_if_exist:NF\l_mix_pkght_tl{
+ \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_two}
+ \tl_set:Nn\l_mix_pkght_tl{}
+ }
+ },
+ height .value_required:,
+
+ totalheight .code:n = {
+ \tl_gset:Nn\g_mix_pkgttarg_tl{#1}
+ \tl_if_exist:NF\l_mix_pkgtt_tl{
+ \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_one}
+ \tl_set:Nn\l_mix_pkgtt_tl{}
+ }
+ },
+ height .value_required:,
+
+ depth .code:n = {
+ \msg_warning:nnnn{media9}{deprecated~option}{depth}{
+ Ignoring~`depth'~option.
+ }
+ },
+
+ keepaspectratio .choice:,
+ keepaspectratio / true .code:n = {\bool_gset_true:N\g_mix_pkgiso_bool},
+ keepaspectratio / false .code:n = {\bool_gset_false:N\g_mix_pkgiso_bool},
+ keepaspectratio .default:n = {true},
+
+ scale .code:n = {\tl_gset:Nx\g_mix_pkgscalearg_tl{#1}},
+ scale .value_required:,
+
%3D specific options
3Dplaytype .choice:,
3Dplaytype / none .code:n = {\tl_gset:Nn\g_mix_pkgplaytpe_tl{None}},
@@ -381,12 +428,15 @@
\tl_gset_eq:NN\g_mix_usrpbtn_tl\g_mix_pkgpbtn_tl
\seq_gclear:N\g_mix_res_seq
\seq_gclear:N\g_mix_script_seq
- \int_gzero:N\g_mix_resizeflag_int
- \tl_gset:Nn\g_mix_scalearg_tl{1.0}
- \tl_gset:Nn\g_mix_wdarg_tl{\width}
- \tl_gset:Nn\g_mix_htarg_tl{\height}
- \tl_gset:Nn\g_mix_ttarg_tl{\totalheight}
- \bool_gset_false:N\g_mix_usriso_bool %keepaspectratio
+ \int_gset_eq:NN\g_mix_resizeflag_int\g_mix_pkgresizeflag_int
+ \tl_set_eq:NN\l_mix_usrwd_tl\l_mix_pkgwd_tl
+ \tl_set_eq:NN\l_mix_usrht_tl\l_mix_pkght_tl
+ \tl_set_eq:NN\l_mix_usrtt_tl\l_mix_pkgtt_tl
+ \tl_gset_eq:NN\g_mix_wdarg_tl\g_mix_pkgwdarg_tl
+ \tl_gset_eq:NN\g_mix_htarg_tl\g_mix_pkghtarg_tl
+ \tl_gset_eq:NN\g_mix_ttarg_tl\g_mix_pkgttarg_tl
+ \bool_gset_eq:NN\g_mix_usriso_bool\g_mix_pkgiso_bool
+ \tl_gset_eq:NN\g_mix_scalearg_tl\g_mix_pkgscalearg_tl
\tl_gset_eq:NN\g_mix_transp_tl\g_mix_pkgtransp_tl
\tl_gset_eq:NN\g_mix_contextclick_tl\g_mix_pkgcontextclick_tl
\bool_gset_eq:NN\g_mix_opt_windowed_bool\g_mix_opt_pkgwindowed_bool
@@ -812,7 +862,7 @@
{array}{
\special{ps:~mark~\l_mix_usenum_tl~0~[#3]/PUTINTERVAL~pdfmark~}
}
- {stream}{\special{ps:~mark~\l_mix_usenum_tl~(#3)/PUT~pdfmark~}}
+ {stream}{\special{ps::[nobreak]~mark~\l_mix_usenum_tl~(#3)/PUT~pdfmark~}}
{fstream}{
\tl_set:Nn\l_mix_offset_tl{0}
\tl_set:Nx\l_mix_fsize_tl{\mix_filesize:n{#3}}
@@ -1058,7 +1108,7 @@
\bool_if:NTF\l_mix_url_bool{
\cs_if_exist:cF{url_#1}{
\mix_pdfobj:nnn{}{dict}{/FS/URL/F(#1)}
- \tl_gset:cx{url_#1}{\g_mix_pdflastobj_tl}%
+ \tl_gset:cx{url_#1}{\g_mix_pdflastobj_tl}
}
%every new url should be added to assets tree of the current annot
\cs_if_exist:cF{url_\int_use:c{g_mix_rmcnt_int}_#1}{
@@ -1226,7 +1276,8 @@
\box_resize_to_ht_plus_dp:Nn#1{\g_mix_tt_tl}
}
{\c_two}{
- \hbox_set:Nn#1{\resizebox{!}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ %\hbox_set:Nn#1{\resizebox{!}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ \box_resize_to_ht:Nn#1{\g_mix_ht_tl}
}
{\c_four}{
%\hbox_set:Nn#1{\resizebox{\g_mix_wd_tl}{!}{\box_use_clear:N#1}}
@@ -1263,11 +1314,13 @@
%\hbox_set:Nn#1{\resizebox{\g_mix_wd_tl}{!}{\box_use_clear:N#1}}
\box_resize_to_wd:Nn#1{\g_mix_wd_tl}
}{
- \hbox_set:Nn#1{\resizebox{!}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ %\hbox_set:Nn#1{\resizebox{!}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ \box_resize_to_ht:Nn#1{\g_mix_ht_tl}
}
}{
- \hbox_set:Nn#1{
- \resizebox{\g_mix_wd_tl}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ %\hbox_set:Nn#1{
+ % \resizebox{\g_mix_wd_tl}{\g_mix_ht_tl}{\box_use_clear:N#1}}
+ \box_resize_to_wd_and_ht:Nnn#1{\g_mix_wd_tl}{\g_mix_ht_tl}
}
}
}
@@ -1325,6 +1378,7 @@
\ior_new:N\l_mix_vfile_stream %file stream for 3D views files
\NewDocumentCommand\includemedia{O{}mm}{%#1 options, #2 text/image #3 media file
+ \mix_uriend:
\group_begin:
\leavevmode
%empty stream as appearance dummy
@@ -1334,17 +1388,17 @@
\tl_gset:Nx\g_mix_appearance_tl{\g_mix_pdflastxform_tl}
}
\mix_reset:
- {\mix_uribegin: %treat URI characters correctly
+ \mix_uribegin: %treat URI characters correctly
\keys_set:nn{media9/user}{#1}
- \mix_uriend:}
+ \mix_uriend:
\tl_greplace_all:Nnn\g_mix_flashvars_tl{~&}{&}
\tl_greplace_all:Nnn\g_mix_flashvars_tl{&~}{&}
\tl_greplace_all:Nnn\g_mix_flashvars_tl{~=}{=}
\tl_greplace_all:Nnn\g_mix_flashvars_tl{=~}{=}
\tl_gtrim_spaces:N\g_mix_flashvars_tl
- %
+
\cs_if_exist:NT\Ginput@path{\cs_set_eq:NN\input@path\Ginput@path}
- %
+
\hbox_set:Nn\l_mix_poster_box{\group_begin:#2\group_end:}
%\hbox_set:Nn\l_mix_poster_box{#2}
\mix_scale:n{\l_mix_poster_box}
@@ -1359,7 +1413,9 @@
\mix_keytoaux_now:nn{ann@\g_mix_usrlabel_tl}{draft}
}
\tl_if_blank:oTF{#2}{
+ \mix_uribegin: %treat URI characters correctly
\mix_draftbox:n{\tl_to_str:n{#3}}
+ \mix_uriend:
}{
\hbox_to_wd:nn{\g_mix_wd_tl}{
\vrule~width~\c_zero_dim~height~\g_mix_ht_tl~depth~\g_mix_dp_tl
@@ -1386,7 +1442,7 @@
\xetex_if_engine:T{\tl_gset:Nn\g_mix_usrpbtn_tl{plain}}
}
%embed main asset
- {\mix_uribegin:
+ \mix_uribegin:
\mix_embedasset:n{#3}
\bool_if:nTF{
\str_if_eq_p:Vn\l_mix_ext_tl{prc}||\str_if_eq_p:Vn\l_mix_ext_tl{u3d}
@@ -1403,7 +1459,7 @@
}{\tl_gset:Nn\g_mix_mainassetsub_tl{Flash}}
}
\tl_gset:Nx\g_mix_mainasset_tl{~\g_mix_lastasset_tl}
- \mix_uriend:}
+ \mix_uriend:
%secondary assets (added by addresource)
\seq_map_function:NN\g_mix_res_seq\mix_embedasset:n
\seq_map_inline:Nn\g_mix_script_seq{
@@ -1486,7 +1542,7 @@
/Type/RichMediaConfiguration
/Subtype/\g_mix_mainassetsub_tl
/Instances~[\g_mix_pdflastobj_tl]
- }%
+ }
\mix_pdfobj:nnn{}{dict}{
/Type/RichMediaContent
/Assets~<</Names~[\g_mix_assets_tl]>>
@@ -1643,20 +1699,27 @@
}
\group_end:
}
+\tl_set_eq:NN\l_mix_includemedia_tl\includemedia
+\tl_set:Nn\includemedia{\mix_uribegin:\l_mix_includemedia_tl}
-%defines environment \mix_uribegin: ... \mix_uriend: to sanitize possibly
-%active chars in URLs (RFC 2396) and path specifications;
-%code contributed by E. Gregorio
+%environment \mix_uribegin: ... \mix_uriend: to sanitize possibly
+%active chars in URLs (RFC 2396), path specifications and JavaScript
\group_begin:
\char_set_catcode_active:N\~
\cs_new:Npn\mix_uribegin:{
\group_begin:
- \tl_map_inline:nn{";/?:@&=+$|,-_.!~*'()}{
+ %code contributed by E. Gregorio
+ \tl_map_inline:nn{.:;?!/"'*+,->=<$@][)(^_`|~}{
\group_begin:
\char_set_lccode:nn{`\~}{`##1}
\tl_to_lowercase:n{\group_end:\cs_set:Npn~}{\token_to_str:N##1}
}
+ \cs_set:Npn\#{\token_to_str:N\#}
+ \cs_set:Npn\&{\token_to_str:N\&}
\cs_set:Npn\%{\token_to_str:N\%}
+ \cs_set:Npn\\{\token_to_str:N\\}
+ \cs_set:Npn\{{\token_to_str:N\{}
+ \cs_set:Npn\}{\token_to_str:N\}}
}
\group_end:
\cs_set_eq:NN\mix_uriend:\group_end:
@@ -1686,9 +1749,9 @@
\fp_set:Nn\l_mix_upz_fp{0.0}
}{% bottom view
%up-vector
- \fp_set:Nn\l_mix_upx_fp{0.0}%
- \fp_set:Nn\l_mix_upy_fp{-1.0}%
- \fp_set:Nn\l_mix_upz_fp{0.0}%
+ \fp_set:Nn\l_mix_upx_fp{0.0}
+ \fp_set:Nn\l_mix_upy_fp{-1.0}
+ \fp_set:Nn\l_mix_upz_fp{0.0}
}
\fp_set:Nn\l_mix_sumxy_fp{abs(\l_mix_viewx_fp) + abs(\l_mix_viewy_fp)}
\fp_compare:nNnF\l_mix_sumxy_fp=\c_zero_fp{% other views than top and bottom
@@ -1848,28 +1911,31 @@
width .code:n = {
\tl_gset:Nn\g_mix_wdarg_tl{#1}
- \int_gadd:Nn\g_mix_resizeflag_int{\c_four}
+ \tl_if_exist:NF\l_mix_usrwd_tl{
+ \int_gadd:Nn\g_mix_resizeflag_int{\c_four}
+ \tl_set:Nn\l_mix_usrwd_tl{}
+ }
},
width .value_required:,
height .code:n = {
\tl_gset:Nn\g_mix_htarg_tl{#1}
- \int_gadd:Nn\g_mix_resizeflag_int{\c_two}
+ \tl_if_exist:NF\l_mix_usrht_tl{
+ \int_gadd:Nn\g_mix_resizeflag_int{\c_two}
+ \tl_set:Nn\l_mix_usrht_tl{}
+ }
},
height .value_required:,
totalheight .code:n = {
\tl_gset:Nn\g_mix_ttarg_tl{#1}
- \int_gadd:Nn\g_mix_resizeflag_int{\c_one}
+ \tl_if_exist:NF\l_mix_usrtt_tl{
+ \int_gadd:Nn\g_mix_resizeflag_int{\c_one}
+ \tl_set:Nn\l_mix_usrtt_tl{}
+ }
},
height .value_required:,
-% depth .code:n = {
-% \tl_gset:Nn\g_mix_dparg_tl{#1}
-% \int_gadd:Nn\g_mix_resizeflag_int{\c_one}
-% },
-% depth .value_required:,
-
depth .code:n = {
\msg_warning:nnnn{media9}{deprecated~option}{depth}{
Ignoring~`depth'~option.
@@ -2048,7 +2114,17 @@
3Dlights .value_required:,
3Drender .code:n = {
- \tl_gset:Nx\g_mix_opt_rm_tl{/RM<</Subtype/#1>>}
+ \regex_extract_once:nnNTF{
+ ^(Transparent(?:Wireframe)?):(0|0\.[0-9]*|\.[0-9]+|1\.?|1\.0*)$
+ }{#1}\l_mix_tmp_seq{
+ \seq_pop_right:NN\l_mix_tmp_seq\l_mix_alpha_tl
+ \seq_pop_right:NN\l_mix_tmp_seq\l_mix_rmode_tl
+ \tl_gset:Nx\g_mix_opt_rm_tl{
+ /RM<</Subtype/\l_mix_rmode_tl/O~\l_mix_alpha_tl>>
+ }
+ }{
+ \tl_gset:Nx\g_mix_opt_rm_tl{/RM<</Subtype/#1>>}
+ }
},
3Drender .value_required:,
@@ -2374,24 +2450,72 @@
UTFNAME .default:n = {},
OPACITY .code:n = {
- \int_compare:nF{\l_mix_level_tl=\c_one}{
+ \bool_if:nF{
+ \int_compare_p:n{\l_mix_level_tl=\c_one} ||
+ \int_compare_p:n{\l_mix_level_tl=\c_two}
+ }{
\msg_error:nnxxxx{media9}{key~not~allowed}
- {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{OPACITY}{PART}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}
+ {OPACITY}{PART~or~CROSSSECT}
+ }
+ \int_compare:nT{\l_mix_level_tl=\c_one}{ %part
+ \tl_set:Nx\l_mix_ndop_tl{/O~#1}
+ }
+ \int_compare:nT{\l_mix_level_tl=\c_two}{ %crosssect
+ \tl_set:Nx\l_mix_csop_tl{/PO~#1}
}
- \tl_set:Nx\l_mix_ndop_tl{/O~#1}
},
OPACITY .value_required:,
VISIBLE .choice_code:n = {
- \int_compare:nF{\l_mix_level_tl=\c_one}{
+ \bool_if:nF{
+ \int_compare_p:n{\l_mix_level_tl=\c_one} ||
+ \int_compare_p:n{\l_mix_level_tl=\c_two}
+ }{
\msg_error:nnxxxx{media9}{key~not~allowed}
- {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{VISIBLE}{PART}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}
+ {VISIBLE}{PART~or~CROSSSECT}
+ }
+ \int_compare:nT{\l_mix_level_tl=\c_one}{ %part
+ \tl_set:Nx\l_mix_ndvi_tl{/V~\l_keys_choice_tl}
+ }
+ \int_compare:nT{\l_mix_level_tl=\c_two}{ %crosssect
+ \tl_set:Nx\l_mix_cspv_tl{/PV~\l_keys_choice_tl}
}
- \tl_set:Nx\l_mix_ndvi_tl{/V~\l_keys_choice_tl}
},
VISIBLE .generate_choices:n = {true,false},
VISIBLE .default:n = {true},
+ INTERSECTIONVISIBLE .choice_code:n = {
+ \int_compare:nF{\l_mix_level_tl=\c_two}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{INTERSECTIONVISIBLE}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_csiv_tl{/IV~\l_keys_choice_tl}
+ },
+ INTERSECTIONVISIBLE .generate_choices:n = {true,false},
+ INTERSECTIONVISIBLE .default:n = {true},
+
+ PLANECOLOR .code:n = {
+ \int_compare:nF{\l_mix_level_tl=\c_two}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{PLANECOLOR}{CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_cspc_tl{/PC~[/DeviceRGB~#1]}
+ },
+ PLANECOLOR .value_required:,
+
+ INTERSECTIONCOLOR .code:n = {
+ \int_compare:nF{\l_mix_level_tl=\c_two}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{INTERSECTIONCOLOR}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_csic_tl{/IC~[/DeviceRGB~#1]}
+ },
+ INTERSECTIONCOLOR .value_required:,
+
TRANSFORM .code:n = {
\int_compare:nF{\l_mix_level_tl=\c_one}{
\msg_error:nnxxxx{media9}{key~not~allowed}
@@ -2416,9 +2540,14 @@
{\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}
}
\tl_set:Nn\l_mix_level_tl{\c_two}
- %default part settings
+ %default settings
\tl_set:Nn\l_mix_cscentre_tl{0~0~0} %centre of clipping plane
\tl_set:Nn\l_mix_csorient_tl{null~0~0} %orientation of plane
+ \tl_clear:N\l_mix_csop_tl %opacity
+ \tl_clear:N\l_mix_cspv_tl %plane visibility
+ \tl_clear:N\l_mix_cspc_tl %plane colour
+ \tl_clear:N\l_mix_csic_tl %intersection colour
+ \tl_clear:N\l_mix_csiv_tl %intersection visibility
},
CROSSSECT .value_forbidden:,
@@ -2499,7 +2628,8 @@
/Type/3DCrossSection
/C~[\l_mix_cscentre_tl]
/O~[\l_mix_csorient_tl]
- /IV~true
+ \l_mix_csop_tl\l_mix_cspv_tl\l_mix_cspc_tl
+ \l_mix_csic_tl\l_mix_csiv_tl
}
\tl_put_right:Nx\l_mix_saarray_tl{~\g_mix_pdflastobj_tl}
\tl_set:Nn\l_mix_cscount_tl{\c_one}
@@ -2718,6 +2848,7 @@
%create media buttons
\int_new:N\g_mix_mbtncnt_int
\NewDocumentCommand\mediabutton{O{}m}{%#1 options, #2 normal button text
+ \mix_uriend:
\group_begin:
\leavevmode
%reset various variables
@@ -2727,10 +2858,10 @@
\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
+ \mix_uribegin: %treat URI characters correctly
\keys_set:nn{media9/mbtndraft}{#1} %detect draft/final on first pass
\bool_if:NF\g_mix_btndraft_bool{\keys_set:nn{media9/mbtn}{#1}}
- \mix_uriend:}
+ \mix_uriend:
%normal button appearance
\hbox_set:Nn\l_mix_poster_box{#2}
\tl_set:Nx\width {\dim_use:N\box_wd:N\l_mix_poster_box}
@@ -2771,4 +2902,7 @@
}
\group_end:
}
+\tl_set_eq:NN\l_mix_mediabutton_tl\mediabutton
+\tl_set:Nn\mediabutton{\mix_uribegin:\l_mix_mediabutton_tl}
+
\mix_insert_ocprops:\mix_insert_acroform: