GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
GtkCurveGtkCurve Позволяет непосредственное редактирование кривой |
#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 виджет имеет три режима операций - сплайн, линейный и свободный. В сплайн режиме пользователь помещает точки в кривую которые автоматически связываются в сглаженную кривую. В линейном режиме пользователь помещает точки в кривую которые связываются между собой прямыми линиями. В свободном режиме пользователь может рисовать точки произвольной кривой и они не связываются между собой вообще.
typedef struct _GtkCurve GtkCurve;Структура GtkCurve содержит только закрытые данные, доступ к которым должен производиться с помощью функций описанных ниже.
gtk_curve_new ()
GtkWidget* gtk_curve_new (void);Создаёт новый GtkCurve.
Возвращает : |
новый GtkCurve. |
void gtk_curve_reset (GtkCurve *curve);Сбрасывает кривую в прямую линию от минимальных значений x и y до максимальных значений x и y (то есть из нижнего-левого в верхний-правый угол). Тип кривой не изменяется.
|
void gtk_curve_set_gamma (GtkCurve *curve,
gfloat gamma_);
Пересчитывает кривую используя полученную
гамму значений. Значение гаммы 1 приведет
к прямой линии. Значения больше чем 1
приводят к искривлению выше прямой.
Значения меньше 1 приводят к искривлению
ниже прямой. Тип кривой изменяется в
GTK_CURVE_TYPE_FREE
. ПОПРАВЬТЕ МЕНЯ: Нужно
более точное определение гаммы.
|
|
|
Значения гаммы. |
void gtk_curve_set_range (GtkCurve *curve,
gfloat min_x,
gfloat max_x,
gfloat min_y,
gfloat max_y);
Устанавливает максимальное и минимальное
значение x и y кривой. Кривая так же
сбрасывается вызовом gtk_curve_reset()
.
|
|
|
Минимальное значение x. |
|
Максимальное значение x. |
|
Минимальное значение y. |
|
Максимальное значение y. |
void gtk_curve_get_vector (GtkCurve *curve,
int veclen,
gfloat vector[]);
Возвращает вектор точек представляющих кривую.
|
|
|
Количество точек для расчета. |
|
Возвращаемые точки. |
void gtk_curve_set_vector (GtkCurve *curve,
int veclen,
gfloat vector[]);
Устанавливает вектор точек в кривую.
Тип кривой устанавливается в
GTK_CURVE_TYPE_FREE
.
|
|
|
Количество точек. |
|
Точки на кривой. |
void gtk_curve_set_curve_type (GtkCurve *curve,
GtkCurveType type);
Устанавливает тип кривой. Кривая остаётся неизменной, исключая случаи когда изменяется от свободной кривой к линейной или сплайн кривой, в этом случае кривая изменяется как можно меньше.
|
|
|
Тип кривой. |
curve-type
""curve-type" GtkCurveType : Read / WriteЯвляется ли линейной кривой, сплайн интерполированной, или свободной формы.
Значение по умолчанию : GTK_CURVE_TYPE_LINEAR
Свойство "
max-x
""max-x" gfloat : Read / WriteМаксимально возможное значение X.
Значение по умолчанию : 1
Свойство "
max-y
""max-y" gfloat : Read / WriteМаксимально возможное значение Y.
Значение по умолчанию : 1
Свойство "
min-x
""min-x" gfloat : Read / WriteМинимально возможное значение X.
Значение по умолчанию : 0
Свойство "
min-y
""min-y" gfloat : Read / WriteМинимально возможное значение Y.
Значение по умолчанию : 0
Детали сигналов
Сигнал "curve-type-changed"
void user_function (GtkCurve *curve, gpointer user_data) : Run first
Издаётся при изменении типа кривой. Тип кривой может изменяться вызовом
gtk_curve_set_curve_type()
. Он так же может изменяться как побочный эффект вызоваgtk_curve_reset()
илиgtk_curve_set_gamma()
.
|
Объект получающий сигнал. |
|
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Подкласс для редактирования гаммы кривой. |