Статьи:

Профиль:

Классы контроллеров VST GUI 2.2 – часть 4


Давайте продолжим описание классов и методов, с помощью которых можно не только создать, но и красиво оформить внешний интерфейс вашего ВСТ плагина. Как обычно зелёным выделены классы, оранжевым методы, синим — код.

CAnimKnob

#include <vstcontrols.h>class CAnimKnob : public CKnob ;

Данный класс описывает объекты, идентичные стандартным кнопкам, однако есть и небольшое различие — работа с фоновыми изображениями производится исходя из анимации, каждый кадр которой соответствует определённому состоянию кнопки.

CAnimKnob

CAnimKnob (CRect &size, CControlListener *listener, long tag, long subpixmaps, long heightOfOneImage, CBitmap *handle, CPoint &offset);

Метод используется для создания анимационной кнопки.

Оглавление
Часть 1
Часть 2
Часть 3 — Контроллеры
Часть 4 — Контроллеры
size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
subpixmaps Колличество изображений/кадров в анимации.
heightOfOneImage Высота кадра в пикселях.
handle Файл, карта изображений, содержащий изображения.
offset Офсет — вырезание определённой части изображения.

Исходный код.

~CAnimKnob

~CAnimKnob ();

Удаление кнопки. Изображение также будет удалено если оно не используется другими объектами.

draw

void draw (CDrawContext* pContext);

Данный метод запрашивается когда надо (заново) прорисовать контроллер.

setInverseBitmap

void setInverseBitmap (bool val);

Задать ПРАВДУ если Вы хотите обратить показ анимации.

CVerticalSwitch

#include <vstcontrols.h>

class CVerticalSwitch : public CControl;

Данный класс описывает переключатель с определённым колличеством позиций, текущей позицией, предыдущей позицией ручки. Каждая из позиций переключателя ассоциируется со своим изображением.

COptionMenu

CVerticalSwitch ( CRect &size, CControlListener *listener, long tag, long subpixmaps, long heightOfOneImage, long iMaxPositions, CBitmap *handle, CPoint &offset);

Метод используется для создания вертикального переключателя с определённым колличеством позиций ручки.

size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
subpixmaps Колличество изображений/кадров в анимации.
heightOfOneImage Высота кадра в пикселях.
iMaxPositions
handle Файл, карта изображений, содержащий все изображения.
offset Офсет — вырезание определённой части изображения.

Пример:

myPixmap = new CPixmap (kMyPixmapID);
CRect size (
    kMySwitch_left,
    kMySwitch_top,
    kMySwitch_left + myPixmap->getWidth (),
    kMySwitch_top + myPixmap->getHeight ()
        / kNumSubPixmaps
);
CPoint offset (0,0);
mySwitch = new CVerticalSwitch (
    size,
    this,
    kMyParameter,
    kNumSubPixmaps,
    myPixmap->getHeight () / kNumSubPixmaps,
    kNumSubPixmaps,
    myPixmap,
    offset
);
frame->addView (mySwitch);

~CVerticalSwitch

~CVerticalSwitch ();

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

draw

void draw (CDrawContext*);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши. Смотри также метод valueChanged класса CControlListener, который запрашивается в случае изменения значения определённого контроллера.

CHorizontalSwitch

#include <vstcontrols.h>

class CHorizontalSwitch : public CControl;

Данный метод такой же как и предыдущий, но предназначен для создания горизонтальных переключателей. Давайте рассмотрим и его методы.

CHorizontalSwitch

CHorizontalSwitch ( CRect &size, CControlListener *listener, long tag, long subpixmaps, long heightOfOneImage, long iMaxPositions, CBitmap *handle, CPoint &offset);

Создаёт горизонтальный переключатель.

size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
subpixmaps Колличество изображений/кадров в анимации.
heightOfOneImage Высота кадра в пикселях.
iMaxPositions
handle Файл, карта изображений, содержащий все изображения.
offset Офсет — вырезание определённой части изображения.

Исходный код.

~CHorizontalSwitch

~CHorizontalSwitch ();

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

draw

void draw (CDrawContext*);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши. Смотри также метод valueChanged класса CControlListener, который запрашивается в случае изменения значения определённого контроллера.

CRockerSwitch

#include <vstcontrols.h>

class CRockerSwitch : public CControl;

Класс описывает тумблеры, переключатели с тремя положениями: переключатель отобажён, переключатель в режиме «вкл», переключатель в режиме «выкл». Как Вы понимаете, каждому состоянию переключателя соответствует своё изображение.

CRockerSwitch

CRockerSwitch (CRect &size, CControlListener *listener, long tag, long heightOfOneImage, CBitmap *handle, CPoint &offset, long style = kHorizontal);

Создание тумблерного переключателя.

Исходный код.

~CRockerSwitch

~CRockerSwitch ();

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

draw

void draw (CDrawContext*);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши.

onWheel

void onWheel (CDrawContext*context, CPoint &where, float distance);

Изменение состояния переключателя с помощью колёсика мышки.

CMovieBitmap

#include <vstcontrols.h>class CMovieBitmap : public CControl;
Данный класс позволяет отображать анимацию, показывать по необходимости определённые кадры.

CMovieBitmap

CMovieBitmap ( CRect &size, CControlListener *listener, long tag, long subpixmaps, long heightOfOneImage, CBitmap *handle, CPoint &offset);

Создание анимации с заданным размером и колличеством кадров.

size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
subpixmaps Колличество изображений/кадров в анимации.
heightOfOneImage Высота кадра в пикселях.
handle Файл, карта изображений, содержащий все изображения.
offset Офсет — вырезание определённой части изображения.

Исходный код.

Пример:

MyEditor::open (void *ptr)
{
    myPixmap = new CBitmap (kMyPixmapID);

    CPoint offset (0,0);
    CRect size (
        kMyControl_left,
        kMyControl_top,
        kMyControl_left + myPixmap->getWidth (),
        kMyControl_top + myPixmap->getHeight ()
            / kNumSubPixmaps
    );
    myControl = new CMovieBitmap (
        size,
        this,
        kMyControl,
        kNumSubPixmaps,
        myPixmap->getHeight () / kNumSubPixmaps,
        myPixmap,
        offset
    );
    frame->addView (myControl);
}

~CMovieBitmap

~CMovieBitmap ();

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

draw

void draw (CDrawContext*);

Запрашивается по мере необходимости заново прорисовать объект.

CMovieButton

#include <vstcontrols.h>

class CMovieButton : public CControl;

Тумблер-кнопка, имеющая только два состояния: включено/выключено. Соответственно в карте изображений имеется два изображения, каждое из которых соответствует определённому состоянию кнопки.

CMovieButton

CMovieButton (CRect &size, CControlListener *listener, long tag, long heightOfOneImage, CBitmap *handle, CPoint &offset);

Создаёт анимационную кнопку

size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
heightOfOneImage Высота кадра в пикселях.
handle Файл, карта изображений, содержащий все изображения.
offset Офсет — вырезание определённой части изображения.

Исходный код.

~CMovieButton

~CMovieButton ();

Удаление объекта «анимационная кнопка». Карта изображений также удаляется если больше не используется другими объектами.

draw

void draw (CDrawContext*);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши.

CAutoAnimation

#include <vstcontrols.h>

class CAutoAnimation : public CControl;

Контроллер с включённой автоматической анимацией, содержащей определённое колличество кадров, отображаемых по циклу.

CAutoAnimation

CAutoAnimation ( CRect &size, CControlListener *listener, long tag, long subPixmaps, long heightOfOneImage, CBitmap *handle, CPoint &offset);

Создание автоматической анимации.

size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
tag Тэг — метка, с помощью которой производится идентификация контроллера.
subpixmaps Колличество изображений/кадров в анимации.
heightOfOneImage Высота кадра в пикселях.
handle Файл, карта изображений, содержащий все изображения.
offset Офсет — вырезание определённой части изображения.

Исходный код.

~CAutoAnimation

~CAutoAnimation();

Удаление объекта «автоматическая анимация». Карта изображений также удаляется в случае если она больше не используется.

draw

void draw (CDrawContext*);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши.

openWindow

void openWindow (void);

Виртуальное открытие окна с целью начала процесса анимации.

closeWindow

void closeWindow (void);

Виртуальное закрытие окна с целью остановки анимации.

nextPixmap

void nextPixmap (void);

Увеличение значения с целью получить/перейти к следующей карте изображений.

previousPixmap

void previousPixmap (void);

Уменьшение значения с целью получить/перейти к предыдущей карте изображений.

isWindowOpened

bool isWindowOpened ();

Возвращает ПРАВДУ если анимация открыта, иначе возвращает ЛОЖЬ.

CSlider

#include <vstcontrols.h>class CSlider : public CControl;
Описывает регулятор, его фоновое изображение и изображение ручки. Диапазон вариации ручки также может быть задан. По умолчанию ручка прорисовывается в прозрачном режиме (прозрачный цвет — белый).
Обратите также внимание на следующие методы:

  • CHorizontalSlider
  • CVerticalSlider

CSlider

CSlider (CRect &size, CControlListener *listener, long tag, int iMinPos, int iMaxPos, CBitmap *handle, CBitmap *bk, CPoint &offset, long style);

Данный метод используется для создания и настройки внешнего вида регулятора.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
iMinPos Задание минимальной позиции регулятора, производится в пикселях относительно родетельского поля.
iMaxPos Задание максимальной позиции регулятора, производится в пикселях относительно родетельского поля.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Используется для описания ориентирования и положения нулевой позиции регулятора. Например kLeft|kHorizontal описывает горизонтальный регулятор, с нулём слева. Смотри CControlEnum.

Пример вертикального регулятора:

Пример кода:

myFaderBodyPixmap
    = new CBitmap (kFaderBodyPixmapID);
myFaderHandlePixmap
    = new CBitmap (kFaderHandlePixmapID);
size (
    kMyFader_left,
    kMyFader_top,
    kMyFader_left + myFaderBodyPixmap->getWidth (),
    kMyFader_top +  myFaderBodyPixmap->getHeight ()
);
int minPos = kMyFader_top;
int maxPos = kMyFader_top
    + myFaderBodyPixmap->getHeight ()
    - myFaderHandlePixmap->getHeight () - 1;
CPoint offset (0, 0);
myFader = new CSlider (
    size,
    this,
    kMyParameter,
    minPos,
    maxPos,
    myFaderHandlePixmap,
    myFaderBodyPixmap,
    offset,
    kVertical | kBottom
);
myFader->setOffsetHandle (offset);
myFader->setValue (effect->getParameter (kMyParameter));
frame->addView (myFader);

CSlider

CSlider (CRect&size, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *bk, CPoint &offset, long style);

Метод также используется для создания регулятора. Однако вместо минимальной и максимальной позиции регулятора задаётся диапазон допустимых значений её уровня.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
offsetHandle Офсет ручки
rangeHandle Диапазон допустимых значений уровня ручки.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Используется для описания ориентирования и положения нулевой позиции регулятора. Например kLeft|kHorizontal описывает горизонтальный регулятор, с нулём слева. Смотри CControlEnum.

~CSlider

~CSlider ();

Удаляет регулятор. Карта изображений также удаляется если не используется другими объектами.

attached

virtual bool attached (CView *parent);

Создаёт COffscreenContext для регулятора.

removed

virtual bool removed (CView*parent);

Удаляет COffscreenContext, созданный для регулятора.

draw

void draw (CDrawContext *drawContext);

Метод запрашивается когда этот контроллер должен быть заново прорисован.

mouse

void mouse (CDrawContext *context, CPoint &where);

Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши.

onWheel

void onWheel (CDrawContext*context, CPoint &where, float distance);

Изменение состояния переключателя с помощью колёсика мышки.

onKeyDown

virtual bool onKeyDown (VstKeyCode& keyCode);

Обработчик события нажатия пользователем по клавише клавиатуры.

setDrawTransparentHandle

void setDrawTransparentHandle (bool val);

Позволяет определить характер прорисовывания ручки: с или без использования прозрачности.

setFreeClick

void setFreeClick (bool val);

Если ПРАВДА — то ручка регулятора принимает позицию курсора, после  щелчка мышью. Если ЛОЖЬ — пользователь должен перетащить ручку.

getFreeClick

bool getFreeClick () ;

Возвращает текущее состояние режима работы ручки.

setOffsetHandle

void setOffsetHandle (CPoint val);

Позволяет задать офсет ручки в фоновом изображении регулятора.

setHandle

void setHandle (CBitmap handle);

Задаёт изображение ручки.

getHandle

CBitmap *getHandle ();

Возвращает изображение ручки.

setZoomFactor

void setZoomFactor (float val);

Задаёт степень увеличения при работе в сглаженном, более медленном режиме.

getZoomFactor

float getZoomFactor ();

Определяет степерь увеличения.

CVerticalSlider

#include <vstcontrols.h>class CVerticalSlider : public CSlider;

Данный класс описывает вертикальный регулятор с заданным фоновым изображением и ручкой. Также задаётся диапазон допустимых значений ручки, стандартно ручка прорисовывается в прозрачном режиме (цвет прозрачности — белый). Смотри также класс CHorizontalSlider.

CVerticalSlider

CVerticalSlider (CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *bk, CPoint &offset, int style);

Создаёт вертикальный регулятор.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
iMinPos Задание минимальной позиции регулятора, производится в пикселях относительно родетельского поля.
iMaxPos Задание максимальной позиции регулятора, производится в пикселях относительно родетельского поля.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Стиль позволяет описать позицию «ноль» —  kTop или kBottom.

Исходный код.

Пример вертикального регулятора:

Пример кода:

myFaderBodyPixmap
    = new CBitmap (kFaderBodyPixmapID);
myFaderHandlePixmap
    = new CBitmap (kFaderHandlePixmapID);
size (
    kMyFader_left,
    kMyFader_top,
    kMyFader_left + myFaderBodyPixmap->getWidth (),
    kMyFader_top +  myFaderBodyPixmap->getHeight ()
);
int minPos = kMyFader_top;
int maxPos = kMyFader_top
    + myFaderBodyPixmap->getHeight ()
    - myFaderHandlePixmap->getHeight () - 1;
CPoint offset (0, 0);
myFader = new CVerticalSlider (
    size,
    this,
    kMyParameter,
    minPos,
    maxPos,
    myFaderHandlePixmap,
    myFaderBodyPixmap,
    offset,
    kBottom
);
myFader->setOffsetHandle (offset);
myFader->setValue (effect->getParameter (kMyParameter));
frame->addView (myFader);

CVerticalSlider

CVerticalSlider (CRect&size, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *bk, CPoint &offset, long style);

Создаёт вертикальный регулятор.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
offsetHandle Офсет ручки
rangeHandle Диапазон допустимых значений уровня ручки.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Стиль позволяет описать позицию «ноль» —  kTop или kBottom.

CHorizontalSlider

#include <vstcontrols.h>class CHorizontalSlider : public CControl ;
Как понятно из названия, данный класс описывает горизонтальный регулятор с фоновым изображением и ручкой. Также задаётся диапазон допустимых значений ручки, стандартно ручка прорисовывается в прозрачном режиме (цвет прозрачности — белый).

CHorizontalSlider

CHorizontalSlider (CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *bk, CPoint &offset, int style);

Создаёт горизонтальный регулятор. Обратите внимание то что максимальная и минимальная позиция ручки задаётся в абсолютных значениях, а не в относительных родительского поля, как это происходит обычно.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
iMinPos Задание минимальной позиции регулятора, производится в пикселях относительно родетельского поля.
iMaxPos Задание максимальной позиции регулятора, производится в пикселях относительно родетельского поля.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Стиль позволяет описать позицию «ноль» —  kTop или kBottom.

Исходный код.

Пример:

myBackground
    = new CBitmap (kBackgroundBitmap);
myHandle
    = new CBitmap (kHandleBitmap);

CRect size (
    kSlider_left,
    kSlider_top,
    kSlider_left + myBackground->getWidth(),
    kSlider_top + myBackground->getHeight()
);
CPoint offset(0, 0);
int minPos = kSlider_left;
int maxPos = kSlider_left + myBackground->getWidth()
     - myHandle->getWidth () - 1;
myHorizontalSlider = new CHorizontalSlider (
    size,
    this,
    kMyParameter,
    minPos,
    maxPos,
    myHandle,
    myBackground,
    offset
);
frame->addView (myHorizontalSlider);

CHorizontalSlider

CHorizontalSlider (CRect&size, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *bk, CPoint &offset, long style);

kLeft or kRightСоздание горизонтального регулятора.

size Размер регулятора, определяется прямоугольников, координаты которого задаются относительно родительского поля.
listener Объект-слушатель, на работу которого влияет положение данного контроллеа.
tag Тэг — метка, используемая для идентификации объекта.
offsetHandle Офсет ручки
rangeHandle Диапазон допустимых значений уровня ручки.
handle Карта изображений регулятора
bk Фоновое изображение
offset Верхняя левая точка отображаемой области фонового изображения, координаты задаются относительно контроллера.
style Стиль позволяет описать позицию нуля —  kLeft или kRight.

CSpecialDigit

#include <vstcontrols.h>class CSpecialDigit : public CControl;
Данный класс используется для создания счётчика, в котором может быть не более 7-ми цифр. Все цифры имеют один разиер и хранятся по высоте в карте изображений.

takeFocus

CSpecialDigit ( CRect size, CControlListener *listener, long tag, long dwPos, long iNumbers, long *xpos, long *ypos, int width, int height, CBitmap *background);

Создаёт счётчик с заданным изначальным значением (dwPos).

size Размер счётчика, задаётся с помощью прямоугольника, координаты которого указываются относительно к родительскому полю.
listener Объект-слушатель, на работу которого влияют события из этого контроллера.
tag Тэг — метка, с помощью которой идентифицируется данный контроллер.
dwPos Изначальное, стандартное число счётчика.
iNumbers Колличество цифр в счётчике (до 7-ми).
xpos Блок позиций по горизонтали в поле.
ypos Блок позиций по вертикали в поле.
width Ширина одной цифры.
height Высота одной цифры.
background Карта изображений, содержащая цифры.

Исходный код.

~CSpecialDigit

~CSpecialDigit ();

Удаление счётчика. Если карта изображений не используется другими объектами — то и она будет удалена.

draw

void draw (CDrawContext*);

Метод запрашивается когда данный объект необходимо прорисовать.

getNormValue

float getNormValue (void);

Возвращает текущее значение, нормализированое между 0 и 1.

Один комментарийКлассы контроллеров VST GUI 2.2 – часть 4

  • corp

    CKickButton

    #include <vstcontrols.h>class CKickButton : public CControl;

    Данный класс описывает кнопку, которая состоит из двух режимов: нажатый и отпущенный. Каждому режиму соответствует своё изображение из карты изображений.

    CKickButton

    CKickButton (CRect &size, CControlListener *listener, long tag, long heightOfOneImage, CBitmap *handle, CPoint &offset);

    Создание объекта кнопки.

    size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
    listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
    tag Тэг — метка, с помощью которой производится идентификация контроллера.
    heightOfOneImage Высота кадра в пикселях.
    handle Файл, карта изображений, содержащий все изображения.
    offset Офсет — вырезание определённой части изображения.

    Исходный код.

    ~CKickButton

    ~CKickButton ();

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

    draw

    void draw (CDrawContext*);

    Метод запрашивается когда этот контроллер должен быть заново прорисован.

    mouse

    void mouse (CDrawContext *context, CPoint &where);

    Метод запрашивается если пользователь навёл курсор на объект и нажал на кнопку мыши.

    CSplashScreen

    #include <vstcontrols.h>class CSplashScreen : public CControl;

    Щелчок мышью в поле объекта активирует его, в последствии чего отображается его карта изображений. В этом состоянии другие контроллеры не могут быть использованы. Второй щелчок мышью по области возвращает пользователя в стандартный режим работы. Данный класс может быть использован для отображения вспомогательных объектов и регуляторов.

    CSplashScreen

    CSplashScreen (CRect &size, CControlListener *listener, long tag, CBitmap*handle,CRect &toDisplay, CPoint& offset);

    Создание объекта заставки.

    size Размер кнопки, задаётся с помощью прямоугольника, координаты которого заданы относительно родительского поля.
    listener Объект-слушатель, на действие и работу которого влияет изменение положения контроллера.
    tag Тэг — метка, с помощью которой производится идентификация контроллера.
    toDisplay Прямоугольник, в котором отображается карта изображений и в котором повторый щелчок прячет появившуюся область, задаётся в координатах родительского окна.
    handle Карта изображений, содержащая все изображения.
    offset Офсет — вырезание определённой части изображения.

    Исходный код.

    ~CSplashScreen

    ~CSplashScreen ();

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

    draw

    void draw (CDrawContext*);

    Запрашивается когда контроллер необходимо перерисовать.

    hitTest

    void hitTest (CPoint& where, long buttons);

    Подтверждение того что пользователь нажал мышкой именно внутри поля заставки.

    mouse

    void mouse (CDrawContext *context, CPoint&where);

    Метод запрашивается когда пользователь нажал мышкой внутри поля объекта. Обратите также внимание на метод valueChanged класса CControlListener, который вызывается при изменении значения контроллера.

    unSplash

    void unSplash ();

    Запрашивается для того чтобы убрать заставку с экрана.

    CVuMeter

    #include <vstcontrols.h>class CVuMeter : public CControl;

    Данный класс используется для создания вольтметра.

    CVuMeter

    CVuMeter (CRect &size,CBitmap*onBitmap, CBitmap *offBitmap, long nbLed, long style);

    Метод создаёт Вольтметр, шаг вольтметра линейный, между 0.0 и 1.0

    size Размер, задаётся прямоугольником, с координатами которые указаны относительно родительского поля.
    onBitmap Карта изображений, представляющая включённый светодиод.
    offBitmap Карта изображений, представляющая выключеный светодиод.
    nbLed Отображает колличество светодиодов. Описывается для VuMeter.
    style Стиль может быть kHorizontal или kVertical.

    Исходный код.

    ~CVuMeter

    ~CVuMeter ();

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

    setDecreaseStepValue

    void setDecreaseStepValue (float value);

    Задаёт максимальное значение, находящееся между старым и новым значением (только если значение уменьшается).

    draw

    void draw (CDrawContext *context);

    Запрашивается когда контроллер необходимо прорисовать.

    setDirty

    void setDirty (bool val);

    Вольтметр заново прорисуется.

    _CFileSelector

    #include <vstcontrols.h>

    class CFileSelector;

    Данный класс использует окно обзора файлов хост-программы, если не находит — то использует простое окно обзора файлов.

    CFileSelector

    CFileSelector (AudioEffectX *effect);

    Создаёт объект импорта файлов, прикревлённый к эффекту.

    ~CFileSelector

    ~CFileSelector ();

    Удаляет объект импорта файлов.

    run

    long run (VstFileSelect *vstFileSelect);

    Запускает объект импорта файлов.

Вы должны быть залогинены для комментирования.