*** pdftex.ch.org Thu Jun 5 22:20:17 2003 --- pdftex.ch Thu Jun 5 22:21:07 2003 *************** *** 1863,1869 **** entries can't not be deallocated and will stay in memory. For this reason we will store data of outline entries in |pdf_mem| instead of |mem|} ! @d pdfmem_outline_size == 7 {size of memory in |pdf_mem| which |obj_outline_ptr| points to} @d obj_outline_count == obj_info{count of all opened children} @d obj_outline_ptr == obj_aux {pointer to |pdf_mem|} --- 1863,1869 ---- entries can't not be deallocated and will stay in memory. For this reason we will store data of outline entries in |pdf_mem| instead of |mem|} ! @d pdfmem_outline_size == 8 {size of memory in |pdf_mem| which |obj_outline_ptr| points to} @d obj_outline_count == obj_info{count of all opened children} @d obj_outline_ptr == obj_aux {pointer to |pdf_mem|} *************** *** 1875,1880 **** --- 1875,1881 ---- @d obj_outline_last(#) == pdf_mem[obj_outline_ptr(#) + 5] @d obj_outline_action_objnum(#) == pdf_mem[obj_outline_ptr(#) + 6] {object number of action} + @d obj_outline_attr(#) == pdf_mem[obj_outline_ptr(#) + 7] @# {types of destinations} @d pdf_dest_xyz == 0 *************** *** 4081,4086 **** --- 4082,4091 ---- pdf_indirect_ln("Last", obj_outline_last(k)); if obj_outline_count(k) <> 0 then pdf_int_entry_ln("Count", obj_outline_count(k)); + if obj_outline_attr(k) <> 0 then begin + pdf_print_toks_ln(obj_outline_attr(k)); + delete_toks(obj_outline_attr(k)); + end; pdf_end_dict; k := obj_link(k); end *************** *** 6978,6983 **** --- 6983,6994 ---- @ @= begin check_pdfoutput("\pdfoutline"); + if scan_keyword("attr") then begin + scan_pdf_ext_toks; + r := def_ref; + end + else + r := 0; p := scan_action; if scan_keyword("count") then begin scan_int; *************** *** 7008,7013 **** --- 7019,7025 ---- obj_outline_first(k) := 0; obj_outline_last(k) := 0; obj_outline_parent(k) := pdf_parent_outline; + obj_outline_attr(k) := r; if pdf_first_outline = 0 then pdf_first_outline := k; if pdf_last_outline = 0 then begin