Class Op
- All Implemented Interfaces:
Rect2fc
Ops of the same subclass may be merged or chained using combineIfPossible. When two ops merge, one takes on the union of the data and the other is left empty. The merged op becomes responsible for drawing the data from both the original ops. When ops are chained each op maintains its own data but they are linked in a list and the head op becomes responsible for executing the work for the chain.
It is required that chain-ability is transitive. Moreover, if op A is able to merge with B then it must be the case that any op that can chain with A will either merge or chain with any op that can chain to B.
The bounds of the op must contain all the vertices in device space *irrespective* of the clip. The bounds are used in determining which clip elements must be applied and thus the bounds cannot in turn depend upon the clip.
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidchainConcat(@NonNull Op next) Deprecated.Concatenates two op chains.final @Nullable OpDeprecated.Cuts the chain after this op.final booleanDeprecated.final booleanDeprecated.final booleanDeprecated.Returns true if this is the head of a chain (including a length 1 chain).final booleanDeprecated.Returns true if this is the tail of a chain (including a length 1 chain).final booleanDeprecated.The op that this method was called on now represents its own work plus that of the passed op.final OpDeprecated.The next op in the chain.abstract voidonExecute(OpFlushState state, Rect2f chainBounds) Deprecated.Issues the op chain's commands toOpsRenderPass.protected booleanonMayChain(@NonNull Op op) Deprecated.abstract voidonPrepare(OpFlushState state, ImageProxyView writeView, int pipelineFlags) Deprecated.Called prior to executing.abstract voidonPrePrepare(RecordingContext context, ImageProxyView writeView, int pipelineFlags) Deprecated.This can optionally be called before 'prepare' (but after sorting).final OpDeprecated.The previous op in the chain.protected final voidsetBoundsFlags(boolean aaBloat, boolean zeroArea) Deprecated.Must be called at least once before use.final voidsetClippedBounds(Rect2f clippedBounds) Deprecated.final booleanvalidateChain(Op expectedTail) Deprecated.Debug tool.voidvisitProxies(SurfaceVisitor func) Deprecated.Methods inherited from class icyllis.arc3d.core.Rect2f
adjust, adjust, adjust, bottom, centerX, centerY, contains, contains, contains, contains, empty, equals, halfHeight, halfWidth, hashCode, height, inset, inset, inset, inset, intersect, intersect, intersect, intersect, intersectNoCheck, intersectNoCheck, intersectNoCheck, intersects, intersects, intersects, intersects, isEmpty, isFinite, isSorted, join, join, join, join, joinNoCheck, joinNoCheck, joinNoCheck, left, makeInfiniteInverted, offset, offsetTo, outset, rectsOverlap, rectsTouchOrOverlap, right, round, round, roundIn, roundIn, roundOut, roundOut, set, set, set, setBounds, setBoundsNoCheck, setEmpty, sort, store, store, subtract, top, toString, width, x, y
-
Constructor Details
-
Op
public Op()Deprecated.
-
-
Method Details
-
visitProxies
Deprecated. -
mayChain
Deprecated.The op that this method was called on now represents its own work plus that of the passed op. If the pipeline state used by two ops is the same, they can be batched through indexed rendering or instanced rendering. If this method returns true, it means that the passed op will be added to the tail of the chain, while the head op is responsible for rendering the chain. -
onMayChain
Deprecated. -
setBoundsFlags
protected final void setBoundsFlags(boolean aaBloat, boolean zeroArea) Deprecated.Must be called at least once before use. -
setClippedBounds
Deprecated. -
hasAABloat
public final boolean hasAABloat()Deprecated.- Returns:
- true if this has DEAA bloat when determining coverage (outset by 0.5)
-
hasZeroArea
public final boolean hasZeroArea()Deprecated.- Returns:
- true if this draws a primitive that has zero area, we can also call hairline
-
onPrePrepare
public abstract void onPrePrepare(RecordingContext context, ImageProxyView writeView, int pipelineFlags) Deprecated.This can optionally be called before 'prepare' (but after sorting). Each op that overrides onPrePrepare must be prepared to handle both cases (when onPrePrepare has been called ahead of time and when it has not been called). -
onPrepare
Deprecated.Called prior to executing. The op should perform any resource creation or data transfers necessary before execute() is called. -
onExecute
Deprecated.Issues the op chain's commands toOpsRenderPass.- Parameters:
chainBounds- If this op is chained then chainBounds is the union of the bounds of all ops in the chain. Otherwise, this op's bounds.
-
chainConcat
Deprecated.Concatenates two op chains. This op must be a tail and the passed op must be a head. The ops must be of the same subclass. -
isChainHead
public final boolean isChainHead()Deprecated.Returns true if this is the head of a chain (including a length 1 chain). -
isChainTail
public final boolean isChainTail()Deprecated.Returns true if this is the tail of a chain (including a length 1 chain). -
nextInChain
Deprecated.The next op in the chain. -
prevInChain
Deprecated.The previous op in the chain. -
chainSplit
Deprecated.Cuts the chain after this op. The returned op is the op that was previously next in the chain or null if this was already a tail. -
validateChain
Deprecated.Debug tool.
-