diff options
author | Stefano Karapetsas <[email protected]> | 2012-02-22 03:44:27 -0800 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2012-02-22 03:44:27 -0800 |
commit | 2dfe3164d9f195b50e066def8e2a4782b5910c10 (patch) | |
tree | f95660c9462b74c2775355c29df79267fc30501b /plugins/mouse/msd-timeline.h | |
parent | ecd8a153901507f5d210d6f85103693ef81d49c3 (diff) | |
parent | e46b4adef5c6c6805b3ca6dbfbe99a4299252514 (diff) | |
download | mate-settings-daemon-2dfe3164d9f195b50e066def8e2a4782b5910c10.tar.bz2 mate-settings-daemon-2dfe3164d9f195b50e066def8e2a4782b5910c10.tar.xz |
Merge pull request #3 from haxar/master
gsd to msd complete rename patch by NiceandGently
Diffstat (limited to 'plugins/mouse/msd-timeline.h')
-rw-r--r-- | plugins/mouse/msd-timeline.h | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/plugins/mouse/msd-timeline.h b/plugins/mouse/msd-timeline.h new file mode 100644 index 0000000..b8d40ca --- /dev/null +++ b/plugins/mouse/msd-timeline.h @@ -0,0 +1,127 @@ +/* msdtimeline.c + * + * Copyright (C) 2008 Carlos Garnacho <[email protected]> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __MSD_TIMELINE_H__ +#define __MSD_TIMELINE_H__ + +#include <glib-object.h> +#include <gdk/gdk.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define MSD_TYPE_TIMELINE_DIRECTION (msd_timeline_direction_get_type ()) +#define MSD_TYPE_TIMELINE_PROGRESS_TYPE (msd_timeline_progress_type_get_type ()) +#define MSD_TYPE_TIMELINE (msd_timeline_get_type ()) +#define MSD_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MSD_TYPE_TIMELINE, MsdTimeline)) +#define MSD_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MSD_TYPE_TIMELINE, MsdTimelineClass)) +#define MSD_IS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MSD_TYPE_TIMELINE)) +#define MSD_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MSD_TYPE_TIMELINE)) +#define MSD_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MSD_TYPE_TIMELINE, MsdTimelineClass)) + +typedef enum { + MSD_TIMELINE_DIRECTION_FORWARD, + MSD_TIMELINE_DIRECTION_BACKWARD +} MsdTimelineDirection; + +typedef enum { + MSD_TIMELINE_PROGRESS_LINEAR, + MSD_TIMELINE_PROGRESS_SINUSOIDAL, + MSD_TIMELINE_PROGRESS_EXPONENTIAL +} MsdTimelineProgressType; + +typedef struct MsdTimeline MsdTimeline; +typedef struct MsdTimelineClass MsdTimelineClass; + +struct MsdTimeline +{ + GObject parent_instance; +}; + +struct MsdTimelineClass +{ + GObjectClass parent_class; + + void (* started) (MsdTimeline *timeline); + void (* finished) (MsdTimeline *timeline); + void (* paused) (MsdTimeline *timeline); + + void (* frame) (MsdTimeline *timeline, + gdouble progress); + + void (* __msd_reserved1) (void); + void (* __msd_reserved2) (void); + void (* __msd_reserved3) (void); + void (* __msd_reserved4) (void); +}; + +typedef gdouble (*MsdTimelineProgressFunc) (gdouble progress); + + +GType msd_timeline_get_type (void) G_GNUC_CONST; +GType msd_timeline_direction_get_type (void) G_GNUC_CONST; +GType msd_timeline_progress_type_get_type (void) G_GNUC_CONST; + +MsdTimeline *msd_timeline_new (guint duration); +MsdTimeline *msd_timeline_new_for_screen (guint duration, + GdkScreen *screen); + +void msd_timeline_start (MsdTimeline *timeline); +void msd_timeline_pause (MsdTimeline *timeline); +void msd_timeline_rewind (MsdTimeline *timeline); + +gboolean msd_timeline_is_running (MsdTimeline *timeline); + +guint msd_timeline_get_fps (MsdTimeline *timeline); +void msd_timeline_set_fps (MsdTimeline *timeline, + guint fps); + +gboolean msd_timeline_get_loop (MsdTimeline *timeline); +void msd_timeline_set_loop (MsdTimeline *timeline, + gboolean loop); + +guint msd_timeline_get_duration (MsdTimeline *timeline); +void msd_timeline_set_duration (MsdTimeline *timeline, + guint duration); + +GdkScreen *msd_timeline_get_screen (MsdTimeline *timeline); +void msd_timeline_set_screen (MsdTimeline *timeline, + GdkScreen *screen); + +MsdTimelineDirection msd_timeline_get_direction (MsdTimeline *timeline); +void msd_timeline_set_direction (MsdTimeline *timeline, + MsdTimelineDirection direction); + +MsdTimelineProgressType msd_timeline_get_progress_type (MsdTimeline *timeline); +void msd_timeline_set_progress_type (MsdTimeline *timeline, + MsdTimelineProgressType type); +void msd_timeline_get_progress_func (MsdTimeline *timeline); + +void msd_timeline_set_progress_func (MsdTimeline *timeline, + MsdTimelineProgressFunc progress_func); + +gdouble msd_timeline_get_progress (MsdTimeline *timeline); + + +#ifdef __cplusplus +} +#endif + +#endif /* __MSD_TIMELINE_H__ */ |