|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||CoreAnimation||MBS MacCG Plugin||13.1||Yes||No||No||Yes, macOS only||No|
CATransaction is the Core Animation mechanism for batching multiple layer-tree operations into atomic updates to the render tree. Every modification to a layer tree must be part of a transaction. Nested transactions are supported.
Core Animation supports two types of transactions: implicit transactions and explicit transactions. Implicit transactions are created automatically when the layer tree is modified by a thread without an active transaction and are committed automatically when the thread's run-loop next iterates. Explicit transactions occur when the the application sends the CATransaction class a begin message before modifying the layer tree, and a commit message afterwards.
CATransaction allows you to override default animation properties that are set for animatable properties. You can customize duration, timing function, whether changes to properties trigger animations, and provide a handler that informs you when all animations from the transaction group are completed.
During a transaction you can temporarily acquire a recursive spin-lock for managing property atomicity.
This is an abstract class. You can't create an instance, but you can get one from various plugin functions.
- property Handle as Integer
- method Constructor
- 10 shared methods
- shared method animationDuration as Double
- shared method available as boolean
- shared method begin
- shared method commit
- shared method flush
- shared method kCATransactionAnimationDuration as string
- shared method kCATransactionDisableActions as string
- shared method setAnimationDuration(value as Double)
- shared method setValue(value as Variant, key as string)
- shared method valueForKey(key as string) as Variant
This class has no sub classes.
Some examples which use this class:
The items on this page are in the following plugins: MBS MacCG Plugin.
MBS Xojo blog