краткое описание#include <gtk/gtk.h> gtkcurve; gtkwidget* gtk_curve_new (void); void gtk_curve_reset (gtkcurve *curve); void gtk_curve_set_gamma (gtkcurve *curve, gfloat gamma_); void gtk_curve_set_range (gtkcurve *curve, gfloat min_x, gfloat max_x, gfloat min_y, gfloat max_y); void gtk_curve_get_vector (gtkcurve *curve, int veclen, gfloat vector[]); void gtk_curve_set_vector (gtkcurve *curve, int veclen, gfloat vector[]); void gtk_curve_set_curve_type (gtkcurve *curve, gtkcurvetype type); иерархия объектовgobject +----ginitiallyunowned +----gtkobject +----gtkwidget +----gtkdrawingarea +----gtkcurve осуществляемые интерфейсыgtkcurve осуществляет atkimplementoriface. свойства"curve-type" gtkcurvetype : read / write "max-x" gfloat : read / write "max-y" gfloat : read / write "min-x" gfloat : read / write "min-y" gfloat : read / write сигналы"curve-type-changed" void user_function (gtkcurve *curve, gpointer user_data) : run first описаниепомнитеэтот виджет рассматривается как специализированный/мало-используемый для gtk+, и в будущем будет перемещен в другой пакет. если ваше приложение нуждается в этом виджете, спокойно используйте его, поскольку он действительно работает и полезен для некоторых приложений. однако, мы не принимает новые свойства для виджета и он в конце концов будет перемещен из дистрибутива gtk+. gtkcurve виджет позволяет пользователю редактировать диапазон значений используя кривую. он обычно используется для настройки цветового баланса в графических приложениях таких как gimp. gtkcurve виджет имеет три режима операций - сплайн, линейный и свободный. в сплайн режиме пользователь помещает точки в кривую которые автоматически связываются в сглаженную кривую. в линейном режиме пользователь помещает точки в кривую которые связываются между собой прямыми линиями. в свободном режиме пользователь может рисовать точки произвольной кривой и они не связываются между собой вообще. деталиgtkcurvetypedef struct _gtkcurve gtkcurve; структура gtkcurve содержит только закрытые данные, доступ к которым должен производиться с помощью функций описанных ниже. gtk_curve_new ()gtkwidget* gtk_curve_new (void); создаёт новый gtkcurve.
gtk_curve_reset ()void gtk_curve_reset (gtkcurve *curve); сбрасывает кривую в прямую линию от минимальных значений x и y до максимальных значений x и y (то есть из нижнего-левого в верхний-правый угол). тип кривой не изменяется.
gtk_curve_set_gamma ()void gtk_curve_set_gamma (gtkcurve *curve, gfloat gamma_);
пересчитывает кривую используя полученную
гамму значений. значение гаммы 1 приведет
к прямой линии. значения больше чем 1
приводят к искривлению выше прямой.
значения меньше 1 приводят к искривлению
ниже прямой. тип кривой изменяется в
gtk_curve_set_range ()void gtk_curve_set_range (gtkcurve *curve, gfloat min_x, gfloat max_x, gfloat min_y, gfloat max_y);
устанавливает максимальное и минимальное
значение x и y кривой. кривая так же
сбрасывается вызовом
gtk_curve_get_vector ()void gtk_curve_get_vector (gtkcurve *curve, int veclen, gfloat vector[]); возвращает вектор точек представляющих кривую.
gtk_curve_set_vector ()void gtk_curve_set_vector (gtkcurve *curve, int veclen, gfloat vector[]);
устанавливает вектор точек в кривую.
тип кривой устанавливается в
gtk_curve_set_curve_type ()void gtk_curve_set_curve_type (gtkcurve *curve, gtkcurvetype type); устанавливает тип кривой. кривая остаётся неизменной, исключая случаи когда изменяется от свободной кривой к линейной или сплайн кривой, в этом случае кривая изменяется как можно меньше.
детали свойствсвойство "
|
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
подкласс для редактирования гаммы кривой. |