# makeinfo HTML output init file # # Copyright (c) 2011, 2012 Free Software Foundation, Inc. # Copyright (c) 2014 Andreas Cadhalpun # Copyright (c) 2014 Tiancheng "Timothy" Gu # # This file is part of FFmpeg. # # FFmpeg is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # FFmpeg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public # License along with FFmpeg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # no navigation elements set_from_init_file('HEADERS', 0); sub ffmpeg_heading_command($$$$$) { my $self = shift; my $cmdname = shift; my $command = shift; my $args = shift; my $content = shift; my $result = ''; # not clear that it may really happen if ($self->in_string) { $result .= $self->command_string($command) ."\n" if ($cmdname ne 'node'); $result .= $content if (defined($content)); return $result; } my $element_id = $self->command_id($command); $result .= "\n" if (defined($element_id) and $element_id ne ''); print STDERR "Process $command " .Texinfo::Structuring::_print_root_command_texi($command)."\n" if ($self->get_conf('DEBUG')); my $element; if ($Texinfo::Common::root_commands{$command->{'cmdname'}} and $command->{'parent'} and $command->{'parent'}->{'type'} and $command->{'parent'}->{'type'} eq 'element') { $element = $command->{'parent'}; } if ($element) { $result .= &{$self->{'format_element_header'}}($self, $cmdname, $command, $element); } my $heading_level; # node is used as heading if there is nothing else. if ($cmdname eq 'node') { if (!$element or (!$element->{'extra'}->{'section'} and $element->{'extra'}->{'node'} and $element->{'extra'}->{'node'} eq $command # bogus node may not have been normalized and defined($command->{'extra'}->{'normalized'}))) { if ($command->{'extra'}->{'normalized'} eq 'Top') { $heading_level = 0; } else { $heading_level = 3; } } } else { $heading_level = $command->{'level'}; } my $heading = $self->command_text($command); # $heading not defined may happen if the command is a @node, for example # if there is an error in the node. if (defined($heading) and $heading ne '' and defined($heading_level)) { if ($Texinfo::Common::root_commands{$cmdname} and $Texinfo::Common::sectioning_commands{$cmdname}) { my $content_href = $self->command_contents_href($command, 'contents', $self->{'current_filename'}); if ($content_href) { my $this_href = $content_href =~ s/^\#toc-/\#/r; $heading .= ''. ''; } } if ($self->in_preformatted()) { $result .= $heading."\n"; } else { # if the level was changed, set the command name right if ($cmdname ne 'node' and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) { $cmdname = $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level]; } $result .= &{$self->{'format_heading_text'}}( $self, $cmdname, $heading, $heading_level + $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command); } } $result .= $content if (defined($content)); return $result; } foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') { texinfo_register_command_formatting($command, \&ffmpeg_heading_command); } # print the TOC where @contents is used set_from_init_file('INLINE_CONTENTS', 1); # make chapters '. ' '. '
'.$prepended_text.'
'; } } } else { $prepended_text = ''; } if ($caption and $caption_text eq '') { $caption_text = $self->convert_tree_new_formatting_context( $caption->{'args'}->[0], 'float caption'); } if ($prepended_text.$caption_text ne '') { $prepended_text = $self->_attribute_class('div','float-caption'). '>' . $prepended_text; $caption_text .= '