BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxklogadjustment.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __GXK_LOG_ADJUSTMENT_H__
00003 #define __GXK_LOG_ADJUSTMENT_H__
00004 
00005 #include <gxk/gxkutils.hh>
00006 
00007 G_BEGIN_DECLS
00008 
00009 /* --- type macros --- */
00010 #define GXK_TYPE_ADAPTER_ADJUSTMENT              (gxk_adapter_adjustment_get_type ())
00011 #define GXK_ADAPTER_ADJUSTMENT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustment))
00012 #define GXK_ADAPTER_ADJUSTMENT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustmentClass))
00013 #define GXK_IS_ADAPTER_ADJUSTMENT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_ADAPTER_ADJUSTMENT))
00014 #define GXK_IS_ADAPTER_ADJUSTMENT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_ADAPTER_ADJUSTMENT))
00015 #define GXK_ADAPTER_ADJUSTMENT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustmentClass))
00016 
00017 /* --- structures & typedefs --- */
00018 typedef struct  _GxkAdapterAdjustment                GxkAdapterAdjustment;
00019 typedef struct  _GxkAdapterAdjustmentClass           GxkAdapterAdjustmentClass;
00020 typedef enum {
00021   GXK_ADAPTER_ADJUSTMENT_CONVERT_TO_CLIENT,
00022   GXK_ADAPTER_ADJUSTMENT_CONVERT_FROM_CLIENT,
00023   GXK_ADAPTER_ADJUSTMENT_CONVERT_STEP_INCREMENT, /* from client */
00024   GXK_ADAPTER_ADJUSTMENT_CONVERT_PAGE_INCREMENT, /* from client */
00025   GXK_ADAPTER_ADJUSTMENT_CONVERT_PAGE_SIZE,      /* from client */
00026 } GxkAdapterAdjustmentConvertType;
00027 typedef gdouble (*GxkAdapterAdjustmentFunc) (GxkAdapterAdjustment           *self,
00028                                              GxkAdapterAdjustmentConvertType convert_type,
00029                                              gdouble                           value,
00030                                              gpointer                          data);
00031 struct _GxkAdapterAdjustment
00032 {
00033   GtkAdjustment              parent_instance;
00034 
00035   guint                      block_client;
00036   GtkAdjustment             *client;
00037 
00038   GxkAdapterAdjustmentFunc conv_func;
00039   gpointer                   data;
00040   GDestroyNotify             destroy;
00041 };
00042 struct _GxkAdapterAdjustmentClass
00043 {
00044   GtkAdjustmentClass parent_class;
00045 };
00046 
00047 /* --- prototypes --- */
00048 GType          gxk_adapter_adjustment_get_type   (void);
00049 void           gxk_adapter_adjustment_set_client (GxkAdapterAdjustment          *self,
00050                                                   GtkAdjustment                 *client);
00051 void           gxk_adapter_adjustment_setup      (GxkAdapterAdjustment          *self,
00052                                                   GxkAdapterAdjustmentFunc       conv_func,
00053                                                   gpointer                       data,
00054                                                   GDestroyNotify                 destroy);
00055 GtkAdjustment* gxk_adapter_adjustment_from_adj   (GtkAdjustment                 *client,
00056                                                   GxkAdapterAdjustmentFunc       conv_func,
00057                                                   gpointer                       data,
00058                                                   GDestroyNotify                 destroy);
00059 
00060 /* --- type macros --- */
00061 #define GXK_TYPE_LOG_ADJUSTMENT              (gxk_log_adjustment_get_type ())
00062 #define GXK_LOG_ADJUSTMENT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustment))
00063 #define GXK_LOG_ADJUSTMENT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustmentClass))
00064 #define GXK_IS_LOG_ADJUSTMENT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_LOG_ADJUSTMENT))
00065 #define GXK_IS_LOG_ADJUSTMENT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_LOG_ADJUSTMENT))
00066 #define GXK_LOG_ADJUSTMENT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustmentClass))
00067 
00068 /* --- structures & typedefs --- */
00069 typedef struct  _GxkLogAdjustment       GxkLogAdjustment;
00070 typedef struct  _GxkLogAdjustmentClass  GxkLogAdjustmentClass;
00071 struct _GxkLogAdjustment
00072 {
00073   GtkAdjustment parent_instance;
00074 
00075   /* settings */
00076   gdouble        center;
00077   gdouble        n_steps;
00078   gdouble        base;
00079   GtkAdjustment *client;
00080 
00081   guint          block_client;
00082   gdouble        base_ln;
00083   gdouble        llimit;
00084   gdouble        ulimit;
00085 };
00086 struct _GxkLogAdjustmentClass
00087 {
00088   GtkAdjustmentClass parent_class;
00089 };
00090 
00091 /* --- prototypes --- */
00092 GType          gxk_log_adjustment_get_type   (void);
00093 void           gxk_log_adjustment_set_client (GxkLogAdjustment *self,
00094                                               GtkAdjustment    *client);
00095 GtkAdjustment* gxk_log_adjustment_from_adj   (GtkAdjustment    *client);
00096 void           gxk_log_adjustment_setup      (GxkLogAdjustment *self,
00097                                               gdouble           center,
00098                                               gdouble           base,
00099                                               gdouble           n_steps);
00100 G_END_DECLS
00101 
00102 #endif /* __GXK_LOG_ADJUSTMENT_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines