Класс KineticScroll

#include <KineticScroll.h>

Полный список членов класса

Открытые типы

enum  KineticEventID { keBeginScroll, keEndScroll, keScroll }
typedef sigc::signal< void,
KineticEventID, int > 
KineticEvent_Signal

Открытые члены

void set_target (int pos, double sliding=1.1, double start_kinetic=1.2)
void set_orientation (Gtk::Orientation o)
void set_adjustment (Gtk::Adjustment *adj)
void set_motion_event (Gtk::Widget *w)
Gtk::Adjustment * get_adjustment ()
void set_min_kinetic (double s)
void set_max_kinetic (double s)
void set_k_sliding (double s)
void set_k_timer (int msec)
KineticEvent_Signal signal_kinetic_event ()
void set_kinetic_scroll (bool set)
void set_scroll (bool set)

Защищенные члены

bool on_motion_event (GdkEvent *event)
bool kinetic_timer ()
bool target_kinetic_timer ()
void set_current_position (int pos)

Защищенные данные

Gtk::Orientation orient
Gtk::Adjustment * vadj
Gtk::Widget * widget
double prev_x
double prev_y
double prev_v
gint32 prev_t
double prev_dz
bool but_pressed
double kinetic
double min_kinetic
double max_kinetic
double k_sliding
sigc::connection k_timer
int k_timer_step
double k_const
double max_a
double min_dz
bool kinetic_on
bool scroll_on
KineticEvent_Signal k_event
sigc::connection k_target_timer
double k_target_sliding
double target_pos
int target_sign

Друзья

std::ostream & operator<< (std::ostream &os, KineticEventID i)


Подробное описание

Автор:
Pavel Vaynerman <pv@etersoft.ru>
Универсальный кинетический скролл. Реализует "кинетическую" прокрутку (вертикальную или горизонтальную). По умолчанию - вертикальную.

Один из примеров использования:

    class MyClass
    {
        ....
        Gtk::TreeView* tv;
        Gtk::ScrolledWindow* scwin;
        KineticScroll kscroll;
    }
    
    MyClass::MyClass()
    {
        ...
        kscroll.set_adjustment(scwin->get_vadjustment());
        kscroll.set_motion_event(tv);
    }

Методы

void KineticScroll::set_k_sliding ( double  s  )  [inline]

коэффициент скольжения [0...1] / <1 - торможение, >1 - разгон

Перекрестные ссылки k_sliding.

void KineticScroll::set_k_timer ( int  msec  ) 

мсек, шаг для кинетического таймера

Перекрестные ссылки k_timer_step.

void KineticScroll::set_max_kinetic ( double  s  )  [inline]

максимально допустимое ускорение

Перекрестные ссылки max_kinetic.

void KineticScroll::set_min_kinetic ( double  s  )  [inline]

минимальное ускорение, движение после которого прекращается

Перекрестные ссылки min_kinetic.

void KineticScroll::set_target ( int  pos,
double  sliding = 1.1,
double  start_kinetic = 1.2 
)

плавная прокрутка до заданного места

Перекрестные ссылки k_timer_step и kinetic.


Данные класса

double KineticScroll::k_const [protected]

постоянный коэффициент в расчёте перемещения (оптимизация)

double KineticScroll::k_sliding [protected]

коэффициент скольжения [0...1] / <1 - торможение, >1 - разгон

Используется в set_k_sliding().

int KineticScroll::k_timer_step [protected]

мсек, шаг для кинетического таймера

Используется в set_k_timer() и set_target().

double KineticScroll::kinetic [protected]

накопленное ускорение

Используется в set_target().

double KineticScroll::max_a [protected]

максимальное ускорение

double KineticScroll::max_kinetic [protected]

максимально допустимое ускорение

Используется в set_max_kinetic().

double KineticScroll::min_kinetic [protected]

минимальное ускорение, движение после которого прекращается

Используется в set_min_kinetic().


Объявления и описания членов классов находятся в файлах:

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:50 2014. Создано системой  doxygen 1.5.9