Project

General

Profile

Bug #2858

implement support for animated mouse cursors

Added by Igor Skornyakov over 8 years ago. Updated over 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

Related issues

Related to User Interface - Feature #2565: implement runtime support for the SET-WAIT-STATE method Closed

History

#1 Updated by Igor Skornyakov over 8 years ago

Progress supports animated custom mouse cursors defined via .ani files (see http://www.gdgsoft.com/anituner/help/aniformat.htm). This file is essentially a sequence of cursor shapes with some additional metadata.

To implement animation in Java a dedicated thread is required (see e.g. http://www.informit.com/articles/article.aspx?p=1187852). I would suggest using single thread executor with a bounded queue to simplify switching between different animated cursors.

Please note that the Runnable submitted to this executor should be ready for stop (when the cursor shape is changed to a non-animated one) and switch to another animated cursor on the fly within the same component. Changing the component seems to be better to implement as a stop of the task and submitting another task.

Please remember that SET-WAIT-STATE() method also accepts animated cursor as an argument.

#2 Updated by Greg Shah over 8 years ago

  • Start date deleted (11/19/2015)
  • Parent task deleted (#2565)

Moving this task to be separate from #2565.

#3 Updated by Greg Shah over 8 years ago

  • Subject changed from Implement mouse cursor animation to implement support for animated mouse cursors

For some other details please see #2565-57.

This must work for both Swing GUI and javascript GUI. For that to happen, the cursor animation will have to be implemented at the driver level. We will not be able to implement a generic Java threading solution in common code because it would have terrible performance characteristics when the actual cursor changes must be managed in the remote javascript implementation. This suggests that we should implement a new interface in the GUI driver for registering an animated cursor. We should load/preprocess the animated cursor in common Java code and then call this method. This registration would have the in-memory cursor images, details on the widget over which this is being animated, animation timing and any other needed factors to execute this animation. The JS side has good timer/callback facilities but we will have to deal with the activation/deactiviation of the animation in a different way than in Java.

#4 Updated by Greg Shah over 8 years ago

Does the metadata in the .ani file include the timing or interval used for the animation?

#5 Updated by Igor Skornyakov over 8 years ago

Greg Shah wrote:

Does the metadata in the .ani file include the timing or interval used for the animation?

Yes. it does.

Also available in: Atom PDF