[GSoC] Integrate LO with GNOME - WR#7

Michael Meeks michael.meeks at collabora.com
Wed Jul 15 12:48:28 PDT 2015


Hi Pranav,

On Wed, 2015-07-15 at 23:48 +0530, Pranav Kant wrote:
> One important function that I am still not able to call in separate
> thread is drawing the tiles on the screen. The gtk passes the cairo
> contexts whenever 'draw' signal is emitted. The drawing works fine if
> I use this cairo contexts in a synchronous way, 

	Ho hum =) this is not possible. The Cairo context is (by design) only
live for the scope of the 'draw' signal - this is a feature heavily tied
to double buffering, and the gtk+ rendering infrastructure and it is a
'good thing' (TM) =)

	I would recommend instead rendering the tile content asynchronously,
and if we have no tile rendering something else ;-) ( a scaled version
of what was there, or a white background).

	LibreOffice can render its tiles asynchronously rather nicely - and
when they show up - just call the gtk+ equivalent of invalidate:
gtk_widget_queue_draw_area() and in a few microseconds you should get
the callback with the cairo context that you want =)

	Hope that helps ! =)

	ATB,

		Michael.

-- 
 michael.meeks at collabora.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list