@rafaelaugusto/jolt 0.1.0-beta.13 → 0.1.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +14 -9
  2. package/dist/driver/android-gradient.d.ts.map +1 -1
  3. package/dist/driver/android-gradient.js +11 -1
  4. package/dist/driver/android-gradient.js.map +1 -1
  5. package/dist/driver/android-particles.d.ts +6 -0
  6. package/dist/driver/android-particles.d.ts.map +1 -0
  7. package/dist/driver/android-particles.js +93 -0
  8. package/dist/driver/android-particles.js.map +1 -0
  9. package/dist/driver/ios-gradient.d.ts.map +1 -1
  10. package/dist/driver/ios-gradient.js +24 -2
  11. package/dist/driver/ios-gradient.js.map +1 -1
  12. package/dist/engine.d.ts.map +1 -1
  13. package/dist/engine.js +9 -3
  14. package/dist/engine.js.map +1 -1
  15. package/dist/gradient-binding.d.ts +38 -0
  16. package/dist/gradient-binding.d.ts.map +1 -0
  17. package/dist/gradient-binding.js +128 -0
  18. package/dist/gradient-binding.js.map +1 -0
  19. package/dist/gradient.d.ts +19 -4
  20. package/dist/gradient.d.ts.map +1 -1
  21. package/dist/gradient.js +331 -70
  22. package/dist/gradient.js.map +1 -1
  23. package/dist/haptics.d.ts.map +1 -1
  24. package/dist/haptics.js +101 -28
  25. package/dist/haptics.js.map +1 -1
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/motion-scope.d.ts +3 -1
  31. package/dist/motion-scope.d.ts.map +1 -1
  32. package/dist/motion-scope.js +14 -1
  33. package/dist/motion-scope.js.map +1 -1
  34. package/dist/motion-value.d.ts +17 -0
  35. package/dist/motion-value.d.ts.map +1 -1
  36. package/dist/motion-value.js +38 -0
  37. package/dist/motion-value.js.map +1 -1
  38. package/dist/native/index.d.ts +2 -0
  39. package/dist/native/index.d.ts.map +1 -1
  40. package/dist/native/index.js +2 -0
  41. package/dist/native/index.js.map +1 -1
  42. package/dist/particles.d.ts +5 -2
  43. package/dist/particles.d.ts.map +1 -1
  44. package/dist/particles.js +16 -10
  45. package/dist/particles.js.map +1 -1
  46. package/dist/scene-appearance.d.ts +14 -0
  47. package/dist/scene-appearance.d.ts.map +1 -0
  48. package/dist/scene-appearance.js +68 -0
  49. package/dist/scene-appearance.js.map +1 -0
  50. package/dist/scene-camera.d.ts +5 -0
  51. package/dist/scene-camera.d.ts.map +1 -0
  52. package/dist/scene-camera.js +23 -0
  53. package/dist/scene-camera.js.map +1 -0
  54. package/dist/size-layout.d.ts +19 -0
  55. package/dist/size-layout.d.ts.map +1 -0
  56. package/dist/size-layout.js +216 -0
  57. package/dist/size-layout.js.map +1 -0
  58. package/dist/size.d.ts +19 -0
  59. package/dist/size.d.ts.map +1 -0
  60. package/dist/size.js +251 -0
  61. package/dist/size.js.map +1 -0
  62. package/dist/types.d.ts +1 -1
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/vue/index.d.ts.map +1 -1
  65. package/dist/vue/index.js +28 -5
  66. package/dist/vue/index.js.map +1 -1
  67. package/package.json +1 -1
  68. package/platforms/android/java/org/rafaelaugusto/jolt/GradientLayer.java +30 -1
  69. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleEmitter.java +192 -0
  70. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleSimulation.java +114 -0
  71. package/platforms/android/proguard-rules.pro +2 -0
  72. package/src/android-plugin.d.ts +56 -0
  73. package/src/driver/android-gradient.ts +8 -1
  74. package/src/driver/android-particles.ts +118 -0
  75. package/src/driver/ios-gradient.ts +24 -2
  76. package/src/engine.ts +10 -4
  77. package/src/gradient-binding.ts +158 -0
  78. package/src/gradient.ts +376 -91
  79. package/src/haptics.ts +106 -28
  80. package/src/index.ts +3 -0
  81. package/src/ios-plugin.d.ts +10 -0
  82. package/src/motion-scope.ts +23 -2
  83. package/src/motion-value.ts +43 -0
  84. package/src/native/index.ts +8 -0
  85. package/src/particles.ts +18 -17
  86. package/src/scene-appearance.ts +92 -0
  87. package/src/scene-camera.ts +30 -0
  88. package/src/size-layout.ts +237 -0
  89. package/src/size.ts +302 -0
  90. package/src/types.ts +1 -1
  91. package/src/vue/index.ts +29 -5
package/dist/size.js ADDED
@@ -0,0 +1,251 @@
1
+ import { Application } from '@nativescript/core';
2
+ import { toView } from './animate.js';
3
+ import { onReducedMotion, reducedMotion } from './config.js';
4
+ import { getDriver } from './driver/index.js';
5
+ import { createClock } from './playback.js';
6
+ import { createTrack } from './track.js';
7
+ import { resolveTransition, springs, } from './transition.js';
8
+ import { dimension, sizeLayout, } from './size-layout.js';
9
+ const owners = new WeakMap();
10
+ export function animateSize(target, dimensions, changeOrOptions, options) {
11
+ const view = toView(target);
12
+ if (!dimensions || typeof dimensions !== 'object' || Array.isArray(dimensions))
13
+ throw new TypeError('animateSize takes a width/height object.');
14
+ const axes = Object.keys(dimensions);
15
+ if (!axes.length || axes.some((axis) => axis !== 'width' && axis !== 'height'))
16
+ throw new TypeError('animateSize needs width and/or height.');
17
+ for (const axis of axes)
18
+ dimension(dimensions[axis], axis);
19
+ const destination = { ...dimensions };
20
+ const change = typeof changeOrOptions === 'function' ? changeOrOptions : undefined;
21
+ if (change?.constructor.name === 'AsyncFunction')
22
+ throw new TypeError('animateSize changes must be synchronous.');
23
+ const transition = normalize(change ? options : changeOrOptions);
24
+ // Solve before ownership changes, including custom easing/physical-spring validation.
25
+ const validation = createTrack('x', [0, 100], transition, 0);
26
+ if (!Number.isFinite(validation.end) || !validation.values.every(Number.isFinite))
27
+ throw new RangeError('animateSize needs a finite curve with finite samples.');
28
+ const previous = owners.get(view);
29
+ const driver = getDriver();
30
+ const layout = sizeLayout(view, axes, previous?.axes, () => {
31
+ const frame = driver.layoutFrame?.(view);
32
+ return frame ? { width: frame.width, height: frame.height } : view.getActualSize();
33
+ });
34
+ // Release the previous overlay only after every caller-supplied input was validated.
35
+ const start = layout.read();
36
+ previous?.animation.stop({ restore: true });
37
+ let resolve;
38
+ let reject;
39
+ const finished = new Promise((done, fail) => {
40
+ resolve = done;
41
+ reject = fail;
42
+ });
43
+ let settled = false;
44
+ let paused = false;
45
+ let initialized = false;
46
+ let cancelFrame;
47
+ let unwatch;
48
+ let clock;
49
+ let tracks = new Map();
50
+ let endpoint;
51
+ const cleanup = () => {
52
+ cancelFrame?.();
53
+ cancelFrame = undefined;
54
+ clock?.cancel();
55
+ clock = undefined;
56
+ unwatch?.();
57
+ layout.dispose();
58
+ view.off('unloaded', unloaded);
59
+ Application.off(Application.suspendEvent, unloaded);
60
+ if (owners.get(view)?.animation === animation)
61
+ owners.delete(view);
62
+ };
63
+ const finish = (success, error) => {
64
+ if (settled)
65
+ return;
66
+ settled = true;
67
+ cleanup();
68
+ if (error !== undefined)
69
+ reject(error);
70
+ else
71
+ resolve(success);
72
+ };
73
+ const complete = () => {
74
+ layout.commit(destination);
75
+ layout.layout();
76
+ finish(true);
77
+ };
78
+ const stop = (restore = false) => {
79
+ if (settled)
80
+ return;
81
+ layout.commit(restore ? undefined : layout.read());
82
+ finish(false);
83
+ view.requestLayout();
84
+ };
85
+ function unloaded() {
86
+ stop(true);
87
+ }
88
+ const schedule = () => {
89
+ if (!cancelFrame && !settled && !paused)
90
+ cancelFrame = driver.frame(tick);
91
+ };
92
+ function tick() {
93
+ cancelFrame = undefined;
94
+ if (settled || paused)
95
+ return;
96
+ try {
97
+ if (!view.isLoaded || view.visibility === 'collapse' || !view.nativeViewProtected) {
98
+ stop(true);
99
+ return;
100
+ }
101
+ const next = layout.measure(destination);
102
+ if (settled)
103
+ return;
104
+ if (axes.some((axis) => !Number.isFinite(next[axis]) || next[axis] < 0))
105
+ throw new Error('animateSize measured an invalid native size.');
106
+ if (reducedMotion()) {
107
+ complete();
108
+ return;
109
+ }
110
+ if (!initialized &&
111
+ axes.every((axis) => Math.abs(next[axis] - start[axis]) < 0.5)) {
112
+ complete();
113
+ return;
114
+ }
115
+ const elapsed = clock?.time() ?? 0;
116
+ if (!endpoint ||
117
+ axes.some((axis) => Math.abs(next[axis] - endpoint[axis]) > 0.5)) {
118
+ const from = initialized ? layout.read() : start;
119
+ const fresh = new Map();
120
+ for (const axis of axes)
121
+ fresh.set(axis, createTrack('x', [from[axis], next[axis]], initialized ? { ...transition, delay: 0 } : transition, tracks.get(axis)?.velocityAt(elapsed) ?? 0));
122
+ tracks = fresh;
123
+ endpoint = next;
124
+ clock?.cancel();
125
+ const end = Math.max(...[...tracks.values()].map((track) => track.end));
126
+ clock = driver.clock?.(end) ?? createClock(() => driver.now());
127
+ initialized = true;
128
+ }
129
+ const time = clock.time();
130
+ if ([...tracks.values()].every((track) => time >= track.end)) {
131
+ complete();
132
+ return;
133
+ }
134
+ const values = {};
135
+ for (const [axis, track] of tracks)
136
+ values[axis] = Math.max(0, track.valueAt(time));
137
+ layout.write(values);
138
+ layout.layout();
139
+ if (settled)
140
+ return;
141
+ schedule();
142
+ }
143
+ catch (error) {
144
+ layout.commit();
145
+ view.requestLayout();
146
+ finish(false, error);
147
+ }
148
+ }
149
+ const animation = {
150
+ finished,
151
+ then: (done, fail) => finished.then(done, fail),
152
+ get paused() {
153
+ return paused;
154
+ },
155
+ stop: (options) => stop(options?.restore === true),
156
+ pause() {
157
+ if (settled || paused)
158
+ return;
159
+ paused = true;
160
+ clock?.pause();
161
+ cancelFrame?.();
162
+ cancelFrame = undefined;
163
+ },
164
+ play() {
165
+ if (settled || !paused)
166
+ return;
167
+ paused = false;
168
+ clock?.play();
169
+ schedule();
170
+ },
171
+ };
172
+ owners.set(view, { animation, axes });
173
+ try {
174
+ layout.watch(() => stop(true));
175
+ layout.write(start);
176
+ view.on('unloaded', unloaded);
177
+ Application.on(Application.suspendEvent, unloaded);
178
+ unwatch = onReducedMotion((reduced) => {
179
+ if (reduced && !settled) {
180
+ try {
181
+ complete();
182
+ }
183
+ catch (error) {
184
+ finish(false, error);
185
+ }
186
+ }
187
+ });
188
+ const result = change?.();
189
+ if (result && typeof result.then === 'function')
190
+ throw new TypeError('animateSize changes must be synchronous.');
191
+ if (!view.isLoaded || view.visibility === 'collapse' || !layout.ready()) {
192
+ layout.commit(destination);
193
+ finish(false);
194
+ }
195
+ else
196
+ schedule();
197
+ }
198
+ catch (error) {
199
+ stop(true);
200
+ throw error;
201
+ }
202
+ return animation;
203
+ }
204
+ function normalize(input) {
205
+ if (typeof input === 'string') {
206
+ if (!Object.hasOwn(springs, input))
207
+ throw new TypeError(`Unknown size spring "${input}".`);
208
+ input = springs[input];
209
+ }
210
+ if (input !== undefined &&
211
+ (!input || typeof input !== 'object' || Array.isArray(input)))
212
+ throw new TypeError('Invalid animateSize options.');
213
+ const allowed = new Set([
214
+ 'type',
215
+ 'duration',
216
+ 'ease',
217
+ 'stiffness',
218
+ 'damping',
219
+ 'mass',
220
+ 'bounce',
221
+ 'velocity',
222
+ 'delay',
223
+ ]);
224
+ for (const [key, value] of Object.entries(input ?? {})) {
225
+ if (!allowed.has(key))
226
+ throw new TypeError(`Unsupported animateSize option "${key}"; repeat and seek are not supported.`);
227
+ if (value === undefined)
228
+ continue;
229
+ if (key !== 'type' &&
230
+ key !== 'ease' &&
231
+ (typeof value !== 'number' || !Number.isFinite(value)))
232
+ throw new RangeError(`animateSize ${key} must be finite.`);
233
+ if (key === 'type' && value !== 'spring' && value !== 'tween')
234
+ throw new TypeError('Invalid size transition type.');
235
+ if (typeof value === 'number') {
236
+ if (['duration', 'delay', 'damping'].includes(key) && value < 0)
237
+ throw new RangeError(`${key} must be nonnegative.`);
238
+ if (['mass', 'stiffness'].includes(key) && value <= 0)
239
+ throw new RangeError(`${key} must be positive.`);
240
+ if (key === 'bounce' && (value < -1 || value > 1))
241
+ throw new RangeError('bounce must be between -1 and 1.');
242
+ }
243
+ }
244
+ const resolved = resolveTransition(input ?? {}, 'x', 2);
245
+ if (resolved.curve.type === 'spring' &&
246
+ input?.duration === 0 &&
247
+ !('stiffness' in input || 'damping' in input || 'mass' in input))
248
+ throw new RangeError('Use a zero-duration tween for immediate sizing.');
249
+ return resolved;
250
+ }
251
+ //# sourceMappingURL=size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.js","sourceRoot":"","sources":["../src/size.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -81,7 +81,7 @@ export type AnimateOptions = Transition & {
81
81
  relative?: boolean;
82
82
  /** With several targets, delays each one by this much more than the previous. */
83
83
  stagger?: number | Stagger;
84
- /** iOS impact feedback at arrival, or at explicit points in a finite animation. */
84
+ /** Native haptic feedback at arrival, or at explicit points in a finite animation. */
85
85
  haptic?: Haptic;
86
86
  /**
87
87
  * Plays on a named layer, on top of the property's other animations instead of replacing
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"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"}
package/dist/vue/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { BaseTransition, defineComponent, h, onUnmounted, onActivated, onDeactivated, readonly, shallowRef, } from 'nativescript-vue';
2
2
  import { gradient, press, motionScope, bind, motionValue, scrollValue, onKeyboard, onReducedMotion, stop, reducedMotion, } from '../index.js';
3
+ import { isDerived } from '../motion-value.js';
4
+ import { prepareGradient } from '../gradient.js';
3
5
  import { currentKeyboard } from '../keyboard.js';
4
6
  const animations = new WeakMap();
5
7
  const scopes = new WeakMap();
@@ -13,6 +15,8 @@ function split(value) {
13
15
  function same(a, b) {
14
16
  if (Object.is(a, b))
15
17
  return true;
18
+ if (isDerived(a) || isDerived(b))
19
+ return false;
16
20
  if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null)
17
21
  return false;
18
22
  if (Array.isArray(a) !== Array.isArray(b))
@@ -83,18 +87,37 @@ export const vPress = {
83
87
  function paint(el, value, animated) {
84
88
  const [options, transition] = (Array.isArray(value) ? value : [value]);
85
89
  const current = gradients.get(el);
90
+ prepareGradient(options);
86
91
  const colors = options.colors.length;
92
+ const hasBindings = [
93
+ options.angle,
94
+ options.radius,
95
+ options.center?.x,
96
+ options.center?.y,
97
+ ...options.colors,
98
+ ...(options.stops ?? []),
99
+ ].some(isDerived);
87
100
  if (current && current.gradient.type === options.type) {
88
101
  const { type, ...values } = options;
89
- if (animated && current.colors === colors)
90
- current.gradient.animate(values, transition);
91
- else
92
- current.gradient.set(values);
102
+ const previous = current.release;
103
+ if (hasBindings)
104
+ current.release = current.gradient.bind(values);
105
+ else {
106
+ if (animated && current.colors === colors)
107
+ current.gradient.animate(values, transition);
108
+ else
109
+ current.gradient.set(values);
110
+ current.release = undefined;
111
+ }
112
+ previous?.();
93
113
  current.colors = colors;
94
114
  return;
95
115
  }
96
116
  current?.gradient.remove();
97
- gradients.set(el, { gradient: gradient(el, options), colors });
117
+ // Track directive ownership explicitly, including bindings omitted on a later update.
118
+ const made = gradient(el, options);
119
+ const release = hasBindings ? made.bind(options) : undefined;
120
+ gradients.set(el, { gradient: made, colors, release });
98
121
  }
99
122
  /**
100
123
  * Paints a native gradient behind the element, and animates to the new values when they change.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,CAAC,EACD,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,GAOX,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,IAAI,EACJ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,IAAI,EAKJ,aAAa,GAWd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA2BhD,MAAM,UAAU,GAAG,IAAI,OAAO,EAA6B,CAAA;AAC3D,MAAM,MAAM,GAAG,IAAI,OAAO,EAAuB,CAAA;AACjD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAsB,CAAA;AAClD,MAAM,SAAS,GAAG,IAAI,OAAO,EAG1B,CAAA;AAEH,SAAS,KAAK,CACZ,KAAiC;IAEjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC,CAAwB,CAAC;QAClD,CAAC,CAAC,CAAC,KAAU,EAAE,SAAS,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,IAAI,CAAC,CAAU,EAAE,CAAU;IAClC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAC5E,OAAO,KAAK,CAAA;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;QACrC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACjB,IAAI,CAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC,CAC/E,CACF,CAAA;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EAAQ,EAAE,KAAmB;IACzC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAyB,KAAK,CAAC,CAAA;IACjE,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACpD,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,MAAM,CAAC,EAAQ;IACtB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;IACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,MAAM,CAAC,EAAQ,EAAE,KAA6B;IACrD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAY,KAAK,CAAC,CAAA;IAC7E,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAwC;IAC3D,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE;QACnB,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IACD,SAAS,EAAE,MAAM;CAClB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkD;IACnE,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE;QACnB,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAM;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACnB,CAAC;IACD,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;QACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;CACF,CAAA;AAED,SAAS,KAAK,CAAC,EAAQ,EAAE,KAAoB,EAAE,QAAiB;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAGpE,CAAA;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;IACpC,MAAM,WAAW,GAAG;QAClB,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,GAAG,OAAO,CAAC,MAAM;QACjB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;KACzB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjB,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAA;QAChC,IAAI,WAAW;YAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAC3D,CAAC;YACJ,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;gBACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAwB,EAAE,UAAU,CAAC,CAAA;;gBAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAwB,CAAC,CAAA;YACnD,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;QAC7B,CAAC;QACD,QAAQ,EAAE,EAAE,CAAA;QACZ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QACvB,OAAM;IACR,CAAC;IACD,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;IAC1B,sFAAsF;IACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAyC;IAC7D,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE;QACnB,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IACD,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QACpC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC;CACF,CAAA;AAED,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,MAAM,GAAG,GAAG,CAAC,KAA+B,EAAE,EAAE,CAAC,CAAC,EAAQ,EAAE,IAAgB,EAAE,EAAE;QAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC9B,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM;gBAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACxD,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,MAAM,KAAK,GAA8B;QACvC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACzB,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACzB,gBAAgB,EAAE,MAAM;KACzB,CAAA;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAA;QAC9B,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAA;IAClC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAA2B;IACvD,OAAO,EAAE,SAAS;CACnB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;IAC5C,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE;QACL,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,MAA2C,EAAE,OAAO,EAAE,SAAS,EAAE;KAChF;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,cAAc,EACd,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EACrE,KAAK,CACN,CAAA;IACL,CAAC;CACF,CAAC,CAAA;AAEF,sFAAsF;AACtF,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAClC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9B,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IACpC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;AACjD,CAAC;AAED,eAAe,EAAE,OAAO,EAAE,CAAA;AAE1B,qFAAqF;AACrF,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;IAC3B,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAClC,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACpC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAA;IAC/D,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAgB,eAAe,EAAE,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,KAAK,GAAG,eAAe,EAAE,CAAA;IAClC,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,QAAQ,CAAC,QAAQ,CAAiC,CAAA;AAC3D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,OAAO,GAAG,CAAC;IACxC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,IAAI,OAAO,GAAkB,IAAI,CAAA;IACjC,IAAI,OAAiC,CAAA;IACrC,WAAW,CAAC,GAAG,EAAE;QACf,OAAO,EAAE,EAAE,CAAA;QACX,OAAO,GAAG,SAAS,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,IAAI,KAAK,OAAO;YAAE,OAAM;QAC5B,OAAO,EAAE,EAAE,CAAA;QACX,OAAO,GAAG,SAAS,CAAA;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,IAAI;YAAE,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rafaelaugusto/jolt",
3
- "version": "0.1.0-beta.13",
3
+ "version": "0.1.0-beta.15",
4
4
  "description": "Native animations for NativeScript: presets, springs, keyframes and stagger in one call.",
5
5
  "keywords": [
6
6
  "nativescript",
@@ -108,11 +108,40 @@ public final class GradientLayer extends android.graphics.drawable.Drawable {
108
108
  animation.start();
109
109
  }
110
110
 
111
+ /** Rejoin the source position. Binding windows include delays in their frames. */
112
+ public void control(long elapsed, boolean paused) {
113
+ if (animator == null) return;
114
+ animator.setCurrentPlayTime(Math.max(0, elapsed - animator.getStartDelay()));
115
+ if (paused) animator.pause(); else animator.resume();
116
+ }
117
+
118
+ public boolean isPlaying() { return animator != null; }
119
+ public float getCorner() { return corner; }
120
+ public float[] getGeometry() { return geometry.clone(); }
121
+ public float[] getStops() { return stops.clone(); }
122
+ public int[] getColors() { return colors.clone(); }
123
+ public int getSampleCount() { return times == null ? 0 : times.length; }
124
+
125
+ public void dispose() {
126
+ cancel();
127
+ colors = new int[0];
128
+ stops = new float[0];
129
+ setCallback(null);
130
+ }
131
+
111
132
  public void cancel() {
112
133
  ValueAnimator running = animator;
113
134
  animator = null;
114
135
  listener = null;
115
- if (running != null) running.cancel();
136
+ if (running != null) {
137
+ running.removeAllUpdateListeners();
138
+ running.removeAllListeners();
139
+ running.cancel();
140
+ }
141
+ times = null;
142
+ frameColors = null;
143
+ frameStops = null;
144
+ frameGeometry = null;
116
145
  }
117
146
 
118
147
  private void apply(float fraction) {
@@ -0,0 +1,192 @@
1
+ package org.rafaelaugusto.jolt;
2
+
3
+ import android.database.ContentObserver;
4
+ import android.graphics.Canvas;
5
+ import android.graphics.ColorFilter;
6
+ import android.graphics.Paint;
7
+ import android.graphics.PixelFormat;
8
+ import android.graphics.drawable.Drawable;
9
+ import android.os.Handler;
10
+ import android.os.Looper;
11
+ import android.os.SystemClock;
12
+ import android.provider.Settings;
13
+ import android.view.Choreographer;
14
+ import android.view.View;
15
+ import android.view.ViewParent;
16
+
17
+ /** A visual-only ViewOverlay drawable: all integration, deadlines and drawing stay in Java. */
18
+ public final class ParticleEmitter extends Drawable implements Choreographer.FrameCallback, View.OnAttachStateChangeListener {
19
+ public interface Listener { void onEnd(); }
20
+ private static int activeCount;
21
+ private View target, host;
22
+ private final boolean overlay;
23
+ private final float density;
24
+ private final ParticleSimulation simulation;
25
+ private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
26
+ private final Choreographer choreographer = Choreographer.getInstance();
27
+ private final Handler handler = new Handler(Looper.getMainLooper());
28
+ private final float[] point = new float[2];
29
+ private final int[] location = new int[2];
30
+ private final long[] intervals = new long[512];
31
+ private final ContentObserver scaleObserver = new ContentObserver(handler) {
32
+ @Override public void onChange(boolean selfChange) { if (disabled()) stop(); }
33
+ };
34
+ private Listener listener;
35
+ private boolean started, stopped, observing;
36
+ private long began, lastFrame, frames, draws, workNanos, drawNanos;
37
+ private float originX, originY, corner;
38
+ private final Runnable expire = new Runnable() { @Override public void run() { stop(); } };
39
+ private final long deadline;
40
+
41
+ public ParticleEmitter(View target, boolean overlay, int[] colors, int shape, int source,
42
+ double rate, double lifetimeMs, float size, float velocity, float velocityRange,
43
+ float angle, float spread, float gravity, float spin, float spinRange,
44
+ boolean fade, double durationMs, Listener listener) {
45
+ this.target = target; this.host = overlay ? target.getRootView() : target; this.overlay = overlay;
46
+ this.listener = listener;
47
+ density = target.getResources().getDisplayMetrics().density;
48
+ simulation = new ParticleSimulation(colors, shape, source, rate, lifetimeMs, size,
49
+ velocity, velocityRange, angle, spread, gravity, spin, spinRange, fade, durationMs, System.nanoTime());
50
+ deadline = durationMs < 0 ? -1 : (long)Math.ceil(durationMs + lifetimeMs);
51
+ }
52
+
53
+ private boolean disabled() {
54
+ return target != null && Settings.Global.getFloat(target.getContext().getContentResolver(),
55
+ Settings.Global.ANIMATOR_DURATION_SCALE, 1) == 0;
56
+ }
57
+ private boolean valid() {
58
+ return target != null && target.isAttachedToWindow() && target.getWindowVisibility() == View.VISIBLE
59
+ && target.isShown() && target.getWidth() > 0 && target.getHeight() > 0
60
+ && host.getWindowToken() != null && host.getWindowToken() == target.getWindowToken()
61
+ && (!overlay || host == target.getRootView());
62
+ }
63
+ public void start() {
64
+ if (started || stopped) return;
65
+ if (!valid() || disabled()) { stop(); return; }
66
+ started = true; activeCount++;
67
+ began = SystemClock.uptimeMillis();
68
+ if (overlay) {
69
+ // Convert the center through transforms and parent scrolling into root-overlay coordinates.
70
+ point[0] = target.getWidth() * .5f; point[1] = target.getHeight() * .5f;
71
+ View current = target;
72
+ while (current != host) {
73
+ current.getMatrix().mapPoints(point);
74
+ point[0] += current.getLeft(); point[1] += current.getTop();
75
+ ViewParent parent = current.getParent();
76
+ if (!(parent instanceof View)) { stop(); return; }
77
+ current = (View)parent;
78
+ point[0] -= current.getScrollX(); point[1] -= current.getScrollY();
79
+ }
80
+ originX = point[0]; originY = point[1];
81
+ }
82
+ target.addOnAttachStateChangeListener(this);
83
+ target.getContext().getContentResolver().registerContentObserver(
84
+ Settings.Global.getUriFor(Settings.Global.ANIMATOR_DURATION_SCALE), false, scaleObserver);
85
+ observing = true;
86
+ setBounds(0, 0, host.getWidth(), host.getHeight());
87
+ host.getOverlay().add(this);
88
+ if (deadline >= 0) handler.postDelayed(expire, deadline);
89
+ choreographer.postFrameCallback(this);
90
+ }
91
+
92
+ /** Layout/identity checks at JS boundaries; moving views otherwise stay in their native overlay. */
93
+ public void refresh(float cornerPixels) {
94
+ corner = Math.max(0, cornerPixels);
95
+ if (!stopped && started && !valid()) stop();
96
+ }
97
+ @Override public void doFrame(long frameTimeNanos) {
98
+ if (stopped) return;
99
+ long workStart = System.nanoTime();
100
+ if (!valid()) { stop(); return; }
101
+ if (lastFrame != 0) intervals[(int)((frames - 1) % intervals.length)] = frameTimeNanos - lastFrame;
102
+ lastFrame = frameTimeNanos; frames++;
103
+ // Deliberately use monotonic wall time: UI stalls cannot extend emission/lifetime deadlines.
104
+ simulation.advance((SystemClock.uptimeMillis() - began) / 1000d,
105
+ overlay ? 0 : target.getWidth() / density, overlay ? 0 : target.getHeight() / density);
106
+ if (simulation.finished()) { stop(); return; }
107
+ if (getBounds().width() != host.getWidth() || getBounds().height() != host.getHeight())
108
+ setBounds(0, 0, host.getWidth(), host.getHeight());
109
+ invalidateSelf();
110
+ workNanos += System.nanoTime() - workStart;
111
+ choreographer.postFrameCallback(this);
112
+ }
113
+
114
+ @Override public void draw(Canvas canvas) {
115
+ if (stopped) return;
116
+ long drawStart = System.nanoTime(); draws++;
117
+ int save = canvas.save();
118
+ // The overlay is above this host's content, bounded by the host/window viewport.
119
+ canvas.clipRect(getBounds());
120
+ if (!overlay && corner > 0) {
121
+ // A retained path avoids allocating rounded clips per frame.
122
+ clip.rewind();
123
+ rect.set(getBounds());
124
+ clip.addRoundRect(rect, corner, corner, android.graphics.Path.Direction.CW);
125
+ canvas.clipPath(clip);
126
+ }
127
+ if (overlay) canvas.translate(originX, originY);
128
+ canvas.scale(density, density);
129
+ float size = simulation.size, radius = size * .5f;
130
+ paint.setStyle(simulation.shape == 2 ? Paint.Style.STROKE : Paint.Style.FILL);
131
+ paint.setStrokeWidth(size * (3f / 32));
132
+ for (int i = 0, count = simulation.live(); i < count; i++) {
133
+ paint.setColor(simulation.color(i));
134
+ float x = simulation.x(i), y = simulation.y(i);
135
+ if (simulation.shape == 1) {
136
+ int particleSave = canvas.save();
137
+ canvas.rotate(simulation.rotation(i), x, y);
138
+ canvas.drawRect(x - radius, y - size * (9f / 32), x + radius, y + size * (9f / 32), paint);
139
+ canvas.restoreToCount(particleSave);
140
+ } else canvas.drawCircle(x, y, simulation.shape == 2 ? size * (14f / 32) : radius, paint);
141
+ }
142
+ canvas.restoreToCount(save);
143
+ drawNanos += System.nanoTime() - drawStart;
144
+ }
145
+ private final android.graphics.Path clip = new android.graphics.Path();
146
+ private final android.graphics.RectF rect = new android.graphics.RectF();
147
+
148
+ public void stop() {
149
+ if (stopped) return;
150
+ stopped = true;
151
+ choreographer.removeFrameCallback(this);
152
+ handler.removeCallbacks(expire);
153
+ if (observing) target.getContext().getContentResolver().unregisterContentObserver(scaleObserver);
154
+ observing = false;
155
+ if (started) { activeCount--; target.removeOnAttachStateChangeListener(this); host.getOverlay().remove(this); }
156
+ simulation.clear();
157
+ setCallback(null);
158
+ target = host = null;
159
+ Listener done = listener; listener = null;
160
+ if (done != null) done.onEnd();
161
+ }
162
+ @Override public void onViewAttachedToWindow(View view) { }
163
+ @Override public void onViewDetachedFromWindow(View view) { stop(); }
164
+ @Override public void setAlpha(int alpha) { }
165
+ @Override public void setColorFilter(ColorFilter filter) { paint.setColorFilter(filter); }
166
+ @Override public int getOpacity() { return PixelFormat.TRANSLUCENT; }
167
+
168
+ // Native conformance/diagnostics. Reads allocate only when explicitly requested, never per frame.
169
+ public static int getActiveCount() { return activeCount; }
170
+ public boolean isStopped() { return stopped; }
171
+ public int getLiveCount() { return simulation.live(); }
172
+ public int getPeakCount() { return simulation.peak(); }
173
+ public int getCapacity() { return simulation.capacity(); }
174
+ public long getEmittedCount() { return simulation.emitted(); }
175
+ public long getSkippedCount() { return simulation.skipped(); }
176
+ public long getFrameCount() { return frames; }
177
+ public long getDrawCount() { return draws; }
178
+ public long getWorkNanos() { return workNanos; }
179
+ public long getDrawNanos() { return drawNanos; }
180
+ public float getDensity() { return density; }
181
+ public double getTimeSeconds() { return simulation.time(); }
182
+ public boolean isObserving() { return observing; }
183
+ public float[] getOriginInWindow() {
184
+ if (host != null) host.getLocationInWindow(location);
185
+ return new float[] { originX + location[0], originY + location[1] };
186
+ }
187
+ public float[] getParticle(int index) { return new float[] { simulation.x(index), simulation.y(index), simulation.rotation(index), simulation.color(index) }; }
188
+ public long[] getFrameIntervals() {
189
+ int count = (int)Math.min(Math.max(0, frames - 1), intervals.length);
190
+ return java.util.Arrays.copyOf(intervals, count);
191
+ }
192
+ }