Subversion Repositories Kolibri OS

Rev

Rev 1390 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1390 IgorA 1
2
3
элемент Scroll Bar
4
5
6
7
8

На главную ↑

9

Оглавление

10

Введение

11

Функции

12
    13
  • scrollbar_v_draw
  • 14
  • scrollbar_v_mouse
  • 15
  • scrollbar_h_draw
  • 16
  • scrollbar_h_mouse
  • 17
  • version_ch
  • 18
    19

    Структура scrollbar

    20
     
    21

    Введение

    22

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

    23
     
    24

    Функции

    25
     
    26

    scrollbar_v_draw

    27

    Рисование вертикального скроллинга.

    28
     
    29

    scrollbar_v_mouse

    30

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

    31
     
    32

    scrollbar_h_draw

    33

    Рисование горизонтального скроллинга.

    34
     
    35

    scrollbar_h_mouse

    36

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

    37
     
    38

    version_ch

    39

    Версия элемента

    40
     
    41

    Структура scrollbar

    1464 IgorA 42

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

    1390 IgorA 43
    Есть макрос use_scroll_bar он дает возможность понять какие данные нужны для скроллинга.

    44
    macro use_scroll_bar
    45
    {
    46
    scroll_bar:
    47
    sb_size_x     equ [edi]
    48
    sb_start_x    equ [edi+ 2]
    49
    sb_size_y     equ [edi+ 4]
    50
    sb_start_y    equ [edi+ 6]
    51
    sb_btn_high   equ [edi+ 8]
    52
    sb_type       equ [edi+12]
    53
    sb_max_area   equ [edi+16]
    54
    sb_cur_area   equ [edi+20]
    55
    sb_position   equ [edi+24]
    56
    sb_bckg_col   equ [edi+28]
    57
    sb_frnt_col   equ [edi+32]
    58
    sb_line_col   equ [edi+36]
    59
    sb_redraw     equ [edi+40]
    60
    sb_delta      equ [edi+44]
    61
    sb_delta2     equ [edi+46]
    62
    sb_r_size_x   equ [edi+48]
    63
    sb_r_start_x  equ [edi+50]
    64
    sb_r_size_y   equ [edi+52]
    65
    sb_r_start_y  equ [edi+54]
    66
    sb_m_pos      equ [edi+56]
    67
    sb_m_pos_2    equ [edi+60]
    68
    sb_m_keys     equ [edi+64]
    69
    sb_run_size   equ [edi+68]
    70
    sb_position2  equ [edi+72]
    71
    sb_work_size  equ [edi+76]
    72
    sb_all_redraw equ [edi+80]
    73
    sb_ar_offset  equ [edi+84]
    74
    }
    75
     
    76

    sb_btn_high - высота боковых кнопок (левая и правая для гориз. и верхняя и нижняя для верт.)

    77

    sb_type - зарезервировано для будущих типов, если скроллбар будет дорабатываться.

    78

    sb_max_area - область максимальная, актуально когда не влазит в

    79
      отображаемую область, т.е. случай активности компонента (весь максимальный размер документа)

    80

    sb_cur_area - область отображаемая (какая часть документа влазит в экран)

    81

    sb_position - позиция бегунка изменяемая от 0 до значения (sb_max_area-sb_cur_area)

    82

    sb_bckg_col - цвет внутренний, применяется для областей между бегунком и кноками

    83

    sb_frnt_col - цвет наружный, применяется для областей отличных от применяемых в sb_bckg_col

    84

    sb_line_col - цвет линий и стрелок на кнопках

    85

    sb_redraw - индикатор необходимости перерисовки управляемой области учитывая изменение sb_position и sb_cur_area

    86

    sb_delta2 - индикатор захвата фокуса скроллбаром (удержание бегунка)

    87

    sb_all_redraw - флаг устанавливаемый в 1 для перерисовки всего компонента, если поставить 0, то перерисовка происходит только для области бегунка. Введено для ускорения отрисовки, поскольку не во всех случаях требуется принудитеьно отрисовывать все части компонента. Когда вызывается по событию мыши всегда отрисовывается самим компонентом со значением 0.

    88

    sb_ar_offset - величина смещения при однократном нажатии боковой кнопки.

    89
     
    90

    91

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

    92
    93