BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
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__ */