Added in API level 23
Deprecated in API level 31

Builder2


class Builder2
kotlin.Any
   ↳ android.renderscript.ScriptGroup.Builder2

The builder class for creating script groups

A script group is created using closures (see class Closure). A closure is a function call to a kernel or invocable function. Each function argument or global variable accessed inside the function is bound to 1) a known value, 2) a script group input (see class Input), or 3) a future (see class Future). A future is the output of a closure, either the return value of the function or a global variable written by that function.

Closures are created using the addKernel or addInvoke methods. When a closure is created, futures from previously created closures can be used as its inputs. External script group inputs can be used as inputs to individual closures as well. An external script group input is created using the addInput method. A script group is created by a call to the create method, which accepts an array of futures as the outputs for the script group.

Closures in a script group can be evaluated in any order as long as the following conditions are met: 1) a closure must be evaluated before any other closures that take its futures as inputs; 2) all closures added before an invoke closure must be evaluated before it; and 3) all closures added after an invoke closure must be evaluated after it. As a special case, the order that the closures are added is a legal evaluation order. However, other evaluation orders are possible, including concurrently evaluating independent closures.

Summary

Public constructors

Returns a Builder object

Public methods
ScriptGroup.Input!

Adds a script group input

ScriptGroup.Closure!
addInvoke(invoke: Script.InvokeID!, vararg argsAndBindings: Any!)

Adds a closure for an invocable function

ScriptGroup.Closure!
addKernel(k: Script.KernelID!, returnType: Type!, vararg argsAndBindings: Any!)

Adds a closure for a kernel

ScriptGroup!
create(name: String!, vararg outputs: ScriptGroup.Future!)

Creates a script group

Public constructors

Builder2

Added in API level 23
Builder2(rs: RenderScript!)

Returns a Builder object

Parameters
rs RenderScript!: the RenderScript context

Public methods

addInput

Added in API level 23
fun addInput(): ScriptGroup.Input!

Deprecated: Deprecated in Java.

Adds a script group input

Return
ScriptGroup.Input! a script group input, which can be used as an argument or a value to a global variable for creating closures

addInvoke

Added in API level 23
fun addInvoke(
    invoke: Script.InvokeID!,
    vararg argsAndBindings: Any!
): ScriptGroup.Closure!

Deprecated: Deprecated in Java.

Adds a closure for an invocable function

Parameters
invoke Script.InvokeID!: Invoke ID for the invocable function
argsAndBindings Any!: arguments followed by bindings for global variables
Return
ScriptGroup.Closure! a closure

addKernel

Added in API level 23
fun addKernel(
    k: Script.KernelID!,
    returnType: Type!,
    vararg argsAndBindings: Any!
): ScriptGroup.Closure!

Deprecated: Deprecated in Java.

Adds a closure for a kernel

Parameters
k Script.KernelID!: Kernel ID for the kernel function
argsAndBindings Any!: arguments followed by bindings for global variables
Return
ScriptGroup.Closure! a closure

create

Added in API level 23
fun create(
    name: String!,
    vararg outputs: ScriptGroup.Future!
): ScriptGroup!

Deprecated: Deprecated in Java.

Creates a script group

Parameters
name String!: name for the script group. Legal names can only contain letters, digits, '-', or '_'. The name can be no longer than 100 characters. Try to use unique names, to avoid name conflicts and reduce the cost of group creation.
outputs ScriptGroup.Future!: futures intended as outputs of the script group
Return
ScriptGroup! a script group