Documentation ¶
Index ¶
- type TagBaseGlobal
- func (e *TagBaseGlobal) AccessKey(key string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) AddListener(eventType interface{}, manager mouse.SimpleManager) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Append(append interface{}) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) AppendById(appendId string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) AppendToStage() (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Autofocus(autofocus bool) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Class(class ...string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) ContentEditable(editable bool) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) CreateElement(tag Tag) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Data(data map[string]string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Dir(dir Dir) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) DragStart() (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) DragStop() (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Draggable(draggable Draggable) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenArgumentsFunc(id string, arguments interface{}) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenDoNotReverseMotion(id string, value bool) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenDuration(id string, value time.Duration) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenEnd(id string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenFunc(id string, value func(...) (percent float64)) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenLoops(id string, value int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnCycleEndFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnCycleStartFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnEndFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnInvertFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnStartFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenOnStepFunc(id string, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenStart(id string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenStop(id string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EasingTweenValues(id string, start, end float64) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) EnterKeyHint(enterKeyHint EnterKeyHint) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) GetBottom() (bottom int)
- func (e *TagBaseGlobal) GetLeft() (left int)
- func (e *TagBaseGlobal) GetRight() (right int)
- func (e *TagBaseGlobal) GetTop() (top int)
- func (e *TagBaseGlobal) GetX() (x int)
- func (e *TagBaseGlobal) GetXY() (x, y int)
- func (e *TagBaseGlobal) GetY() (y int)
- func (e *TagBaseGlobal) Hidden() (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Id(id string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Init() (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) InputMode(inputMode InputMode) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Is(is string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) ItemDrop(itemprop string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) ItemId(id string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) ItemRef(itemref string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) ItemType(itemType string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Lang(language Language) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Mouse(value mouse.CursorType) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInBack(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInCircular(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInCubic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInElastic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInExponential(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutBack(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutBounce(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutCircular(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutCubic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutElastic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutExponential(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutQuadratic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutQuartic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutQuintic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInOutSine(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInQuadratic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInQuartic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInQuintic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenInSine(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenLinear(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutBack(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutBounce(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutCircular(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutCubic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutElastic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutExponential(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutQuadratic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutQuartic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutQuintic(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenOutSine(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) NewEasingTweenRandom(id string, duration time.Duration, startValue, endValue float64, ...) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Nonce(part ...string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) RemoveListener(eventType interface{}) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) SetDeltaX(delta int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) SetDeltaY(delta int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) SetX(x int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) SetXY(x, y int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) SetY(y int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Slot(slot string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Spellcheck(spell bool) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Style(style string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) TabIndex(index int) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Title(title string) (ref *TagBaseGlobal)
- func (e *TagBaseGlobal) Translate(translate Translate) (ref *TagBaseGlobal)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TagBaseGlobal ¶
type TagBaseGlobal struct {
// contains filtered or unexported fields
}
func (*TagBaseGlobal) AccessKey ¶
func (e *TagBaseGlobal) AccessKey(key string) (ref *TagBaseGlobal)
AccessKey
English:
Specifies a shortcut key to activate/focus an element. Input: character: A single character that specifies the shortcut key to activate/focus the element. Note: * The accessKey attribute value must be a single character (a letter or a digit). * Adapting accessKeys to all international languages are difficult. * The accessKey value may not be present on all keyboards. Warning: Using accessKeys is difficult because they may conflict with other key standards in the browser; To avoid this problem, most browsers will use accessKeys only if pressed together with the Alt key.
Português:
Especifica uma tecla de atalho para ativar o foco de um elemento. Entrada: character: Um único caractere que especifica a tecla de atalho para ativar o foco do elemento. Nota: * O valor do atributo accessKey deve ser um único caractere (uma letra ou um dígito). * Adaptar as teclas de acesso a todos os idiomas internacionais é difícil. * O valor accessKey pode não estar presente em todos os teclados. Aviso: O uso de accessKeys é difícil porque eles podem entrar em conflito com outros padrões importantes no navegador; Para evitar esse problema, a maioria dos navegadores usará as teclas de acesso somente se pressionadas junto com a tecla Alt.
func (*TagBaseGlobal) AddListener ¶
func (e *TagBaseGlobal) AddListener(eventType interface{}, manager mouse.SimpleManager) (ref *TagBaseGlobal)
AddListener
English:
Associates a function with an event. Example: stage.AddListener(browserMouse.KEventMouseOver, onMouseEvent) timer := time.NewTimer(10 * time.Second) go func() { select { case <-timer.C: stage.RemoveListener(mouse.KEventMouseOver) } }() func onMouseEvent(event browserMouse.MouseEvent) { isNull, target := event.GetRelatedTarget() if isNull == false { log.Print("id: ", target.Get("id")) log.Print("tagName: ", target.Get("tagName")) } log.Print(event.GetScreenX()) log.Print(event.GetScreenY()) }
Português:
Associa uma função a um evento. Exemplo: stage.AddListener(browserMouse.KEventMouseOver, onMouseEvent) timer := time.NewTimer(10 * time.Second) go func() { select { case <-timer.C: stage.RemoveListener(mouse.KEventMouseOver) } }() func onMouseEvent(event browserMouse.MouseEvent) { isNull, target := event.GetRelatedTarget() if isNull == false { log.Print("id: ", target.Get("id")) log.Print("tagName: ", target.Get("tagName")) } log.Print(event.GetScreenX()) log.Print(event.GetScreenY()) }
func (*TagBaseGlobal) Append ¶
func (e *TagBaseGlobal) Append(append interface{}) (ref *TagBaseGlobal)
Append
English:
Adds a node to the end of the list of children of a specified parent node. If the node already exists in the document, it is removed from its current parent node before being added to the new parent. Input: append: element in js.Value format. Note: * The equivalent of: var p = document.createElement("p"); document.body.appendChild(p);
Português:
Adiciona um nó ao final da lista de filhos de um nó pai especificado. Se o nó já existir no documento, ele é removido de seu nó pai atual antes de ser adicionado ao novo pai. Entrada: appendId: elemento no formato js.Value. Nota: * Equivale a: var p = document.createElement("p"); document.body.appendChild(p);
func (*TagBaseGlobal) AppendById ¶
func (e *TagBaseGlobal) AppendById(appendId string) (ref *TagBaseGlobal)
AppendById
English:
Adds a node to the end of the list of children of a specified parent node. If the node already exists in the document, it is removed from its current parent node before being added to the new parent. Input: appendId: id of parent element. Note: * The equivalent of: var p = document.createElement("p"); document.body.appendChild(p);
Português:
Adiciona um nó ao final da lista de filhos de um nó pai especificado. Se o nó já existir no documento, ele é removido de seu nó pai atual antes de ser adicionado ao novo pai. Entrada: appendId: id do elemento pai. Nota: * Equivale a: var p = document.createElement("p"); document.body.appendChild(p);
func (*TagBaseGlobal) AppendToStage ¶
func (e *TagBaseGlobal) AppendToStage() (ref *TagBaseGlobal)
AppendToStage
English:
Adds a node to the end of the list of children in the main document body. If the node already exists somewhere in the document, it is removed from its current parent node before being added to the main document.
Português:
Adiciona um nó ao final da lista de filhos do corpo do documento principal. Se o nó já existir em alguma parte do documento, ele é removido de seu nó pai atual antes de ser adicionado ao documento principal.
todo:https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment todo: appendMany()
func (*TagBaseGlobal) Autofocus ¶
func (e *TagBaseGlobal) Autofocus(autofocus bool) (ref *TagBaseGlobal)
Autofocus
English:
This Boolean attribute specifies that the button should have input focus when the page loads. Only one element in a document can have this attribute.
Português:
Este atributo booleano especifica que o botão deve ter foco de entrada quando a página for carregada. Apenas um elemento em um documento pode ter esse atributo.
func (*TagBaseGlobal) Class ¶
func (e *TagBaseGlobal) Class(class ...string) (ref *TagBaseGlobal)
Class
English:
The class attribute specifies one or more class names for an element. Input: classname: Specifies one or more class names for an element. To specify multiple classes, separate the class names with a space, e.g. <span class="left important">. This allows you to combine several CSS classes for one HTML element. Naming rules: Must begin with a letter A-Z or a-z; Can be followed by: letters (A-Za-z), digits (0-9), hyphens ("-"), and underscores ("_").
The class attribute is mostly used to point to a class in a style sheet. However, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.
Português:
O atributo class especifica um ou mais nomes de classe para um elemento. Entrada: classname: Especifica um ou mais nomes de classe para um elemento. Para especificar várias classes, separe os nomes das classes com um espaço, por exemplo <span class="left important">. Isso permite combinar várias classes CSS para um elemento HTML. Regras de nomenclatura: Deve começar com uma letra A-Z ou a-z; Pode ser seguido por: letras (A-Za-z), dígitos (0-9), hífens ("-") e sublinhados ("_").
O atributo class é usado principalmente para apontar para uma classe em uma folha de estilo. No entanto, também pode ser usado por um JavaScript (através do HTML DOM) para fazer alterações em elementos HTML com uma classe especificada.
func (*TagBaseGlobal) ContentEditable ¶
func (e *TagBaseGlobal) ContentEditable(editable bool) (ref *TagBaseGlobal)
ContentEditable
English:
The contentEditable attribute specifies whether the content of an element is editable or not. Input: contentEditable: specifies whether the content of an element is editable or not Note: When the contentEditable attribute is not set on an element, the element will inherit it from its parent.
Português:
O atributo contentEditable especifica se o conteúdo de um elemento é editável ou não. Entrada: contentEditable: especifica se o conteúdo de um elemento é editável ou não. Nota: Quando o atributo contentEditable não está definido em um elemento, o elemento o herdará de seu pai.
func (*TagBaseGlobal) CreateElement ¶
func (e *TagBaseGlobal) CreateElement(tag Tag) (ref *TagBaseGlobal)
CreateElement
English:
In an HTML document, the Document.createElement() method creates the specified HTML element or an HTMLUnknownElement if the given element name is not known.
Português:
Em um documento HTML, o método Document.createElement() cria o elemento HTML especificado ou um HTMLUnknownElement se o nome do elemento dado não for conhecido.
func (*TagBaseGlobal) Data ¶
func (e *TagBaseGlobal) Data(data map[string]string) (ref *TagBaseGlobal)
Data
English:
Used to store custom data private to the page or application. Input: data: custom data private to the page or application.
The data-* attributes is used to store custom data private to the page or application. The data-* attributes gives us the ability to embed custom data attributes on all HTML elements. The stored (custom) data can then be used in the page's JavaScript to create a more engaging user experience (without any Ajax calls or server-side database queries).
The data-* attributes consist of two parts:
The attribute name should not contain any uppercase letters, and must be at least one character long after the prefix "data-"; The attribute value can be any string. Note: * Custom attributes prefixed with "data-" will be completely ignored by the user agent.
Português:
Usado para armazenar dados personalizados privados para a página ou aplicativo. Entrada: data: dados personalizados privados para a página ou aplicativo.
Os atributos de dados são usados para armazenar dados personalizados privados para a página ou aplicativo; Os atributos de dados nos dão a capacidade de incorporar atributos de dados personalizados em todos os elementos HTML; Os dados armazenados (personalizados) podem ser usados no JavaScript da página para criar uma experiência de usuário mais envolvente (sem chamadas Ajax ou consultas de banco de dados do lado do servidor).
Os atributos de dados consistem em duas partes:
O nome do atributo não deve conter letras maiúsculas e deve ter pelo menos um caractere após o prefixo "data-"; O valor do atributo pode ser qualquer string. Nota: * Atributos personalizados prefixados com "data-" serão completamente ignorados pelo agente do usuário.
func (*TagBaseGlobal) Dir ¶
func (e *TagBaseGlobal) Dir(dir Dir) (ref *TagBaseGlobal)
Dir
English:
Specifies the text direction for the content in an element. Input: dir: direction for the content in an element. [ KDirLeftToRight | KDirRightToLeft | KDirAuto ]
Português:
Especifica a direção do texto para o conteúdo em um elemento. Entrada: dir: direção do texto para o conteúdo em um elemento. [ KDirLeftToRight | KDirRightToLeft | KDirAuto ]
func (*TagBaseGlobal) DragStart ¶
func (e *TagBaseGlobal) DragStart() (ref *TagBaseGlobal)
DragStart
English:
Mouse drag function. Example: factoryBrowser.NewTagDiv("div_0"). Class("animate"). DragStart(). AppendById("stage")
Português:
Função de arrastar com o mouse. Exemplo: factoryBrowser.NewTagDiv("div_0"). Class("animate"). DragStart(). AppendById("stage")
func (*TagBaseGlobal) DragStop ¶
func (e *TagBaseGlobal) DragStop() (ref *TagBaseGlobal)
func (*TagBaseGlobal) Draggable ¶
func (e *TagBaseGlobal) Draggable(draggable Draggable) (ref *TagBaseGlobal)
Draggable
English:
Specifies whether an element is draggable or not. Input: draggable: element is draggable or not. [ KDraggableYes | KDraggableNo | KDraggableAuto ]
The draggable attribute specifies whether an element is draggable or not.
Note: * Links and images are draggable by default; * The draggable attribute is often used in drag and drop operations. * Read our HTML Drag and Drop tutorial to learn more. https://www.w3schools.com/html/html5_draganddrop.asp
Português:
Especifica se um elemento pode ser arrastado ou não. [ KDraggableYes | KDraggableNo | KDraggableAuto ] Entrada: draggable: elemento é arrastável ou não.
O atributo arrastável especifica se um elemento é arrastável ou não.
Nota: * Links e imagens podem ser arrastados por padrão; * O atributo arrastável é frequentemente usado em operações de arrastar e soltar. * Leia nosso tutorial de arrastar e soltar HTML para saber mais. https://www.w3schools.com/html/html5_draganddrop.asp
func (*TagBaseGlobal) EasingTweenArgumentsFunc ¶
func (e *TagBaseGlobal) EasingTweenArgumentsFunc(id string, arguments interface{}) (ref *TagBaseGlobal)
EasingTweenArgumentsFunc
English:
Determines the arguments passed to event functions. Input: id: tween identifier for multiple tween functions; arguments: list of interfaces{} passed to all event functions when they are invoked. Output: object: reference to the current Tween object. Note: * If you need complex functions, remember to use pointers to data in the arguments. Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Determina os argumentos passados para as funções de eventos. Entrada: id: identificador de tween para múltiplas funções tween; arguments: lista de interfaces{} passadas para todas as funções de eventos quando elas são invocadas. Saída: object: referência para o objeto Tween corrente. Nota: * Caso necessite de funções complexas, lembre-se de usar ponteiros para dados nos argumentos. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenDoNotReverseMotion ¶
func (e *TagBaseGlobal) EasingTweenDoNotReverseMotion(id string, value bool) (ref *TagBaseGlobal)
EasingTweenDoNotReverseMotion
English:
Defines the option of reversing values at the end of each cycle. Input: id: tween identifier for multiple tween functions. value: true to not revert the values at the end of each cycle. Output: object: reference to the current Tween object. Notas: * In case of loop, the order of event functions are: SetOnStartFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc() ... * SetOnEndFunc() will only be called at the end of all interactions; * This function prevents inversion of values, but the SetOnInvertFunc() event function continues to be called.
Português:
Define a opção de reversão de valores ao final de cada ciclo. Entrada: id: identificador de tween para múltiplas funções tween; value: true para não reverter os valores ao final de cada ciclo. Saída: object: referência para o objeto Tween corrente. Notas: * Em caso de laço, a ordem das funções de eventos são: SetOnStartFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc() ... * SetOnEndFunc() só será chamada ao final de todas as interações. * Esta função impede a inversão de valores, mas, a função de evento SetOnInvertFunc() continua sendo chamada.
func (*TagBaseGlobal) EasingTweenDuration ¶
func (e *TagBaseGlobal) EasingTweenDuration(id string, value time.Duration) (ref *TagBaseGlobal)
EasingTweenDuration
English:
Defines the total cycle time of interactions. Input: id: tween identifier for multiple tween functions. value: time.Duration contendo o tempo do ciclo de interações. Output: object: reference to the current Tween object. Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Define o tempo total do ciclo de interações. Entrada: id: identificador de tween para múltiplas funções tween; value: time.Duration contendo o tempo do ciclo de interações. Saída: object: referência para o objeto Tween corrente. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenEnd ¶
func (e *TagBaseGlobal) EasingTweenEnd(id string) (ref *TagBaseGlobal)
EasingTweenEnd
English:
Terminates all interactions of the chosen Tween function, without invoking the onCycleEnd and onEnd functions. Entrada: id: tween identifier for multiple tween functions. Saída: object: reference to the current Tween object.
Português:
Termina todas as interações da função Tween escolhida, sem invocar as funções onCycleEnd e onEnd.
Entrada: id: identificador de tween para múltiplas funções tween. Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenFunc ¶
func (e *TagBaseGlobal) EasingTweenFunc(id string, value func(currentTime, duration, currentPercentage, startValue, endValue, changeInValue float64) (percent float64)) (ref *TagBaseGlobal)
EasingTweenFunc
English:
Defines the tween math function to control the loop of interactions Input: id: tween identifier for multiple tween functions. value: tween math function. currentTime: current time, int64(time.Duration); duration: total time, int64(time.Duration); startValue: initial value; endValue: final value; changeInValue: startValue - endValue Output: object: reference to the current Tween object. Note: * To create a new function, base it on the linear function, where: return changeInValue * currentTime / duration + startValue Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Define a função matemática tween para controle do ciclo de interações Entrada: id: identificador de tween para múltiplas funções tween; value: função matemática tween. currentTime: tempo atual, int64(time.Duration); duration: tempo total, int64(time.Duration); startValue: valor inicial; endValue: valor final; changeInValue: startValue - endValue Saída: object: referência para o objeto Tween corrente. Nota: * Para criar uma nova função, tenha como base a função linear, onde: return changeInValue * currentTime / duration + startValue Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenLoops ¶
func (e *TagBaseGlobal) EasingTweenLoops(id string, value int) (ref *TagBaseGlobal)
EasingTweenLoops
English:
Defines the number of loops before the end of the function. Input: id: tween identifier for multiple tween functions. Notes: * At each new iteration of the loop, a movement inversion will occur, unless the SetDoNotReverseMotion(true) function is used; * For infinite loops, set the value to -1; * In case of loop, the order of event functions are: SetOnStartFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc() ... * SetOnEndFunc() will only be called at the end of all interactions. Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Define a quantidade de laços antes do fim da função. Entrada: id: identificador de tween para múltiplas funções tween; Notas: * A cada nova interação do laço ocorrerá uma inversão de movimento, a não ser que seja usada a função SetDoNotReverseMotion(true); * Para laços infinitos, defina o valor como sendo -1; * Em caso de laço, a ordem das funções de eventos são: SetOnStartFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc(), SetOnCycleStartFunc(), SetOnCycleEndFunc(), SetOnInvertFunc() ... * SetOnEndFunc() só será chamada ao final de todas as interações. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenOnCycleEndFunc ¶
func (e *TagBaseGlobal) EasingTweenOnCycleEndFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnCycleEndFunc
English:
Adds the function to be called at the ending of the interpolation cycle Input: id: tween identifier for multiple tween functions. function: func(value float64, arguments ...interface{}) value: final value defined in endValue arguments: list of values passed to event functions, defined in SetArguments()
Português:
Adiciona a função a ser chamada no fim do ciclo de interpolação Entrada: id: identificador de tween para múltiplas funções tween; function: func(value float64, arguments ...interface{}) value: valor final definido em endValue arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenOnCycleStartFunc ¶
func (e *TagBaseGlobal) EasingTweenOnCycleStartFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnCycleStartFunc
English:
Adds the function to be called at the beginning of the interpolation cycle Input: id: tween identifier for multiple tween functions. function: func(value float64, arguments ...interface{}) value: initial value defined in startValue arguments: list of values passed to event functions, defined in SetArguments()
Português:
Adiciona a função a ser chamada no início do ciclo de interpolação Entrada: id: identificador de tween para múltiplas funções tween; function: func(value float64, arguments ...interface{}) value: valor inicial definido em startValue arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenOnEndFunc ¶
func (e *TagBaseGlobal) EasingTweenOnEndFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnEndFunc
English:
Add the function to be called when the animation ends. Input: id: tween identifier for multiple tween functions. function: func(value float64, arguments ...interface{}) value: final value defined in endValue arguments: list of values passed to event functions, defined in SetArguments()
Português:
Adiciona a função a ser chamada quando a animação inicia. Entrada: id: identificador de tween para múltiplas funções tween; function: func(value float64, arguments ...interface{}) value: valor final definido em endValue arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenOnInvertFunc ¶
func (e *TagBaseGlobal) EasingTweenOnInvertFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnInvertFunc
English:
Adds the function to be called on inversion of the interpolation cycle Input: id: tween identifier for multiple tween functions. function: func(value float64, arguments ...interface{}) value: current value arguments: list of values passed to event functions, defined in SetArguments()
Português:
Adiciona a função a ser chamada a cada interação Entrada: id: identificador de tween para múltiplas funções tween; function: func(value, percentToComplete float64, arguments ...interface{}) value: valor corrente arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenOnStartFunc ¶
func (e *TagBaseGlobal) EasingTweenOnStartFunc(id string, function func(value float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnStartFunc
English:
Add the function to be called when the animation starts. Input: id: tween identifier for multiple tween functions; function: func(value float64, arguments ...interface{}) value: initial value defined in startValue arguments: list of values passed to event functions, defined in SetArguments()
Português:
Adiciona a função a ser chamada quando a animação inicia. Entrada: id: identificador de tween para múltiplas funções tween; function: func(value float64, arguments ...interface{}) value: valor inicial definido em startValue arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenOnStepFunc ¶
func (e *TagBaseGlobal) EasingTweenOnStepFunc(id string, function func(value, percentToComplete float64, arguments interface{})) (ref *TagBaseGlobal)
EasingTweenOnStepFunc
English:
Adds the function to be called for each iteration. Input: id: tween identifier for multiple tween functions. function: func(value float64, arguments ...interface{}) value: current value percentToComplete: value between 0.0 and 1.0 indicating the percentage of the process arguments: list of values passed to event functions, defined in SetArguments() Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Adiciona a função a ser chamada a cada interação Entrada: id: identificador de tween para múltiplas funções tween; function: func(value float64, arguments ...interface{}) value: valor corrente percentToComplete: valor entre 0.0 e 1.0 indicando o percentual do processo arguments: lista de valores passados para as funções de evento, definidos em SetArguments() Saída: object: referência para o objeto Tween corrente. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenStart ¶
func (e *TagBaseGlobal) EasingTweenStart(id string) (ref *TagBaseGlobal)
EasingTweenStart
English:
Starts the interaction according to the chosen tween function. Input: id: tween identifier for multiple tween functions. Output: object: reference to the current Tween object. Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Inicia a interação conforme a função tween escolhida. Entrada: id: identificador de tween para múltiplas funções tween; Saída: object: referência para o objeto Tween corrente. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EasingTweenStop ¶
func (e *TagBaseGlobal) EasingTweenStop(id string) (ref *TagBaseGlobal)
EasingTweenStop
English:
Ends all interactions of the chosen Tween function, interacting with the onCycleEnd and onEnd functions, respectively, in that order, if they have been defined. Input: id: tween identifier for multiple tween functions. Output: object: reference to the current Tween object.
Português:
Termina todas as interações da função Tween escolhida, interagindo com as funções onCycleEnd e onEnd, respectivamente nessa ordem, se elas tiverem sido definidas. Entrada: id: identificador de tween para múltiplas funções tween; Saída: object: referência para o objeto Tween corrente.
func (*TagBaseGlobal) EasingTweenValues ¶
func (e *TagBaseGlobal) EasingTweenValues(id string, start, end float64) (ref *TagBaseGlobal)
EasingTweenValues
English:
Defines the initial and final values of the interactions cycle. Input: id: tween identifier for multiple tween functions. start: initial value for the beginning of the cycle of interactions; end: final value for the end of the iteration cycle. Output: object: reference to the current Tween object. Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Defines os valores inicial e final do ciclo de interações. Entrada: id: identificador de tween para múltiplas funções tween; start: valor inicial para o início do ciclo de interações; end: valor final para o fim do ciclo de interações. Saída: object: referência para o objeto Tween corrente. Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) EnterKeyHint ¶
func (e *TagBaseGlobal) EnterKeyHint(enterKeyHint EnterKeyHint) (ref *TagBaseGlobal)
EnterKeyHint
English:
The enterKeyHint property is an enumerated property defining what action label (or icon) to present for the enter key on virtual keyboards. It reflects the enterkeyhint HTML global attribute and is an enumerated property, only accepting the following values as a DOMString: Input: enterKeyHint: defining what action label (or icon) to present for the enter key on virtual keyboards KEnterKeyHintEnter: typically indicating inserting a new line. KEnterKeyHintDone: typically meaning there is nothing more to input and the input method editor (IME) will be closed. KEnterKeyHintGo: typically meaning to take the user to the target of the text they typed. KEnterKeyHintNext: typically taking the user to the next field that will accept text. KEnterKeyHintPrevious: typically taking the user to the previous field that will accept text. KEnterKeyHintSearch: typically taking the user to the results of searching for the text they have typed. KEnterKeyHintSend: typically delivering the text to its target.
If no enterKeyHint value has been specified or if it was set to a different value than the allowed ones, it will return an empty string.
Português:
A propriedade enterKeyHint é uma propriedade enumerada que define qual rótulo de ação (ou ícone) apresentar para a tecla Enter em teclados virtuais. Ele reflete o atributo global enterkeyhint HTML e é uma propriedade enumerada, aceitando apenas os seguintes valores como DOMString: Entrada: enterKeyHint: definindo qual rótulo de ação (ou ícone) apresentar para a tecla Enter em teclados virtuais KEnterKeyHintEnter: normalmente indicando a inserção de uma nova linha. KEnterKeyHintDone: normalmente significa que não há mais nada para inserir e o editor de método de entrada (IME) será fechado. KEnterKeyHintGo: normalmente significando levar o usuário ao destino do texto digitado. KEnterKeyHintNext: normalmente levando o usuário para o próximo campo que aceitará texto. KEnterKeyHintPrevious: normalmente levando o usuário ao campo anterior que aceitará texto. KEnterKeyHintSearch: normalmente levando o usuário aos resultados da pesquisa do texto que digitou. KEnterKeyHintSend: normalmente entregando o texto ao seu destino.
Se nenhum valor enterKeyHint foi especificado ou se foi definido com um valor diferente dos permitidos, ele retornará uma string vazia.
func (*TagBaseGlobal) GetBottom ¶
func (e *TagBaseGlobal) GetBottom() (bottom int)
GetBotton
English:
It is the same as y + height.
Português:
É o mesmo que y + Heught.
func (*TagBaseGlobal) GetLeft ¶
func (e *TagBaseGlobal) GetLeft() (left int)
GetLeft
English:
Same as GetY() function, returns the y position of the element.
Português:
O mesmo que a função GetY(), retorna a posição y do elemento.
func (*TagBaseGlobal) GetRight ¶
func (e *TagBaseGlobal) GetRight() (right int)
GetRight
English:
It is the same as x + width.
Português:
É o mesmo que x + width.
func (*TagBaseGlobal) GetTop ¶
func (e *TagBaseGlobal) GetTop() (top int)
GetTop
English:
Same as GetX() function, returns the x position of the element.
Português:
O mesmo que a função GetX(), retorna a posição x do elemento.
func (*TagBaseGlobal) GetX ¶
func (e *TagBaseGlobal) GetX() (x int)
GetX
English:
Returns the X axe in pixels.
Português:
Retorna o eixo X em pixels.
func (*TagBaseGlobal) GetXY ¶
func (e *TagBaseGlobal) GetXY() (x, y int)
GetXY
English:
Returns the X and Y axes in pixels.
Português:
Retorna os eixos X e Y em pixels.
func (*TagBaseGlobal) GetY ¶
func (e *TagBaseGlobal) GetY() (y int)
GetY
English:
Returns the Y axe in pixels.
Português:
Retorna o eixo Y em pixels.
func (*TagBaseGlobal) Hidden ¶
func (e *TagBaseGlobal) Hidden() (ref *TagBaseGlobal)
Hidden
English:
Specifies that an element is not yet, or is no longer, relevant. Input: hidden:
The hidden attribute is a boolean attribute.
When present, it specifies that an element is not yet, or is no longer, relevant.
Browsers should not display elements that have the hidden attribute specified.
The hidden attribute can also be used to keep a user from seeing an element until some other condition has been met (like selecting a checkbox, etc.). Then, a JavaScript could remove the hidden attribute, and make the element visible.
Português:
Especifica que um elemento ainda não é ou não é mais relevante.
O atributo oculto é um atributo booleano.
Quando presente, especifica que um elemento ainda não é ou não é mais relevante.
Os navegadores não devem exibir elementos que tenham o atributo oculto especificado.
O atributo oculto também pode ser usado para impedir que um usuário veja um elemento até que alguma outra condição seja atendida (como marcar uma caixa de seleção etc.). Então, um JavaScript pode remover o atributo oculto e tornar o elemento visível.
func (*TagBaseGlobal) Id ¶
func (e *TagBaseGlobal) Id(id string) (ref *TagBaseGlobal)
Id
English:
Specifies a unique id for an element
The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).
The id attribute is most used to point to a style in a style sheet, and by JavaScript (via the HTML DOM) to manipulate the element with the specific id.
Português:
Especifica um ID exclusivo para um elemento
O atributo id especifica um id exclusivo para um elemento HTML (o valor deve ser exclusivo no documento HTML).
O atributo id é mais usado para apontar para um estilo em uma folha de estilo, e por JavaScript (através do HTML DOM) para manipular o elemento com o id específico.
func (*TagBaseGlobal) Init ¶
func (e *TagBaseGlobal) Init() (ref *TagBaseGlobal)
Init
English:
Initializes the object correctly.
Português:
Inicializa o objeto corretamente.
func (*TagBaseGlobal) InputMode ¶
func (e *TagBaseGlobal) InputMode(inputMode InputMode) (ref *TagBaseGlobal)
InputMode
English:
The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard.
It is used primarily on <input> elements, but is usable on any element in contenteditable mode.
It's important to understand that the inputmode attribute doesn't cause any validity requirements to be enforced on input. To require that input conforms to a particular data type, choose an appropriate <input> element type. For specific guidance on choosing <input> types, see the Values section.
Português:
O atributo global inputmode é um atributo enumerado que indica o tipo de dados que pode ser inserido pelo usuário ao editar o elemento ou seu conteúdo. Isso permite que um navegador exiba um teclado virtual apropriado.
Ele é usado principalmente em elementos <input>, mas pode ser usado em qualquer elemento no modo contenteditable.
É importante entender que o atributo inputmode não faz com que nenhum requisito de validade seja imposto na entrada. Para exigir que a entrada esteja em conformidade com um tipo de dados específico, escolha um tipo de elemento <input> apropriado. Para obter orientações específicas sobre como escolher os tipos de <input>, consulte a seção Valores.
func (*TagBaseGlobal) Is ¶
func (e *TagBaseGlobal) Is(is string) (ref *TagBaseGlobal)
Is
English:
Allows you to specify that a standard HTML element should behave like a registered custom built-in element.
Português:
Permite especificar que um elemento HTML padrão deve se comportar como um elemento interno personalizado registrado.
func (*TagBaseGlobal) ItemDrop ¶
func (e *TagBaseGlobal) ItemDrop(itemprop string) (ref *TagBaseGlobal)
ItemDrop
English:
Used to add properties to an item. Every HTML element may have an itemprop attribute specified, where an itemprop consists of a name and value pair.
Português:
Usado para adicionar propriedades a um item. Cada elemento HTML pode ter um atributo itemprop especificado, onde um itemprop consiste em um par de nome e valor.
func (*TagBaseGlobal) ItemId ¶
func (e *TagBaseGlobal) ItemId(id string) (ref *TagBaseGlobal)
ItemId
English:
The unique, global identifier of an item.
Português:
O identificador global exclusivo de um item.
func (*TagBaseGlobal) ItemRef ¶
func (e *TagBaseGlobal) ItemRef(itemref string) (ref *TagBaseGlobal)
ItemRef
English:
Properties that are not descendants of an element with the itemscope attribute can be associated with the item using an itemref. It provides a list of element ids (not itemids) with additional properties elsewhere in the document.
Português:
Propriedades que não são descendentes de um elemento com o atributo itemscope podem ser associadas ao item usando um itemref. Ele fornece uma lista de IDs de elementos (não IDs de itens) com propriedades adicionais em outras partes do documento.
func (*TagBaseGlobal) ItemType ¶
func (e *TagBaseGlobal) ItemType(itemType string) (ref *TagBaseGlobal)
ItemType
English:
Specifies the URL of the vocabulary that will be used to define itemprops (item properties) in the data structure. itemscope is used to set the scope of where in the data structure the vocabulary set by itemtype will be active.
Português:
Especifica a URL do vocabulário que será usado para definir itemprops (propriedades do item) na estrutura de dados. itemscope é usado para definir o escopo de onde na estrutura de dados o vocabulário definido por tipo de item estará ativo.
func (*TagBaseGlobal) Lang ¶
func (e *TagBaseGlobal) Lang(language Language) (ref *TagBaseGlobal)
Lang
English:
Specifies the language of the element's content.
The lang attribute specifies the language of the element's content.
Common examples are KLanguageEnglish for English, KLanguageSpanish for Spanish, KLanguageFrench for French, and so on.
Português:
Especifica o idioma do conteúdo do elemento.
O atributo lang especifica o idioma do conteúdo do elemento.
Exemplos comuns são KLanguageEnglish para inglês, KLanguageSpanish para espanhol, KLanguageFrench para francês e assim por diante.
func (*TagBaseGlobal) Mouse ¶
func (e *TagBaseGlobal) Mouse(value mouse.CursorType) (ref *TagBaseGlobal)
Mouse
English:
Defines the shape of the mouse pointer. Input: value: mouse pointer shape. Example: SetMouse(mouse.KCursorCell) // Use mouse.K... and let autocomplete do the rest
Português:
Define o formato do ponteiro do mouse. Entrada: value: formato do ponteiro do mouse. Exemplo: SetMouse(mouse.KCursorCell) // Use mouse.K... e deixe o autocompletar fazer o resto
func (*TagBaseGlobal) NewEasingTweenInBack ¶
func (e *TagBaseGlobal) NewEasingTweenInBack( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInBack
English:
Ease tween in back. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in back. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInCircular ¶
func (e *TagBaseGlobal) NewEasingTweenInCircular( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInCircular
English:
Ease tween in circular. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in circular. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInCubic ¶
func (e *TagBaseGlobal) NewEasingTweenInCubic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInCubic
English:
Ease tween in cubic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in cubic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInElastic ¶
func (e *TagBaseGlobal) NewEasingTweenInElastic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInElastic
English:
Ease tween in elastic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in elastic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInExponential ¶
func (e *TagBaseGlobal) NewEasingTweenInExponential( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInExponential
English:
Ease tween in exponential. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in exponential. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutBack ¶
func (e *TagBaseGlobal) NewEasingTweenInOutBack( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutBack
English:
Ease tween in out back. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out back. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutBounce ¶
func (e *TagBaseGlobal) NewEasingTweenInOutBounce( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutBounce
English:
Ease tween in out bounce. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutBounce("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutBounce("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutBounce). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutBounce). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out bounce. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutBounce("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutBounce("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutBounce). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutBounce). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutCircular ¶
func (e *TagBaseGlobal) NewEasingTweenInOutCircular( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutCircular
English:
Ease tween in out circular. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out circular. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutCubic ¶
func (e *TagBaseGlobal) NewEasingTweenInOutCubic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutCubic
English:
Ease tween in out cubic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out cubic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutElastic ¶
func (e *TagBaseGlobal) NewEasingTweenInOutElastic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutElastic
English:
Ease tween in out elastic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out elastic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutExponential ¶
func (e *TagBaseGlobal) NewEasingTweenInOutExponential( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutExponential
English:
Ease tween in out exponential. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out exponential. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutQuadratic ¶
func (e *TagBaseGlobal) NewEasingTweenInOutQuadratic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutQuadratic
English:
Ease tween in out quadratic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out quadratic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutQuartic ¶
func (e *TagBaseGlobal) NewEasingTweenInOutQuartic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutQuartic
English:
Ease tween in out quartic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out quartic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutQuintic ¶
func (e *TagBaseGlobal) NewEasingTweenInOutQuintic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutQuintic
English:
Ease tween in out quintic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out quintic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInOutSine ¶
func (e *TagBaseGlobal) NewEasingTweenInOutSine( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInOutSine
English:
Ease tween in out sine. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in out sine. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInOutSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInOutSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInOutSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInOutSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInQuadratic ¶
func (e *TagBaseGlobal) NewEasingTweenInQuadratic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInQuadratic
English:
Ease tween in quadratic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in quadratic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInQuartic ¶
func (e *TagBaseGlobal) NewEasingTweenInQuartic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInQuartic
English:
Ease tween in quartic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in quartic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInQuintic ¶
func (e *TagBaseGlobal) NewEasingTweenInQuintic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInQuintic
English:
Ease tween in quintic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in quintic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenInSine ¶
func (e *TagBaseGlobal) NewEasingTweenInSine( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenInSine
English:
Ease tween in sine. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação in sine. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenInSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenInSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseInSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseInSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenLinear ¶
func (e *TagBaseGlobal) NewEasingTweenLinear( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenLinear
English:
Ease tween linear. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenLinear("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenLinear("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KLinear). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KLinear). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação linear. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenLinear("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenLinear("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KLinear). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KLinear). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutBack ¶
func (e *TagBaseGlobal) NewEasingTweenOutBack( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutBack
English:
Ease tween out back. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out back. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutBack("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutBack("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutBack). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutBack). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutBounce ¶
func (e *TagBaseGlobal) NewEasingTweenOutBounce( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutBounce
English:
Ease tween out bounce. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutBounce("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutBounce("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutBounce). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutBounce). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out bounce. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutBounce("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutBounce("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutBounce). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutBounce). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutCircular ¶
func (e *TagBaseGlobal) NewEasingTweenOutCircular( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutCircular
English:
Ease tween out circular. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out circular. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutCircular("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutCircular("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutCircular). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutCircular). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutCubic ¶
func (e *TagBaseGlobal) NewEasingTweenOutCubic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutCubic
English:
Ease tween out cubic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out cubic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutCubic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutCubic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutCubic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutCubic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutElastic ¶
func (e *TagBaseGlobal) NewEasingTweenOutElastic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutElastic
English:
Ease tween out elastic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out elastic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutElastic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutElastic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutElastic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutElastic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutExponential ¶
func (e *TagBaseGlobal) NewEasingTweenOutExponential( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutExponential
English:
Ease tween out exponential. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out exponential. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutExponential("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutExponential("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutExponential). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutExponential). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutQuadratic ¶
func (e *TagBaseGlobal) NewEasingTweenOutQuadratic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutQuadratic
English:
Ease tween out quadratic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out quadratic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuadratic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuadratic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuadratic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuadratic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutQuartic ¶
func (e *TagBaseGlobal) NewEasingTweenOutQuartic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutQuartic
English:
Ease tween out quartic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out quartic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuartic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuartic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuartic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuartic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutQuintic ¶
func (e *TagBaseGlobal) NewEasingTweenOutQuintic( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutQuintic
English:
Ease tween out quintic. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out quintic. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutQuintic("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutQuintic("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutQuintic). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutQuintic). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenOutSine ¶
func (e *TagBaseGlobal) NewEasingTweenOutSine( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenOutSine
English:
Ease tween out sine. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação out sine. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenOutSine("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenOutSine("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.KEaseOutSine). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.KEaseOutSine). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) NewEasingTweenRandom ¶
func (e *TagBaseGlobal) NewEasingTweenRandom( id string, duration time.Duration, startValue, endValue float64, onStepFunc func(value, percentToComplete float64, arguments interface{}), loop int, arguments ...interface{}, ) (ref *TagBaseGlobal)
NewEasingTweenRandom
English:
Ease tween random. Input: duration: animation duration startValue: initial value endValue: final value onStepFunc: on step function loop: number of loops or -1 for infinite loops arguments: array of arguments passed for functions onStart, onEnd, onInvert and onStep. Example: ..., [arguments] x, y) will be onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Example 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenRandom("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenRandom("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Example 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // Caution: the pointer has been populated in here. Hence a code break in two parts. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.SelectRandom()). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.SelectRandom()). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
Português:
Facilitador de interpolação random. Entrada: duration: duração da animação startValue: valor inicial endValue: valor final onStepFunc: função para o evento passo loop: número de interações ou -1 para um número infinito de interações arguments: array de argumentos passados para as funções onStart, onEnd, onInvert e onStep. Exemplo: ..., [argumentos] x, y) será onStartFunc(value, args...) { args[0]: this; args[1]: x; args[2]: y} Exemplo 1: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() factoryBrowser.NewTagDiv("div_0"). Class("animate"). NewEasingTweenRandom("x", 3*time.Second, 50, 300, onUpdateX, -1). NewEasingTweenRandom("y", 3*time.Second, 50, 300, onUpdateY, -1). AppendToStage() <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) } Exemplo 2: //go:build js // +build js package main import ( "github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser" "github.com/helmutkemper/iotmaker.webassembly/browser/html" "github.com/helmutkemper/iotmaker.webassembly/browser/stage" "time" ) //.animate { // width: 29px; // height: 50px; // position: absolute; // background-image: url("./small.png"); //} func main() { done := make(chan struct{}, 0) var stage = stage.Stage{} stage.Init() var div *html.TagDiv div = factoryBrowser.NewTagDiv("div_0"). Class("animate"). AppendToStage() // cuidado: o ponteiro foi preenchido aqui. Por isto, uma quebra do código em duas partes. // easing tween for x div.EasingTweenDuration("x", durationX). EasingTweenValues("x", xStart, xEnd). EasingTweenFunc("x", easingTween.SelectRandom()). EasingTweenOnStepFunc("x", onUpdateX). EasingTweenLoops("x", -1). EasingTweenArgumentsFunc("x", []interface{}{div}). EasingTweenStart("x"). // easing tween for y EasingTweenDuration("y", durationY). EasingTweenValues("y", yStart, yEnd). EasingTweenFunc("y", easingTween.SelectRandom()). EasingTweenOnStepFunc("y", onUpdateY). EasingTweenLoops("y", -1). EasingTweenStart("y"). EasingTweenArgumentsFunc("y", []interface{}{div}) <-done } func onUpdateX(x, _ float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetX(int(x)) } func onUpdateY(y, p float64, args interface{}) { this := args.([]interface{})[0].(*html.TagDiv) this.SetY(int(y)) }
func (*TagBaseGlobal) Nonce ¶
func (e *TagBaseGlobal) Nonce(part ...string) (ref *TagBaseGlobal)
Nonce
English:
A space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element.
Português:
Uma lista separada por espaços dos nomes das partes do elemento. Os nomes das partes permitem que o CSS selecione e estilize elementos específicos em uma árvore de sombra por meio do pseudo-elemento ::part.
func (*TagBaseGlobal) RemoveListener ¶
func (e *TagBaseGlobal) RemoveListener(eventType interface{}) (ref *TagBaseGlobal)
RemoveListener
English:
Remove the function associated with the event Example: stage.AddListener(browserMouse.KEventMouseOver, onMouseEvent) timer := time.NewTimer(10 * time.Second) go func() { select { case <-timer.C: stage.RemoveListener(mouse.KEventMouseOver) } }() func onMouseEvent(event browserMouse.MouseEvent) { isNull, target := event.GetRelatedTarget() if isNull == false { log.Print("id: ", target.Get("id")) log.Print("tagName: ", target.Get("tagName")) } log.Print(event.GetScreenX()) log.Print(event.GetScreenY()) }
Português:
Remove a função associada com o evento. Exemplo: stage.AddListener(browserMouse.KEventMouseOver, onMouseEvent) timer := time.NewTimer(10 * time.Second) go func() { select { case <-timer.C: stage.RemoveListener(mouse.KEventMouseOver) } }() func onMouseEvent(event browserMouse.MouseEvent) { isNull, target := event.GetRelatedTarget() if isNull == false { log.Print("id: ", target.Get("id")) log.Print("tagName: ", target.Get("tagName")) } log.Print(event.GetScreenX()) log.Print(event.GetScreenY()) }
func (*TagBaseGlobal) SetDeltaX ¶
func (e *TagBaseGlobal) SetDeltaX(delta int) (ref *TagBaseGlobal)
SetDeltaX
English:
Additional value added in the SetX() function: (x = x + deltaMovieX) and subtracted in the GetX() function: (x = x - deltaMovieX).
Português:
Valor adicional adicionado na função SetX(): (x = x + deltaMovieX) e subtraído na função GetX(): (x = x - deltaMovieX).
func (*TagBaseGlobal) SetDeltaY ¶
func (e *TagBaseGlobal) SetDeltaY(delta int) (ref *TagBaseGlobal)
SetDeltaY
English:
Additional value added in the SetY() function: (y = y + deltaMovieY) and subtracted in the GetY() function: (y = y - deltaMovieY).
Português:
Valor adicional adicionado na função SetY(): (y = y + deltaMovieY) e subtraído na função GetX(): (y = y - deltaMovieY).
func (*TagBaseGlobal) SetX ¶
func (e *TagBaseGlobal) SetX(x int) (ref *TagBaseGlobal)
SetX
English:
Sets the X axe in pixels.
Português:
Define o eixo X em pixels.
func (*TagBaseGlobal) SetXY ¶
func (e *TagBaseGlobal) SetXY(x, y int) (ref *TagBaseGlobal)
SetXY
English:
Sets the X and Y axes in pixels.
Português:
Define os eixos X e Y em pixels.
func (*TagBaseGlobal) SetY ¶
func (e *TagBaseGlobal) SetY(y int) (ref *TagBaseGlobal)
SetY
English:
Sets the Y axe in pixels.
Português:
Define o eixo Y em pixels.
func (*TagBaseGlobal) Slot ¶
func (e *TagBaseGlobal) Slot(slot string) (ref *TagBaseGlobal)
Slot
English:
Assigns a slot in a shadow DOM shadow tree to an element: An element with a slot attribute is assigned to the slot created by the <slot> element whose name attribute's value matches that slot attribute's value.
Português:
Atribui um slot em uma shadow DOM shadow tree a um elemento: Um elemento com um atributo slot é atribuído ao slot criado pelo elemento <slot> cujo valor do atributo name corresponde ao valor desse atributo slot.
func (*TagBaseGlobal) Spellcheck ¶
func (e *TagBaseGlobal) Spellcheck(spell bool) (ref *TagBaseGlobal)
Spellcheck
English:
Specifies whether the element is to have its spelling and grammar checked or not Note: * The following can be spellchecked: Text values in input elements (not password) Text in <textarea> elements Text in editable elements
Português:
Especifica se o elemento deve ter sua ortografia e gramática verificadas ou não
O seguinte pode ser verificado ortográfico:
Nota: * O seguinte pode ser verificado ortográfico: Valores de texto em elementos de entrada (não senha) Texto em elementos <textarea> Texto em elementos editáveis
func (*TagBaseGlobal) Style ¶
func (e *TagBaseGlobal) Style(style string) (ref *TagBaseGlobal)
Style
English:
Specifies an inline CSS style for an element.
The style attribute will override any style set globally, e.g. styles specified in the <style> tag or in an external style sheet.
The style attribute can be used on any HTML element (it will validate on any HTML element. However, it is not necessarily useful).
Português:
Especifica um estilo CSS embutido para um elemento
O atributo style substituirá qualquer conjunto de estilos globalmente, por exemplo estilos especificados na tag <style> ou em uma folha de estilo externa.
O atributo style pode ser usado em qualquer elemento HTML (vai validar em qualquer elemento HTML. No entanto, não é necessariamente útil).
func (*TagBaseGlobal) TabIndex ¶
func (e *TagBaseGlobal) TabIndex(index int) (ref *TagBaseGlobal)
TabIndex
English:
Specifies the tabbing order of an element (when the "tab" button is used for navigating).
The tabindex attribute can be used on any HTML element (it will validate on any HTML element. However, it is not necessarily useful).
Português:
Especifica a ordem de tabulação de um elemento (quando o botão "tab" é usado para navegar).
O atributo tabindex pode ser usado em qualquer elemento HTML (vai validar em qualquer elemento HTML. No entanto, não é necessariamente útil).
func (*TagBaseGlobal) Title ¶
func (e *TagBaseGlobal) Title(title string) (ref *TagBaseGlobal)
Title
English:
Specifies extra information about an element.
The information is most often shown as a tooltip text when the mouse moves over the element.
The title attribute can be used on any HTML element (it will validate on any HTML element. However, it is not necessarily useful).
Português:
Especifica informações extras sobre um elemento.
As informações geralmente são mostradas como um texto de dica de ferramenta quando o mouse se move sobre o elemento.
O atributo title pode ser usado em qualquer elemento HTML (vai validar em qualquer elemento HTML. No entanto, não é necessariamente útil).
func (*TagBaseGlobal) Translate ¶
func (e *TagBaseGlobal) Translate(translate Translate) (ref *TagBaseGlobal)
Translate
English:
Specifies whether the content of an element should be translated or not. Input: translate: element should be translated or not. [ KTranslateYes | KTranslateNo ]
English:
Especifica se o conteúdo de um elemento deve ser traduzido ou não. Entrada: translate: elemento deve ser traduzido ou não. [ KTranslateYes | KTranslateNo ]