Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
CAAtom: Difference between revisions - iPhone Development Wiki

CAAtom: Difference between revisions

From iPhone Development Wiki
(Removed the list of atoms, which is version specific. Instead, instruction was given to how to get the atoms.)
Line 25: Line 25:
</source>
</source>


== List of Predefined Atoms ==
You may find the list of predefined atoms as an array of strings at the (private) symbol <tt>_stringpool_contents</tt>. Values larger than the pool's size are custom atoms.
{| class="wikitable collapsible collapsed"
|-
! colspan="2" | Atom !! String
|-
| 0 || 0x00 || &lt;nil&gt;
|-
| 1 || 0x01 || DODFunction
|-
| 2 || 0x02 || ROIFunction
|-
| 3 || 0x03 || actions
|-
| 4 || 0x04 || additive
|-
| 5 || 0x05 || alignedCube
|-
| 6 || 0x06 || alignedFlip
|-
| 7 || 0x07 || alignmentMode
|-
| 8 || 0x08 || alphaRange
|-
| 9 || 0x09 || alphaSpeed
|-
| 10 || 0x0a || anchorPoint
|-
| 11 || 0x0b || anchorPointZ
|-
| 12 || 0x0c || angularDrag
|-
| 13 || 0x0d || animationDelegate
|-
| 14 || 0x0e || animationDuration
|-
| 15 || 0x0f || animationTimingFunction
|-
| 16 || 0x10 || animations
|-
| 17 || 0x11 || appliesX
|-
| 18 || 0x12 || appliesY
|-
| 19 || 0x13 || appliesScale
|-
| 20 || 0x14 || appliesRotation
|-
| 21 || 0x15 || array
|-
| 22 || 0x16 || attachmentPointA
|-
| 23 || 0x17 || attachmentPointB
|-
| 24 || 0x18 || autoresizingMask
|-
| 25 || 0x19 || autoreverses
|-
| 26 || 0x1a || backToFront
|-
| 27 || 0x1b || backgroundColor
|-
| 28 || 0x1c || backgroundFilters
|-
| 29 || 0x1d || beginTime
|-
| 30 || 0x1e || behaviors
|-
| 31 || 0x1f || birthRate
|-
| 32 || 0x20 || blueRange
|-
| 33 || 0x21 || blueSpeed
|-
| 34 || 0x22 || borderColor
|-
| 35 || 0x23 || borderWidth
|-
| 36 || 0x24 || both
|-
| 37 || 0x25 || bottom
|-
| 38 || 0x26 || bottomLeft
|-
| 39 || 0x27 || bottomRight
|-
| 40 || 0x28 || bounds
|-
| 41 || 0x29 || byValue
|-
| 42 || 0x2a || cachesInputImage
|-
| 43 || 0x2b || calculationMode
|-
| 44 || 0x2c || canDrawConcurrently
|-
| 45 || 0x2d || center
|-
| 46 || 0x2e || cheapAdditive
|-
| 47 || 0x2f || circle
|-
| 48 || 0x30 || clear
|-
| 49 || 0x31 || clearsContext
|-
| 50 || 0x32 || coefficientOfRestitution
|-
| 51 || 0x33 || collisionInterval
|-
| 52 || 0x34 || color
|-
| 53 || 0x35 || colors
|-
| 54 || 0x36 || commitTime
|-
| 55 || 0x37 || completionBlock
|-
| 56 || 0x38 || compositingFilter
|-
| 57 || 0x39 || constraints
|-
| 58 || 0x3a || contents
|-
| 59 || 0x3b || contentsCenter
|-
| 60 || 0x3c || contentsGravity
|-
| 61 || 0x3d || contentsRect
|-
| 62 || 0x3e || contentsTransform
|-
| 63 || 0x3f || contextId
|-
| 64 || 0x40 || copy
|-
| 65 || 0x41 || cornerRadius
|-
| 66 || 0x42 || cube
|-
| 67 || 0x43 || cuboid
|-
| 68 || 0x44 || cumulative
|-
| 69 || 0x45 || damping
|-
| 70 || 0x46 || delegate
|-
| 71 || 0x47 || destAtop
|-
| 72 || 0x48 || destIn
|-
| 73 || 0x49 || destOut
|-
| 74 || 0x4a || destOver
|-
| 75 || 0x4b || disableActions
|-
| 76 || 0x4c || discrete
|-
| 77 || 0x4d || displayList
|-
| 78 || 0x4e || distortion
|-
| 79 || 0x4f || doubleSided
|-
| 80 || 0x50 || down
|-
| 81 || 0x51 || drag
|-
| 82 || 0x52 || drawableProperties
|-
| 83 || 0x53 || duration
|-
| 84 || 0x54 || edgeAntialiasingMask
|-
| 85 || 0x55 || emissionLatitude
|-
| 86 || 0x56 || emissionLongitude
|-
| 87 || 0x57 || emissionRange
|-
| 88 || 0x58 || emitterCells
|-
| 89 || 0x59 || emitterDepth
|-
| 90 || 0x5a || emitterMode
|-
| 91 || 0x5b || emitterPosition
|-
| 92 || 0x5c || emitterShape
|-
| 93 || 0x5d || emitterSize
|-
| 94 || 0x5e || emitterZPosition
|-
| 95 || 0x5f || enabled
|-
| 96 || 0x60 || end
|-
| 97 || 0x61 || endAngle
|-
| 98 || 0x62 || endPoint
|-
| 99 || 0x63 || endProgress
|-
| 100 || 0x64 || fade
|-
| 101 || 0x65 || fillColor
|-
| 102 || 0x66 || fillMode
|-
| 103 || 0x67 || fillRule
|-
| 104 || 0x68 || filter
|-
| 105 || 0x69 || filters
|-
| 106 || 0x6a || flattened
|-
| 107 || 0x6b || flip
|-
| 108 || 0x6c || floating
|-
| 109 || 0x6d || fog
|-
| 110 || 0x6e || font
|-
| 111 || 0x6f || fontSize
|-
| 112 || 0x70 || forceFields
|-
| 113 || 0x71 || foregroundColor
|-
| 114 || 0x72 || frameInterval
|-
| 115 || 0x73 || fromBottom
|-
| 116 || 0x74 || fromLeft
|-
| 117 || 0x75 || fromRight
|-
| 118 || 0x76 || fromTop
|-
| 119 || 0x77 || fromValue
|-
| 120 || 0x78 || function
|-
| 121 || 0x79 || gaussianBlur
|-
| 122 || 0x7a || geometryFlipped
|-
| 123 || 0x7b || greenRange
|-
| 124 || 0x7c || greenSpeed
|-
| 125 || 0x7d || height
|-
| 126 || 0x7e || hidden
|-
| 127 || 0x7f || horizontal
|-
| 128 || 0x80 || horizontally
|-
| 129 || 0x81 || instanceAlphaOffset
|-
| 130 || 0x82 || instanceBlueOffset
|-
| 131 || 0x83 || instanceColor
|-
| 132 || 0x84 || instanceCount
|-
| 133 || 0x85 || instanceDelay
|-
| 134 || 0x86 || instanceGreenOffset
|-
| 135 || 0x87 || instanceRedOffset
|-
| 136 || 0x88 || instanceTransform
|-
| 137 || 0x89 || inputAmount
|-
| 138 || 0x8a || inputAngle
|-
| 139 || 0x8b || inputBias
|-
| 140 || 0x8c || inputClip
|-
| 141 || 0x8d || inputColor
|-
| 142 || 0x8e || inputColor0
|-
| 143 || 0x8f || inputColor1
|-
| 144 || 0x90 || inputDensity
|-
| 145 || 0x91 || inputPoint0
|-
| 146 || 0x92 || inputPoint1
|-
| 147 || 0x93 || inputPosition
|-
| 148 || 0x94 || inputRadius
|-
| 149 || 0x95 || inputScale
|-
| 150 || 0x96 || inputSize
|-
| 151 || 0x97 || inputTime
|-
| 152 || 0x98 || justification
|-
| 153 || 0x99 || justified
|-
| 154 || 0x9a || key
|-
| 155 || 0x9b || keyPath
|-
| 156 || 0x9c || keyTimes
|-
| 157 || 0x9d || lanczos
|-
| 158 || 0x9e || layoutFlags
|-
| 159 || 0x9f || layoutManager
|-
| 160 || 0xa0 || left
|-
| 161 || 0xa1 || levelsOfDetail
|-
| 162 || 0xa2 || levelsOfDetailBias
|-
| 163 || 0xa3 || lifetime
|-
| 164 || 0xa4 || lifetimeRange
|-
| 165 || 0xa5 || lighting
|-
| 166 || 0xa6 || line
|-
| 167 || 0xa7 || lineCap
|-
| 168 || 0xa8 || lineDashPattern
|-
| 169 || 0xa9 || lineDashPhase
|-
| 170 || 0xaa || lineJoin
|-
| 171 || 0xab || lineWidth
|-
| 172 || 0xac || linear
|-
| 173 || 0xad || locations
|-
| 174 || 0xae || magnificationFilter
|-
| 175 || 0xaf || margin
|-
| 176 || 0xb0 || mask
|-
| 177 || 0xb1 || masksToBounds
|-
| 178 || 0xb2 || mass
|-
| 179 || 0xb3 || middle
|-
| 180 || 0xb4 || minificationFilter
|-
| 181 || 0xb5 || minificationFilterBias
|-
| 182 || 0xb6 || minimumTimeStep
|-
| 183 || 0xb7 || miterLimit
|-
| 184 || 0xb8 || momentOfInertia
|-
| 185 || 0xb9 || moveIn
|-
| 186 || 0xba || multiply
|-
| 187 || 0xbb || multiplyColor
|-
| 188 || 0xbc || multiplyGradient
|-
| 189 || 0xbd || name
|-
| 190 || 0xbe || nearest
|-
| 191 || 0xbf || needsDisplayOnBoundsChange
|-
| 192 || 0xc0 || needsLayoutOnGeometryChange
|-
| 193 || 0xc1 || none
|-
| 194 || 0xc2 || oldestFirst
|-
| 195 || 0xc3 || oldestLast
|-
| 196 || 0xc4 || onOrderIn
|-
| 197 || 0xc5 || onOrderOut
|-
| 198 || 0xc6 || opacity
|-
| 199 || 0xc7 || opaque
|-
| 200 || 0xc8 || origin
|-
| 201 || 0xc9 || outline
|-
| 202 || 0xca || paced
|-
| 203 || 0xcb || pageCurl
|-
| 204 || 0xcc || path
|-
| 205 || 0xcd || plusL
|-
| 206 || 0xce || point
|-
| 207 || 0xcf || points
|-
| 208 || 0xd0 || position
|-
| 209 || 0xd1 || preservesDepth
|-
| 210 || 0xd2 || push
|-
| 211 || 0xd3 || rasterizationEnabled
|-
| 212 || 0xd4 || rasterizationScale
|-
| 213 || 0xd5 || reactsToCollisions
|-
| 214 || 0xd6 || rectangle
|-
| 215 || 0xd7 || redRange
|-
| 216 || 0xd8 || redSpeed
|-
| 217 || 0xd9 || reflection
|-
| 218 || 0xda || removedOnCompletion
|-
| 219 || 0xdb || renderMode
|-
| 220 || 0xdc || repeatCount
|-
| 221 || 0xdd || repeatDuration
|-
| 222 || 0xde || resize
|-
| 223 || 0xdf || resizeAspect
|-
| 224 || 0xe0 || resizeAspectFill
|-
| 225 || 0xe1 || restLength
|-
| 226 || 0xe2 || reveal
|-
| 227 || 0xe3 || right
|-
| 228 || 0xe4 || rotation
|-
| 229 || 0xe5 || rotationMode
|-
| 230 || 0xe6 || roundsToInteger
|-
| 231 || 0xe7 || scale
|-
| 232 || 0xe8 || scaleRange
|-
| 233 || 0xe9 || scaleSpeed
|-
| 234 || 0xea || scrollMode
|-
| 235 || 0xeb || seed
|-
| 236 || 0xec || shadowColor
|-
| 237 || 0xed || shadowOffset
|-
| 238 || 0xee || shadowOpacity
|-
| 239 || 0xef || shadowRadius
|-
| 240 || 0xf0 || shapeTransform
|-
| 241 || 0xf1 || size
|-
| 242 || 0xf2 || sizeRequisition
|-
| 243 || 0xf3 || sortsSublayers
|-
| 244 || 0xf4 || sourceAtop
|-
| 245 || 0xf5 || sourceIn
|-
| 246 || 0xf6 || sourceLayer
|-
| 247 || 0xf7 || sourcePoints
|-
| 248 || 0xf8 || sourceOut
|-
| 249 || 0xf9 || sourceOver
|-
| 250 || 0xfa || spacing
|-
| 251 || 0xfb || speed
|-
| 252 || 0xfc || sphere
|-
| 253 || 0xfd || spin
|-
| 254 || 0xfe || spinRange
|-
| 255 || 0xff || springs
|-
| 256 || 0x100 || springScale
|-
| 257 || 0x101 || start
|-
| 258 || 0x102 || startAngle
|-
| 259 || 0x103 || startPoint
|-
| 260 || 0x104 || startProgress
|-
| 261 || 0x105 || stiffness
|-
| 262 || 0x106 || string
|-
| 263 || 0x107 || strokeColor
|-
| 264 || 0x108 || style
|-
| 265 || 0x109 || sublayerTransform
|-
| 266 || 0x10a || sublayers
|-
| 267 || 0x10b || subtype
|-
| 268 || 0x10c || superlayer
|-
| 269 || 0x10d || surface
|-
| 270 || 0x10e || tableColumn
|-
| 271 || 0x10f || tableColumns
|-
| 272 || 0x110 || tableRow
|-
| 273 || 0x111 || tableRows
|-
| 274 || 0x112 || targetsSuperlayer
|-
| 275 || 0x113 || tileSize
|-
| 276 || 0x114 || timeOffset
|-
| 277 || 0x115 || timeStep
|-
| 278 || 0x116 || timingFunction
|-
| 279 || 0x117 || timingFunctions
|-
| 280 || 0x118 || toValue
|-
| 281 || 0x119 || top
|-
| 282 || 0x11a || topLeft
|-
| 283 || 0x11b || topRight
|-
| 284 || 0x11c || trackingMode
|-
| 285 || 0x11d || transform
|-
| 286 || 0x11e || transition
|-
| 287 || 0x11f || transitionFlags
|-
| 288 || 0x120 || translation
|-
| 289 || 0x121 || trilinear
|-
| 290 || 0x122 || truncationMode
|-
| 291 || 0x123 || truncationString
|-
| 292 || 0x124 || type
|-
| 293 || 0x125 || unordered
|-
| 294 || 0x126 || value
|-
| 295 || 0x127 || valueFunction
|-
| 296 || 0x128 || values
|-
| 297 || 0x129 || velocity
|-
| 298 || 0x12a || velocityRange
|-
| 299 || 0x12b || velocityStretch
|-
| 300 || 0x12c || vertical
|-
| 301 || 0x12d || vertically
|-
| 302 || 0x12e || volume
|-
| 303 || 0x12f || width
|-
| 304 || 0x130 || wrapped
|-
| 305 || 0x131 || wrappedDirection
|-
| 306 || 0x132 || wrappedOrigin
|-
| 307 || 0x133 || x
|-
| 308 || 0x134 || xAcceleration
|-
| 309 || 0x135 || xor
|-
| 310 || 0x136 || xy
|-
| 311 || 0x137 || y
|-
| 312 || 0x138 || yAcceleration
|-
| 313 || 0x139 || z
|-
| 314 || 0x13a || zAcceleration
|-
| 315 || 0x13b || zPosition
|-
| 316 || 0x13c || (null)
|}
 
Values larger than 316 are custom atoms.


{{occlass|library=QuartzCore.framework|navbox=1}}
{{occlass|library=QuartzCore.framework|navbox=1}}

Revision as of 20:57, 21 January 2011

CAAtom refers to a string for identification in QuartzCore. As of 3.1, there are over 300 internal atoms.

Converting atoms to and from strings

Signature NSString* CAAtomGetString(uint32_t atomicValue);
Available in 2.0 –
Signature uint32_t CAInternAtom(NSString* atommicString);
Available in 2.0 –

There is only 2 exported C function for CAAtom, CAAtomGetString() and CAInternAtom(), which converts between an integer and its corresponding string value. Most internal code in QuartzCore are identified using atoms. For example, a portion of disassembled code may read:

-[CAGradientLayer setLocations:]:
;
+00000 0008d9cc             stmdb             sp!,{r7,lr}
+00004 0008d9d0             add               r7,sp,#0x0
+00008 0008d9d4             mov               r1,#0xad
+0000c 0008d9d8             bl                CALayer_setter_kCAValueCopiedPointer
+00010 0008d9dc             ldmia             sp!,{r7,pc}                       ; return

here, the magic number 0xAD is in fact an atom, which is unsurprisingly the value "locations":

cy# CAAtomGetString(0xad)
"locations"

You may find the list of predefined atoms as an array of strings at the (private) symbol _stringpool_contents. Values larger than the pool's size are custom atoms.