Re: xpdf status ... yet another day.




Miguel de Icaza <miguel@gnu.org> wrote:
> > 	  * Fix zooming out resize / draw.
> 
> Ok.  I think we also need to add some size negotiation:
> 
>      1. Component should try to fit on the size we provide to it (and
>         fill all the space).
> 
>      2. Component could suggest a size.

So the way size negotiation is supposed to work is the following:

        1. Container asks component what size it wants (the
	   "size_query" signal is emitted) by the GnomeView).

        2. Container tells component what size it was given
           (The "size_allocate" signal is emitted by the GnomeView's
	    top-level widget (the one you pass to gnome_view_new())).

    The container should be doing that during realization (if that's
not in the current CVS sample-container, it will be).  Then, if the
component needs to request a new size at any later point, it should
call gnome_view_request_resize(), which will pass along the size
request to the View's ViewFrame.  If the ViewFrame acquiesces and
grants the component its requested size, a new "size_allocate" signal
will be emitted by the view's top-level widget.

    Now, how this interoperates with the zoom factor.  The container
can ask the component (often when I say "component," I really mean
"one of the GNOME::View interfaces of a server exporting the
GNOME::Embeddable interface.") to change its current zoom factor.  The
component should change the zoom factor, but in order to accomodate
this change, will probably need to increase its in-place size.  It
should do this with gnome_view_request_resize().

    Note that the whole view-factor thing starts to blur the line
between Bonobo document embedding and Bonobo conrols: Should the
zoom-factor affect printing?  Should it be saved in the compound
document along with the rest of the data?  How do we represent it in a
moniker?

Best,
Nat



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]