PhatKnob

PhatKnob —

Synopsis




            PhatKnob;
GtkWidget*  phat_knob_new                   (GtkAdjustment *adjustment);
GtkWidget*  phat_knob_new_with_range        (double value,
                                             double lower,
                                             double upper,
                                             double step);
GtkAdjustment* phat_knob_get_adjustment     (PhatKnob *knob);
double      phat_knob_get_value             (PhatKnob *knob);
void        phat_knob_set_value             (PhatKnob *knob,
                                             double value);
void        phat_knob_set_range             (PhatKnob *knob,
                                             double lower,
                                             double upper);
void        phat_knob_set_update_policy     (PhatKnob *knob,
                                             GtkUpdateType policy);
void        phat_knob_set_adjustment        (PhatKnob *knob,
                                             GtkAdjustment *adjustment);
void        phat_knob_set_log               (PhatKnob *knob,
                                             gboolean is_log);
gboolean    phat_knob_is_log                (PhatKnob *knob);

Description

Details

PhatKnob

typedef struct {
    GtkWidget widget;
    /* The adjustment object that stores the data for this knob */
    GtkAdjustment *adjustment;
    GtkAdjustment* adjustment_prv;


    /* update policy (GTK_UPDATE_[CONTINUOUS/DELAYED/DISCONTINUOUS]) */
    guint policy : 2;
    gboolean is_log;

    /* State of widget (to do with user interaction) */
    guint8 state;
    gint saved_x, saved_y;

    /* ID of update timer, or 0 if none */
    guint32 timer;

    /* Pixmap for knob */
    GdkPixbuf *pixbuf;
    GdkBitmap *mask;
    GdkGC *mask_gc;
    GdkGC *red_gc;

    /* Old values from adjustment stored so we know when something changes */
    gfloat old_value;
    gfloat old_lower;
    gfloat old_upper;
} PhatKnob;


phat_knob_new ()

GtkWidget*  phat_knob_new                   (GtkAdjustment *adjustment);

adjustment :
Returns :

phat_knob_new_with_range ()

GtkWidget*  phat_knob_new_with_range        (double value,
                                             double lower,
                                             double upper,
                                             double step);

Creates a new PhatKnob. The knob will create a new GtkAdjustment from value, lower, upper, and step. If these parameters represent a bogus configuration, the program will terminate.

value : the initial value the new knob should have
lower : the lowest value the new knob will allow
upper : the highest value the new knob will allow
step : increment added or subtracted when turning
Returns : a newly created PhatKnob

phat_knob_get_adjustment ()

GtkAdjustment* phat_knob_get_adjustment     (PhatKnob *knob);

knob :
Returns :

phat_knob_get_value ()

double      phat_knob_get_value             (PhatKnob *knob);

Retrieves the current value of the knob.

knob : a PhatKnob
Returns : current value of the knob

phat_knob_set_value ()

void        phat_knob_set_value             (PhatKnob *knob,
                                             double value);

Sets the current value of the knob. If the value is outside the range of values allowed by knob, it will be clamped. The knob emits the "value-changed" signal if the value changes.

knob : a PhatKnob
value : a new value for the knob

phat_knob_set_range ()

void        phat_knob_set_range             (PhatKnob *knob,
                                             double lower,
                                             double upper);

Sets the range of allowable values for the knob, and clamps the knob's current value to be between lower and upper.

knob : a PhatKnob
lower : lowest allowable value
upper : highest allowable value

phat_knob_set_update_policy ()

void        phat_knob_set_update_policy     (PhatKnob *knob,
                                             GtkUpdateType policy);

knob :
policy :

phat_knob_set_adjustment ()

void        phat_knob_set_adjustment        (PhatKnob *knob,
                                             GtkAdjustment *adjustment);

knob :
adjustment :

phat_knob_set_log ()

void        phat_knob_set_log               (PhatKnob *knob,
                                             gboolean is_log);

knob :
is_log :

phat_knob_is_log ()

gboolean    phat_knob_is_log                (PhatKnob *knob);

knob :
Returns :