Proposal of a Bonobo::Zoomable interface
- From: Martin Baulig <martin home-of-linux org>
- To: gnome-components-list gnome org
- Subject: Proposal of a Bonobo::Zoomable interface
- Date: 26 Sep 2000 17:14:09 +0200
Hi guys,
since CVS is down this afternoon I made up my mind about
zooming a bit.
Currently, there is no good zooming interface in Bonobo.
I mean, there is this "set_zoom_level" signal on a BonoboView,
but there is no way for a container application to
a) find out whether a component supports zooming
b) ask the component for its current zoom factor
c) ask the component about its zooming capabilities, for instance
if it has a minimum/maximum zoom factor, if it only supports
fixed zoom levels etc.
The Nautilus folks solved this problem with their Nautilus::Zoomable
interface and I think it would be nice to have something similar to
it in Bonobo:
====
module Bonobo {
typedef double ZoomLevel;
typedef sequence<ZoomLevel> ZoomLevelList;
interface Zoomable : Bonobo::Unknown {
/* Set this attribute to make the thing zoom. */
attribute double zoom_level;
/* Information about the type of zooming that's supported. */
readonly attribute double min_zoom_level;
readonly attribute double max_zoom_level;
readonly attribute boolean has_min_zoom_level;
readonly attribute boolean has_max_zoom_level;
readonly attribute boolean is_continuous;
readonly attribute ZoomLevelList preferred_zoom_levels;
/* High level operations.
* These can cause a change in the zoom level.
* The zoomable itself must decide what the concepts
* "one level in", "one level out", and "to fit" mean.
*/
oneway void zoom_in ();
oneway void zoom_out ();
oneway void zoom_to_fit ();
};
};
====
This is basically copied from Nautilus::Zoomable, but I added a way to
find out whether there is a minimum/maximum zoom level (`has_min_zoom_level').
How do you like this ?
--
Martin Baulig
martin gnome org (private)
baulig suse de (work)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]