1/*
2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkUI
19 */
20
21/**
22 * Defines Marquee constructor options.
23 *
24 * @interface MarqueeOptions
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @crossplatform
27 * @form
28 * @atomicservice
29 * @since 13
30 */
31interface MarqueeOptions {
32  /**
33   * Control whether the running lamp enters the playing state.
34   *
35   * @type { boolean }
36   * @syscap SystemCapability.ArkUI.ArkUI.Full
37   * @since 8
38   */
39  /**
40   * Control whether the running lamp enters the playing state.
41   *
42   * @type { boolean }
43   * @syscap SystemCapability.ArkUI.ArkUI.Full
44   * @form
45   * @since 9
46   */
47  /**
48   * Control whether the running lamp enters the playing state.
49   *
50   * @type { boolean }
51   * @syscap SystemCapability.ArkUI.ArkUI.Full
52   * @crossplatform
53   * @form
54   * @since 10
55   */
56  /**
57   * Control whether the running lamp enters the playing state.
58   *
59   * @type { boolean }
60   * @syscap SystemCapability.ArkUI.ArkUI.Full
61   * @crossplatform
62   * @form
63   * @atomicservice
64   * @since 11
65   */
66  start: boolean;
67
68  /**
69   * Scroll animation text scroll step, when step is larger than the text width of Marquee, take the default value.
70   *
71   * @type { ?number }
72   * @syscap SystemCapability.ArkUI.ArkUI.Full
73   * @since 8
74   */
75  /**
76   * Scroll animation text scroll step, when step is larger than the text width of Marquee, take the default value.
77   *
78   * @type { ?number }
79   * @syscap SystemCapability.ArkUI.ArkUI.Full
80   * @form
81   * @since 9
82   */
83  /**
84   * Scroll animation text scroll step, when step is larger than the text width of Marquee, take the default value.
85   *
86   * @type { ?number }
87   * @syscap SystemCapability.ArkUI.ArkUI.Full
88   * @crossplatform
89   * @form
90   * @since 10
91   */
92  /**
93   * Scroll animation text scroll step, when step is larger than the text width of Marquee, take the default value.
94   *
95   * @type { ?number }
96   * @syscap SystemCapability.ArkUI.ArkUI.Full
97   * @crossplatform
98   * @form
99   * @atomicservice
100   * @since 11
101   */
102  step?: number;
103
104  /**
105   * Set the number of times the scroll is repeated, infinite loop if it is less than or equal to zero.
106   *
107   * @type { ?number }
108   * @syscap SystemCapability.ArkUI.ArkUI.Full
109   * @since 8
110   */
111  /**
112   * Set the number of times the scroll is repeated, infinite loop if it is less than or equal to zero.
113   *
114   * @type { ?number }
115   * @syscap SystemCapability.ArkUI.ArkUI.Full
116   * @form
117   * @since 9
118   */
119  /**
120   * Set the number of times the scroll is repeated, infinite loop if it is less than or equal to zero.
121   *
122   * @type { ?number }
123   * @syscap SystemCapability.ArkUI.ArkUI.Full
124   * @crossplatform
125   * @form
126   * @since 10
127   */
128  /**
129   * Set the number of times the scroll is repeated, infinite loop if it is less than or equal to zero.
130   *
131   * @type { ?number }
132   * @syscap SystemCapability.ArkUI.ArkUI.Full
133   * @crossplatform
134   * @form
135   * @atomicservice
136   * @since 11
137   */
138  loop?: number;
139
140  /**
141   * Set text to scroll from the beginning or backward.
142   *
143   * @type { ?boolean }
144   * @syscap SystemCapability.ArkUI.ArkUI.Full
145   * @since 8
146   */
147  /**
148   * Set text to scroll from the beginning or backward.
149   *
150   * @type { ?boolean }
151   * @syscap SystemCapability.ArkUI.ArkUI.Full
152   * @form
153   * @since 9
154   */
155  /**
156   * Set text to scroll from the beginning or backward.
157   *
158   * @type { ?boolean }
159   * @syscap SystemCapability.ArkUI.ArkUI.Full
160   * @crossplatform
161   * @form
162   * @since 10
163   */
164  /**
165   * Set text to scroll from the beginning or backward.
166   *
167   * @type { ?boolean }
168   * @syscap SystemCapability.ArkUI.ArkUI.Full
169   * @crossplatform
170   * @form
171   * @atomicservice
172   * @since 11
173   */
174  fromStart?: boolean;
175
176  /**
177   * Text that needs scrolling.
178   *
179   * @type { string }
180   * @syscap SystemCapability.ArkUI.ArkUI.Full
181   * @since 8
182   */
183  /**
184   * Text that needs scrolling.
185   *
186   * @type { string }
187   * @syscap SystemCapability.ArkUI.ArkUI.Full
188   * @form
189   * @since 9
190   */
191  /**
192   * Text that needs scrolling.
193   *
194   * @type { string }
195   * @syscap SystemCapability.ArkUI.ArkUI.Full
196   * @crossplatform
197   * @form
198   * @since 10
199   */
200  /**
201   * Text that needs scrolling.
202   *
203   * @type { string }
204   * @syscap SystemCapability.ArkUI.ArkUI.Full
205   * @crossplatform
206   * @form
207   * @atomicservice
208   * @since 11
209   */
210  src: string;
211}
212
213/**
214 * Provides the interface for the marquee attributes.
215 *
216 * @interface MarqueeInterface
217 * @syscap SystemCapability.ArkUI.ArkUI.Full
218 * @since 8
219 */
220/**
221 * Provides the interface for the marquee attributes.
222 *
223 * @interface MarqueeInterface
224 * @syscap SystemCapability.ArkUI.ArkUI.Full
225 * @form
226 * @since 9
227 */
228/**
229 * Provides the interface for the marquee attributes.
230 *
231 * @interface MarqueeInterface
232 * @syscap SystemCapability.ArkUI.ArkUI.Full
233 * @crossplatform
234 * @form
235 * @since 10
236 */
237/**
238 * Provides the interface for the marquee attributes.
239 *
240 * @interface MarqueeInterface
241 * @syscap SystemCapability.ArkUI.ArkUI.Full
242 * @crossplatform
243 * @form
244 * @atomicservice
245 * @since 11
246 */
247interface MarqueeInterface {
248  /**
249   * Create marquee.
250   *
251   * @param { object } value
252   * @returns { MarqueeAttribute }
253   * @syscap SystemCapability.ArkUI.ArkUI.Full
254   * @since 8
255   */
256  /**
257   * Create marquee.
258   *
259   * @param { object } value
260   * @returns { MarqueeAttribute }
261   * @syscap SystemCapability.ArkUI.ArkUI.Full
262   * @form
263   * @since 9
264   */
265  /**
266   * Create marquee.
267   *
268   * @param { object } value
269   * @returns { MarqueeAttribute }
270   * @syscap SystemCapability.ArkUI.ArkUI.Full
271   * @crossplatform
272   * @form
273   * @since 10
274   */
275  /**
276   * Create marquee.
277   *
278   * @param { object } value
279   * @returns { MarqueeAttribute }
280   * @syscap SystemCapability.ArkUI.ArkUI.Full
281   * @crossplatform
282   * @form
283   * @atomicservice
284   * @since 11
285   */
286  /**
287   * Create marquee.
288   *
289   * @param { MarqueeOptions } options - Marquee options.
290   * @returns { MarqueeAttribute }
291   * @syscap SystemCapability.ArkUI.ArkUI.Full
292   * @crossplatform
293   * @form
294   * @atomicservice
295   * @since 13
296   */
297  (options: MarqueeOptions): MarqueeAttribute;
298}
299
300/**
301 * Declares marquee properties.
302 *
303 * @extends CommonMethod<MarqueeAttribute>
304 * @syscap SystemCapability.ArkUI.ArkUI.Full
305 * @since 8
306 */
307/**
308 * Declares marquee properties.
309 *
310 * @extends CommonMethod<MarqueeAttribute>
311 * @syscap SystemCapability.ArkUI.ArkUI.Full
312 * @form
313 * @since 9
314 */
315/**
316 * Declares marquee properties.
317 *
318 * @extends CommonMethod<MarqueeAttribute>
319 * @syscap SystemCapability.ArkUI.ArkUI.Full
320 * @crossplatform
321 * @form
322 * @since 10
323 */
324/**
325 * Declares marquee properties.
326 *
327 * @extends CommonMethod<MarqueeAttribute>
328 * @syscap SystemCapability.ArkUI.ArkUI.Full
329 * @crossplatform
330 * @form
331 * @atomicservice
332 * @since 11
333 */
334declare class MarqueeAttribute extends CommonMethod<MarqueeAttribute> {
335  /**
336   * Set marquee font Color.
337   *
338   * @param { ResourceColor } value
339   * @returns { MarqueeAttribute }
340   * @syscap SystemCapability.ArkUI.ArkUI.Full
341   * @since 8
342   */
343  /**
344   * Set marquee font Color.
345   *
346   * @param { ResourceColor } value
347   * @returns { MarqueeAttribute }
348   * @syscap SystemCapability.ArkUI.ArkUI.Full
349   * @form
350   * @since 9
351   */
352  /**
353   * Set marquee font Color.
354   *
355   * @param { ResourceColor } value
356   * @returns { MarqueeAttribute }
357   * @syscap SystemCapability.ArkUI.ArkUI.Full
358   * @crossplatform
359   * @form
360   * @since 10
361   */
362  /**
363   * Set marquee font Color.
364   *
365   * @param { ResourceColor } value
366   * @returns { MarqueeAttribute }
367   * @syscap SystemCapability.ArkUI.ArkUI.Full
368   * @crossplatform
369   * @form
370   * @atomicservice
371   * @since 11
372   */
373  fontColor(value: ResourceColor): MarqueeAttribute;
374
375  /**
376   * Set marquee font size.
377   *
378   * @param { Length } value
379   * @returns { MarqueeAttribute }
380   * @syscap SystemCapability.ArkUI.ArkUI.Full
381   * @since 8
382   */
383  /**
384   * Set marquee font size.
385   *
386   * @param { Length } value
387   * @returns { MarqueeAttribute }
388   * @syscap SystemCapability.ArkUI.ArkUI.Full
389   * @form
390   * @since 9
391   */
392  /**
393   * Set marquee font size.
394   *
395   * @param { Length } value
396   * @returns { MarqueeAttribute }
397   * @syscap SystemCapability.ArkUI.ArkUI.Full
398   * @crossplatform
399   * @form
400   * @since 10
401   */
402  /**
403   * Set marquee font size.
404   *
405   * @param { Length } value
406   * @returns { MarqueeAttribute }
407   * @syscap SystemCapability.ArkUI.ArkUI.Full
408   * @crossplatform
409   * @form
410   * @atomicservice
411   * @since 11
412   */
413  fontSize(value: Length): MarqueeAttribute;
414
415  /**
416   * Set marquee allow scale.
417   *
418   * @param { boolean } value
419   * @returns { MarqueeAttribute }
420   * @syscap SystemCapability.ArkUI.ArkUI.Full
421   * @since 8
422   */
423  /**
424   * Set marquee allow scale.
425   *
426   * @param { boolean } value
427   * @returns { MarqueeAttribute }
428   * @syscap SystemCapability.ArkUI.ArkUI.Full
429   * @form
430   * @since 9
431   */
432  /**
433   * Set marquee allow scale.
434   *
435   * @param { boolean } value
436   * @returns { MarqueeAttribute }
437   * @syscap SystemCapability.ArkUI.ArkUI.Full
438   * @crossplatform
439   * @form
440   * @since 10
441   */
442  /**
443   * Set marquee allow scale.
444   *
445   * @param { boolean } value
446   * @returns { MarqueeAttribute }
447   * @syscap SystemCapability.ArkUI.ArkUI.Full
448   * @crossplatform
449   * @form
450   * @atomicservice
451   * @since 11
452   */
453  allowScale(value: boolean): MarqueeAttribute;
454
455  /**
456   * Set marquee font weight.
457   *
458   * @param { number | FontWeight | string } value
459   * @returns { MarqueeAttribute }
460   * @syscap SystemCapability.ArkUI.ArkUI.Full
461   * @since 8
462   */
463  /**
464   * Set marquee font weight.
465   *
466   * @param { number | FontWeight | string } value
467   * @returns { MarqueeAttribute }
468   * @syscap SystemCapability.ArkUI.ArkUI.Full
469   * @form
470   * @since 9
471   */
472  /**
473   * Set marquee font weight.
474   *
475   * @param { number | FontWeight | string } value
476   * @returns { MarqueeAttribute }
477   * @syscap SystemCapability.ArkUI.ArkUI.Full
478   * @crossplatform
479   * @form
480   * @since 10
481   */
482  /**
483   * Set marquee font weight.
484   *
485   * @param { number | FontWeight | string } value
486   * @returns { MarqueeAttribute }
487   * @syscap SystemCapability.ArkUI.ArkUI.Full
488   * @crossplatform
489   * @form
490   * @atomicservice
491   * @since 11
492   */
493  fontWeight(value: number | FontWeight | string): MarqueeAttribute;
494
495  /**
496   * Set marquee font family.
497   *
498   * @param { string | Resource } value
499   * @returns { MarqueeAttribute }
500   * @syscap SystemCapability.ArkUI.ArkUI.Full
501   * @since 8
502   */
503  /**
504   * Set marquee font family.
505   *
506   * @param { string | Resource } value
507   * @returns { MarqueeAttribute }
508   * @syscap SystemCapability.ArkUI.ArkUI.Full
509   * @form
510   * @since 9
511   */
512  /**
513   * Set marquee font family.
514   *
515   * @param { string | Resource } value
516   * @returns { MarqueeAttribute }
517   * @syscap SystemCapability.ArkUI.ArkUI.Full
518   * @crossplatform
519   * @form
520   * @since 10
521   */
522  /**
523   * Set marquee font family.
524   *
525   * @param { string | Resource } value
526   * @returns { MarqueeAttribute }
527   * @syscap SystemCapability.ArkUI.ArkUI.Full
528   * @crossplatform
529   * @form
530   * @atomicservice
531   * @since 11
532   */
533  fontFamily(value: string | Resource): MarqueeAttribute;
534
535  /**
536   * Marquee scrolling strategy after text update.
537   *
538   * @param { MarqueeUpdateStrategy } value - The scrolling strategy after text update.
539   * @returns { MarqueeAttribute }
540   * @syscap SystemCapability.ArkUI.ArkUI.Full
541   * @crossplatform
542   * @atomicservice
543   * @since 12
544   */
545  marqueeUpdateStrategy(value: MarqueeUpdateStrategy): MarqueeAttribute;
546
547  /**
548   * Called when scrolling starts.
549   *
550   * @param { function } event
551   * @returns { MarqueeAttribute }
552   * @syscap SystemCapability.ArkUI.ArkUI.Full
553   * @since 8
554   */
555  /**
556   * Called when scrolling starts.
557   *
558   * @param { function } event
559   * @returns { MarqueeAttribute }
560   * @syscap SystemCapability.ArkUI.ArkUI.Full
561   * @form
562   * @since 9
563   */
564  /**
565   * Called when scrolling starts.
566   *
567   * @param { function } event
568   * @returns { MarqueeAttribute }
569   * @syscap SystemCapability.ArkUI.ArkUI.Full
570   * @crossplatform
571   * @form
572   * @since 10
573   */
574  /**
575   * Called when scrolling starts.
576   *
577   * @param { function } event
578   * @returns { MarqueeAttribute }
579   * @syscap SystemCapability.ArkUI.ArkUI.Full
580   * @crossplatform
581   * @form
582   * @atomicservice
583   * @since 11
584   */
585  onStart(event: () => void): MarqueeAttribute;
586
587  /**
588   * Called when scrolling to the bottom.
589   *
590   * @param { function } event
591   * @returns { MarqueeAttribute }
592   * @syscap SystemCapability.ArkUI.ArkUI.Full
593   * @since 8
594   */
595  /**
596   * Called when scrolling to the bottom.
597   *
598   * @param { function } event
599   * @returns { MarqueeAttribute }
600   * @syscap SystemCapability.ArkUI.ArkUI.Full
601   * @form
602   * @since 9
603   */
604  /**
605   * Called when scrolling to the bottom.
606   *
607   * @param { function } event
608   * @returns { MarqueeAttribute }
609   * @syscap SystemCapability.ArkUI.ArkUI.Full
610   * @crossplatform
611   * @form
612   * @since 10
613   */
614  /**
615   * Called when scrolling to the bottom.
616   *
617   * @param { function } event
618   * @returns { MarqueeAttribute }
619   * @syscap SystemCapability.ArkUI.ArkUI.Full
620   * @crossplatform
621   * @form
622   * @atomicservice
623   * @since 11
624   */
625  onBounce(event: () => void): MarqueeAttribute;
626
627  /**
628   * Called when scrolling is complete.
629   *
630   * @param { function } event
631   * @returns { MarqueeAttribute }
632   * @syscap SystemCapability.ArkUI.ArkUI.Full
633   * @since 8
634   */
635  /**
636   * Called when scrolling is complete.
637   *
638   * @param { function } event
639   * @returns { MarqueeAttribute }
640   * @syscap SystemCapability.ArkUI.ArkUI.Full
641   * @form
642   * @since 9
643   */
644  /**
645   * Called when scrolling is complete.
646   *
647   * @param { function } event
648   * @returns { MarqueeAttribute }
649   * @syscap SystemCapability.ArkUI.ArkUI.Full
650   * @crossplatform
651   * @form
652   * @since 10
653   */
654  /**
655   * Called when scrolling is complete.
656   *
657   * @param { function } event
658   * @returns { MarqueeAttribute }
659   * @syscap SystemCapability.ArkUI.ArkUI.Full
660   * @crossplatform
661   * @form
662   * @atomicservice
663   * @since 11
664   */
665  onFinish(event: () => void): MarqueeAttribute;
666}
667
668/**
669 * Defines Marquee Component.
670 *
671 * @syscap SystemCapability.ArkUI.ArkUI.Full
672 * @since 8
673 */
674/**
675 * Defines Marquee Component.
676 *
677 * @syscap SystemCapability.ArkUI.ArkUI.Full
678 * @form
679 * @since 9
680 */
681/**
682 * Defines Marquee Component.
683 *
684 * @syscap SystemCapability.ArkUI.ArkUI.Full
685 * @crossplatform
686 * @form
687 * @since 10
688 */
689/**
690 * Defines Marquee Component.
691 *
692 * @syscap SystemCapability.ArkUI.ArkUI.Full
693 * @crossplatform
694 * @form
695 * @atomicservice
696 * @since 11
697 */
698declare const Marquee: MarqueeInterface;
699
700/**
701 * Defines Marquee Component instance.
702 *
703 * @syscap SystemCapability.ArkUI.ArkUI.Full
704 * @since 8
705 */
706/**
707 * Defines Marquee Component instance.
708 *
709 * @syscap SystemCapability.ArkUI.ArkUI.Full
710 * @form
711 * @since 9
712 */
713/**
714 * Defines Marquee Component instance.
715 *
716 * @syscap SystemCapability.ArkUI.ArkUI.Full
717 * @crossplatform
718 * @form
719 * @since 10
720 */
721/**
722 * Defines Marquee Component instance.
723 *
724 * @syscap SystemCapability.ArkUI.ArkUI.Full
725 * @crossplatform
726 * @form
727 * @atomicservice
728 * @since 11
729 */
730declare const MarqueeInstance: MarqueeAttribute;
731