Re: Like to implement GR_Image * m_pBackingImage in FV_View

From: <msevior_at_physics.unimelb.edu.au>
Date: Thu May 03 2007 - 01:09:22 CEST

>
> On 5/2/07, msevior@physics.unimelb.edu.au
> <msevior@physics.unimelb.edu.au> wrote:
>>
>> Hi everyone,
>> I'd like to implement a new member variable for FV_View.
>> It's
>> a GR_Image * m_pBackingImage. It's a pointer to an image of
>> the currently drawn page. FV_View will own the image and is
>> responsible for deleting it.
>>
>> The idea is that if m_pBackingImage is ever non-NULL it is drawn
>> wheneveer
>> the FV_View::Draw(..) methods are called. This will enable the regular
>> expose methods to work if we are doing fancy page animations. Expose
>> events are generated from context menu's during a presentation. In this
>> case a clip is set over the expose area and the image in the rectangle
>> is
>> blitted to the screen.
>>
>> We may also use m_pBackingImage for visual drag of images and text
>> instead
>> of doing a page redraw. It should be substantially faster and so give
>> better results. However the main use and immediate use is to handle
>> expose
>> events from whole page drawings.
>>
>> What people's opinions?
>
> Hi Martin,
>
> not sure I understand correctly, but maybe it would be possible to
> create a "save-under" on demand using gdk_pixbuf_get_from_drawable()
> [1] and win32/osx counterparts?
> This is a technique also employed by xservers (depending on
> configuration), AFAIK.
>
> For the VDND case the "save-under" might be the whole visible area,
> would that work out?
>
> [1]
>

Hi Rob,
       This is essentially how I'll make the image. In order to keep the
rest of AbiWord consistent I need to save that image somewhere. The
easiest way of doing that is m_pBackingImage.

The trick with visual dragging of images and text can be done with pure XP
code once m_pBackingImage is in place.

Cheers

Martin

http://developer.gnome.org/doc/API/2.0/gdk/gdk-Pixbufs.html#gdk-pixbuf-get-from-drawable
>
> - Rob
>
Received on Thu May 3 01:08:31 2007

This archive was generated by hypermail 2.1.8 : Thu May 03 2007 - 01:08:31 CEST