Flutter Engine
The Flutter Engine
|
#include <SkSLConstructorCompound.h>
Public Member Functions | |
ConstructorCompound (Position pos, const Type &type, ExpressionArray args) | |
std::unique_ptr< Expression > | clone (Position pos) const override |
Public Member Functions inherited from SkSL::MultiArgumentConstructor | |
MultiArgumentConstructor (Position pos, Kind kind, const Type *type, ExpressionArray arguments) | |
ExpressionArray & | arguments () |
const ExpressionArray & | arguments () const |
SkSpan< std::unique_ptr< Expression > > | argumentSpan () final |
SkSpan< const std::unique_ptr< Expression > > | argumentSpan () const final |
Public Member Functions inherited from SkSL::AnyConstructor | |
AnyConstructor (Position pos, Kind kind, const Type *type) | |
virtual SkSpan< std::unique_ptr< Expression > > | argumentSpan ()=0 |
virtual SkSpan< const std::unique_ptr< Expression > > | argumentSpan () const =0 |
std::string | description (OperatorPrecedence) const override |
const Type & | componentType () const |
bool | supportsConstantValues () const override |
std::optional< double > | getConstantValue (int n) const override |
ComparisonResult | compareConstant (const Expression &other) const override |
Public Member Functions inherited from SkSL::Expression | |
Expression (Position pos, Kind kind, const Type *type) | |
Kind | kind () const |
const Type & | type () const |
bool | isAnyConstructor () const |
bool | isIntLiteral () const |
bool | isFloatLiteral () const |
bool | isBoolLiteral () const |
AnyConstructor & | asAnyConstructor () |
const AnyConstructor & | asAnyConstructor () const |
bool | isIncomplete (const Context &context) const |
virtual ComparisonResult | compareConstant (const Expression &other) const |
CoercionCost | coercionCost (const Type &target) const |
virtual bool | supportsConstantValues () const |
virtual std::optional< double > | getConstantValue (int n) const |
virtual std::unique_ptr< Expression > | clone (Position pos) const =0 |
std::unique_ptr< Expression > | clone () const |
std::string | description () const final |
virtual std::string | description (OperatorPrecedence parentPrecedence) const =0 |
Public Member Functions inherited from SkSL::IRNode | |
virtual | ~IRNode () |
virtual std::string | description () const =0 |
IRNode (const IRNode &)=delete | |
IRNode & | operator= (const IRNode &)=delete |
Position | position () const |
void | setPosition (Position p) |
template<typename T > | |
bool | is () const |
template<typename T > | |
const T & | as () const |
template<typename T > | |
T & | as () |
Static Public Member Functions | |
static std::unique_ptr< Expression > | Make (const Context &context, Position pos, const Type &type, ExpressionArray args) |
static std::unique_ptr< Expression > | MakeFromConstants (const Context &context, Position pos, const Type &type, const double values[]) |
Static Public Member Functions inherited from SkSL::Poolable | |
static void * | operator new (const size_t size) |
static void | operator delete (void *ptr) |
Static Public Attributes | |
static constexpr Kind | kIRNodeKind = Kind::kConstructorCompound |
Additional Inherited Members | |
Public Types inherited from SkSL::Expression | |
enum class | ComparisonResult { kUnknown = -1 , kNotEqual , kEqual } |
using | Kind = ExpressionKind |
Public Attributes inherited from SkSL::IRNode | |
Position | fPosition |
Protected Member Functions inherited from SkSL::IRNode | |
IRNode (Position position, int kind) | |
Protected Attributes inherited from SkSL::IRNode | |
int | fKind |
Represents a vector or matrix that is composed from other expressions, such as half3(pos.xy, 1)
or mat3(a.xyz, b.xyz, 0, 0, 1)
These can contain a mix of scalars and aggregates. The total number of scalar values inside the constructor must always match the type's slot count. (e.g. pos.xy
consumes two slots.) The inner values must have the same component type as the vector/matrix.
Definition at line 33 of file SkSLConstructorCompound.h.
|
inline |
Definition at line 37 of file SkSLConstructorCompound.h.
|
inlineoverridevirtual |
Implements SkSL::Expression.
Definition at line 50 of file SkSLConstructorCompound.h.
|
static |
Definition at line 78 of file SkSLConstructorCompound.cpp.
|
static |
Definition at line 159 of file SkSLConstructorCompound.cpp.
|
inlinestaticconstexpr |
Definition at line 35 of file SkSLConstructorCompound.h.