BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
gxklogadjustment.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_LOG_ADJUSTMENT_H__
3 #define __GXK_LOG_ADJUSTMENT_H__
4 
5 #include <gxk/gxkutils.hh>
6 
7 G_BEGIN_DECLS
8 
9 /* --- type macros --- */
10 #define GXK_TYPE_ADAPTER_ADJUSTMENT (gxk_adapter_adjustment_get_type ())
11 #define GXK_ADAPTER_ADJUSTMENT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustment))
12 #define GXK_ADAPTER_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustmentClass))
13 #define GXK_IS_ADAPTER_ADJUSTMENT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_ADAPTER_ADJUSTMENT))
14 #define GXK_IS_ADAPTER_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_ADAPTER_ADJUSTMENT))
15 #define GXK_ADAPTER_ADJUSTMENT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_ADAPTER_ADJUSTMENT, GxkAdapterAdjustmentClass))
16 
17 /* --- structures & typedefs --- */
18 typedef struct _GxkAdapterAdjustment GxkAdapterAdjustment;
19 typedef struct _GxkAdapterAdjustmentClass GxkAdapterAdjustmentClass;
20 typedef enum {
21  GXK_ADAPTER_ADJUSTMENT_CONVERT_TO_CLIENT,
22  GXK_ADAPTER_ADJUSTMENT_CONVERT_FROM_CLIENT,
23  GXK_ADAPTER_ADJUSTMENT_CONVERT_STEP_INCREMENT, /* from client */
24  GXK_ADAPTER_ADJUSTMENT_CONVERT_PAGE_INCREMENT, /* from client */
25  GXK_ADAPTER_ADJUSTMENT_CONVERT_PAGE_SIZE, /* from client */
26 } GxkAdapterAdjustmentConvertType;
27 typedef gdouble (*GxkAdapterAdjustmentFunc) (GxkAdapterAdjustment *self,
28  GxkAdapterAdjustmentConvertType convert_type,
29  gdouble value,
30  gpointer data);
32 {
33  GtkAdjustment parent_instance;
34 
35  guint block_client;
36  GtkAdjustment *client;
37 
38  GxkAdapterAdjustmentFunc conv_func;
39  gpointer data;
40  GDestroyNotify destroy;
41 };
43 {
44  GtkAdjustmentClass parent_class;
45 };
46 
47 /* --- prototypes --- */
48 GType gxk_adapter_adjustment_get_type (void);
49 void gxk_adapter_adjustment_set_client (GxkAdapterAdjustment *self,
50  GtkAdjustment *client);
51 void gxk_adapter_adjustment_setup (GxkAdapterAdjustment *self,
52  GxkAdapterAdjustmentFunc conv_func,
53  gpointer data,
54  GDestroyNotify destroy);
55 GtkAdjustment* gxk_adapter_adjustment_from_adj (GtkAdjustment *client,
56  GxkAdapterAdjustmentFunc conv_func,
57  gpointer data,
58  GDestroyNotify destroy);
59 
60 /* --- type macros --- */
61 #define GXK_TYPE_LOG_ADJUSTMENT (gxk_log_adjustment_get_type ())
62 #define GXK_LOG_ADJUSTMENT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustment))
63 #define GXK_LOG_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustmentClass))
64 #define GXK_IS_LOG_ADJUSTMENT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_LOG_ADJUSTMENT))
65 #define GXK_IS_LOG_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_LOG_ADJUSTMENT))
66 #define GXK_LOG_ADJUSTMENT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_LOG_ADJUSTMENT, GxkLogAdjustmentClass))
67 
68 /* --- structures & typedefs --- */
69 typedef struct _GxkLogAdjustment GxkLogAdjustment;
70 typedef struct _GxkLogAdjustmentClass GxkLogAdjustmentClass;
72 {
73  GtkAdjustment parent_instance;
74 
75  /* settings */
76  gdouble center;
77  gdouble n_steps;
78  gdouble base;
79  GtkAdjustment *client;
80 
81  guint block_client;
82  gdouble base_ln;
83  gdouble llimit;
84  gdouble ulimit;
85 };
87 {
88  GtkAdjustmentClass parent_class;
89 };
90 
91 /* --- prototypes --- */
92 GType gxk_log_adjustment_get_type (void);
93 void gxk_log_adjustment_set_client (GxkLogAdjustment *self,
94  GtkAdjustment *client);
95 GtkAdjustment* gxk_log_adjustment_from_adj (GtkAdjustment *client);
96 void gxk_log_adjustment_setup (GxkLogAdjustment *self,
97  gdouble center,
98  gdouble base,
99  gdouble n_steps);
100 G_END_DECLS
101 
102 #endif /* __GXK_LOG_ADJUSTMENT_H__ */
Definition: gxklogadjustment.hh:86
Definition: gxklogadjustment.hh:31
Definition: gxklogadjustment.hh:71
Definition: gxklogadjustment.hh:42