Re: BonoboZoomable - BonoboZoomLevel



Michael Meeks <michael helixcode com> writes:

>         Why do we want to do this ? surely the zoom is expressed as a
> percentage ? I can't see an application for this, and it seems to
> complicate the interface rather, what do you anticipate putting in the    
> label apart from 100%, 200%, 300%, 'default [ should be 1.0 ]' etc. ?    

Hi Michael,

after talking to Maciej in IRC yesterday he convinced me of this as well.
However, we had the idea that there may be some use for descriptive labels,
for instance when you have fractional numbers as zoom levels, a label like
"1:6" looks better for the user than "16.666%".

However, Maciej also convinced me that this should only be done optional,
so a container application can either use this or not.

What about the following ?

===[bonobo-zoomable.idl]===
typedef float ZoomLevel;
typedef string ZoomLevelName;

typedef sequence<ZoomLevel> ZoomLevelList;
typedef sequence<ZoomLevelName> ZoomLevelNameList;
===

===[bonobo-zoomable.h]===
void		 bonobo_zoomable_set_parameters			(BonoboZoomable	*zoomable,
								 float           zoom_level,
								 float		 min_zoom_level,
								 float		 max_zoom_level,
								 gboolean	 has_min_zoom_level,
								 gboolean	 has_max_zoom_level,
								 gboolean	 is_continuous,
								 float          *preferred_zoom_levels,
								 const gchar   **preferred_zoom_level_names,
								 gint		 num_preferred_zoom_levels);

===

===[bonobo-zoomable-frame.h]===
GList		*bonobo_zoomable_frame_get_preferred_zoom_levels	(BonoboZoomableFrame	*zframe);
GList		*bonobo_zoomable_frame_get_preferred_zoom_level_names	(BonoboZoomableFrame	*zframe);
===

Btw. what do you think makes more sense to return for
bonobo_zoomable_frame_get_preferred_zoom_levels() - a GList of float's or
a `float *' together with a `int *count' parameter ?

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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