linux_dsm_epyc7002/Documentation/media/uapi/mediactl
Mauro Carvalho Chehab 5bd4bb7817 [media] docs-rst: add tabularcolumns to all tables
LaTeX doesn't handle too well auto-width on tables, and ReST
markup requires an special tag to give it the needed hints.

As we're using A4 paper, we have 17cm of useful spaces. As
most media tables have widths, let's use it to generate the
needed via the following perl script:

my ($line_size, $table_header, $has_cols) = (17.5, 0, 0);
my $out;
my $header = "";
my @widths = ();
sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) }
while (<>) {
	if (!$table_header) {
		$has_cols = 1 if (m/..\s+tabularcolumns::/);
		if (m/..\s+flat-table::/) {
			$table_header = 1;
			$header = $_;
			next;
		}
		$out .= $_;
		next;
	}
	$header .= $_;
	@widths = split(/ /, $1) if (m/:widths:\s+(.*)/);
	if (m/^\n$/) {
		if (!$has_cols && @widths) {
			my ($tot, $t, $i) = (0, 0, 0);
			foreach my $v(@widths) { $tot += $v; };
			$out .= ".. tabularcolumns:: |";
			for ($i = 0; $i < scalar @widths - 1; $i++) {
				my $v = $widths[$i];
				my $w = round(10 * ($v * $line_size) / $tot) / 10;
				$out .= sprintf "p{%.1fcm}|", $w;
				$t += $w;
			}
			my $w = $line_size - $t;
			$out .= sprintf "p{%.1fcm}|\n\n", $w;
		}
		$out .= $header;
		$table_header = 0;
		$has_cols = 0;
		$header = "";
		@widths = ();
	}
}
print $out;

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22 10:07:12 -03:00
..
media-controller-intro.rst doc_rst: rename the media Sphinx suff to Documentation/media 2016-07-08 11:59:40 -03:00
media-controller-model.rst doc_rst: rename the media Sphinx suff to Documentation/media 2016-07-08 11:59:40 -03:00
media-controller.rst [media] doc-rst: better organize the media books 2016-07-23 08:03:24 -03:00
media-func-close.rst doc_rst: rename the media Sphinx suff to Documentation/media 2016-07-08 11:59:40 -03:00
media-func-ioctl.rst doc_rst: rename the media Sphinx suff to Documentation/media 2016-07-08 11:59:40 -03:00
media-func-open.rst doc_rst: rename the media Sphinx suff to Documentation/media 2016-07-08 11:59:40 -03:00
media-funcs.rst [media] doc-rst: Group function references together for MC 2016-07-10 07:50:11 -03:00
media-header.rst [media] doc-rst: add media.h header to media contrller 2016-07-09 09:49:05 -03:00
media-ioc-device-info.rst [media] docs-rst: add tabularcolumns to all tables 2016-08-22 10:07:12 -03:00
media-ioc-enum-entities.rst [media] docs-rst: add tabularcolumns to all tables 2016-08-22 10:07:12 -03:00
media-ioc-enum-links.rst [media] docs-rst: add tabularcolumns to all tables 2016-08-22 10:07:12 -03:00
media-ioc-g-topology.rst [media] docs-rst: add tabularcolumns to all tables 2016-08-22 10:07:12 -03:00
media-ioc-setup-link.rst [media] doc-rst: add media.h header to media contrller 2016-07-09 09:49:05 -03:00
media-types.rst [media] doc-rst: add media.h header to media contrller 2016-07-09 09:49:05 -03:00