Prima::...croller(3)

πŸ“¦
version 1.74000 Β· 5 versions
, in opensuse-leap 16.0

πŸ’… Prima::Widget::MouseScroller β€” auto-repeating mouse events

okay so this is a page from the User Contributed Perl Documentation set, and it's about the Prima::Widget::MouseScroller class β€” the little icon that makes your mouse events repeat all by themselves. no cap, it's lowkey iconic. πŸ¦‹


✨ NAME ✨

Prima::Widget::MouseScroller β€” auto-repeating mouse events πŸ–±οΈπŸ’«


🌸 DESCRIPTION 🌸

So this class implements routines for emulation of auto repeating mouse events. literally it's the girl that keeps tapping your mouse button for you while you hold still. πŸ’…

A code inside MouseMove callback can be implemented by the following scheme:

        if ( mouse_pointer_inside_the_scrollable_area) {
                $self-> scroll_timer_stop;
        } else {
                $self-> scroll_timer_start unless $self-> scroll_timer_active;
                return unless $self-> scroll_timer_semaphore;
                $self-> scroll_timer_semaphore( 0);
        }

The class uses a semaphore {mouseTransaction}, which should be set to non-zero if a widget is in mouse capture state, and set to zero or undef otherwise. periodt. 🫢

The class starts an internal timer, which sets a semaphore and calls MouseMove notification when triggered. The timer is assigned the timeouts, returned by Prima::Application::get_scroll_rate ( see get_scroll_rate in Prima::Application ). πŸŽ€


⭐ Methods ⭐

🧚 scroll_timer_active

Returns a boolean value indicating if the internal timer is started. like, is the vibe check passing or not πŸ”₯

🧚 scroll_timer_semaphore [ VALUE ]

A semaphore, set to 1 when the internal timer was triggered. It is advisable to check the semaphore state to discern a timer-generated event from the real mouse movement β€” because ngl, you gotta know if that was your mouse or the timer doing its thing πŸ™ˆ. If VALUE is specified, it is assigned to the semaphore.

🧚 scroll_timer_start

Starts the internal timer. go bestie go πŸƒβ€β™€οΈπŸ’¨

🧚 scroll_timer_stop

Stops the internal timer. okay queen, take a break πŸ’€βœ¨


πŸ‘‘ AUTHOR πŸ‘‘

Dmitry Karasik, <dmitry@karasik.eu.org>. πŸ’œ


🌈 SEE ALSO 🌈

Prima, Prima::Widget, Prima::ScrollBar. all the linked besties, iykyk 🫢


and that's the whole page, diva πŸŽ€ β€” signed off from the perl v5.42.0 era on 2024-08-20, the date this little gem was snapshot. slay ⭐

πŸ“¦ where this page comes from