From 9e2db6a2e70494e349153091b1a4168b0e5e88a8 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 8 Aug 2017 11:49:45 +0200 Subject: Vendor --- vendor/golang.org/x/tools/present/video.go | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 vendor/golang.org/x/tools/present/video.go (limited to 'vendor/golang.org/x/tools/present/video.go') diff --git a/vendor/golang.org/x/tools/present/video.go b/vendor/golang.org/x/tools/present/video.go new file mode 100644 index 0000000..913822e --- /dev/null +++ b/vendor/golang.org/x/tools/present/video.go @@ -0,0 +1,51 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package present + +import ( + "fmt" + "strings" +) + +func init() { + Register("video", parseVideo) +} + +type Video struct { + URL string + SourceType string + Width int + Height int +} + +func (v Video) TemplateName() string { return "video" } + +func parseVideo(ctx *Context, fileName string, lineno int, text string) (Elem, error) { + args := strings.Fields(text) + vid := Video{URL: args[1], SourceType: args[2]} + a, err := parseArgs(fileName, lineno, args[3:]) + if err != nil { + return nil, err + } + switch len(a) { + case 0: + // no size parameters + case 2: + // If a parameter is empty (underscore) or invalid + // leave the field set to zero. The "video" action + // template will then omit that vid tag attribute and + // the browser will calculate the value to preserve + // the aspect ratio. + if v, ok := a[0].(int); ok { + vid.Height = v + } + if v, ok := a[1].(int); ok { + vid.Width = v + } + default: + return nil, fmt.Errorf("incorrect video invocation: %q", text) + } + return vid, nil +} -- cgit v1.2.3