Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.