Dear All,

The last 2-3 weeks I've been working on the following:

* Pushing the tiled rendering api out via LibLO:
** Initially by painting to an X11 "context" (I.e. the 5+ handles that SystemGraphicsData contains
    on Linux).
*** Was quite horrible, and not at all cross platform. Also results in a background window being shown as we have to use one of the X11 backends for this (and they all show a full
      window for the SalFrame which every document creates...).
** Ported to using bitmap buffer rendering (i.e. using the svp backend), and simply returning
   a pointer to the basebmp BitmapDevice internal buffer.
** Further modified to allow feeding in an arbitrary buffer (going via vcl VirtualDevice-> svp SvpSalVirtualDevice -> basebmp BitmapDevice) -- this is a little finicky as the buffer is liable to be ignored if the VirtualDevice's size is changed at any point -- but seems to
    work fine for now.
** Also added support for setting top-to-bottom rendering direction (svp assumes that the buffers should be painted bottom-to-top, gtk the opposite -- we can now set this freely,
    saving us direct buffer manipulation).

* Moved bitcount->colourspace mapping into a central place for svp, implemented overriding of the defaults. (Previously there was a hardcoded assumption that BGR (or ABGR) was used for 24 (or 32 bit) colours. In our case we need RGB(A) for use in gtk (and similarly for qt AFAICS).) ** We just use 32 bit for now as that already has RGBA/ARGB/ABGR/BGRA implementation, we could quite easily allow the RGB/BGR choice for 24 bit too AFAICS (and allow arbitrary choie via the
     libLO API if appropriate).
** The alpha channel doesn't actually work -- for now I have to manually overwrite it in the tiled rendering app to make the document visible -- still need to dig into this in more detail.

* Miscellaneous reading around calc wrt. where tiled rendering should happen.
* Miscellaneous digging around vcl.

Current work is happening on feature/gtkbmptiledviewer, the app is under instdir/program/gtktiledviewer. (The feature/gtktiledviewer branch is the X11 rendering early version of things.)

(Unfortunately I'm still in the middle of uni. projects for another 1.5 weeks so not fully free yet...)

Cheers,

    Andrzej
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to