<div dir="ltr"><div>I've started to add sufficient Javascript support in order for animate.sty latex animations to work.  In my opinion this is quite valuable functionality since I am not aware of any way to make PDF animations that can be displayed in a free software PDF viewer.<br><br></div><div>animate.sty supports 3 modes for generating the animation:<br><br></div><div>1. icon mode: This requires being able to look up an icon (corresponding to the frames of the animation) by name via getIcon, and to change the icon associated with a form widget using buttonSetIcon.  I'm not exactly sure what an icon is, and poppler doesn't seem to support any of these operations, so this method doesn't seem very promising.<br><br></div><div>2. widget-based: This requires being able to change the visibility of a form widget.  Again, poppler doesn't seem to support this, so this method isn't very promising.<br><br></div><div>3. optional content group (ocg)-based: This requires being able to set the visibility of optional content groups.  Poppler does in fact have some (not well-documented) support for this.<br><br>I implemented the necessary Javascript interface for optional content groups, via the QAbstractItemModel interface provided in poppler-optcontent.  I also implemented the necessary Javascript timer functionality.  The result is that animations almost work.  The problem is that Okular doesn't seem to get notified about the visibility changes, so a new frame is only shown if the zoom level is changed to force a redraw.<br><br></div><div>Any advice about how to deal with this redraw problem?<br><br></div><div>The patch implementing these changes (WIP) is attached.  See also example LaTeX file.  Use pdflatex to generate a pdf.  To debug the generated JavaScript, I found it is helpful to copy animate.sty to the local directory, and then edit it to add console.println statements into the generated code.<br><br></div><div>Note: The Javascript code, which should be triggered by page load, doesn't seem to get run until you switch to presentation mode.  To actually see the animation, you have to switch back to regular view mode, and then quickly toggle the zoom level.<br></div><div><br></div></div>