Re: Sodipodi can be seen from Gnumeric!




On 18 Apr 2000, Miguel de Icaza wrote:

I think that the most meaningful would be to use BonoboCanvasItem like
BonoboView with transparent background. I.e. it should have clipping box
determined by container - and transforming this box is done by conatiner
app. While activated, the most meaningful beahviour would be, if clipping
box becomes "event-opaque" and forwards all event to containee.

For example: embedding sodipodi SVG into gnumeric
- Gnumeric determines clipping box with its own handles - i.e. we
transform clipping rect relative to master page
- Sodipodi tries to fit its drawing (page) into that clipping rect as well
as possible. If clipping rect is transformed, sodipodi refits its drawing.
- If graphic is activated, the clipping box will forward all events to
sodipodi. Now it is possible to move graphic (or its components) relative
to graphic PAGE (clipping rect).

Components, which can be arbitrarely scaled (some graphs?), can simply
adjust themselves always to requested clipbox.
Components, which cannot, should ask, if parent wishes:
- showing full page
- showing one dimension full, the other partially under border

Just my thoughts,
Lauris

> The next problem to tackle is: Who does the editing?
> 
> 	a. The container provides "editing handles" on selection for
> 	   the bounding box.  
> 
> 	   Pros: easy to hack;
> 	   Cons: This might limit the component features (like, if the
> 	         container does not know how to rotate or skew, the
> 	         feature is not available)
> 
> 	b. The container just passes all events to the embedded object
> 	   while it is active (ie, it disables his own "event" handler
> 	   during this state).
> 
> 	   Pros: Provides all the editing facilities of the embedded
> 	   component.
> 
> 	   Cons: Every shaped component needs to implement editing
> 	   facilities.
> 
> 	   Although this might be fixed by having a "helper" piece of
> 	   code in Bonobo that would provide basic editing to
> 	   shaped objects, something like:
> 
> 		bonobo_canvas_item_make_editable (my_item);
> 
> 	   And it would provide basic editing facilities on the
> 	   object.
> 
> Ideas?
> 
> miguel



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