The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkCurve

GtkCurve Позволяет непосредственное редактирование кривой

Краткое описание

#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 виджет имеет три режима операций - сплайн, линейный и свободный. В сплайн режиме пользователь помещает точки в кривую которые автоматически связываются в сглаженную кривую. В линейном режиме пользователь помещает точки в кривую которые связываются между собой прямыми линиями. В свободном режиме пользователь может рисовать точки произвольной кривой и они не связываются между собой вообще.

Детали

GtkCurve

typedef struct _GtkCurve GtkCurve;

Структура GtkCurve содержит только закрытые данные, доступ к которым должен производиться с помощью функций описанных ниже.


gtk_curve_new ()

GtkWidget*  gtk_curve_new                   (void);

Создаёт новый GtkCurve.

Возвращает :

новый GtkCurve.


gtk_curve_reset ()

void        gtk_curve_reset                 (GtkCurve *curve);

Сбрасывает кривую в прямую линию от минимальных значений x и y до максимальных значений x и y (то есть из нижнего-левого в верхний-правый угол). Тип кривой не изменяется.

curve :

GtkCurve.


gtk_curve_set_gamma ()

void        gtk_curve_set_gamma             (GtkCurve *curve,
                                             gfloat gamma_);

Пересчитывает кривую используя полученную гамму значений. Значение гаммы 1 приведет к прямой линии. Значения больше чем 1 приводят к искривлению выше прямой. Значения меньше 1 приводят к искривлению ниже прямой. Тип кривой изменяется в GTK_CURVE_TYPE_FREE. ПОПРАВЬТЕ МЕНЯ: Нужно более точное определение гаммы.

curve :

GtkCurve.

gamma_ :

Значения гаммы.


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_reset().

curve :

GtkCurve.

min_x :

Минимальное значение x.

max_x :

Максимальное значение x.

min_y :

Минимальное значение y.

max_y :

Максимальное значение y.


gtk_curve_get_vector ()

void        gtk_curve_get_vector            (GtkCurve *curve,
                                             int veclen,
                                             gfloat vector[]);

Возвращает вектор точек представляющих кривую.

curve :

GtkCurve.

veclen :

Количество точек для расчета.

vector :

Возвращаемые точки.


gtk_curve_set_vector ()

void        gtk_curve_set_vector            (GtkCurve *curve,
                                             int veclen,
                                             gfloat vector[]);

Устанавливает вектор точек в кривую. Тип кривой устанавливается в GTK_CURVE_TYPE_FREE.

curve :

GtkCurve.

veclen :

Количество точек.

vector :

Точки на кривой.


gtk_curve_set_curve_type ()

void        gtk_curve_set_curve_type        (GtkCurve *curve,
                                             GtkCurveType type);

Устанавливает тип кривой. Кривая остаётся неизменной, исключая случаи когда изменяется от свободной кривой к линейной или сплайн кривой, в этом случае кривая изменяется как можно меньше.

curve :

GtkCurve.

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().

curve :

Объект получающий сигнал.

user_data :

Пользовательские данные устанавливаемые при подключении обработчика сигнала.

Смотрите также

GtkGammaCurve

Подкласс для редактирования гаммы кривой.






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру