summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def67
1 files changed, 63 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index aa41c1f1c1b..a8db92d73d0 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -101,12 +101,12 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
-\tl_new:N \l__driver_current_color_tl
-\tl_set:Nn \l__driver_current_color_tl { 0~g~0~G }
+\tl_new:N \l__driver_color_current_tl
+\tl_set:Nn \l__driver_color_current_tl { 0~g~0~G }
\AtBeginDocument
{
\@ifpackageloaded { color }
- { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
+ { \tl_set:Nn \l__driver_color_current_tl { \current@color } }
{ }
}
\int_new:N \l__driver_color_stack_int
@@ -116,7 +116,7 @@
{ \luatex_pdfextension:D colorstack }
{ \pdftex_pdfcolorstack:D }
\exp_not:N \l__driver_color_stack_int push
- { \exp_not:N \l__driver_current_color_tl }
+ { \exp_not:N \l__driver_color_current_tl }
\group_insert_after:N \exp_not:N \__driver_color_reset:
}
\cs_new_protected:Npx \__driver_color_reset:
@@ -126,6 +126,65 @@
{ \pdftex_pdfcolorstack:D }
\exp_not:N \l__driver_color_stack_int pop \scan_stop:
}
+\tl_new:N \l__driver_image_attr_tl
+\cs_new_protected:Npn \__driver_image_getbb_jpg:n #1
+ {
+ \int_zero:N \l__image_page_int
+ \tl_set:Nx \l__driver_image_attr_tl
+ {
+ \bool_if:NT \l__image_interpolate_bool
+ { :I }
+ }
+ \__driver_image_getbb_auxi:n {#1}
+ }
+\cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n
+\cs_new_protected:Npn \__driver_image_getbb_pdf:n #1
+ {
+ \bool_set_false:N \l__image_interpolate_bool
+ \tl_set:Nx \l__driver_image_attr_tl
+ {
+ \int_compare:nNnT \l__image_page_int > 0
+ { :P \int_use:N \l__image_page_int }
+ }
+ \__driver_image_getbb_auxi:n {#1}
+ }
+\cs_new_protected:Npn \__driver_image_getbb_auxi:n #1
+ {
+ \dim_if_exist:cTF { c__image_ #1 \l__driver_image_attr_tl _ht_dim }
+ {
+ \dim_set_eq:Nc \l__image_ht_dim
+ { c__image_ #1 \l__driver_image_attr_tl _ht_dim }
+ \dim_set_eq:Nc \l__image_wd_dim
+ { c__image_ #1 \l__driver_image_attr_tl _wd_dim }
+ }
+ { \__driver_image_getbb_auxii:n {#1} }
+ }
+\cs_new_protected:Npn \__driver_image_getbb_auxii:n #1
+ {
+ \tex_immediate:D \pdftex_pdfximage:D
+ \bool_if:NT \l__image_interpolate_bool
+ { attr ~ { /Interpolate~true } }
+ \int_compare:nNnT \l__image_page_int > 0
+ { page ~ \int_use:N \l__image_page_int }
+ {#1}
+ \hbox_set:Nn \l__image_tmp_box
+ { \pdftex_pdfrefximage:D \pdftex_pdflastximage:D }
+ \dim_set:Nn \l__image_ht_dim { \box_ht:N \l__image_tmp_box }
+ \dim_set:Nn \l__image_wd_dim { \box_wd:N \l__image_tmp_box }
+ \int_const:cn { c__image_ #1 \l__driver_image_attr_tl _int }
+ { \tex_the:D \pdftex_pdflastximage:D }
+ \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _ht_dim }
+ { \l__image_ht_dim }
+ \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _wd_dim }
+ { \l__image_wd_dim }
+ }
+\cs_new_protected:Npn \__driver_image_include_jpg:n #1
+ {
+ \pdftex_pdfrefximage:D
+ \int_use:c { c__image_ #1 \l__driver_image_attr_tl _int }
+ }
+\cs_new_eq:NN \__driver_image_include_pdf:n \__driver_image_include_jpg:n
+\cs_new_eq:NN \__driver_image_include_png:n \__driver_image_include_jpg:n
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
\cs_new_protected:Npn \__driver_draw_begin: