line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
##---------------------------------------------------------------------------- |
2
|
|
|
|
|
|
|
## HTML Object - ~/lib/HTML/Object/DOM/Element/Marquee.pm |
3
|
|
|
|
|
|
|
## Version v0.2.0 |
4
|
|
|
|
|
|
|
## Copyright(c) 2022 DEGUEST Pte. Ltd. |
5
|
|
|
|
|
|
|
## Author: Jacques Deguest <jack@deguest.jp> |
6
|
|
|
|
|
|
|
## Created 2022/01/06 |
7
|
|
|
|
|
|
|
## Modified 2022/09/18 |
8
|
|
|
|
|
|
|
## All rights reserved |
9
|
|
|
|
|
|
|
## |
10
|
|
|
|
|
|
|
## |
11
|
|
|
|
|
|
|
## This program is free software; you can redistribute it and/or modify it |
12
|
|
|
|
|
|
|
## under the same terms as Perl itself. |
13
|
|
|
|
|
|
|
##---------------------------------------------------------------------------- |
14
|
|
|
|
|
|
|
package HTML::Object::DOM::Element::Marquee; |
15
|
|
|
|
|
|
|
BEGIN |
16
|
|
|
|
|
|
|
{ |
17
|
1
|
|
|
1
|
|
983
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
31
|
|
18
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
27
|
|
19
|
1
|
|
|
1
|
|
6
|
use parent qw( HTML::Object::DOM::Element ); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
8
|
|
20
|
1
|
|
|
1
|
|
64
|
use vars qw( $VERSION ); |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
40
|
|
21
|
1
|
|
|
1
|
|
6
|
use HTML::Object::DOM::Element::Shared qw( :marquee ); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
105
|
|
22
|
1
|
|
|
1
|
|
24
|
our $VERSION = 'v0.2.0'; |
23
|
|
|
|
|
|
|
}; |
24
|
|
|
|
|
|
|
|
25
|
1
|
|
|
1
|
|
5
|
use strict; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
19
|
|
26
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
336
|
|
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
sub init |
29
|
|
|
|
|
|
|
{ |
30
|
0
|
|
|
0
|
1
|
|
my $self = shift( @_ ); |
31
|
0
|
|
|
|
|
|
$self->{_init_strict_use_sub} = 1; |
32
|
0
|
0
|
|
|
|
|
$self->SUPER::init( @_ ) || return( $self->pass_error ); |
33
|
0
|
0
|
|
|
|
|
$self->{tag} = 'marquee' if( !CORE::length( "$self->{tag}" ) ); |
34
|
0
|
|
|
|
|
|
return( $self ); |
35
|
|
|
|
|
|
|
} |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
# Note: property behavior |
38
|
0
|
|
|
0
|
1
|
|
sub behavior : lvalue { return( shift->_set_get_property( 'behavior', @_ ) ); } |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# Note: property bgColor |
41
|
0
|
|
|
0
|
1
|
|
sub bgColor : lvalue { return( shift->_set_get_property( 'bgcolor', @_ ) ); } |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
# Note: property direction |
44
|
0
|
|
|
0
|
1
|
|
sub direction : lvalue { return( shift->_set_get_property( 'direction', @_ ) ); } |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
# Note: property height is inherited |
47
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
# Note: property hspace |
49
|
0
|
|
|
0
|
1
|
|
sub hspace : lvalue { return( shift->_set_get_property( 'hspace', @_ ) ); } |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
# Note: property loop |
52
|
0
|
|
|
0
|
1
|
|
sub loop : lvalue { return( shift->_set_get_property( 'loop', @_ ) ); } |
53
|
|
|
|
|
|
|
|
54
|
0
|
|
|
0
|
1
|
|
sub onbounce : lvalue { return( shift->on( 'bounce', @_ ) ); } |
55
|
|
|
|
|
|
|
|
56
|
0
|
|
|
0
|
1
|
|
sub onfinish : lvalue { return( shift->on( 'finish', @_ ) ); } |
57
|
|
|
|
|
|
|
|
58
|
0
|
|
|
0
|
1
|
|
sub onstart : lvalue { return( shift->on( 'start', @_ ) ); } |
59
|
|
|
|
|
|
|
|
60
|
|
|
|
|
|
|
# Note: property scrollAmount |
61
|
0
|
|
|
0
|
1
|
|
sub scrollAmount : lvalue { return( shift->_set_get_property( 'scrollamount', @_ ) ); } |
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
# Note: property scrollDelay |
64
|
0
|
|
|
0
|
1
|
|
sub scrollDelay : lvalue { return( shift->_set_get_property( 'scrolldelay', @_ ) ); } |
65
|
|
|
|
|
|
|
|
66
|
0
|
|
|
0
|
1
|
|
sub start { return; } |
67
|
|
|
|
|
|
|
|
68
|
0
|
|
|
0
|
1
|
|
sub stop { return; } |
69
|
|
|
|
|
|
|
|
70
|
|
|
|
|
|
|
# Note: property trueSpeed |
71
|
0
|
|
|
0
|
1
|
|
sub trueSpeed : lvalue { return( shift->_set_get_property({ attribute => 'truespeed', is_boolean => 1 }, @_ ) ); } |
72
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
# Note: property vspace |
74
|
0
|
|
|
0
|
1
|
|
sub vspace : lvalue { return( shift->_set_get_property( 'vspace', @_ ) ); } |
75
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
# Note: property width is inherited |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
1; |
79
|
|
|
|
|
|
|
# NOTE: POD |
80
|
|
|
|
|
|
|
__END__ |
81
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
=encoding utf-8 |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
=head1 NAME |
85
|
|
|
|
|
|
|
|
86
|
|
|
|
|
|
|
HTML::Object::DOM::Element::Marquee - HTML Object DOM Marquee Class |
87
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
=head1 SYNOPSIS |
89
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
use HTML::Object::DOM::Element::Marquee; |
91
|
|
|
|
|
|
|
my $marquee = HTML::Object::DOM::Element::Marquee->new || |
92
|
|
|
|
|
|
|
die( HTML::Object::DOM::Element::Marquee->error, "\n" ); |
93
|
|
|
|
|
|
|
|
94
|
|
|
|
|
|
|
=head1 VERSION |
95
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
v0.2.0 |
97
|
|
|
|
|
|
|
|
98
|
|
|
|
|
|
|
=head1 DESCRIPTION |
99
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time. |
101
|
|
|
|
|
|
|
|
102
|
|
|
|
|
|
|
=head1 INHERITANCE |
103
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
+-----------------------+ +---------------------------+ +-------------------------+ +----------------------------+ +-------------------------------------+ |
105
|
|
|
|
|
|
|
| HTML::Object::Element | --> | HTML::Object::EventTarget | --> | HTML::Object::DOM::Node | --> | HTML::Object::DOM::Element | --> | HTML::Object::DOM::Element::Marquee | |
106
|
|
|
|
|
|
|
+-----------------------+ +---------------------------+ +-------------------------+ +----------------------------+ +-------------------------------------+ |
107
|
|
|
|
|
|
|
|
108
|
|
|
|
|
|
|
=head1 PROPERTIES |
109
|
|
|
|
|
|
|
|
110
|
|
|
|
|
|
|
Inherits properties from its parent L<HTML::Object::DOM::Element> |
111
|
|
|
|
|
|
|
|
112
|
|
|
|
|
|
|
=head2 behavior |
113
|
|
|
|
|
|
|
|
114
|
|
|
|
|
|
|
This is the HTML attribute that reflects how the text is scrolled within the marquee. Possible values are C<scroll>, C<slide> and C<alternate>. If no value is specified, the default value is C<scroll>. |
115
|
|
|
|
|
|
|
|
116
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/behavior> |
117
|
|
|
|
|
|
|
|
118
|
|
|
|
|
|
|
=head2 bgColor |
119
|
|
|
|
|
|
|
|
120
|
|
|
|
|
|
|
This is the HTML attribute that reflects the background color through color name or hexadecimal value. |
121
|
|
|
|
|
|
|
|
122
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/bgColor> |
123
|
|
|
|
|
|
|
|
124
|
|
|
|
|
|
|
=head2 direction |
125
|
|
|
|
|
|
|
|
126
|
|
|
|
|
|
|
This is the HTML attribute that reflects the direction of the scrolling within the marquee. Possible values are C<left>, C<right>, C<up> and C<down>. If no value is specified, the default value is C<left>. |
127
|
|
|
|
|
|
|
|
128
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/direction> |
129
|
|
|
|
|
|
|
|
130
|
|
|
|
|
|
|
=head2 height |
131
|
|
|
|
|
|
|
|
132
|
|
|
|
|
|
|
This is the HTML attribute that reflects the height in pixels or percentage value. |
133
|
|
|
|
|
|
|
|
134
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/height> |
135
|
|
|
|
|
|
|
|
136
|
|
|
|
|
|
|
=head2 hspace |
137
|
|
|
|
|
|
|
|
138
|
|
|
|
|
|
|
This is the HTML attribute that reflects the horizontal margin. |
139
|
|
|
|
|
|
|
|
140
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/hspace> |
141
|
|
|
|
|
|
|
|
142
|
|
|
|
|
|
|
=head2 loop |
143
|
|
|
|
|
|
|
|
144
|
|
|
|
|
|
|
This is the HTML attribute that reflects the number of times the marquee will scroll. If no value is specified, the default value is C<undef> (C<−1> under JavaScript), which means the marquee will scroll continuously. |
145
|
|
|
|
|
|
|
|
146
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/loop> |
147
|
|
|
|
|
|
|
|
148
|
|
|
|
|
|
|
=head2 scrollAmount |
149
|
|
|
|
|
|
|
|
150
|
|
|
|
|
|
|
This is the HTML attribute that reflects the amount of scrolling at each interval in pixels. The default value is C<6>. |
151
|
|
|
|
|
|
|
|
152
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/scrollAmount> |
153
|
|
|
|
|
|
|
|
154
|
|
|
|
|
|
|
=head2 scrollDelay |
155
|
|
|
|
|
|
|
|
156
|
|
|
|
|
|
|
Sets the interval between each scroll movement in milliseconds. The default value is 85. Note that any value smaller than 60 is ignored and the value 60 is used instead, unless trueSpeed is true. |
157
|
|
|
|
|
|
|
|
158
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/scrollDelay> |
159
|
|
|
|
|
|
|
|
160
|
|
|
|
|
|
|
=head2 trueSpeed |
161
|
|
|
|
|
|
|
|
162
|
|
|
|
|
|
|
This is the HTML attribute that reflects whether to ignore scrollDelay small value. By default, scrollDelay values lower than 60 are ignored. If trueSpeed is true, then those values are not ignored. |
163
|
|
|
|
|
|
|
|
164
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/trueSpeed> |
165
|
|
|
|
|
|
|
|
166
|
|
|
|
|
|
|
=head2 vspace |
167
|
|
|
|
|
|
|
|
168
|
|
|
|
|
|
|
This is the HTML attribute that reflects the vertical margin. |
169
|
|
|
|
|
|
|
|
170
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/vspace> |
171
|
|
|
|
|
|
|
|
172
|
|
|
|
|
|
|
=head2 width |
173
|
|
|
|
|
|
|
|
174
|
|
|
|
|
|
|
This is the HTML attribute that reflects the width in pixels or percentage value. |
175
|
|
|
|
|
|
|
|
176
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/width> |
177
|
|
|
|
|
|
|
|
178
|
|
|
|
|
|
|
=head1 METHODS |
179
|
|
|
|
|
|
|
|
180
|
|
|
|
|
|
|
Inherits methods from its parent L<HTML::Object::DOM::Element> |
181
|
|
|
|
|
|
|
|
182
|
|
|
|
|
|
|
=head2 start |
183
|
|
|
|
|
|
|
|
184
|
|
|
|
|
|
|
Under perl, this does nothing and always returns C<undef> obviously. |
185
|
|
|
|
|
|
|
|
186
|
|
|
|
|
|
|
Under JavaScript, this starts scrolling of the marquee. |
187
|
|
|
|
|
|
|
|
188
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/start> |
189
|
|
|
|
|
|
|
|
190
|
|
|
|
|
|
|
=head2 stop |
191
|
|
|
|
|
|
|
|
192
|
|
|
|
|
|
|
Under perl, this does nothing and always returns C<undef> obviously. |
193
|
|
|
|
|
|
|
|
194
|
|
|
|
|
|
|
Under JavaScript, this stops scrolling of the marquee. |
195
|
|
|
|
|
|
|
|
196
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/stop> |
197
|
|
|
|
|
|
|
|
198
|
|
|
|
|
|
|
=head1 EVENT HANDLERS |
199
|
|
|
|
|
|
|
|
200
|
|
|
|
|
|
|
None of the following events are fired automatically under perl, obviously, but you can trigger them yourself. |
201
|
|
|
|
|
|
|
|
202
|
|
|
|
|
|
|
=head2 onbounce |
203
|
|
|
|
|
|
|
|
204
|
|
|
|
|
|
|
Fires when the marquee has reached the end of its scroll position. It can only fire when the behavior attribute is set to alternate. |
205
|
|
|
|
|
|
|
|
206
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/onbounce> |
207
|
|
|
|
|
|
|
|
208
|
|
|
|
|
|
|
=head2 onfinish |
209
|
|
|
|
|
|
|
|
210
|
|
|
|
|
|
|
Fires when the marquee has finished the amount of scrolling that is set by the loop attribute. It can only fire when the loop attribute is set to some number that is greater than 0. |
211
|
|
|
|
|
|
|
|
212
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/onfinish> |
213
|
|
|
|
|
|
|
|
214
|
|
|
|
|
|
|
=head2 onstart |
215
|
|
|
|
|
|
|
|
216
|
|
|
|
|
|
|
Fires when the marquee starts scrolling. |
217
|
|
|
|
|
|
|
|
218
|
|
|
|
|
|
|
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement/onstart> |
219
|
|
|
|
|
|
|
|
220
|
|
|
|
|
|
|
=head1 AUTHOR |
221
|
|
|
|
|
|
|
|
222
|
|
|
|
|
|
|
Jacques Deguest E<lt>F<jack@deguest.jp>E<gt> |
223
|
|
|
|
|
|
|
|
224
|
|
|
|
|
|
|
=head1 SEE ALSO |
225
|
|
|
|
|
|
|
|
226
|
|
|
|
|
|
|
L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement>, L<Mozilla documentation on marquee element|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee> |
227
|
|
|
|
|
|
|
|
228
|
|
|
|
|
|
|
=head1 COPYRIGHT & LICENSE |
229
|
|
|
|
|
|
|
|
230
|
|
|
|
|
|
|
Copyright(c) 2022 DEGUEST Pte. Ltd. |
231
|
|
|
|
|
|
|
|
232
|
|
|
|
|
|
|
All rights reserved |
233
|
|
|
|
|
|
|
|
234
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. |
235
|
|
|
|
|
|
|
|
236
|
|
|
|
|
|
|
=cut |