GNOME Bugzilla – Bug 308637
[PATCH] Impress slides support
Last modified: 2006-07-10 21:03:25 UTC
This patch implements an OO.o Impress slides renderer, using code from imposter-ng (http://imposter.sourceforge.net/ but with the drawing backend split from the renderer). In the future it would be better to draw everything to a cairo surface, and push that as a pixbuf rather than have to do the rendering in the main thread. Speed is more than decent even with complicated slides.
Created attachment 48150 [details] [review] evince-impress-support-2.patch Most of the files can be updated as long as imposter-ng is checked out in the same directory as evince, and "make regenerate-built-sources" is run inside the impress/ subdirectory.
Thanks for good work. How usage of imposter is related to libpresent library from gnome-office suite? Can libpresent handle such mime-type? How it's related to http://bugzilla.gnome.org/show_bug.cgi?id=304216
You would have to ask Marc that.
Right now libpresent is ppt only... and in early stage, it doesn't display pictures and annimations as far as I can tell. Perhaps it would make sense for present and imposer to merge as a freedesktop (or even gnomeoffice, if glib/gtk usage is disired) project to build a general purpose presentation library?
Sorry for the delay... could you please mail evince-list@gnome.org proposing the new backend? That's how usually we decide about these...
libpresent does handle images. It doesn't currently handle things on master slides, so backgrounds often don't work.
Created attachment 49472 [details] [review] evince-impress-support-3.patch Updated impress-ng checkout (better text rendering, but seems to be causing a few crashes) Updated to current CVS HEAD layout, and APIs.
Created attachment 52661 [details] [review] evince-impress-support-5.patch Updated to current CVS again.
Created attachment 58586 [details] [review] evince-impress-support-6.patch Updated to the current CVS again
Thanks a lot Bastien and sorry for so long delay. I think we should just proceed and commit this patch. Unfortunately I am not sure if we are in feature freeze now. But anyhow interface shouldn't change much, so we'll be happy to commit it after release.
Can this go in now?
This piece of code should really be using cairo to do the drawing (right now it's done on an offscreen GdkDrawingArea and copied to the screen), to avoid crap look at higher resolutions. Whether it's "good enough" to go in is Nickolay's call. It's stable enough, just not that pretty.
Applied, thanks a lot Bastien.