From 58f8437f4b8b741ddc8e7bcde21bf983cc618430 Mon Sep 17 00:00:00 2001 From: pepper Date: Sat, 10 Jan 2015 21:37:24 -0800 Subject: added vstsdk --- vendor/vstsdk2.4/vstgui.sf/vstgui/Changelog | 360 + .../vstgui/Documentation/Migrating from 2.3.rtf | 82 + .../Documentation/html/aeffguieditor_8cpp.html | 119 + .../Documentation/html/aeffguieditor_8h.html | 46 + .../vstgui/Documentation/html/annotated.html | 92 + .../Documentation/html/cfileselector_8cpp.html | 195 + .../Documentation/html/cfileselector_8h.html | 98 + .../html/class_a_eff_g_u_i_editor-members.html | 58 + .../html/class_a_eff_g_u_i_editor.html | 570 ++ .../html/class_c_anim_knob-members.html | 180 + .../Documentation/html/class_c_anim_knob.html | 421 + .../Documentation/html/class_c_anim_knob.png | Bin 0 -> 679 bytes .../html/class_c_attribute_list_entry-members.html | 52 + .../html/class_c_attribute_list_entry.html | 393 + .../html/class_c_auto_animation-members.html | 157 + .../Documentation/html/class_c_auto_animation.html | 575 ++ .../Documentation/html/class_c_auto_animation.png | Bin 0 -> 613 bytes .../Documentation/html/class_c_bitmap-members.html | 69 + .../vstgui/Documentation/html/class_c_bitmap.html | 846 ++ .../vstgui/Documentation/html/class_c_bitmap.png | Bin 0 -> 405 bytes .../Documentation/html/class_c_c_view-members.html | 45 + .../vstgui/Documentation/html/class_c_c_view.html | 184 + .../html/class_c_control-members.html | 144 + .../vstgui/Documentation/html/class_c_control.html | 1265 +++ .../vstgui/Documentation/html/class_c_control.png | Bin 0 -> 3399 bytes .../html/class_c_control_listener-members.html | 42 + .../html/class_c_control_listener.html | 140 + .../html/class_c_control_listener.png | Bin 0 -> 570 bytes .../html/class_c_drag_container-members.html | 58 + .../Documentation/html/class_c_drag_container.html | 398 + .../Documentation/html/class_c_drag_container.png | Bin 0 -> 467 bytes .../html/class_c_draw_context-members.html | 110 + .../Documentation/html/class_c_draw_context.html | 2235 +++++ .../Documentation/html/class_c_draw_context.png | Bin 0 -> 613 bytes .../html/class_c_file_selector-members.html | 45 + .../Documentation/html/class_c_file_selector.html | 190 + .../Documentation/html/class_c_frame-members.html | 184 + .../vstgui/Documentation/html/class_c_frame.html | 1886 ++++ .../vstgui/Documentation/html/class_c_frame.png | Bin 0 -> 622 bytes .../html/class_c_horizontal_slider-members.html | 173 + .../html/class_c_horizontal_slider.html | 226 + .../html/class_c_horizontal_slider.png | Bin 0 -> 732 bytes .../html/class_c_horizontal_switch-members.html | 151 + .../html/class_c_horizontal_switch.html | 412 + .../html/class_c_horizontal_switch.png | Bin 0 -> 628 bytes .../html/class_c_kick_button-members.html | 149 + .../Documentation/html/class_c_kick_button.html | 345 + .../Documentation/html/class_c_kick_button.png | Bin 0 -> 597 bytes .../Documentation/html/class_c_knob-members.html | 172 + .../vstgui/Documentation/html/class_c_knob.html | 1048 +++ .../vstgui/Documentation/html/class_c_knob.png | Bin 0 -> 696 bytes .../html/class_c_movie_bitmap-members.html | 150 + .../Documentation/html/class_c_movie_bitmap.html | 331 + .../Documentation/html/class_c_movie_bitmap.png | Bin 0 -> 618 bytes .../html/class_c_movie_button-members.html | 150 + .../Documentation/html/class_c_movie_button.html | 375 + .../Documentation/html/class_c_movie_button.png | Bin 0 -> 605 bytes .../html/class_c_offscreen_context-members.html | 123 + .../html/class_c_offscreen_context.html | 492 + .../html/class_c_offscreen_context.png | Bin 0 -> 593 bytes .../html/class_c_on_off_button-members.html | 151 + .../Documentation/html/class_c_on_off_button.html | 363 + .../Documentation/html/class_c_on_off_button.png | Bin 0 -> 729 bytes .../html/class_c_option_menu-members.html | 225 + .../Documentation/html/class_c_option_menu.html | 1633 ++++ .../Documentation/html/class_c_option_menu.png | Bin 0 -> 757 bytes .../html/class_c_option_menu_scheme-members.html | 63 + .../html/class_c_option_menu_scheme.html | 555 ++ .../html/class_c_option_menu_scheme.png | Bin 0 -> 501 bytes .../html/class_c_param_display-members.html | 180 + .../Documentation/html/class_c_param_display.html | 1152 +++ .../Documentation/html/class_c_param_display.png | Bin 0 -> 1369 bytes .../html/class_c_reference_counter-members.html | 45 + .../html/class_c_reference_counter.html | 229 + .../html/class_c_reference_counter.png | Bin 0 -> 7743 bytes .../html/class_c_rocker_switch-members.html | 150 + .../Documentation/html/class_c_rocker_switch.html | 437 + .../Documentation/html/class_c_rocker_switch.png | Bin 0 -> 620 bytes .../html/class_c_scroll_container-members.html | 148 + .../html/class_c_scroll_container.html | 397 + .../html/class_c_scroll_container.png | Bin 0 -> 662 bytes .../html/class_c_scroll_view-members.html | 154 + .../Documentation/html/class_c_scroll_view.html | 597 ++ .../Documentation/html/class_c_scroll_view.png | Bin 0 -> 996 bytes .../html/class_c_scrollbar-members.html | 172 + .../Documentation/html/class_c_scrollbar.html | 1001 ++ .../Documentation/html/class_c_scrollbar.png | Bin 0 -> 589 bytes .../Documentation/html/class_c_slider-members.html | 171 + .../vstgui/Documentation/html/class_c_slider.html | 1136 +++ .../vstgui/Documentation/html/class_c_slider.png | Bin 0 -> 1047 bytes .../html/class_c_special_digit-members.html | 152 + .../Documentation/html/class_c_special_digit.html | 372 + .../Documentation/html/class_c_special_digit.png | Bin 0 -> 621 bytes .../html/class_c_splash_screen-members.html | 154 + .../Documentation/html/class_c_splash_screen.html | 500 + .../Documentation/html/class_c_splash_screen.png | Bin 0 -> 628 bytes .../html/class_c_splash_screen_view-members.html | 109 + .../html/class_c_splash_screen_view.html | 204 + .../html/class_c_splash_screen_view.png | Bin 0 -> 584 bytes .../html/class_c_tab_button-members.html | 162 + .../Documentation/html/class_c_tab_button.html | 523 ++ .../Documentation/html/class_c_tab_button.png | Bin 0 -> 715 bytes .../html/class_c_tab_child_view-members.html | 51 + .../Documentation/html/class_c_tab_child_view.html | 212 + .../Documentation/html/class_c_tab_child_view.png | Bin 0 -> 453 bytes .../html/class_c_tab_view-members.html | 170 + .../Documentation/html/class_c_tab_view.html | 833 ++ .../vstgui/Documentation/html/class_c_tab_view.png | Bin 0 -> 975 bytes .../html/class_c_text_edit-members.html | 193 + .../Documentation/html/class_c_text_edit.html | 619 ++ .../Documentation/html/class_c_text_edit.png | Bin 0 -> 744 bytes .../html/class_c_text_label-members.html | 186 + .../Documentation/html/class_c_text_label.html | 294 + .../Documentation/html/class_c_text_label.png | Bin 0 -> 739 bytes .../html/class_c_vertical_slider-members.html | 173 + .../html/class_c_vertical_slider.html | 226 + .../Documentation/html/class_c_vertical_slider.png | Bin 0 -> 718 bytes .../html/class_c_vertical_switch-members.html | 151 + .../html/class_c_vertical_switch.html | 412 + .../Documentation/html/class_c_vertical_switch.png | Bin 0 -> 624 bytes .../Documentation/html/class_c_view-members.html | 107 + .../vstgui/Documentation/html/class_c_view.html | 2253 +++++ .../vstgui/Documentation/html/class_c_view.png | Bin 0 -> 6275 bytes .../html/class_c_view_container-members.html | 140 + .../Documentation/html/class_c_view_container.html | 2169 +++++ .../Documentation/html/class_c_view_container.png | Bin 0 -> 1484 bytes .../html/class_c_vu_meter-members.html | 158 + .../Documentation/html/class_c_vu_meter.html | 598 ++ .../vstgui/Documentation/html/class_c_vu_meter.png | Bin 0 -> 589 bytes .../html/class_i_scrollbar_drawer-members.html | 42 + .../html/class_i_scrollbar_drawer.html | 150 + .../html/class_plugin_g_u_i_editor-members.html | 63 + .../html/class_plugin_g_u_i_editor.html | 725 ++ .../Documentation/html/cscrollview_8cpp.html | 94 + .../vstgui/Documentation/html/cscrollview_8h.html | 53 + .../vstgui/Documentation/html/ctabview_8cpp.html | 74 + .../vstgui/Documentation/html/ctabview_8h.html | 46 + .../vstgui/Documentation/html/deprecated.html | 42 + .../vstgui/Documentation/html/doc_8h.html | 41 + .../vstgui/Documentation/html/doxygen.css | 310 + .../vstgui/Documentation/html/doxygen.png | Bin 0 -> 1281 bytes .../vstgui.sf/vstgui/Documentation/html/files.html | 60 + .../vstgui/Documentation/html/ftv2blank.png | Bin 0 -> 174 bytes .../vstgui/Documentation/html/ftv2doc.png | Bin 0 -> 255 bytes .../vstgui/Documentation/html/ftv2folderclosed.png | Bin 0 -> 259 bytes .../vstgui/Documentation/html/ftv2folderopen.png | Bin 0 -> 261 bytes .../vstgui/Documentation/html/ftv2lastnode.png | Bin 0 -> 233 bytes .../vstgui/Documentation/html/ftv2link.png | Bin 0 -> 358 bytes .../vstgui/Documentation/html/ftv2mlastnode.png | Bin 0 -> 160 bytes .../vstgui/Documentation/html/ftv2mnode.png | Bin 0 -> 194 bytes .../vstgui/Documentation/html/ftv2node.png | Bin 0 -> 235 bytes .../vstgui/Documentation/html/ftv2plastnode.png | Bin 0 -> 165 bytes .../vstgui/Documentation/html/ftv2pnode.png | Bin 0 -> 200 bytes .../vstgui/Documentation/html/ftv2vertline.png | Bin 0 -> 229 bytes .../vstgui/Documentation/html/functions.html | 96 + .../vstgui/Documentation/html/functions_0x62.html | 114 + .../vstgui/Documentation/html/functions_0x63.html | 148 + .../vstgui/Documentation/html/functions_0x64.html | 111 + .../vstgui/Documentation/html/functions_0x65.html | 88 + .../vstgui/Documentation/html/functions_0x66.html | 105 + .../vstgui/Documentation/html/functions_0x67.html | 183 + .../vstgui/Documentation/html/functions_0x68.html | 94 + .../vstgui/Documentation/html/functions_0x69.html | 105 + .../vstgui/Documentation/html/functions_0x6b.html | 110 + .../vstgui/Documentation/html/functions_0x6c.html | 99 + .../vstgui/Documentation/html/functions_0x6d.html | 97 + .../vstgui/Documentation/html/functions_0x6e.html | 99 + .../vstgui/Documentation/html/functions_0x6f.html | 103 + .../vstgui/Documentation/html/functions_0x70.html | 117 + .../vstgui/Documentation/html/functions_0x72.html | 110 + .../vstgui/Documentation/html/functions_0x73.html | 193 + .../vstgui/Documentation/html/functions_0x74.html | 98 + .../vstgui/Documentation/html/functions_0x75.html | 89 + .../vstgui/Documentation/html/functions_0x76.html | 95 + .../vstgui/Documentation/html/functions_0x77.html | 91 + .../vstgui/Documentation/html/functions_0x78.html | 86 + .../vstgui/Documentation/html/functions_0x79.html | 86 + .../vstgui/Documentation/html/functions_0x7a.html | 84 + .../vstgui/Documentation/html/functions_0x7e.html | 122 + .../vstgui/Documentation/html/functions_eval.html | 78 + .../vstgui/Documentation/html/functions_func.html | 89 + .../Documentation/html/functions_func_0x62.html | 82 + .../Documentation/html/functions_func_0x63.html | 134 + .../Documentation/html/functions_func_0x64.html | 100 + .../Documentation/html/functions_func_0x65.html | 80 + .../Documentation/html/functions_func_0x66.html | 88 + .../Documentation/html/functions_func_0x67.html | 178 + .../Documentation/html/functions_func_0x68.html | 82 + .../Documentation/html/functions_func_0x69.html | 94 + .../Documentation/html/functions_func_0x6c.html | 84 + .../Documentation/html/functions_func_0x6d.html | 82 + .../Documentation/html/functions_func_0x6e.html | 82 + .../Documentation/html/functions_func_0x6f.html | 94 + .../Documentation/html/functions_func_0x70.html | 83 + .../Documentation/html/functions_func_0x72.html | 94 + .../Documentation/html/functions_func_0x73.html | 168 + .../Documentation/html/functions_func_0x74.html | 80 + .../Documentation/html/functions_func_0x75.html | 83 + .../Documentation/html/functions_func_0x76.html | 83 + .../Documentation/html/functions_func_0x77.html | 84 + .../Documentation/html/functions_func_0x7e.html | 118 + .../vstgui/Documentation/html/functions_rela.html | 57 + .../vstgui/Documentation/html/functions_vars.html | 85 + .../Documentation/html/functions_vars_0x62.html | 110 + .../Documentation/html/functions_vars_0x63.html | 92 + .../Documentation/html/functions_vars_0x64.html | 89 + .../Documentation/html/functions_vars_0x65.html | 86 + .../Documentation/html/functions_vars_0x66.html | 95 + .../Documentation/html/functions_vars_0x67.html | 83 + .../Documentation/html/functions_vars_0x68.html | 91 + .../Documentation/html/functions_vars_0x69.html | 90 + .../Documentation/html/functions_vars_0x6b.html | 84 + .../Documentation/html/functions_vars_0x6c.html | 93 + .../Documentation/html/functions_vars_0x6d.html | 92 + .../Documentation/html/functions_vars_0x6e.html | 96 + .../Documentation/html/functions_vars_0x6f.html | 88 + .../Documentation/html/functions_vars_0x70.html | 112 + .../Documentation/html/functions_vars_0x72.html | 94 + .../Documentation/html/functions_vars_0x73.html | 103 + .../Documentation/html/functions_vars_0x74.html | 96 + .../Documentation/html/functions_vars_0x75.html | 84 + .../Documentation/html/functions_vars_0x76.html | 90 + .../Documentation/html/functions_vars_0x77.html | 86 + .../Documentation/html/functions_vars_0x78.html | 85 + .../Documentation/html/functions_vars_0x79.html | 85 + .../Documentation/html/functions_vars_0x7a.html | 83 + .../vstgui/Documentation/html/globals.html | 78 + .../vstgui/Documentation/html/globals_0x61.html | 77 + .../vstgui/Documentation/html/globals_0x62.html | 78 + .../vstgui/Documentation/html/globals_0x63.html | 92 + .../vstgui/Documentation/html/globals_0x65.html | 78 + .../vstgui/Documentation/html/globals_0x66.html | 78 + .../vstgui/Documentation/html/globals_0x67.html | 81 + .../vstgui/Documentation/html/globals_0x6b.html | 175 + .../vstgui/Documentation/html/globals_0x6d.html | 86 + .../vstgui/Documentation/html/globals_0x6e.html | 77 + .../vstgui/Documentation/html/globals_0x6f.html | 78 + .../vstgui/Documentation/html/globals_0x71.html | 77 + .../vstgui/Documentation/html/globals_0x72.html | 77 + .../vstgui/Documentation/html/globals_0x73.html | 82 + .../vstgui/Documentation/html/globals_0x74.html | 78 + .../vstgui/Documentation/html/globals_0x75.html | 83 + .../vstgui/Documentation/html/globals_0x76.html | 146 + .../vstgui/Documentation/html/globals_0x77.html | 77 + .../vstgui/Documentation/html/globals_defs.html | 179 + .../vstgui/Documentation/html/globals_enum.html | 65 + .../vstgui/Documentation/html/globals_eval.html | 196 + .../vstgui/Documentation/html/globals_type.html | 54 + .../vstgui/Documentation/html/globals_vars.html | 67 + .../vstgui/Documentation/html/hierarchy.html | 114 + .../vstgui.sf/vstgui/Documentation/html/index.html | 8 + .../vstgui.sf/vstgui/Documentation/html/intro.html | 63 + .../vstgui/Documentation/html/license.html | 97 + .../vstgui/Documentation/html/maceditor.html | 73 + .../vstgui.sf/vstgui/Documentation/html/main.html | 47 + .../vstgui/Documentation/html/others.html | 51 + .../vstgui.sf/vstgui/Documentation/html/pages.html | 37 + .../Documentation/html/plugguieditor_8cpp.html | 119 + .../Documentation/html/plugguieditor_8h.html | 47 + .../vstgui/Documentation/html/sequences.html | 97 + .../Documentation/html/struct_c_color-members.html | 49 + .../vstgui/Documentation/html/struct_c_color.html | 320 + .../Documentation/html/struct_c_point-members.html | 50 + .../vstgui/Documentation/html/struct_c_point.html | 349 + .../Documentation/html/struct_c_rect-members.html | 66 + .../vstgui/Documentation/html/struct_c_rect.html | 838 ++ .../Documentation/html/struct_e_rect-members.html | 44 + .../vstgui/Documentation/html/struct_e_rect.html | 148 + .../html/struct_vst_file_select-members.html | 53 + .../Documentation/html/struct_vst_file_select.html | 373 + .../html/struct_vst_file_type-members.html | 47 + .../Documentation/html/struct_vst_file_type.html | 263 + .../html/struct_vst_key_code-members.html | 43 + .../Documentation/html/struct_vst_key_code.html | 123 + .../vstgui.sf/vstgui/Documentation/html/tab_b.gif | Bin 0 -> 35 bytes .../vstgui.sf/vstgui/Documentation/html/tab_l.gif | Bin 0 -> 706 bytes .../vstgui.sf/vstgui/Documentation/html/tab_r.gif | Bin 0 -> 2585 bytes .../vstgui.sf/vstgui/Documentation/html/tabs.css | 102 + .../vstgui/Documentation/html/thanks.html | 38 + .../vstgui.sf/vstgui/Documentation/html/tree.html | 238 + .../Documentation/html/vstcontrols_8cpp.html | 127 + .../vstgui/Documentation/html/vstcontrols_8h.html | 494 + .../vstgui/Documentation/html/vstgui_8cpp.html | 835 ++ .../vstgui/Documentation/html/vstgui_8h.html | 1068 +++ .../vstgui/Documentation/html/vstkeycode_8h.html | 303 + .../vstgui/Documentation/html/vstoffline.html | 33 + .../vstgui/Documentation/html/vstparamstruct.html | 33 + .../Documentation/html/vstplugscarbon_8h.html | 293 + .../vstgui/Documentation/html/vstplugsmac_8h.html | 381 + .../Documentation/html/vstplugsmacho_8h.html | 418 + .../Documentation/html/vstplugsquartz_8h.html | 369 + .../vstgui/Documentation/html/whatsnew.html | 84 + .../vstgui.sf/vstgui/Documentation/index.html | 11 + .../vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.cpp | 409 + vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h | 113 + .../vstsdk2.4/vstgui.sf/vstgui/cfileselector.cpp | 1156 +++ vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h | 133 + vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.cpp | 497 + vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.h | 179 + vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.cpp | 404 + vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h | 100 + .../vstsdk2.4/vstgui.sf/vstgui/plugguieditor.cpp | 301 + vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h | 122 + vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.cpp | 5516 +++++++++++ vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.h | 996 ++ vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.cpp | 9851 ++++++++++++++++++++ vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.h | 1227 +++ vendor/vstsdk2.4/vstgui.sf/vstgui/vstkeycode.h | 91 + vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugscarbon.h | 15 + vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmac.h | 15 + vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmacho.h | 22 + vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsquartz.h | 24 + 312 files changed, 76104 insertions(+) create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Changelog create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/Migrating from 2.3.rtf create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/annotated.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/deprecated.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doc_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.css create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/files.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2blank.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2doc.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderclosed.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderopen.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2lastnode.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2link.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mlastnode.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mnode.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2node.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2plastnode.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2pnode.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2vertline.png create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x62.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x63.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x64.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x65.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x66.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x67.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x68.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x69.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6b.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6c.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6d.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6f.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x70.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x72.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x73.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x74.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x75.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x76.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x77.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x78.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x79.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7a.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_eval.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x62.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x63.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x64.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x65.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x66.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x67.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x68.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x69.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6c.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6d.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6f.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x70.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x72.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x73.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x74.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x75.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x76.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x77.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x7e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_rela.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x62.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x63.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x64.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x65.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x66.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x67.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x68.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x69.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6b.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6c.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6d.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6f.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x70.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x72.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x73.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x74.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x75.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x76.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x77.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x78.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x79.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x7a.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x61.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x62.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x63.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x65.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x66.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x67.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6b.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6d.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6e.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6f.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x71.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x72.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x73.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x74.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x75.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x76.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x77.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_defs.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_enum.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_eval.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_type.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_vars.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/hierarchy.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/index.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/intro.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/license.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/maceditor.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/main.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/others.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/pages.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/sequences.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code-members.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_b.gif create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_l.gif create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_r.gif create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tabs.css create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/thanks.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tree.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8cpp.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstkeycode_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstoffline.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstparamstruct.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugscarbon_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmac_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmacho_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsquartz_8h.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/whatsnew.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/index.html create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.cpp create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstkeycode.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugscarbon.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmac.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmacho.h create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsquartz.h (limited to 'vendor/vstsdk2.4/vstgui.sf/vstgui') diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Changelog b/vendor/vstsdk2.4/vstgui.sf/vstgui/Changelog new file mode 100644 index 0000000..6002673 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Changelog @@ -0,0 +1,360 @@ +2006-02-08 arne + + * fix CSplashScreen view + * fix CTextEdit + +2005-10-03 arne + + * bugfix: CTabView does not release its subviews + * CControl::getTag() is virtual now. + +2005-08-12 arne + + * initial support for X/Y mouse wheel (currently only macosx, don't know how ms windows handles this) + +2005-07-29 arne + + * bugfix: CDrawContext doesn't remember font style and does not change the font if only the font style changed. + * quartz: keyboard event handling works now, so that hosts will get all key events we don't handle. + +2005-07-22 arne + + * quartz: little optimization in CDrawContext::beginCGContext + * quartz: cleaned up the event handler + * stop advancing focus if the last focusable control has focus. + +2005-07-22 arne + + * fixed a regression bug in AEffGUIEditor, where idle() was not called + * only CKnob and CSlider want focus, as they are the only controls handling key strokes. + +2005-07-14 arne + + * moved CFileSelector in its own file + * quartz: fixed some bugs with COffscreenContext + +2005-07-09 arne + + * the CView::draw method now draws the background image if it has one. + * new CFrame::updatesDisabled method to lock idle updates. + * bug fix for overlapping control drawing. + * add a style to COnOffButton so that the listener can be called before doIdleStuff is called. + +2005-07-02 arne + + * windows: CFrame uses a backbuffer now when USE_ALPHA_BLEND is on. This fixes a performance issue with some graphic cards. + The drawback at the moment is, that drawing can only occur when the CFrame calls the views to draw. You can not draw anymore + by creating your own drawcontext. + +2005-06-25 arne + + * adding keyboard focus navigation + * add bool bWantsFocus to CView. If this is set the view is included in keyboard focus navigation. + +2005-06-24 arne + + * merge newframe back to main + * fixed some gcc warnings + +2005-05-13 arne + + * quartz: if the CFrame is embedded into a window composited window, the setSize(..) method does not resize the window anymore. + * quartz: some window compositing fixes + * the tabs in a CTabView can be aligned + * mac os x: quartz will be used per default now + +2005-05-05 arne + + * added CBitmap::setNoAlpha(..) and CBitmap::getNoAlpha(). You can set this for PNG images which don't have an alpha channel to speed up drawing on windows. + * quartz: some window compositing fixes + +2005-04-30 arne + + * windows: with libpng, when a bmp image was loaded, don't use AlphaBlend instead use old BitBlt. + * quartz: non png images can be drawn with transparent color again. + +2005-04-29 arne + + * added CTextLabel + * mac: the CFrame can be placed into HIScrollViews + * mac: using static objects for Quicktime GraphicsImporter to speed up loading of images + * mac: using CGImageCreateImageInRect on 10.4 for faster drawing of clipped images + +2005-04-11 arne + + * removed CFrame::isSomethingDirty + * added a check in CViewContainer::isDirty if the subview is inside the view container size + * fix for overlapping views not drawn everytime + * quartz: fix some drawing bugs + +2005-03-25 arne + + * quartz: fix drawing of transparent bitmaps when OLD_TRANSPARENT_BITMAP_MODE is defined + * fix a bug for quickdraw's CDrawContext::setClipRect + * quartz: on composited windows, the ctextedit creates a native UnicodeTextControl instead of an MLTE Object + * a try to fix redraw problems if the system sends a redraw and some views won't get updated completly + * changed the implementation of CView Attributes. Documentation removed. Will be updated before the 3.0 release. + +2005-03-05 arne + + * fixed a memory leak on windows with IDropTarget (thanks bigtick) + * add automatic initialization of the xpos and ypos vars in the CSpecialDigit constructor (thanks bigtick) + +2005-02-18 arne + + * new coordinate typedef CCoord, so that we have the possibility to change the coordinate system to floating point + * small bugfix in CDrawDevice::drawRect + +2005-01-04 arne + + * the following CDrawContext methods have a new optional parameter "CDrawStyle": drawPolygon, drawRect, drawArc, drawEllipse. + the draw style is either kDrawStroked, kDrawFilled or kDrawFilledAndStroked. + * added another cursor : kCursorHand + * fixed some problems compiling the code on microsoft windows. + * fixed some problems with alphablending bitmaps on windows. + * added example plugguieditor.cpp file to be used for non VST usage. (There's an example AU plug in the drawtest module) + * added CTabView class. + * changed constructor of AEffGUIEditor to take a void instead of an AudioEffect pointer, so that subclassing + either from PluginGUIEditor or AEffGUIEditor is as simple as possible. + +2004-11-29 arne + + * started to clean up the code (check your code, many methods in CView, CViewContainer & CFrame are declared const now) + * started to make a better documentation (see the headers), more to come + * renamed pEditView in CFrame to pFocusView as well as setEditView to setFocusView and getEditView to getFocusView ;-) + * the following methods in CView are now deprecated : setParentView, setFrame, getFrameTopLeftPos + * removed old windows drag&drop code + * use generic rgb color space for quartz code + * fix an issue with quartz and OLD_TRANSPARENT_BITMAP_MODE when the transparency color changed + * some drawing optimizations + * new method in CDrawContext to draw multiple lines at once : CDrawContext::drawLines () + * if you call beginEdit in any CControl class the control will be the focus view now + +2004-10-03 arne + + * added generic attributes interface to the CView class (see CViewAttributes.rtf) + * added CFrame::setPosition to change the location of the view inside it's parent view (mac quartz only at the moment) + * some mac quartz bugfixes + * some bugfixes for CScrollView + * added localToFrame and frameToLocal methods to CView + * bugfix for CViewContainer::getCurrentView (). Didn't work for nested containers (W.Franke) + * quartz: CFrame::getSize returns the size of the mac control now instead of the window + * CViewContainer::getViewAt changed so that you can get the deepest view at that position + * CControls set now the editView of the frame on beginEdit and set it to zero at endEdit (W.Franke) + +2004-08-30 arne + + **** bump version to 3.0 ! + + * change CView::getParent to CView::getFrame + * correct implementation of beginEdit and endEdit in all CControls, you should change your code of custom controls from getParent->beginEdit (tag) to beginEdit () ;-) + * new drawArc method in CDrawContext which takes angels as parameters + * added some kind of runtime type information. + * mac: changed the kInfinitySymbol to be 'oo' as the mac character is not available in Helvetica + * added two new cursor types (kCursorCopy & kCursorNotAllowed). (Currently only for Mac OS X, Windows will follow) + * complete new drag & drop implementation. Now all views can react if something is dragged over it. + * some fixes to the update methods when drawing with offsets and COffscreenContexts. + * mac: the macro 'CARBON' is changed to 'TARGET_API_MAC_CARBON' as this is what the Mac OS itself uses. + * mac: compiling with VSTGUI as namespace works now + * mac: use current API for creating menus. (fixes some bugs with the old implementation, where you could not create menuitems like "-3db") + +2004-08-25 arne + + * mac: change COptionMenuScheme implementation to be optional as it only works for OSX Version >= 10.3 (macro: MAC_ENABLE_MENU_SCHEME) + +2004-08-15 arne + + * added CView::acceptDrop. On Mac OS this changes the mouse cursor if a view accepts a drop. For Windows there is currently no action. But it should follow. And maybe it will change so that a real tracking is possible. + * with the new update mechanism the modal view is now updated first in CFrame::update, to make sure it will be drawn in all circumstances, even if it is transparent and a view below it is dirty. + +2004-08-06 arne + + * quartz: - cache the CGImageRef, so that it is not created every time the CBitmap is drawn. (Performace will be much better with the next os release) + - remove the SetPort/GetPort stuff in AEffGUIEditor. It is not needed anymore. + +2004-07-30 arne + + * better streamlined mechanism for CViewContainer::update (you can turn this off, if it does not work for you in vstgui.cpp with the NEW_UPDATE_MECHANISM macro at the top) + this is not tested with Containers using offscreens (but should work). This should fix the problem that non-transparent containers were not really nestable. + * quartz: removed the focus handlers for now as most hosts does not set the focus back on their windows if someone clicks into it. This way they get all key downs again. + * added setListener() to CControl + +2004-07-12 arne + + * quartz: fix a bug in COffscreenContext::copyTo if the offsetScreen point of the context is not at 0:0 + +2004-06-28 arne + + * quartz: fix clipping issues + * fix a bug in CViewContainer's update method if the container is transparent and embedded into another CViewContainer + +2004-06-26 arne + + * the modal view is now added to the frame like all other views. + * added a reference counting class. CView, CBitmap and CDrawContext are subclasses of it. + * clip handling is more consistent now. + * some quartz changes: - first try to implement CDrawDevice::drawArc (not yet finished) + - COffscreenContext is now more implemented, copyTo works in most situations + - native mac controls can now be embedded into the frame, but it does only work correct with compositing enabled windows + +2004-06-20 arne + + * AEffGUIEditor::draw will now draw only the rectangle it should, or as in the past the whole editor if no rect is given. + * windows: 64 bit compatibility + +2004-06-12 arne + + * CFrame is now subclassed from CViewContainer (thanks Wolfram Franke for the hard work) + - One thing to check: CFrame::removeView was declared with (CView *pView, const bool &withForget = false), this has changed to + (CView *pView, const bool &withForget = true). So if you have somewhere in your Code frame->removeView (view) you must change it + to frame->removeView (view, false). + * mac: FDebugPrint implementation for Classic and Mac OS X + * changed the CColor unused member variable to be alpha all over the place (no more MS C++ internal compiler error) + * macosx: the CFileSelector can now be used to get unix path strings. If vstFileSelect->future[0] is 1 the internal implementation will + return unix paths and set vstFileSelect->future[0] to 0. If the host supports openFileSelector vstFileSelect->future[0] will + be 1 and the results are in the old FSSpec format. + * the CFileSelector is now usable when PLUGGUI is set. + * using clipping all over the place + * quartz: rechecked the whole graphics drawing functions to work as expected + +2004-05-31 arne + + * mac: COptionMenuScheme works now with QUARTZ (Mac OS X 10.3 and above) + * mac: QUARTZ implementation of CDrawContext::drawEllipse and fillEllipse + * added a global COptionMenuScheme variable, if set all menues will use it + * fix a possible crash in COptionMenu::mouse (thanks Wolfram Franke) + +2004-05-22 arne + + * moved pBackgroundBitmap and its accessors into CView from CViewContainer, CFrame and CControl as suggested by Wolfram Franke + * mac: added implementation for quartz CBitmap::CBitmap (CFrame &frame, long width, long height) + * windows: prevent a free memory read in UDropTarget::Release (submitted by Justin Caldicott) + +2004-04-27 arne + + * changed CControlListener and added a method to intercept modifier clicks so the listener can decide if the control should handle + this click. This makes it easy to implement some kind of 'MIDI Learn' functionality. + Note: you need to implement this new method in your CControlListener, otherwise there will be compile errors. If you don't want + this feature, just return 0. + * changed all controls to support the new CControlListener method. + * mac: bugfix for CTextEdit::takeFocus under quartz. + * mac: changed fonts from arial to helvetica as on some OS X installations arial is not installed. + +2004-04-17 arne + + * windows: support for alpha blended images like it is on Mac OS X with quartz + note: this implementation uses libpng (makro is USE_LIBPNG) + * CDrawContext::setClipRect uses the offset now + * COptionMenu::getSubMenu added + * mac: fixed some quartz drawing stuff + * mac: fix for CFrame::getPosition with quartz + * mac: removed CARBON_EVENTS macro as it only works with QUARTZ + +2004-04-11 arne + + * CViewContainer should be completely nestable now + * mac: implemented the quartz offscreencontext for existing bitmaps + +2004-03-23 arne + + * CTextEdit use the CParamDisplay::stringConvert functions to draw text + * Fix of possible crash in CFileSelector::run + * CFM Carbon plugs can now draw text antialiased even if the host does not support it + (Thanks to Wolfram Franke for this stuff) + + * mac: added waitDoubleClick and waitDrag with carbon events + +2004-03-19 arne + + * add CView::getFrameTopLeftPos method to get the topleft position of the view relative to the frame + * call AEffGUIEditor instead of AudioEffectX for beginEdit and endEdit + * mac: small changes to allow to use a CDrawContext on every Window even those without a CFrame + +2004-03-01 arne + + * mac : fix for RGBA Bitmaps on Displays with less than million colors + +2004-02-16 arne + + * mac : fix compile error in CDrawContext::getMouseLocation when compiling for CFM plugs + +2004-02-06 arne + + * mac : focus fix + +2004-02-01 arne + + * add empty CBitmap constructor for easy subclassing + * mac : add beginEdit/endEndit hook for AudioUnits + * windows : fix for CFrame::setSize for Orion submitted by Ben Allison + +2004-01-02 arne + + * mac: corrected code for right mouse click with carbon events + +2003-12-15 arne + + * fix a typo in COptionMenu::mouse + * mac: fix a typo in CDrawContext::setLineStyle + * mac: fix for CDrawContext::getMouseLocation problem with DP 4 + * mac: on compositing windows the control is now added to the kHIViewWindowContentID if it exists. + * mac: should compile on Mac OS X 10.2 again if CARBON_EVENTS are defined. + +2003-12-05 arne + + * fix compile problem of COptionMenu::takeFocus on Windows + +2003-12-04 arne + + * fix for nested CViewContainers + * Mac: fix for using vstgui for other than VST ;-) + +2003-11-15 arne + + *************** + *** WARNING *** + *************** + existing code need to be changed !!! + You need to change your CView::mouse methods to add the buttons parameter and your calls to CDrawContext::getMouseLocation inside CViews should be changed to call CView::getMouseLocation instead. + *************** + + * fixed the CViewContainer stuff with Quartz. + NOTE : I had to change the way how the view can get the current mouse location. It has to ask itself now as the CView class can + check if it is embedded into a CViewContainer which the CDrawDevice couldn't. + * all mouse methods get another parameter: long buttons + + Mac Only: + * changed the drag and drop stuff for Carbon Events + * With CARBON_EVENTS == 1, CFrame acts now like a Mac Toolbox Control. It works even on compositing enabled windows and on non left-top positions. + +2003-11-12 arne + + * Bugfix for CFrame::setSize for hosts which support "audioMasterSizeWindow" submitted by Justus Henkmann (TC Works) + +2003-10-10 arne + + * Bugfix for COptionMenu::addEntry submitted by Nicolas Bronnec + +2003-09-18 arne + + * incorporated Marc Poirier's CTextEdit fixes + * quartz: bugfix in drawString, set cliprect so that the text won't draw outside + * carbon events: some code cleanup + +2003-09-17 arne + + * Added Carbon Events handling (#define CARBON_EVENTS 1) + * Implemented QUARTZ drawing. (#define QUARTZ 1) + * CSlider doesn't use a COffscreenContext for drawing on MacOSX anymore + + Quartz Notes: + - Not all graphic operations we use in vstgui have an equivalent in quartz. + Currently unsupported are : + - all drawing modes except kCopyMode + - getPoint () + _ floodFill () + - copy from Screen to Offscreen + + - to support alpha drawing on all operations I have made changes to CColor. The 4th variable is now the alpha value where 255 is opaque and 0 is transparent. + - transparent bitmap drawing is now handled with the alpha value of the bitmap, if you want the old behaviour turn on OLD_TRANSPARENT_BITMAP_MODE + - because of some strange things with CViewContainers while doing mouse downs the drawcontext has an offset which results in wrong drawing. This needs to be fixed !!! diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/Migrating from 2.3.rtf b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/Migrating from 2.3.rtf new file mode 100644 index 0000000..80e93f3 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/Migrating from 2.3.rtf @@ -0,0 +1,82 @@ +{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf330 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;\red255\green0\blue24;} +\paperw11900\paperh16840\margl1440\margr1440\vieww22140\viewh20220\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural + +\f0\b\fs38 \cf0 \ul \ulc0 Migrating from VSTGUI 2.3 to VSTGUI 3.0\ + +\f1\b0\fs22 \ulnone \ + +\f0\b\fs26 \ul Things you need to change in your code:\ + +\f1\b0\fs22 \ulnone \ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li560\fi-560\ql\qnatural + +\fs24 \cf0 - CView::mouse(..) has a new parameter, you need to add it to your own view classes\ +\ +- CView::hitTest() now uses mouseableArea instead of size\ +\ +- CColor constants now need an opacity value (255 == opaque, 0 = transparent)\ + +\fs22 \ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li560\fi-560\ql\qnatural + +\fs24 \cf0 - CFrame::removeView (CView *pView, const bool &withForget = true) The second parameter (withForget) has changed its default parameter.\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural +\cf0 \ +- CDrawContext::getMouseLocation (CPoint &point)\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li560\fi-560\ql\qnatural +\cf0 This call will always report the global frame coordinate of the mouse. If you need the mouse coordinates relative to a view, use view->getMouseLocation (context, point)\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural +\cf0 \ +- The following CView methods are deprecated :\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li560\fi-560\ql\qnatural +\cf0 virtual void setParentView (CView *pParentView);\ + virtual void setFrame (CFrame *pParent);\ + virtual void getFrameTopLeftPos (CPoint& topLeft) const;\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural +\cf0 \ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li140\fi-140\ql\qnatural +\cf0 - Don't call frame->beginEdit(..) and frame->endEdit(..) in your subclassed controls. Use the CControl methods beginEdit, endEdit.\ +\ +- Nearly all getter methods have changed to be const. Check all your subclasses, so that your methods don't hide the inherited virtual functions.\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li140\fi20\ql\qnatural +\cf0 This may be the most important methods from CView and CControl\ +- CView::checkUpdate ()\ +- CView::isDirty ()\ +- CControl::getValue ()\ +- CControl::getMin ()\ +- CControl::getMax ()\ +- CControl::getOldValue ()\ +- CControl::getDefaultValue ()\ +- CControl::getTag ()\ +- CControl::getWheelInc ()\ +- CControl::getListener ()\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li140\fi-140\ql\qnatural +\cf0 \ +- Don't call CControl::update (..) anymore to force an control to redraw. Just call CControl::setDirty (true);\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural +\cf0 \ +\pard\tx565\tx1133\tx1700\tx2266\tx2833\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural + +\f0\b\fs26 \cf0 \ul How to use PNG Images on Windows:\ +\ +\pard\tx565\tx1133\tx1700\tx2266\tx2833\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural + +\f1\b0\fs24 \cf0 \ulnone - Download libpng and zlib ({\field{\*\fldinst{HYPERLINK "http://libpng.sourceforge.net/"}}{\fldrslt \cf2 http://libpng.sourceforge.net/}}\cf2 , {\field{\*\fldinst{HYPERLINK "http://www.zlib.net/"}}{\fldrslt http://www.zlib.net/}}\cf0 )\ +- Add their sources to your project\ +- Define the preprocessor macro: USE_LIBPNG=1\ +- add your png images to your rc file like this: \ + 128 PNG bmp00128.png\ +- rebuild ;-)\ +\ +\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural + +\f0\b\fs26 \cf0 \ul Transparent Bitmaps with QUARTZ on Mac OS X:\ +\ +\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural + +\f1\b0\fs24 \cf0 \ulnone Per default on Mac OS X if you need transparent bitmaps, you should use the alpha channel of a PNG Image. If you need the old behaviour and want to set bitmap->setTransparentColor (someColor) you need to call bitmap->setNoAlpha (true); (This actually is only necessary for PNG images, all other images will get the noAlpha state per default)\ +\ +} \ No newline at end of file diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8cpp.html new file mode 100644 index 0000000..f6f0570 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8cpp.html @@ -0,0 +1,119 @@ + + +VSTGUI: aeffguieditor.cpp File Reference + + + + +
+
+
+
+

aeffguieditor.cpp File Reference

#include "aeffguieditor.h"
+ + + + + + + + + +

Defines

#define kIdleRate   100
#define kIdleRate2   50
#define kIdleRateMin   4
+

Define Documentation

+

+ + + + +
+ + + + +
#define kIdleRate   100
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kIdleRate2   50
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kIdleRateMin   4
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8h.html new file mode 100644 index 0000000..547f40b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/aeffguieditor_8h.html @@ -0,0 +1,46 @@ + + +VSTGUI: aeffguieditor.h File Reference + + + + +
+
+
+
+

aeffguieditor.h File Reference

#include "aeffeditor.h"
+#include "vstgui.h"
+ + + + + +

Classes

class  AEffGUIEditor
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/annotated.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/annotated.html new file mode 100644 index 0000000..6350658 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/annotated.html @@ -0,0 +1,92 @@ + + +VSTGUI: Class List + + + + +
+
+
+
+

VSTGUI Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AEffGUIEditor
CAnimKnobBitmap knob control
CAttributeListEntry
CAutoAnimation
CBitmapEncapsulates various platform depended kinds of bitmaps
CColor
CControlBase class of all VSTGUI controls
CControlListener
CCView
CDragContainer
CDrawContextA drawing context encapsulates the drawing context of the underlying OS. It implements the drawing functions
CFileSelector
CFrameThe CFrame is the parent container of all views
CHorizontalSliderHorizontal slider control
CHorizontalSwitchHorizontal switch control
CKickButton
CKnobKnob control
CMovieBitmapBitmap control that displays different bitmaps according to its current value
CMovieButtonBi-states button with 2 subbitmaps
COffscreenContextA drawing device which uses a pixmap as its drawing surface
COnOffButtonButton control with 2 states
COptionMenuPopup menu control
COptionMenuScheme
CParamDisplayParameter display control
CPoint
CRect
CReferenceCounter
CRockerSwitchSwitch control with 3 sub bitmaps
CScrollbarScrollbar control
CScrollContainer
CScrollViewScrollable view
CSliderSlider control
CSpecialDigitSpecial display with custom numbers (0...9)
CSplashScreen
CSplashScreenView
CTabButton
CTabChildView
CTabViewTab view
CTextEditText edit control
CTextLabelText label
CVerticalSliderVertical slider control
CVerticalSwitchVertical switch control
CView
CViewContainerContainer Class of CView objects
CVuMeter
ERect
IScrollbarDrawer
PluginGUIEditor
VstFileSelect
VstFileType
VstKeyCode
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8cpp.html new file mode 100644 index 0000000..1d98413 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8cpp.html @@ -0,0 +1,195 @@ + + +VSTGUI: cfileselector.cpp File Reference + + + + +
+
+
+
+

cfileselector.cpp File Reference

#include "AudioEffectX.h"
+#include "cfileselector.h"
+ + + + + + + + + + + + + + + +

Defines

#define stringAnyType   "Any Type (*.*)"
#define stringAllTypes   "All Types: ("
#define stringSelect   "Select"
#define stringCancel   "Cancel"
#define stringLookIn   "Look in"
#define kPathMax   1024
+

Define Documentation

+

+ + + + +
+ + + + +
#define kPathMax   1024
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define stringAllTypes   "All Types: ("
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define stringAnyType   "Any Type (*.*)"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define stringCancel   "Cancel"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define stringLookIn   "Look in"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define stringSelect   "Select"
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8h.html new file mode 100644 index 0000000..668d02f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cfileselector_8h.html @@ -0,0 +1,98 @@ + + +VSTGUI: cfileselector.h File Reference + + + + +
+
+
+
+

cfileselector.h File Reference

#include "vstgui.h"
+ + + + + + + + + + + + +

Classes

class  CFileSelector
struct  VstFileType
struct  VstFileSelect

Enumerations

enum  {
+  kVstFileLoad = 0, +kVstFileSave, +kVstMultipleFilesLoad, +kVstDirectorySelect, +
+  kVstFileType = 0 +
+ }
+

Enumeration Type Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + +
kVstFileLoad  +
kVstFileSave  +
kVstMultipleFilesLoad  +
kVstDirectorySelect  +
kVstFileType  +
+
+
+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor-members.html new file mode 100644 index 0000000..4446eae --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor-members.html @@ -0,0 +1,58 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

AEffGUIEditor Member List

This is the complete list of members for AEffGUIEditor, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
AEffGUIEditor(AudioEffect *effect)AEffGUIEditor
beginEdit(VstInt32 index)AEffGUIEditor [virtual]
doIdleStuff()AEffGUIEditor [virtual]
endEdit(VstInt32 index)AEffGUIEditor [virtual]
frameAEffGUIEditor [protected]
getFrame()AEffGUIEditor [inline]
getKnobMode()AEffGUIEditor [inline, static]
getRect(ERect **rect)AEffGUIEditor
getTicks()AEffGUIEditor
getVstGuiVersion()AEffGUIEditor [inline, static]
idle()AEffGUIEditor
inIdleStuffAEffGUIEditor [protected]
knobModeAEffGUIEditor [protected, static]
lLastTicksAEffGUIEditor [protected]
rectAEffGUIEditor [protected]
setParameter(VstInt32 index, float value)AEffGUIEditor [virtual]
wait(unsigned int ms)AEffGUIEditor
~AEffGUIEditor()AEffGUIEditor
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor.html new file mode 100644 index 0000000..082d4b6 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_a_eff_g_u_i_editor.html @@ -0,0 +1,570 @@ + + +VSTGUI: AEffGUIEditor Class Reference + + + + +
+
+
+
+

AEffGUIEditor Class Reference

#include <aeffguieditor.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 AEffGUIEditor (AudioEffect *effect)
 ~AEffGUIEditor ()
CFramegetFrame ()
virtual void setParameter (VstInt32 index, float value)
virtual void beginEdit (VstInt32 index)
virtual void endEdit (VstInt32 index)
virtual void doIdleStuff ()
void wait (unsigned int ms)
unsigned int getTicks ()
bool getRect (ERect **rect)
void idle ()

Static Public Member Functions

static int getVstGuiVersion ()
static VstInt32 getKnobMode ()

Protected Attributes

ERect rect
unsigned int lLastTicks
bool inIdleStuff
CFrameframe

Static Protected Attributes

static VstInt32 knobMode = kCircularMode
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
AEffGUIEditor::AEffGUIEditor AudioEffect *  effect  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
AEffGUIEditor::~AEffGUIEditor  ) 
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void AEffGUIEditor::beginEdit VstInt32  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void AEffGUIEditor::doIdleStuff  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void AEffGUIEditor::endEdit VstInt32  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CFrame* AEffGUIEditor::getFrame  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
static VstInt32 AEffGUIEditor::getKnobMode  )  [inline, static]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool AEffGUIEditor::getRect ERect **  rect  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
unsigned int AEffGUIEditor::getTicks  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
static int AEffGUIEditor::getVstGuiVersion  )  [inline, static]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void AEffGUIEditor::idle  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void AEffGUIEditor::setParameter VstInt32  index,
float  value
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void AEffGUIEditor::wait unsigned int  ms  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CFrame* AEffGUIEditor::frame [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool AEffGUIEditor::inIdleStuff [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
VstInt32 AEffGUIEditor::knobMode = kCircularMode [static, protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned int AEffGUIEditor::lLastTicks [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
ERect AEffGUIEditor::rect [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob-members.html new file mode 100644 index 0000000..4b3cd3e --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob-members.html @@ -0,0 +1,180 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CAnimKnob Member List

This is the complete list of members for CAnimKnob, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aCoefCKnob [protected]
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bCoefCKnob [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bInverseBitmapCAnimKnob [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CAnimKnob(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CAnimKnob
CAnimKnob(const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)CAnimKnob
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CKnob(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CBitmap *handle, const CPoint &offset)CKnob
colorHandleCKnob [protected]
colorShadowHandleCKnob [protected]
compute()CKnob [protected]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CAnimKnob [virtual]
drawHandle(CDrawContext *pContext)CKnob [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getRangeAngle() const CKnob [inline, virtual]
getStartAngle() const CKnob [inline, virtual]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
getZoomFactor() const CKnob [inline, virtual]
halfAngleCKnob [protected]
heightOfOneImageCAnimKnob [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
insetCKnob [protected]
isDirty() const CAnimKnob [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastDrawnPointCAnimKnob [protected]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CKnob [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCKnob [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CKnob [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CKnob [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pHandleCKnob [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
radiusCKnob [protected]
rangeAngleCKnob [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setColorHandle(CColor color)CKnob [virtual]
setColorShadowHandle(CColor color)CKnob [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setHandleBitmap(CBitmap *bitmap)CKnob [virtual]
setInsetValue(long val)CKnob [inline, virtual]
setInverseBitmap(bool val)CAnimKnob [inline]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setRangeAngle(float val)CKnob [virtual]
setStartAngle(float val)CKnob [virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
setZoomFactor(float val)CKnob [inline, virtual]
sizeCView [protected]
startAngleCKnob [protected]
subPixmapsCAnimKnob [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
valueFromPoint(CPoint &point) const CKnob [virtual]
valueToPoint(CPoint &point) const CKnob [virtual]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
zoomFactorCKnob [protected]
~CAnimKnob()CAnimKnob [virtual]
~CControl()CControl [virtual]
~CKnob()CKnob [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.html new file mode 100644 index 0000000..8707b40 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.html @@ -0,0 +1,421 @@ + + +VSTGUI: CAnimKnob Class Reference + + + + +
+
+
+
+

CAnimKnob Class Reference

a bitmap knob control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CAnimKnob: +

+ +CKnob +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CAnimKnob (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CAnimKnob (const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)
virtual ~CAnimKnob ()
virtual bool isDirty () const
 check if view is dirty
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
void setInverseBitmap (bool val)

Protected Attributes

long subPixmaps
CCoord heightOfOneImage
bool bInverseBitmap
CPoint lastDrawnPoint
+

Detailed Description

+a bitmap knob control +

+Such as a CKnob control object, but there is a unique pixmap which contains different views (subpixmaps) of this knob. According to the value, a specific subpixmap is displayed. The different subpixmaps are stacked in the pixmap object. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CAnimKnob::CAnimKnob const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CAnimKnob::CAnimKnob const CRect size,
CControlListener listener,
long  tag,
long  subPixmaps,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CAnimKnob::~CAnimKnob  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CAnimKnob::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CKnob.

+

+ + + + +
+ + + + + + + + +
bool CAnimKnob::isDirty  )  const [virtual]
+
+ + + + + +
+   + + +

+check if view is dirty +

+ +

+Reimplemented from CControl.

+

+ + + + +
+ + + + + + + + + +
void CAnimKnob::setInverseBitmap bool  val  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CAnimKnob::bInverseBitmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CAnimKnob::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CAnimKnob::lastDrawnPoint [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CAnimKnob::subPixmaps [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.png new file mode 100644 index 0000000..9257888 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_anim_knob.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry-members.html new file mode 100644 index 0000000..53c8041 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry-members.html @@ -0,0 +1,52 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CAttributeListEntry Member List

This is the complete list of members for CAttributeListEntry, including all inherited members.

+ + + + + + + + + + + + +
CAttributeListEntry(long size, CViewAttributeID id)CAttributeListEntry [inline]
CAttributeListEntry()CAttributeListEntry [inline, protected]
getID() const CAttributeListEntry [inline]
getNext() const CAttributeListEntry [inline]
getPointer() const CAttributeListEntry [inline]
getSize() const CAttributeListEntry [inline]
idCAttributeListEntry [protected]
nextEntryCAttributeListEntry [protected]
pointerCAttributeListEntry [protected]
setNext(CAttributeListEntry *entry)CAttributeListEntry [inline]
sizeOfPointerCAttributeListEntry [protected]
~CAttributeListEntry()CAttributeListEntry [inline]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry.html new file mode 100644 index 0000000..20f65f0 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_attribute_list_entry.html @@ -0,0 +1,393 @@ + + +VSTGUI: CAttributeListEntry Class Reference + + + + +
+
+
+
+

CAttributeListEntry Class Reference

List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CAttributeListEntry (long size, CViewAttributeID id)
 ~CAttributeListEntry ()
const CViewAttributeID getID () const
const long getSize () const
void * getPointer () const
CAttributeListEntrygetNext () const
void setNext (CAttributeListEntry *entry)

Protected Member Functions

 CAttributeListEntry ()

Protected Attributes

CAttributeListEntrynextEntry
void * pointer
long sizeOfPointer
CViewAttributeID id
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CAttributeListEntry::CAttributeListEntry long  size,
CViewAttributeID  id
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CAttributeListEntry::~CAttributeListEntry  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CAttributeListEntry::CAttributeListEntry  )  [inline, protected]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
const CViewAttributeID CAttributeListEntry::getID  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CAttributeListEntry* CAttributeListEntry::getNext  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void* CAttributeListEntry::getPointer  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
const long CAttributeListEntry::getSize  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CAttributeListEntry::setNext CAttributeListEntry entry  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CViewAttributeID CAttributeListEntry::id [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CAttributeListEntry* CAttributeListEntry::nextEntry [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CAttributeListEntry::pointer [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CAttributeListEntry::sizeOfPointer [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation-members.html new file mode 100644 index 0000000..700b28b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation-members.html @@ -0,0 +1,157 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CAutoAnimation Member List

This is the complete list of members for CAutoAnimation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
bWindowOpenedCAutoAnimation [protected]
CAutoAnimation(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CAutoAnimation
CAutoAnimation(const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)CAutoAnimation
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
closeWindow(void)CAutoAnimation [virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CAutoAnimation [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCAutoAnimation [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
isWindowOpened() const CAutoAnimation [inline]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CAutoAnimation [virtual]
mouseableAreaCView [protected]
nextPixmap(void)CAutoAnimation [virtual]
notify(CView *sender, const char *message)CView [virtual]
offsetCAutoAnimation [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
openWindow(void)CAutoAnimation [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
previousPixmap(void)CAutoAnimation [virtual]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
subPixmapsCAutoAnimation [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
totalHeightOfBitmapCAutoAnimation [protected]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CAutoAnimation()CAutoAnimation [virtual]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.html new file mode 100644 index 0000000..d1a2a3b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.html @@ -0,0 +1,575 @@ + + +VSTGUI: CAutoAnimation Class Reference + + + + +
+
+
+
+

CAutoAnimation Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for CAutoAnimation: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CAutoAnimation (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CAutoAnimation (const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)
virtual ~CAutoAnimation ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual void openWindow (void)
virtual void closeWindow (void)
virtual void nextPixmap (void)
virtual void previousPixmap (void)
bool isWindowOpened () const

Protected Attributes

CPoint offset
long subPixmaps
CCoord heightOfOneImage
CCoord totalHeightOfBitmap
bool bWindowOpened
+

Detailed Description

+An auto-animation control contains a given number of subpixmap which can be displayed in loop. Two functions allows to get the previous or the next subpixmap (these functions increase or decrease the current value of this control). +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CAutoAnimation::CAutoAnimation const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CAutoAnimation::CAutoAnimation const CRect size,
CControlListener listener,
long  tag,
long  subPixmaps,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CAutoAnimation::~CAutoAnimation  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CAutoAnimation::closeWindow void   )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CAutoAnimation::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + +
bool CAutoAnimation::isWindowOpened  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CAutoAnimation::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CAutoAnimation::nextPixmap void   )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CAutoAnimation::openWindow void   )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CAutoAnimation::previousPixmap void   )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CAutoAnimation::bWindowOpened [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CAutoAnimation::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CAutoAnimation::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CAutoAnimation::subPixmaps [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CAutoAnimation::totalHeightOfBitmap [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.png new file mode 100644 index 0000000..071ca82 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_auto_animation.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap-members.html new file mode 100644 index 0000000..f4ce3de --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap-members.html @@ -0,0 +1,69 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CBitmap Member List

This is the complete list of members for CBitmap, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CBitmap(long resourceID)CBitmap
CBitmap(CFrame &frame, CCoord width, CCoord height)CBitmap
CBitmap()CBitmap [protected]
CReferenceCounter()CReferenceCounter [inline]
dispose()CBitmap [protected, virtual]
draw(CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))CBitmap [virtual]
drawAlphaBlend(CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0), unsigned char alpha=128)CBitmap [virtual]
drawTransparent(CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))CBitmap [virtual]
forget()CReferenceCounter [inline, virtual]
getHandle() const CBitmap
getHeight() const CBitmap [inline]
getNbReference() const CReferenceCounter [inline]
getNoAlpha() const CBitmap [inline]
getTransparentColor() const CBitmap [inline]
getWidth() const CBitmap [inline]
heightCBitmap [protected]
isLoaded() const CBitmap
loadFromPath(const void *platformPath)CBitmap [protected, virtual]
loadFromResource(long resourceID)CBitmap [protected, virtual]
noAlphaCBitmap [protected]
remember()CReferenceCounter [inline, virtual]
resourceIDCBitmap [protected]
setNoAlpha(bool state)CBitmap [inline]
setTransparencyMask(CDrawContext *pContext, const CPoint &offset=CPoint(0, 0))CBitmap
setTransparentColor(const CColor color)CBitmap
transparentCColorCBitmap [protected]
widthCBitmap [protected]
~CBitmap()CBitmap [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.html new file mode 100644 index 0000000..be3482a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.html @@ -0,0 +1,846 @@ + + +VSTGUI: CBitmap Class Reference + + + + +
+
+
+
+

CBitmap Class Reference

Encapsulates various platform depended kinds of bitmaps. +More... +

+#include <vstgui.h> +

+

Inheritance diagram for CBitmap: +

+ +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CBitmap (long resourceID)
 Create a pixmap from a resource identifier.
 CBitmap (CFrame &frame, CCoord width, CCoord height)
 Create a pixmap with a given size.
virtual ~CBitmap ()
virtual void draw (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))
 Draw the pixmap using a given rect as output position and a given offset of its source pixmap.
virtual void drawTransparent (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))
virtual void drawAlphaBlend (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0), unsigned char alpha=128)
 Same as CBitmap::draw except that it uses the alpha value to draw the bitmap alpha blended.
CCoord getWidth () const
CCoord getHeight () const
bool isLoaded () const
void * getHandle () const
void setTransparentColor (const CColor color)
CColor getTransparentColor () const
void setTransparencyMask (CDrawContext *pContext, const CPoint &offset=CPoint(0, 0))
void setNoAlpha (bool state)
bool getNoAlpha () const

Protected Member Functions

 CBitmap ()
virtual void dispose ()
virtual bool loadFromResource (long resourceID)
virtual bool loadFromPath (const void *platformPath)

Protected Attributes

long resourceID
CCoord width
CCoord height
CColor transparentCColor
bool noAlpha
+

Detailed Description

+Encapsulates various platform depended kinds of bitmaps. +

+

+Alpha Blend and Transparency

+With Version 3.0 of VSTGUI it is possible to use alpha blended bitmaps. This comes free on Mac OS X and with Windows you need to include libpng. Per default PNG images will be rendered alpha blended. If you want to use a transparency color with PNG Bitmaps, you need to call setNoAlpha(true) on the bitmap and set the transparency color.

+Classic Apple Mac OS

+The Bitmaps are PICTs and stored inside the resource fork.

+Apple Mac OS X

+The Bitmaps can be of type PNG, JPEG, PICT, BMP and are stored in the Resources folder of the plugin bundle. They must be named bmp00100.png (or bmp00100.jpg, etc). The number is the resource id.

+Microsoft Windows

+The Bitmaps are .bmp files and must be included in the plug (usually using a .rc file). It's also possible to use png as of version 3.0 if you define the macro USE_LIBPNG and include the libpng and zlib libraries/sources to your project. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
CBitmap::CBitmap long  resourceID  ) 
+
+ + + + + +
+   + + +

+Create a pixmap from a resource identifier. +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CBitmap::CBitmap CFrame frame,
CCoord  width,
CCoord  height
+
+ + + + + +
+   + + +

+Create a pixmap with a given size. +

+

+

+ + + + +
+ + + + + + + + +
CBitmap::~CBitmap  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CBitmap::CBitmap  )  [protected]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
void CBitmap::dispose  )  [protected, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CBitmap::draw CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0)
[virtual]
+
+ + + + + +
+   + + +

+Draw the pixmap using a given rect as output position and a given offset of its source pixmap. +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CBitmap::drawAlphaBlend CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0),
unsigned char  alpha = 128
[virtual]
+
+ + + + + +
+   + + +

+Same as CBitmap::draw except that it uses the alpha value to draw the bitmap alpha blended. +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CBitmap::drawTransparent CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0)
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void * CBitmap::getHandle  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CBitmap::getHeight  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CBitmap::getNoAlpha  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CBitmap::getTransparentColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CBitmap::getWidth  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CBitmap::isLoaded  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CBitmap::loadFromPath const void *  platformPath  )  [protected, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CBitmap::loadFromResource long  resourceID  )  [protected, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CBitmap::setNoAlpha bool  state  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CBitmap::setTransparencyMask CDrawContext pContext,
const CPoint offset = CPoint(0, 0)
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CBitmap::setTransparentColor const CColor  color  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CBitmap::height [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CBitmap::noAlpha [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CBitmap::resourceID [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CBitmap::transparentCColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CBitmap::width [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.png new file mode 100644 index 0000000..7ccc8d0 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_bitmap.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view-members.html new file mode 100644 index 0000000..f6fac7d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view-members.html @@ -0,0 +1,45 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CCView Member List

This is the complete list of members for CCView, including all inherited members.

+ + + + + +
CCView(CView *pView)CCView
pNextCCView
pPreviousCCView
pViewCCView
~CCView()CCView
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view.html new file mode 100644 index 0000000..6ffe37c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_c_view.html @@ -0,0 +1,184 @@ + + +VSTGUI: CCView Class Reference + + + + +
+
+
+
+

CCView Class Reference

#include <vstgui.h> +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

 CCView (CView *pView)
 ~CCView ()

Public Attributes

CViewpView
CCViewpNext
CCViewpPrevious
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
CCView::CCView CView pView  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCView::~CCView  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCView* CCView::pNext
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCView* CCView::pPrevious
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CCView::pView
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control-members.html new file mode 100644 index 0000000..cdaee37 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control-members.html @@ -0,0 +1,144 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CControl Member List

This is the complete list of members for CControl, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)=0CControl [pure virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.html new file mode 100644 index 0000000..bbed088 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.html @@ -0,0 +1,1265 @@ + + +VSTGUI: CControl Class Reference + + + + +
+
+
+
+

CControl Class Reference

base class of all VSTGUI controls +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CControl: +

+ +CView +CReferenceCounter +CAutoAnimation +CHorizontalSwitch +CKickButton +CKnob +CMovieBitmap +CMovieButton +COnOffButton +CParamDisplay +CRockerSwitch +CScrollbar +CSlider +CSpecialDigit +CSplashScreen +CVerticalSwitch +CVuMeter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CControl (const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)
virtual ~CControl ()
virtual void draw (CDrawContext *pContext)=0
 called if the view should draw itself
virtual void doIdleStuff ()
virtual void setValue (float val)
virtual float getValue () const
virtual void setMin (float val)
virtual float getMin () const
virtual void setMax (float val)
virtual float getMax () const
virtual void setOldValue (float val)
virtual float getOldValue (void) const
virtual void setDefaultValue (float val)
virtual float getDefaultValue (void) const
virtual void setTag (long val)
virtual long getTag () const
virtual bool isDirty () const
 check if view is dirty
virtual void setDirty (const bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe !
virtual void beginEdit ()
virtual void endEdit ()
virtual void setBackOffset (CPoint &offset)
virtual void copyBackOffset ()
virtual void setWheelInc (float val)
virtual float getWheelInc () const
virtual void bounceValue ()
virtual bool checkDefaultValue (CDrawContext *pContext, long button)
CControlListenergetListener () const
void setListener (CControlListener *l)
bool isDoubleClick ()

Protected Attributes

CControlListenerlistener
long tag
float oldValue
float defaultValue
float value
float vmin
float vmax
float wheelInc
long lastTicks
long delta
CPoint backOffset
+

Detailed Description

+base class of all VSTGUI controls +

+This object manages the tag identification and the value of a control object.

+Note: Since version 2.1, when an object uses the transparency for its background and draws on it (tranparency area) or the transparency area changes during different draws (CMovieBitmap ,...), the background will be false (not updated), you have to rewrite the draw function in order to redraw the background and then call the draw of the object. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CControl::CControl const CRect size,
CControlListener listener = 0,
long  tag = 0,
CBitmap pBackground = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CControl::~CControl  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
void CControl::beginEdit  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void CControl::bounceValue  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CControl::checkDefaultValue CDrawContext pContext,
long  button
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void CControl::copyBackOffset  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual void CControl::doIdleStuff  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::draw CDrawContext pContext  )  [pure virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CView. +

+Implemented in CScrollbar, CTabButton, COnOffButton, CParamDisplay, CTextLabel, CTextEdit, COptionMenu, CKnob, CAnimKnob, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CMovieBitmap, CMovieButton, CAutoAnimation, CSlider, CSpecialDigit, CKickButton, CSplashScreen, and CVuMeter.

+

+ + + + +
+ + + + + + + + +
void CControl::endEdit  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual float CControl::getDefaultValue void   )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CControlListener* CControl::getListener  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CControl::getMax  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CControl::getMin  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual float CControl::getOldValue void   )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual long CControl::getTag  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CControl::getValue  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CControl::getWheelInc  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CControl::isDirty  )  const [virtual]
+
+ + + + + +
+   + + +

+check if view is dirty +

+ +

+Reimplemented from CView. +

+Reimplemented in CAnimKnob.

+

+ + + + +
+ + + + + + + + +
bool CControl::isDoubleClick  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CControl::setBackOffset CPoint offset  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setDefaultValue float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CControl::setDirty const bool  val = true  )  [virtual]
+
+ + + + + +
+   + + +

+set the view to dirty so that it is redrawn in the next idle. Thread Safe ! +

+ +

+Reimplemented from CView. +

+Reimplemented in CVuMeter.

+

+ + + + +
+ + + + + + + + + +
void CControl::setListener CControlListener l  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setMax float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setMin float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setOldValue float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setTag long  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setValue float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in COptionMenu.

+

+ + + + +
+ + + + + + + + + +
virtual void CControl::setWheelInc float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CPoint CControl::backOffset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::defaultValue [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CControl::delta [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CControl::lastTicks [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CControlListener* CControl::listener [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::oldValue [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CControl::tag [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::value [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::vmax [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::vmin [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CControl::wheelInc [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.png new file mode 100644 index 0000000..0f93b22 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener-members.html new file mode 100644 index 0000000..66e7ef2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener-members.html @@ -0,0 +1,42 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CControlListener Member List

This is the complete list of members for CControlListener, including all inherited members.

+ + +
controlModifierClicked(CDrawContext *pContext, CControl *pControl, long button)CControlListener [inline, virtual]
valueChanged(CDrawContext *pContext, CControl *pControl)=0CControlListener [pure virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.html new file mode 100644 index 0000000..93ae9af --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.html @@ -0,0 +1,140 @@ + + +VSTGUI: CControlListener Class Reference + + + + +
+
+
+
+

CControlListener Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for CControlListener: +

+ +CScrollView +CTabView + +List of all members. + + + + + + +

Public Member Functions

virtual void valueChanged (CDrawContext *pContext, CControl *pControl)=0
virtual long controlModifierClicked (CDrawContext *pContext, CControl *pControl, long button)
+

Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual long CControlListener::controlModifierClicked CDrawContext pContext,
CControl pControl,
long  button
[inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void CControlListener::valueChanged CDrawContext pContext,
CControl pControl
[pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in CScrollView, and CTabView.

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.png new file mode 100644 index 0000000..aba9e21 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_control_listener.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container-members.html new file mode 100644 index 0000000..cf8432d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container-members.html @@ -0,0 +1,58 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CDragContainer Member List

This is the complete list of members for CDragContainer, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
CDragContainer(void *platformDrag)CDragContainer
CReferenceCounter()CReferenceCounter [inline]
first(long &size, long &type)CDragContainer
forget()CReferenceCounter [inline, virtual]
getCount() const CDragContainer [inline]
getNbReference() const CReferenceCounter [inline]
getType(long idx) const CDragContainer
iteratorCDragContainer [protected]
kFile enum valueCDragContainer
kText enum valueCDragContainer
kUnknown enum valueCDragContainer
lastItemCDragContainer [protected]
nbItemsCDragContainer [protected]
next(long &size, long &type)CDragContainer
platformDragCDragContainer [protected]
remember()CReferenceCounter [inline, virtual]
~CDragContainer()CDragContainer
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.html new file mode 100644 index 0000000..5443c0a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.html @@ -0,0 +1,398 @@ + + +VSTGUI: CDragContainer Class Reference + + + + +
+
+
+
+

CDragContainer Class Reference

#include <vstgui.h> +

+

Inheritance diagram for CDragContainer: +

+ +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kFile = 0, +kText, +kUnknown = -1 + }

Public Member Functions

 CDragContainer (void *platformDrag)
 ~CDragContainer ()
void * first (long &size, long &type)
 returns pointer on a char array if type is known
void * next (long &size, long &type)
 returns pointer on a char array if type is known
long getType (long idx) const
long getCount () const

Protected Attributes

void * platformDrag
long nbItems
long iterator
void * lastItem
+

Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + +
kFile  +
kText  +
kUnknown  +
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
CDragContainer::CDragContainer void *  platformDrag  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CDragContainer::~CDragContainer  ) 
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void * CDragContainer::first long &  size,
long &  type
+
+ + + + + +
+   + + +

+returns pointer on a char array if type is known +

+

+

+ + + + +
+ + + + + + + + +
long CDragContainer::getCount  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
long CDragContainer::getType long  idx  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void * CDragContainer::next long &  size,
long &  type
+
+ + + + + +
+   + + +

+returns pointer on a char array if type is known +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
long CDragContainer::iterator [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CDragContainer::lastItem [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CDragContainer::nbItems [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CDragContainer::platformDrag [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.png new file mode 100644 index 0000000..93c608f Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_drag_container.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context-members.html new file mode 100644 index 0000000..7e2f9c1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context-members.html @@ -0,0 +1,110 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CDrawContext Member List

This is the complete list of members for CDrawContext, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CBitmap classCDrawContext [friend]
CDrawContext(CFrame *pFrame, void *pSystemContext, void *pWindow=0)CDrawContext
clipRectCDrawContext [protected]
COffscreenContext classCDrawContext [friend]
CReferenceCounter()CReferenceCounter [inline]
drawArc(const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawArc(const CRect &rect, const CPoint &point1, const CPoint &point2)CDrawContext
drawEllipse(const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawLines(const CPoint *points, const long &numberOfLines)CDrawContext
drawModeCDrawContext [protected]
drawPoint(const CPoint &point, CColor color)CDrawContext
drawPolygon(const CPoint *pPoints, long numberOfPoints, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawRect(const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawString(const char *pString, const CRect &rect, const short opaque=false, const CHoriTxtAlign hAlign=kCenterText)CDrawContext
fillArc(const CRect &rect, const CPoint &point1, const CPoint &point2)CDrawContext
fillColorCDrawContext [protected]
fillEllipse(const CRect &rect)CDrawContext
fillPolygon(const CPoint *pPoint, long numberOfPoints)CDrawContext
fillRect(const CRect &rect)CDrawContext
floodFill(const CPoint &start)CDrawContext
fontColorCDrawContext [protected]
fontIdCDrawContext [protected]
fontSizeCDrawContext [protected]
fontStyleCDrawContext [protected]
forget()CDrawContext [virtual]
frameColorCDrawContext [protected]
frameWidthCDrawContext [protected]
getClipRect(CRect &clip) const CDrawContext [inline]
getDrawMode() const CDrawContext [inline]
getFillColor() const CDrawContext [inline]
getFont() const CDrawContext [inline]
getFontColor() const CDrawContext [inline]
getFontSize() const CDrawContext [inline]
getFrame() const CDrawContext [inline]
getFrameColor() const CDrawContext [inline]
getLineStyle() const CDrawContext [inline]
getLineWidth() const CDrawContext [inline]
getLoc(CPoint &where) const CDrawContext [inline]
getMouseButtons()CDrawContext
getMouseLocation(CPoint &point)CDrawContext
getNbReference() const CReferenceCounter [inline]
getPoint(const CPoint &point)CDrawContext
getStringWidth(const char *pStr)CDrawContext
getSystemContext() const CDrawContext [inline]
getWindow()CDrawContext [inline]
lineStyleCDrawContext [protected]
lineTo(const CPoint &point)CDrawContext
moveTo(const CPoint &point)CDrawContext
offsetCDrawContext
offsetScreenCDrawContext
penLocCDrawContext [protected]
pFrameCDrawContext [protected]
polyLine(const CPoint *pPoint, long numberOfPoints)CDrawContext
pSystemContextCDrawContext [protected]
pWindowCDrawContext [protected]
remember()CReferenceCounter [inline, virtual]
resetClipRect()CDrawContext
setClipRect(const CRect &clip)CDrawContext
setDrawMode(CDrawMode mode)CDrawContext
setFillColor(const CColor color)CDrawContext
setFont(CFont fontID, const long size=0, long style=0)CDrawContext
setFontColor(const CColor color)CDrawContext
setFrameColor(const CColor color)CDrawContext
setLineStyle(CLineStyle style)CDrawContext
setLineWidth(CCoord width)CDrawContext
setWindow(void *ptr)CDrawContext [inline]
waitDoubleClick()CDrawContext
waitDrag()CDrawContext
~CDrawContext()CDrawContext [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.html new file mode 100644 index 0000000..f59a6e6 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.html @@ -0,0 +1,2235 @@ + + +VSTGUI: CDrawContext Class Reference + + + + +
+
+
+
+

CDrawContext Class Reference

A drawing context encapsulates the drawing context of the underlying OS. It implements the drawing functions. +More... +

+#include <vstgui.h> +

+

Inheritance diagram for CDrawContext: +

+ +CReferenceCounter +COffscreenContext + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CDrawContext (CFrame *pFrame, void *pSystemContext, void *pWindow=0)
virtual ~CDrawContext ()
void moveTo (const CPoint &point)
 move line position to point
void lineTo (const CPoint &point)
 draw a line from current position to point
void drawLines (const CPoint *points, const long &numberOfLines)
 draw multiple lines at once
void drawPolygon (const CPoint *pPoints, long numberOfPoints, const CDrawStyle drawStyle=kDrawStroked)
 draw a polygon
void polyLine (const CPoint *pPoint, long numberOfPoints)
 draw a stroked polygon
void fillPolygon (const CPoint *pPoint, long numberOfPoints)
 draw a filled polygon
void drawRect (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)
 draw a stroked rect
void fillRect (const CRect &rect)
 draw a filled rect
void drawArc (const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle=kDrawStroked)
 draw a stroked arc, where the angles are in degree
void drawArc (const CRect &rect, const CPoint &point1, const CPoint &point2)
 draw a stroked arc between point1 and point2
void fillArc (const CRect &rect, const CPoint &point1, const CPoint &point2)
 draw a filled arc between point1 and point2
void drawEllipse (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)
 draw an ellipse
void fillEllipse (const CRect &rect)
 draw a filled ellipse
void drawPoint (const CPoint &point, CColor color)
 draw a point
CColor getPoint (const CPoint &point)
void floodFill (const CPoint &start)
void setLineStyle (CLineStyle style)
 set the current line style
CLineStyle getLineStyle () const
 get the current line style
void setLineWidth (CCoord width)
 set the current line width
CCoord getLineWidth () const
 get the current line width
void setDrawMode (CDrawMode mode)
 set the current draw mode, see CDrawMode
CDrawMode getDrawMode () const
 get the current draw mode, see CDrawMode
void setClipRect (const CRect &clip)
 set the current clip
CRectgetClipRect (CRect &clip) const
 get the current clip
void resetClipRect ()
 reset the clip to the default state
void setFillColor (const CColor color)
 set current fill color
CColor getFillColor () const
 get current fill color
void setFrameColor (const CColor color)
 set current stroke color
CColor getFrameColor () const
 get current stroke color
void setFontColor (const CColor color)
 set current font color
CColor getFontColor () const
 get current font color
void setFont (CFont fontID, const long size=0, long style=0)
 set current font
CFont getFont () const
 get current font
long getFontSize () const
 get current font size
CCoord getStringWidth (const char *pStr)
 get the width of a string
void drawString (const char *pString, const CRect &rect, const short opaque=false, const CHoriTxtAlign hAlign=kCenterText)
 draw a string
long getMouseButtons ()
 get current mouse buttons
void getMouseLocation (CPoint &point)
 get current mouse location. should not be used, see CView::getMouseLocation
bool waitDoubleClick ()
 check if another mouse click occurs in the near future
bool waitDrag ()
 check if the mouse will be dragged
void * getWindow ()
void setWindow (void *ptr)
void getLoc (CPoint &where) const
CFramegetFrame () const
void * getSystemContext () const
virtual void forget ()

Public Attributes

CPoint offsetScreen
CPoint offset

Protected Attributes

void * pSystemContext
void * pWindow
CFramepFrame
long fontSize
long fontStyle
CFont fontId
CColor fontColor
CPoint penLoc
CCoord frameWidth
CColor frameColor
CColor fillColor
CLineStyle lineStyle
CDrawMode drawMode
CRect clipRect

Friends

class CBitmap
class COffscreenContext
+

Detailed Description

+A drawing context encapsulates the drawing context of the underlying OS. It implements the drawing functions. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CDrawContext::CDrawContext CFrame inFrame,
void *  inSystemContext,
void *  inWindow = 0
+
+ + + + + +
+   + + +

+CDrawContext constructor.

Parameters:
+ + + + +
inFrame the parent CFrame
inSystemContext the platform system context, can be NULL
inWindow the platform window object
+
+
+

+ + + + +
+ + + + + + + + +
CDrawContext::~CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::drawArc const CRect rect,
const CPoint point1,
const CPoint point2
+
+ + + + + +
+   + + +

+draw a stroked arc between point1 and point2 +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::drawArc const CRect rect,
const float  startAngle1,
const float  endAngle2,
const CDrawStyle  drawStyle = kDrawStroked
+
+ + + + + +
+   + + +

+draw a stroked arc, where the angles are in degree +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::drawEllipse const CRect rect,
const CDrawStyle  drawStyle = kDrawStroked
+
+ + + + + +
+   + + +

+draw an ellipse +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::drawLines const CPoint points,
const long &  numberOfLines
+
+ + + + + +
+   + + +

+draw multiple lines at once +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::drawPoint const CPoint point,
CColor  color
+
+ + + + + +
+   + + +

+draw a point +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::drawPolygon const CPoint pPoints,
long  numberOfPoints,
const CDrawStyle  drawStyle = kDrawStroked
+
+ + + + + +
+   + + +

+draw a polygon +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::drawRect const CRect rect,
const CDrawStyle  drawStyle = kDrawStroked
+
+ + + + + +
+   + + +

+draw a stroked rect +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::drawString const char *  pString,
const CRect rect,
const short  opaque = false,
const CHoriTxtAlign  hAlign = kCenterText
+
+ + + + + +
+   + + +

+draw a string +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::fillArc const CRect rect,
const CPoint point1,
const CPoint point2
+
+ + + + + +
+   + + +

+draw a filled arc between point1 and point2 +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::fillEllipse const CRect rect  ) 
+
+ + + + + +
+   + + +

+draw a filled ellipse +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::fillPolygon const CPoint pPoint,
long  numberOfPoints
+
+ + + + + +
+   + + +

+draw a filled polygon +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::fillRect const CRect rect  ) 
+
+ + + + + +
+   + + +

+draw a filled rect +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::floodFill const CPoint start  ) 
+
+ + + + + +
+   + + +

+

Deprecated:
+
+

+ + + + +
+ + + + + + + + +
void CDrawContext::forget  )  [virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CReferenceCounter.

+

+ + + + +
+ + + + + + + + + +
CRect& CDrawContext::getClipRect CRect clip  )  const [inline]
+
+ + + + + +
+   + + +

+get the current clip +

+

+

+ + + + +
+ + + + + + + + +
CDrawMode CDrawContext::getDrawMode  )  const [inline]
+
+ + + + + +
+   + + +

+get the current draw mode, see CDrawMode +

+

+

+ + + + +
+ + + + + + + + +
CColor CDrawContext::getFillColor  )  const [inline]
+
+ + + + + +
+   + + +

+get current fill color +

+

+

+ + + + +
+ + + + + + + + +
CFont CDrawContext::getFont  )  const [inline]
+
+ + + + + +
+   + + +

+get current font +

+

+

+ + + + +
+ + + + + + + + +
CColor CDrawContext::getFontColor  )  const [inline]
+
+ + + + + +
+   + + +

+get current font color +

+

+

+ + + + +
+ + + + + + + + +
long CDrawContext::getFontSize  )  const [inline]
+
+ + + + + +
+   + + +

+get current font size +

+

+

+ + + + +
+ + + + + + + + +
CFrame* CDrawContext::getFrame  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CDrawContext::getFrameColor  )  const [inline]
+
+ + + + + +
+   + + +

+get current stroke color +

+

+

+ + + + +
+ + + + + + + + +
CLineStyle CDrawContext::getLineStyle  )  const [inline]
+
+ + + + + +
+   + + +

+get the current line style +

+

+

+ + + + +
+ + + + + + + + +
CCoord CDrawContext::getLineWidth  )  const [inline]
+
+ + + + + +
+   + + +

+get the current line width +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::getLoc CPoint where  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
long CDrawContext::getMouseButtons  ) 
+
+ + + + + +
+   + + +

+get current mouse buttons +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::getMouseLocation CPoint point  ) 
+
+ + + + + +
+   + + +

+get current mouse location. should not be used, see CView::getMouseLocation +

+

+

+ + + + +
+ + + + + + + + + +
CColor CDrawContext::getPoint const CPoint point  ) 
+
+ + + + + +
+   + + +

+

Deprecated:
+
+

+ + + + +
+ + + + + + + + + +
CCoord CDrawContext::getStringWidth const char *  pStr  ) 
+
+ + + + + +
+   + + +

+get the width of a string +

+

+

+ + + + +
+ + + + + + + + +
void* CDrawContext::getSystemContext  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void* CDrawContext::getWindow  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::lineTo const CPoint point  ) 
+
+ + + + + +
+   + + +

+draw a line from current position to point +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::moveTo const CPoint point  ) 
+
+ + + + + +
+   + + +

+move line position to point +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CDrawContext::polyLine const CPoint pPoint,
long  numberOfPoints
+
+ + + + + +
+   + + +

+draw a stroked polygon +

+

+

+ + + + +
+ + + + + + + + +
void CDrawContext::resetClipRect  ) 
+
+ + + + + +
+   + + +

+reset the clip to the default state +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setClipRect const CRect clip  ) 
+
+ + + + + +
+   + + +

+set the current clip +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setDrawMode CDrawMode  mode  ) 
+
+ + + + + +
+   + + +

+set the current draw mode, see CDrawMode +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setFillColor const CColor  color  ) 
+
+ + + + + +
+   + + +

+set current fill color +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CDrawContext::setFont CFont  fontID,
const long  size = 0,
long  style = 0
+
+ + + + + +
+   + + +

+set current font +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setFontColor const CColor  color  ) 
+
+ + + + + +
+   + + +

+set current font color +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setFrameColor const CColor  color  ) 
+
+ + + + + +
+   + + +

+set current stroke color +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setLineStyle CLineStyle  style  ) 
+
+ + + + + +
+   + + +

+set the current line style +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setLineWidth CCoord  width  ) 
+
+ + + + + +
+   + + +

+set the current line width +

+

+

+ + + + +
+ + + + + + + + + +
void CDrawContext::setWindow void *  ptr  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CDrawContext::waitDoubleClick  ) 
+
+ + + + + +
+   + + +

+check if another mouse click occurs in the near future +

+

+

+ + + + +
+ + + + + + + + +
bool CDrawContext::waitDrag  ) 
+
+ + + + + +
+   + + +

+check if the mouse will be dragged +

+

+


Friends And Related Function Documentation

+

+ + + + +
+ + + + +
friend class CBitmap [friend]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
friend class COffscreenContext [friend]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CRect CDrawContext::clipRect [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CDrawMode CDrawContext::drawMode [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CDrawContext::fillColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CDrawContext::fontColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFont CDrawContext::fontId [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CDrawContext::fontSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CDrawContext::fontStyle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CDrawContext::frameColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CDrawContext::frameWidth [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CLineStyle CDrawContext::lineStyle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CDrawContext::offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CDrawContext::offsetScreen
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CDrawContext::penLoc [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFrame* CDrawContext::pFrame [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CDrawContext::pSystemContext [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CDrawContext::pWindow [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.png new file mode 100644 index 0000000..343e535 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_draw_context.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector-members.html new file mode 100644 index 0000000..3cf19e7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector-members.html @@ -0,0 +1,45 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CFileSelector Member List

This is the complete list of members for CFileSelector, including all inherited members.

+ + + + + +
CFileSelector(void *ptr)CFileSelector
ptrCFileSelector [protected]
run(VstFileSelect *vstFileSelect)CFileSelector
vstFileSelectCFileSelector [protected]
~CFileSelector()CFileSelector [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector.html new file mode 100644 index 0000000..8504ec2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_file_selector.html @@ -0,0 +1,190 @@ + + +VSTGUI: CFileSelector Class Reference + + + + +
+
+
+
+

CFileSelector Class Reference

#include <cfileselector.h> +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

 CFileSelector (void *ptr)
virtual ~CFileSelector ()
long run (VstFileSelect *vstFileSelect)

Protected Attributes

void * ptr
VstFileSelectvstFileSelect
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
BEGIN_NAMESPACE_VSTGUI CFileSelector::CFileSelector void *  ptr  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CFileSelector::~CFileSelector  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
long CFileSelector::run VstFileSelect vstFileSelect  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
void* CFileSelector::ptr [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
VstFileSelect* CFileSelector::vstFileSelect [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame-members.html new file mode 100644 index 0000000..43778c4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame-members.html @@ -0,0 +1,184 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CFrame Member List

This is the complete list of members for CFrame, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addView(CView *pView)CViewContainer [virtual]
addView(CView *pView, CRect &mouseableArea, bool mouseEnabled=true)CViewContainer [virtual]
advanceNextFocusView(CView *oldFocus, bool reverse=false)CFrame [virtual]
attached(CView *view)CViewContainer [virtual]
backgroundColorCViewContainer [protected]
backgroundOffsetCViewContainer [protected]
bDirtyCView [protected]
bDrawInOffscreenCViewContainer [protected]
bDropActiveCFrame [protected]
beginEdit(long index)CFrame [virtual]
bFirstDrawCFrame [protected]
bMouseEnabledCView [protected]
bOpenFlagCFrame [protected]
bTransparencyEnabledCView [protected]
bUpdatesDisabledCFrame [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame(const CRect &size, void *pSystemWindow, void *pEditor)CFrame
CFrame(const CRect &size, const char *pTitle, void *pEditor, const long style=0)CFrame
CViewContainer::CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
close()CFrame [virtual]
createDrawContext()CFrame
CReferenceCounter()CReferenceCounter [inline]
currentDragViewCViewContainer [protected]
CView(const CRect &size)CView
CViewContainer(const CRect &size, CFrame *pParent, CBitmap *pBackground=0)CViewContainer
CView::CViewContainer classCView [friend]
doIdleStuff()CFrame [virtual]
draw(CDrawContext *pContext)CFrame [virtual]
draw(CView *pView=0)CFrame [virtual]
drawBackgroundRect(CDrawContext *pContext, CRect &_updateRect)CViewContainer [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CFrame [virtual]
endEdit(long index)CFrame [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CViewContainer [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CViewContainer [inline, virtual]
getBackgroundOffset() const CViewContainer [inline, virtual]
getCurrentLocation(CPoint &where)CFrame [virtual]
getCurrentView() const CFrame [virtual]
getEditor() const CFrame [inline, virtual]
getFocusView() const CFrame [inline, virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getKnobMode() const CFrame [virtual]
getModalView() const CFrame [inline, virtual]
getMode() const CViewContainer [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNbViews() const CViewContainer [virtual]
getOpenFlag() const CFrame [inline, virtual]
getParentSystemWindow() const CFrame [inline]
getParentView() const CView [inline]
getPosition(CCoord &x, CCoord &y) const CFrame [virtual]
getSize(CRect *pSize) const CFrame [virtual]
getSize(CRect &pSize) const CFrame [virtual]
getSystemWindow() const CFrame [inline]
getTicks() const CFrame [virtual]
getTransparency() const CView [inline, virtual]
getView(long index) const CViewContainer [virtual]
getViewAt(const CPoint &where, bool deep=false) const CViewContainer [virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CViewContainer [virtual]
hitTestSubViews(const CPoint &where, const long buttons=-1)CViewContainer [protected]
idle()CFrame [virtual]
initFrame(void *pSystemWin)CFrame [protected]
invalidate(const CRect &rect)CFrame [virtual]
isChild(CView *pView) const CViewContainer [virtual]
isDirty() const CViewContainer [virtual]
isDropActive() const CFrame [inline, virtual]
isOpen() const CFrame [inline, virtual]
isTypeOf(const char *s) const CView [inline, virtual]
kNormalUpdate enum valueCViewContainer
kOnlyDirtyUpdate enum valueCViewContainer
localToFrame(CPoint &point) const CViewContainer [virtual]
looseFocus(CDrawContext *pContext=0)CViewContainer [virtual]
modeCViewContainer [protected]
modifyDrawContext(CCoord save[4], CDrawContext *pContext)CViewContainer
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CFrame [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CViewContainer [virtual]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onKeyDown(VstKeyCode &keyCode)CFrame [virtual]
onKeyUp(VstKeyCode &keyCode)CFrame [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CFrame [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CFrame [virtual]
open(CPoint *pPoint=0)CFrame [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pEditorCFrame [protected]
pFirstViewCViewContainer [protected]
pFocusViewCFrame [protected]
pLastViewCViewContainer [protected]
pModalViewCFrame [protected]
pOffscreenContextCViewContainer [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
pSystemWindowCFrame [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CViewContainer [virtual]
remember()CReferenceCounter [inline, virtual]
removeAll(const bool &withForget=true)CViewContainer [virtual]
removed(CView *parent)CViewContainer [virtual]
removeView(CView *pView, const bool &withForget=true)CViewContainer [virtual]
restoreDrawContext(CDrawContext *pContext, CCoord save[4])CViewContainer
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor color)CViewContainer [virtual]
setBackgroundOffset(const CPoint &p)CViewContainer [inline, virtual]
setCursor(CCursorType type)CFrame [virtual]
setDirty(const bool val=true)CView [inline, virtual]
setDropActive(bool val)CFrame [virtual]
setFocusView(CView *pView)CFrame [virtual]
setModalView(CView *pView)CFrame [virtual]
setMode(long val)CViewContainer [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOpenFlag(bool val)CFrame [inline, virtual]
setParentSystemWindow(void *val)CFrame [inline]
setPosition(CCoord x, CCoord y)CFrame [virtual]
setSize(CCoord width, CCoord height)CFrame [virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &inRect)CFrame [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
takeFocus(CDrawContext *pContext=0)CViewContainer [virtual]
update(CDrawContext *pContext)CFrame [virtual]
updatesDisabled() const CFrame [inline, virtual]
updatesDisabled(bool state)CFrame [inline, virtual]
useOffscreen(bool b)CViewContainer [virtual]
wantsFocus() const CView [inline, virtual]
~CFrame()CFrame [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
~CViewContainer()CViewContainer [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.html new file mode 100644 index 0000000..d8d4ba4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.html @@ -0,0 +1,1886 @@ + + +VSTGUI: CFrame Class Reference + + + + +
+
+
+
+

CFrame Class Reference

The CFrame is the parent container of all views. +More... +

+#include <vstgui.h> +

+

Inheritance diagram for CFrame: +

+ +CViewContainer +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CFrame (const CRect &size, void *pSystemWindow, void *pEditor)
 CFrame (const CRect &size, const char *pTitle, void *pEditor, const long style=0)
virtual ~CFrame ()
virtual bool open (CPoint *pPoint=0)
virtual bool close ()
virtual bool isOpen () const
virtual void idle ()
virtual void doIdleStuff ()
virtual unsigned long getTicks () const
 get the current time (in ms)
virtual long getKnobMode () const
 get hosts knob mode
virtual bool setPosition (CCoord x, CCoord y)
virtual bool getPosition (CCoord &x, CCoord &y) const
virtual bool setSize (CCoord width, CCoord height)
virtual bool getSize (CRect *pSize) const
virtual bool getSize (CRect &pSize) const
virtual long setModalView (CView *pView)
virtual CViewgetModalView () const
virtual void beginEdit (long index)
virtual void endEdit (long index)
virtual bool getCurrentLocation (CPoint &where)
virtual void setCursor (CCursorType type)
virtual void setFocusView (CView *pView)
virtual CViewgetFocusView () const
virtual bool advanceNextFocusView (CView *oldFocus, bool reverse=false)
virtual bool setDropActive (bool val)
virtual bool isDropActive () const
CDrawContextcreateDrawContext ()
virtual void setOpenFlag (bool val)
virtual bool getOpenFlag () const
virtual void invalidate (const CRect &rect)
virtual bool updatesDisabled () const
virtual bool updatesDisabled (bool state)
void * getSystemWindow () const
void * getParentSystemWindow () const
void setParentSystemWindow (void *val)
virtual void draw (CDrawContext *pContext)
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
virtual void draw (CView *pView=0)
virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)
 called if a mouse wheel event is happening over this view
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual long onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus
virtual void update (CDrawContext *pContext)
virtual void setViewSize (CRect &inRect)
virtual CViewgetCurrentView () const
 get the current view under the mouse
virtual void * getEditor () const

Protected Member Functions

bool initFrame (void *pSystemWin)

Protected Attributes

void * pEditor
void * pSystemWindow
CViewpModalView
CViewpFocusView
bool bFirstDraw
bool bOpenFlag
bool bDropActive
bool bUpdatesDisabled
+

Detailed Description

+The CFrame is the parent container of all views. +

+It creates a platform dependend view object. On classic Mac OS it just draws into the provided window. On Mac OS X it is a ControlRef. On Windows it's a WS_CHILD Window. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CFrame::CFrame const CRect size,
void *  pSystemWindow,
void *  pEditor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CFrame::CFrame const CRect size,
const char *  pTitle,
void *  pEditor,
const long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CFrame::~CFrame  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CFrame::advanceNextFocusView CView oldFocus,
bool  reverse = false
[virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CFrame::beginEdit long  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CFrame::close  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CDrawContext * CFrame::createDrawContext  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void CFrame::doIdleStuff  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::draw CView pView = 0  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + +
pContext the context which to use to draw this container and its subviews
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CFrame::drawRect CDrawContext pContext,
const CRect updateRect
[virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + + +
pContext the context which to use to draw
_updateRect the area which to draw
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CFrame::endEdit long  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CFrame::getCurrentLocation CPoint where  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CView * CFrame::getCurrentView  )  const [virtual]
+
+ + + + + +
+   + + +

+get the current view under the mouse +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + +
virtual void* CFrame::getEditor  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + +
virtual CView* CFrame::getFocusView  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
long CFrame::getKnobMode  )  const [virtual]
+
+ + + + + +
+   + + +

+get hosts knob mode +

+

+

+ + + + +
+ + + + + + + + +
virtual CView* CFrame::getModalView  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CFrame::getOpenFlag  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void* CFrame::getParentSystemWindow  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CFrame::getPosition CCoord x,
CCoord y
const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CFrame::getSize CRect pSize  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CFrame::getSize CRect pSize  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void* CFrame::getSystemWindow  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
unsigned long CFrame::getTicks  )  const [virtual]
+
+ + + + + +
+   + + +

+get the current time (in ms) +

+

+

+ + + + +
+ + + + + + + + +
void CFrame::idle  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CFrame::initFrame void *  pSystemWin  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::invalidate const CRect rect  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CFrame::isDropActive  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CFrame::isOpen  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CFrame::mouse CDrawContext pContext,
CPoint where,
long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
long CFrame::onKeyDown VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key down event occurs and this view has focus +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
long CFrame::onKeyUp VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key up event occurs and this view has focus +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CFrame::onWheel CDrawContext pContext,
const CPoint where,
const CMouseWheelAxis  axis,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CFrame::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
bool CFrame::open CPoint pPoint = 0  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::setCursor CCursorType  type  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CFrame::setDropActive bool  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::setFocusView CView pView  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
long CFrame::setModalView CView pView  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CFrame::setOpenFlag bool  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::setParentSystemWindow void *  val  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CFrame::setPosition CCoord  x,
CCoord  y
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CFrame::setSize CCoord  width,
CCoord  height
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CFrame::setViewSize CRect inRect  )  [virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + +
rect the new size of the container
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CFrame::update CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
virtual bool CFrame::updatesDisabled bool  state  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CFrame::updatesDisabled  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CFrame::bDropActive [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CFrame::bFirstDraw [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CFrame::bOpenFlag [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CFrame::bUpdatesDisabled [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CFrame::pEditor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CFrame::pFocusView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CFrame::pModalView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CFrame::pSystemWindow [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.png new file mode 100644 index 0000000..b826261 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_frame.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider-members.html new file mode 100644 index 0000000..fe8cea8 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider-members.html @@ -0,0 +1,173 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CHorizontalSlider Member List

This is the complete list of members for CHorizontalSlider, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *parent)CSlider [virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
bDrawTransparentEnabledCSlider [protected]
beginEdit()CControl [virtual]
bFreeClickCSlider [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CHorizontalSlider(const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kRight)CHorizontalSlider
CHorizontalSlider(const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kRight)CHorizontalSlider
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CSlider(const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CSlider(const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CSlider [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getFreeClick() const CSlider [inline, virtual]
getHandle() const CSlider [inline, virtual]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
getZoomFactor() const CSlider [inline, virtual]
heightControlCSlider [protected]
heightOfSliderCSlider [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
maxTmpCSlider [protected]
minPosCSlider [protected]
minTmpCSlider [protected]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CSlider [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCSlider [protected]
offsetHandleCSlider [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CSlider [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CSlider [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pHandleCSlider [protected]
pOScreenCSlider [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
rangeHandleCSlider [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CSlider [virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setDrawTransparentHandle(bool val)CSlider [inline, virtual]
setFreeClick(bool val)CSlider [inline, virtual]
setHandle(CBitmap *pHandle)CSlider [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOffsetHandle(CPoint &val)CSlider [virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
setZoomFactor(float val)CSlider [inline, virtual]
sizeCView [protected]
styleCSlider [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
widthControlCSlider [protected]
widthOfSliderCSlider [protected]
zoomFactorCSlider [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CSlider()CSlider [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.html new file mode 100644 index 0000000..9dd2cac --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.html @@ -0,0 +1,226 @@ + + +VSTGUI: CHorizontalSlider Class Reference + + + + +
+
+
+
+

CHorizontalSlider Class Reference

a horizontal slider control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CHorizontalSlider: +

+ +CSlider +CControl +CView +CReferenceCounter + +List of all members. + + + + + + +

Public Member Functions

 CHorizontalSlider (const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kRight)
 CHorizontalSlider (const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kRight)
+

Detailed Description

+a horizontal slider control +

+This is the horizontal slider. See CSlider. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHorizontalSlider::CHorizontalSlider const CRect size,
CControlListener listener,
long  tag,
long  iMinPos,
long  iMaxPos,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kRight
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHorizontalSlider::CHorizontalSlider const CRect rect,
CControlListener listener,
long  tag,
CPoint offsetHandle,
long  rangeHandle,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kRight
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.png new file mode 100644 index 0000000..8eb091f Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_slider.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch-members.html new file mode 100644 index 0000000..b1ad86f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch-members.html @@ -0,0 +1,151 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CHorizontalSwitch Member List

This is the complete list of members for CHorizontalSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CHorizontalSwitch(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CHorizontalSwitch
CHorizontalSwitch(const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, long iMaxPositions, CBitmap *background, CPoint &offset)CHorizontalSwitch
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CHorizontalSwitch [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCHorizontalSwitch [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
iMaxPositionsCHorizontalSwitch [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CHorizontalSwitch [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCHorizontalSwitch [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
subPixmapsCHorizontalSwitch [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CHorizontalSwitch()CHorizontalSwitch [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.html new file mode 100644 index 0000000..a1ac33d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.html @@ -0,0 +1,412 @@ + + +VSTGUI: CHorizontalSwitch Class Reference + + + + +
+
+
+
+

CHorizontalSwitch Class Reference

a horizontal switch control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CHorizontalSwitch: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, long iMaxPositions, CBitmap *background, CPoint &offset)
virtual ~CHorizontalSwitch ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs

Protected Attributes

CPoint offset
long subPixmaps
long iMaxPositions
CCoord heightOfOneImage
+

Detailed Description

+a horizontal switch control +

+Same as the CVerticalSwitch but horizontal. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHorizontalSwitch::CHorizontalSwitch const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHorizontalSwitch::CHorizontalSwitch const CRect size,
CControlListener listener,
long  tag,
long  subPixmaps,
CCoord  heightOfOneImage,
long  iMaxPositions,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CHorizontalSwitch::~CHorizontalSwitch  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CHorizontalSwitch::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CHorizontalSwitch::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CHorizontalSwitch::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CHorizontalSwitch::iMaxPositions [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CHorizontalSwitch::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CHorizontalSwitch::subPixmaps [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.png new file mode 100644 index 0000000..b44cf10 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_horizontal_switch.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button-members.html new file mode 100644 index 0000000..7545bb5 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button-members.html @@ -0,0 +1,149 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CKickButton Member List

This is the complete list of members for CKickButton, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CKickButton(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CKickButton
CKickButton(const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)CKickButton
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CKickButton [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCKickButton [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CKickButton [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCKickButton [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CKickButton()CKickButton [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.html new file mode 100644 index 0000000..bf10704 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.html @@ -0,0 +1,345 @@ + + +VSTGUI: CKickButton Class Reference + + + + +
+
+
+
+

CKickButton Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for CKickButton: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CKickButton (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CKickButton (const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)
virtual ~CKickButton ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs

Protected Attributes

CPoint offset
CCoord heightOfOneImage
+

Detailed Description

+Define a button with 2 states using 2 subpixmaps. One click on it, then the second subpixmap is displayed. When the mouse button is relaxed, the first subpixmap is framed. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CKickButton::CKickButton const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CKickButton::CKickButton const CRect size,
CControlListener listener,
long  tag,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CKickButton::~CKickButton  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CKickButton::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CKickButton::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CKickButton::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CKickButton::offset [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.png new file mode 100644 index 0000000..26b0a49 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_kick_button.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob-members.html new file mode 100644 index 0000000..b279b08 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob-members.html @@ -0,0 +1,172 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CKnob Member List

This is the complete list of members for CKnob, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aCoefCKnob [protected]
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bCoefCKnob [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CKnob(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CBitmap *handle, const CPoint &offset)CKnob
colorHandleCKnob [protected]
colorShadowHandleCKnob [protected]
compute()CKnob [protected]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CKnob [virtual]
drawHandle(CDrawContext *pContext)CKnob [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getRangeAngle() const CKnob [inline, virtual]
getStartAngle() const CKnob [inline, virtual]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
getZoomFactor() const CKnob [inline, virtual]
halfAngleCKnob [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
insetCKnob [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CKnob [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCKnob [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CKnob [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CKnob [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pHandleCKnob [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
radiusCKnob [protected]
rangeAngleCKnob [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setColorHandle(CColor color)CKnob [virtual]
setColorShadowHandle(CColor color)CKnob [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setHandleBitmap(CBitmap *bitmap)CKnob [virtual]
setInsetValue(long val)CKnob [inline, virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setRangeAngle(float val)CKnob [virtual]
setStartAngle(float val)CKnob [virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
setZoomFactor(float val)CKnob [inline, virtual]
sizeCView [protected]
startAngleCKnob [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
valueFromPoint(CPoint &point) const CKnob [virtual]
valueToPoint(CPoint &point) const CKnob [virtual]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
zoomFactorCKnob [protected]
~CControl()CControl [virtual]
~CKnob()CKnob [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.html new file mode 100644 index 0000000..c5b6e7b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.html @@ -0,0 +1,1048 @@ + + +VSTGUI: CKnob Class Reference + + + + +
+
+
+
+

CKnob Class Reference

a knob control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CKnob: +

+ +CControl +CView +CReferenceCounter +CAnimKnob + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CKnob (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CBitmap *handle, const CPoint &offset)
virtual ~CKnob ()
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual void drawHandle (CDrawContext *pContext)
virtual void setStartAngle (float val)
virtual float getStartAngle () const
virtual void setRangeAngle (float val)
virtual float getRangeAngle () const
virtual void valueToPoint (CPoint &point) const
virtual float valueFromPoint (CPoint &point) const
virtual void setInsetValue (long val)
virtual void setColorShadowHandle (CColor color)
virtual void setColorHandle (CColor color)
virtual void setHandleBitmap (CBitmap *bitmap)
virtual void setZoomFactor (float val)
virtual float getZoomFactor () const

Protected Member Functions

void compute ()

Protected Attributes

CPoint offset
CColor colorHandle
CColor colorShadowHandle
CBitmappHandle
long inset
float startAngle
float rangeAngle
float halfAngle
float aCoef
float bCoef
float radius
float zoomFactor
+

Detailed Description

+a knob control +

+Define a knob with a given background and foreground handle. The handle describes a circle over the background (between -45deg and +225deg). By clicking Alt+Left Mouse the default value is used. By clicking Alt+Left Mouse the value changes with a vertical move (version 2.1) +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CKnob::CKnob const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CBitmap handle,
const CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CKnob::~CKnob  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
void CKnob::compute  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl. +

+Reimplemented in CAnimKnob.

+

+ + + + +
+ + + + + + + + + +
void CKnob::drawHandle CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CKnob::getRangeAngle  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CKnob::getStartAngle  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CKnob::getZoomFactor  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CKnob::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
long CKnob::onKeyDown VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key down event occurs and this view has focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CKnob::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CKnob::setColorHandle CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::setColorShadowHandle CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::setHandleBitmap CBitmap bitmap  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CKnob::setInsetValue long  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::setRangeAngle float  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::setStartAngle float  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CKnob::setZoomFactor float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
float CKnob::valueFromPoint CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CKnob::valueToPoint CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
float CKnob::aCoef [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::bCoef [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CKnob::colorHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CKnob::colorShadowHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::halfAngle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CKnob::inset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CKnob::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CKnob::pHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::radius [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::rangeAngle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::startAngle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CKnob::zoomFactor [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.png new file mode 100644 index 0000000..e81b50d Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_knob.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap-members.html new file mode 100644 index 0000000..91c85e8 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap-members.html @@ -0,0 +1,150 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CMovieBitmap Member List

This is the complete list of members for CMovieBitmap, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CMovieBitmap(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CMovieBitmap
CMovieBitmap(const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)CMovieBitmap
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CMovieBitmap [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCMovieBitmap [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCMovieBitmap [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
subPixmapsCMovieBitmap [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CMovieBitmap()CMovieBitmap [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.html new file mode 100644 index 0000000..e676686 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.html @@ -0,0 +1,331 @@ + + +VSTGUI: CMovieBitmap Class Reference + + + + +
+
+
+
+

CMovieBitmap Class Reference

a bitmap control that displays different bitmaps according to its current value +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CMovieBitmap: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CMovieBitmap (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CMovieBitmap (const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)
virtual ~CMovieBitmap ()
virtual void draw (CDrawContext *)
 called if the view should draw itself

Protected Attributes

CPoint offset
long subPixmaps
CCoord heightOfOneImage
+

Detailed Description

+a bitmap control that displays different bitmaps according to its current value +

+A movie pixmap allows to display different subpixmaps according to its current value. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMovieBitmap::CMovieBitmap const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMovieBitmap::CMovieBitmap const CRect size,
CControlListener listener,
long  tag,
long  subPixmaps,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CMovieBitmap::~CMovieBitmap  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CMovieBitmap::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CMovieBitmap::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CMovieBitmap::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CMovieBitmap::subPixmaps [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.png new file mode 100644 index 0000000..5016ef3 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_bitmap.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button-members.html new file mode 100644 index 0000000..6ce3205 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button-members.html @@ -0,0 +1,150 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CMovieButton Member List

This is the complete list of members for CMovieButton, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
buttonStateCMovieButton [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CMovieButton(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CMovieButton
CMovieButton(const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)CMovieButton
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CMovieButton [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCMovieButton [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CMovieButton [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCMovieButton [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CMovieButton()CMovieButton [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.html new file mode 100644 index 0000000..82790e0 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.html @@ -0,0 +1,375 @@ + + +VSTGUI: CMovieButton Class Reference + + + + +
+
+
+
+

CMovieButton Class Reference

a bi-states button with 2 subbitmaps +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CMovieButton: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CMovieButton (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CMovieButton (const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset)
virtual ~CMovieButton ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs

Protected Attributes

CPoint offset
CCoord heightOfOneImage
float buttonState
+

Detailed Description

+a bi-states button with 2 subbitmaps +

+A movie button is a bi-states button with 2 subpixmaps. These subpixmaps are stacked in the pixmap. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMovieButton::CMovieButton const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMovieButton::CMovieButton const CRect size,
CControlListener listener,
long  tag,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CMovieButton::~CMovieButton  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CMovieButton::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMovieButton::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
float CMovieButton::buttonState [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CMovieButton::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CMovieButton::offset [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.png new file mode 100644 index 0000000..fc56ca0 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_movie_button.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context-members.html new file mode 100644 index 0000000..4905325 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context-members.html @@ -0,0 +1,123 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

COffscreenContext Member List

This is the complete list of members for COffscreenContext, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
backgroundColorCOffscreenContext [protected]
bDestroyPixmapCOffscreenContext [protected]
CBitmap classCDrawContext [friend]
CDrawContext(CFrame *pFrame, void *pSystemContext, void *pWindow=0)CDrawContext
clipRectCDrawContext [protected]
COffscreenContext(CDrawContext *pContext, CBitmap *pBitmap, bool drawInBitmap=false)COffscreenContext
COffscreenContext(CFrame *pFrame, long width, long height, const CColor backgroundColor=kBlackCColor)COffscreenContext
CDrawContext::COffscreenContext classCDrawContext [friend]
copyFrom(CDrawContext *pContext, CRect destRect, CPoint srcOffset=CPoint(0, 0))COffscreenContext
copyTo(CDrawContext *pContext, CRect &srcRect, CPoint destOffset=CPoint(0, 0))COffscreenContext
CReferenceCounter()CReferenceCounter [inline]
drawArc(const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawArc(const CRect &rect, const CPoint &point1, const CPoint &point2)CDrawContext
drawEllipse(const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawLines(const CPoint *points, const long &numberOfLines)CDrawContext
drawModeCDrawContext [protected]
drawPoint(const CPoint &point, CColor color)CDrawContext
drawPolygon(const CPoint *pPoints, long numberOfPoints, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawRect(const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)CDrawContext
drawString(const char *pString, const CRect &rect, const short opaque=false, const CHoriTxtAlign hAlign=kCenterText)CDrawContext
fillArc(const CRect &rect, const CPoint &point1, const CPoint &point2)CDrawContext
fillColorCDrawContext [protected]
fillEllipse(const CRect &rect)CDrawContext
fillPolygon(const CPoint *pPoint, long numberOfPoints)CDrawContext
fillRect(const CRect &rect)CDrawContext
floodFill(const CPoint &start)CDrawContext
fontColorCDrawContext [protected]
fontIdCDrawContext [protected]
fontSizeCDrawContext [protected]
fontStyleCDrawContext [protected]
forget()CDrawContext [virtual]
frameColorCDrawContext [protected]
frameWidthCDrawContext [protected]
getClipRect(CRect &clip) const CDrawContext [inline]
getDrawMode() const CDrawContext [inline]
getFillColor() const CDrawContext [inline]
getFont() const CDrawContext [inline]
getFontColor() const CDrawContext [inline]
getFontSize() const CDrawContext [inline]
getFrame() const CDrawContext [inline]
getFrameColor() const CDrawContext [inline]
getHeight() const COffscreenContext [inline]
getLineStyle() const CDrawContext [inline]
getLineWidth() const CDrawContext [inline]
getLoc(CPoint &where) const CDrawContext [inline]
getMouseButtons()CDrawContext
getMouseLocation(CPoint &point)CDrawContext
getNbReference() const CReferenceCounter [inline]
getPoint(const CPoint &point)CDrawContext
getStringWidth(const char *pStr)CDrawContext
getSystemContext() const CDrawContext [inline]
getWidth() const COffscreenContext [inline]
getWindow()CDrawContext [inline]
heightCOffscreenContext [protected]
lineStyleCDrawContext [protected]
lineTo(const CPoint &point)CDrawContext
moveTo(const CPoint &point)CDrawContext
offsetCDrawContext
offsetScreenCDrawContext
pBitmapCOffscreenContext [protected]
pBitmapBgCOffscreenContext [protected]
penLocCDrawContext [protected]
pFrameCDrawContext [protected]
polyLine(const CPoint *pPoint, long numberOfPoints)CDrawContext
pSystemContextCDrawContext [protected]
pWindowCDrawContext [protected]
remember()CReferenceCounter [inline, virtual]
resetClipRect()CDrawContext
setClipRect(const CRect &clip)CDrawContext
setDrawMode(CDrawMode mode)CDrawContext
setFillColor(const CColor color)CDrawContext
setFont(CFont fontID, const long size=0, long style=0)CDrawContext
setFontColor(const CColor color)CDrawContext
setFrameColor(const CColor color)CDrawContext
setLineStyle(CLineStyle style)CDrawContext
setLineWidth(CCoord width)CDrawContext
setWindow(void *ptr)CDrawContext [inline]
waitDoubleClick()CDrawContext
waitDrag()CDrawContext
widthCOffscreenContext [protected]
~CDrawContext()CDrawContext [virtual]
~COffscreenContext()COffscreenContext [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.html new file mode 100644 index 0000000..4432d4c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.html @@ -0,0 +1,492 @@ + + +VSTGUI: COffscreenContext Class Reference + + + + +
+
+
+
+

COffscreenContext Class Reference

A drawing device which uses a pixmap as its drawing surface. +More... +

+#include <vstgui.h> +

+

Inheritance diagram for COffscreenContext: +

+ +CDrawContext +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 COffscreenContext (CDrawContext *pContext, CBitmap *pBitmap, bool drawInBitmap=false)
 COffscreenContext (CFrame *pFrame, long width, long height, const CColor backgroundColor=kBlackCColor)
virtual ~COffscreenContext ()
void copyFrom (CDrawContext *pContext, CRect destRect, CPoint srcOffset=CPoint(0, 0))
 copy from offscreen to pContext
void copyTo (CDrawContext *pContext, CRect &srcRect, CPoint destOffset=CPoint(0, 0))
 copy to offscreen from pContext
CCoord getWidth () const
CCoord getHeight () const

Protected Attributes

CBitmappBitmap
CBitmappBitmapBg
CCoord height
CCoord width
bool bDestroyPixmap
CColor backgroundColor
+

Detailed Description

+A drawing device which uses a pixmap as its drawing surface. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
COffscreenContext::COffscreenContext CDrawContext pContext,
CBitmap pBitmap,
bool  drawInBitmap = false
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COffscreenContext::COffscreenContext CFrame pFrame,
long  width,
long  height,
const CColor  backgroundColor = kBlackCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
COffscreenContext::~COffscreenContext  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COffscreenContext::copyFrom CDrawContext pContext,
CRect  destRect,
CPoint  srcOffset = CPoint(0, 0)
+
+ + + + + +
+   + + +

+copy from offscreen to pContext +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COffscreenContext::copyTo CDrawContext pContext,
CRect srcRect,
CPoint  destOffset = CPoint(0, 0)
+
+ + + + + +
+   + + +

+copy to offscreen from pContext +

+

+

+ + + + +
+ + + + + + + + +
CCoord COffscreenContext::getHeight  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord COffscreenContext::getWidth  )  const [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor COffscreenContext::backgroundColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool COffscreenContext::bDestroyPixmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord COffscreenContext::height [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* COffscreenContext::pBitmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* COffscreenContext::pBitmapBg [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord COffscreenContext::width [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.png new file mode 100644 index 0000000..e1391f7 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_offscreen_context.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button-members.html new file mode 100644 index 0000000..fc21ce9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button-members.html @@ -0,0 +1,151 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

COnOffButton Member List

This is the complete list of members for COnOffButton, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
COnOffButton(const CRect &size, CControlListener *listener, long tag, CBitmap *background, long style=kPreListenerUpdate)COnOffButton
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)COnOffButton [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getStyle() const COnOffButton [inline, virtual]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
kPostListenerUpdate enum valueCOnOffButton
kPreListenerUpdate enum valueCOnOffButton
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)COnOffButton [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setStyle(long newStyle)COnOffButton [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
styleCOnOffButton [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~COnOffButton()COnOffButton [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.html new file mode 100644 index 0000000..12fd296 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.html @@ -0,0 +1,363 @@ + + +VSTGUI: COnOffButton Class Reference + + + + +
+
+
+
+

COnOffButton Class Reference

a button control with 2 states +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for COnOffButton: +

+ +CControl +CView +CReferenceCounter +CTabButton + +List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kPreListenerUpdate, +kPostListenerUpdate + }

Public Member Functions

 COnOffButton (const CRect &size, CControlListener *listener, long tag, CBitmap *background, long style=kPreListenerUpdate)
virtual ~COnOffButton ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual long getStyle () const
virtual void setStyle (long newStyle)

Protected Attributes

long style
+

Detailed Description

+a button control with 2 states +

+Define a button with 2 positions. The pixmap includes the 2 subpixmaps (i.e the rectangle used for the display of this button is half-height of the pixmap). When its value changes, the listener is called. +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kPreListenerUpdate  +listener will be called after doIdleStuff was called
kPostListenerUpdate  +listener will be called before doIdleStuff is called
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COnOffButton::COnOffButton const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
long  style = kPreListenerUpdate
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
COnOffButton::~COnOffButton  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void COnOffButton::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl. +

+Reimplemented in CTabButton.

+

+ + + + +
+ + + + + + + + +
virtual long COnOffButton::getStyle  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COnOffButton::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView. +

+Reimplemented in CTabButton.

+

+ + + + +
+ + + + + + + + + +
virtual void COnOffButton::setStyle long  newStyle  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
long COnOffButton::style [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.png new file mode 100644 index 0000000..ddaeaeb Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_on_off_button.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu-members.html new file mode 100644 index 0000000..0ba08d1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu-members.html @@ -0,0 +1,225 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

COptionMenu Member List

This is the complete list of members for COptionMenu, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addEntry(COptionMenu *subMenu, char *txt)COptionMenu [virtual]
addEntry(char *txt, long index=-1)COptionMenu [virtual]
allocateMenu(long nb)COptionMenu [protected]
allocateSubMenu(long nb)COptionMenu [protected]
appendItems(long &offsetIdx)COptionMenu [protected]
attached(CView *view)CView [inline, virtual]
backColorCParamDisplay [protected]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bgWhenClickCOptionMenu [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTextTransparencyEnabledCParamDisplay [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkCOptionMenu [protected]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkEntry(long index, bool state)COptionMenu [virtual]
checkEntryAlone(long index)COptionMenu [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
COptionMenu(const CRect &size, CControlListener *listener, long tag, CBitmap *background=0, CBitmap *bgWhenClick=0, const long style=0)COptionMenu
copyBackOffset()CControl [virtual]
CParamDisplay(const CRect &size, CBitmap *background=0, const long style=0)CParamDisplay
CReferenceCounter()CReferenceCounter [inline]
currentIndexCOptionMenu [protected]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)COptionMenu [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
drawText(CDrawContext *pContext, char *string, CBitmap *newBack=0)CParamDisplay [protected]
endEdit()CControl [virtual]
entryCOptionMenu [protected]
fontColorCParamDisplay [protected]
fontIDCParamDisplay [protected]
forget()CReferenceCounter [inline, virtual]
frameColorCParamDisplay [protected]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackColor() const CParamDisplay [inline]
getBackground() const CView [inline, virtual]
getCurrent(char *txt=0, bool countSeparator=true) const COptionMenu [virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getEntry(long index, char *txt) const COptionMenu [virtual]
getFont() const CParamDisplay [inline]
getFontColor() const CParamDisplay [inline]
getFrame() const CView [inline]
getFrameColor() const CParamDisplay [inline]
getHeight() const CView [inline]
getIndex(char *txt) const COptionMenu [virtual]
getItemMenu(long idx, long &idxInMenu, long &offsetIdx)COptionMenu [protected]
getLastItemMenu(long &idxInMenu) const COptionMenu
getLastResult() const COptionMenu [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbEntries() const COptionMenu [inline, virtual]
getNbItemsPerColumn() const COptionMenu [inline, virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getScheme() const COptionMenu [inline, virtual]
getShadowColor() const CParamDisplay [inline]
getStyle() const CParamDisplay [inline]
getSubMenu(long idx) const COptionMenu
getTag() const CControl [inline, virtual]
getTextTransparency() const CParamDisplay [inline]
getTransparency() const CView [inline, virtual]
getTxtFace() const CParamDisplay [inline]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
horiTxtAlignCParamDisplay [protected]
isCheckEntry(long index) const COptionMenu [virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastButtonCOptionMenu [protected]
lastMenuCOptionMenu [protected]
lastResultCOptionMenu [protected]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)COptionMenu [virtual]
MAX_ENTRY enum valueCOptionMenu
mouse(CDrawContext *pContext, CPoint &where, long button=-1)COptionMenu [virtual]
mouseableAreaCView [protected]
nbAllocatedCOptionMenu [protected]
nbEntriesCOptionMenu [protected]
nbItemsPerColumnCOptionMenu [protected]
nbSubMenuAllocatedCOptionMenu [protected]
nbSubMenusCOptionMenu [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
platformControlCOptionMenu [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
prefixNumbersCOptionMenu [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removeAllEntry()COptionMenu [virtual]
removed(CView *parent)CView [inline, virtual]
removeEntry(long index)COptionMenu [virtual]
removeItems()COptionMenu [protected]
schemeCOptionMenu [protected]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackColor(CColor color)CParamDisplay [virtual]
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setCurrent(long index, bool countSeparator=true)COptionMenu [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setEntry(long index, char *txt)COptionMenu [virtual]
setFont(CFont fontID)CParamDisplay [virtual]
setFontColor(CColor color)CParamDisplay [virtual]
setFrameColor(CColor color)CParamDisplay [virtual]
setHoriAlign(CHoriTxtAlign hAlign)CParamDisplay [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setNbItemsPerColumn(long val)COptionMenu [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setPrefixNumbers(long preCount)COptionMenu [virtual]
setScheme(COptionMenuScheme *s)COptionMenu [inline]
setShadowColor(CColor color)CParamDisplay [virtual]
setString2FloatConvert(void(*convert)(char *string, float &output))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string, void *userDta), void *userData)CParamDisplay [virtual]
setStyle(long val)CParamDisplay [virtual]
setTag(long val)CControl [inline, virtual]
setTextTransparency(bool val)CParamDisplay [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setTxtFace(CTxtFace val)CParamDisplay [virtual]
setValue(float val)COptionMenu [virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
shadowColorCParamDisplay [protected]
sizeCView [protected]
string2FloatConvertCParamDisplay [protected]
stringConvertCParamDisplay [protected]
stringConvert2CParamDisplay [protected]
styleCParamDisplay [protected]
submenuEntryCOptionMenu [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)COptionMenu [virtual]
txtFaceCParamDisplay [protected]
update(CDrawContext *pContext)CView [protected, virtual]
userDataCParamDisplay [protected]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~COptionMenu()COptionMenu [virtual]
~CParamDisplay()CParamDisplay [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.html new file mode 100644 index 0000000..3e8fbd1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.html @@ -0,0 +1,1633 @@ + + +VSTGUI: COptionMenu Class Reference + + + + +
+
+
+
+

COptionMenu Class Reference

a popup menu control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for COptionMenu: +

+ +CParamDisplay +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { MAX_ENTRY = 1024 + }

Public Member Functions

 COptionMenu (const CRect &size, CControlListener *listener, long tag, CBitmap *background=0, CBitmap *bgWhenClick=0, const long style=0)
virtual ~COptionMenu ()
virtual void setValue (float val)
virtual bool addEntry (COptionMenu *subMenu, char *txt)
virtual bool addEntry (char *txt, long index=-1)
virtual long getCurrent (char *txt=0, bool countSeparator=true) const
virtual bool setCurrent (long index, bool countSeparator=true)
virtual bool getEntry (long index, char *txt) const
virtual bool setEntry (long index, char *txt)
virtual bool removeEntry (long index)
virtual bool removeAllEntry ()
virtual long getNbEntries () const
virtual long getIndex (char *txt) const
virtual bool checkEntry (long index, bool state)
virtual bool checkEntryAlone (long index)
virtual bool isCheckEntry (long index) const
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual void takeFocus (CDrawContext *pContext=0)
 called if view should take focus
virtual void looseFocus (CDrawContext *pContext=0)
 called if view should loose focus
virtual void setNbItemsPerColumn (long val)
virtual long getNbItemsPerColumn () const
long getLastResult () const
COptionMenugetLastItemMenu (long &idxInMenu) const
void setScheme (COptionMenuScheme *s)
virtual COptionMenuSchemegetScheme () const
virtual void setPrefixNumbers (long preCount)
COptionMenugetSubMenu (long idx) const

Protected Member Functions

COptionMenugetItemMenu (long idx, long &idxInMenu, long &offsetIdx)
void removeItems ()
void * appendItems (long &offsetIdx)
bool allocateMenu (long nb)
bool allocateSubMenu (long nb)

Protected Attributes

void * platformControl
char ** entry
COptionMenu ** submenuEntry
bool * check
long nbEntries
long nbSubMenus
long currentIndex
CBitmapbgWhenClick
long lastButton
long nbItemsPerColumn
long nbAllocated
long nbSubMenuAllocated
long lastResult
long prefixNumbers
COptionMenulastMenu
COptionMenuSchemescheme
+

Detailed Description

+a popup menu control +

+Define a rectangle view where a text-value can be displayed with a given font and color. The text-value is centered in the given rect. A pixmap can be used as background, a second pixmap can be used when the option menu is popuped. There are 2 styles with or without a shadowed text. When a mouse click occurs, a popup menu is displayed. +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + +
MAX_ENTRY  +
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COptionMenu::COptionMenu const CRect size,
CControlListener listener,
long  tag,
CBitmap background = 0,
CBitmap bgWhenClick = 0,
const long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
COptionMenu::~COptionMenu  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::addEntry char *  txt,
long  index = -1
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::addEntry COptionMenu subMenu,
char *  txt
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool COptionMenu::allocateMenu long  nb  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool COptionMenu::allocateSubMenu long  nb  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void * COptionMenu::appendItems long &  offsetIdx  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::checkEntry long  index,
bool  state
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool COptionMenu::checkEntryAlone long  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CParamDisplay.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
long COptionMenu::getCurrent char *  txt = 0,
bool  countSeparator = true
const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::getEntry long  index,
char *  txt
const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
long COptionMenu::getIndex char *  txt  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
COptionMenu * COptionMenu::getItemMenu long  idx,
long &  idxInMenu,
long &  offsetIdx
[protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
COptionMenu * COptionMenu::getLastItemMenu long &  idxInMenu  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
long COptionMenu::getLastResult  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual long COptionMenu::getNbEntries  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual long COptionMenu::getNbItemsPerColumn  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual COptionMenuScheme* COptionMenu::getScheme  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
COptionMenu * COptionMenu::getSubMenu long  idx  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool COptionMenu::isCheckEntry long  index  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::looseFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should loose focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COptionMenu::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + +
bool COptionMenu::removeAllEntry  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool COptionMenu::removeEntry long  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void COptionMenu::removeItems  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::setCurrent long  index,
bool  countSeparator = true
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool COptionMenu::setEntry long  index,
char *  txt
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void COptionMenu::setNbItemsPerColumn long  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::setPrefixNumbers long  preCount  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::setScheme COptionMenuScheme s  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::setValue float  val  )  [virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CControl.

+

+ + + + +
+ + + + + + + + + +
void COptionMenu::takeFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should take focus +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CBitmap* COptionMenu::bgWhenClick [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool* COptionMenu::check [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::currentIndex [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char** COptionMenu::entry [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::lastButton [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COptionMenu* COptionMenu::lastMenu [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::lastResult [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::nbAllocated [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::nbEntries [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::nbItemsPerColumn [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::nbSubMenuAllocated [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::nbSubMenus [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* COptionMenu::platformControl [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long COptionMenu::prefixNumbers [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COptionMenuScheme* COptionMenu::scheme [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COptionMenu** COptionMenu::submenuEntry [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.png new file mode 100644 index 0000000..ccdaad9 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme-members.html new file mode 100644 index 0000000..99abb50 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme-members.html @@ -0,0 +1,63 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

COptionMenuScheme Member List

This is the complete list of members for COptionMenuScheme, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
backgroundColorCOptionMenuScheme [protected]
COptionMenuScheme()COptionMenuScheme
CReferenceCounter()CReferenceCounter [inline]
disableTextColorCOptionMenuScheme [protected]
drawItem(const char *text, long itemId, long state, CDrawContext *pContext, const CRect &rect)COptionMenuScheme [virtual]
drawItemBack(CDrawContext *pContext, const CRect &rect, bool hilite)COptionMenuScheme [protected, virtual]
fontCOptionMenuScheme [protected]
forget()CReferenceCounter [inline, virtual]
getItemSize(const char *text, CDrawContext *pContext, CPoint &size)COptionMenuScheme [virtual]
getNbReference() const CReferenceCounter [inline]
hiliteTextColorCOptionMenuScheme [protected]
kChecked enum valueCOptionMenuScheme
kDisabled enum valueCOptionMenuScheme
kSelected enum valueCOptionMenuScheme
kSubMenu enum valueCOptionMenuScheme
kTitle enum valueCOptionMenuScheme
remember()CReferenceCounter [inline, virtual]
selectionColorCOptionMenuScheme [protected]
setColors(CColor back, CColor select, CColor text, CColor htext, CColor dtext)COptionMenuScheme [inline]
setFont(CFont f)COptionMenuScheme [inline]
textColorCOptionMenuScheme [protected]
~COptionMenuScheme()COptionMenuScheme [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.html new file mode 100644 index 0000000..b1f9781 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.html @@ -0,0 +1,555 @@ + + +VSTGUI: COptionMenuScheme Class Reference + + + + +
+
+
+
+

COptionMenuScheme Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for COptionMenuScheme: +

+ +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  {
+  kChecked = 0x01, +kDisabled = 0x02, +kSelected = 0x04, +kSubMenu = 0x08, +
+  kTitle = 0x10 +
+ }

Public Member Functions

 COptionMenuScheme ()
virtual ~COptionMenuScheme ()
virtual void getItemSize (const char *text, CDrawContext *pContext, CPoint &size)
virtual void drawItem (const char *text, long itemId, long state, CDrawContext *pContext, const CRect &rect)
void setColors (CColor back, CColor select, CColor text, CColor htext, CColor dtext)
void setFont (CFont f)

Protected Member Functions

virtual void drawItemBack (CDrawContext *pContext, const CRect &rect, bool hilite)

Protected Attributes

CColor backgroundColor
CColor selectionColor
CColor textColor
CColor hiliteTextColor
CColor disableTextColor
CFont font
+

Detailed Description

+Used to define the appearance (font color, background color...) of a popup-menu. To define the scheme of a menu, use the appropriate setScheme method (see COptionMenu).

+New since 3.0

+You can also use the global variable gOptionMenuScheme to use one scheme on all menus.

+Note

+If you want to use it on Mac OS X, you must set the macro MAC_ENABLE_MENU_SCHEME (needs Mac OS X 10.3 or higher) +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + +
kChecked  +
kDisabled  +
kSelected  +
kSubMenu  +
kTitle  +
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + +
COptionMenuScheme::COptionMenuScheme  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
COptionMenuScheme::~COptionMenuScheme  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void COptionMenuScheme::drawItem const char *  text,
long  itemId,
long  state,
CDrawContext pContext,
const CRect rect
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COptionMenuScheme::drawItemBack CDrawContext pContext,
const CRect rect,
bool  hilite
[protected, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void COptionMenuScheme::getItemSize const char *  text,
CDrawContext pContext,
CPoint size
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void COptionMenuScheme::setColors CColor  back,
CColor  select,
CColor  text,
CColor  htext,
CColor  dtext
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void COptionMenuScheme::setFont CFont  f  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor COptionMenuScheme::backgroundColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor COptionMenuScheme::disableTextColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFont COptionMenuScheme::font [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor COptionMenuScheme::hiliteTextColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor COptionMenuScheme::selectionColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor COptionMenuScheme::textColor [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.png new file mode 100644 index 0000000..7b74632 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_option_menu_scheme.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display-members.html new file mode 100644 index 0000000..eb76da5 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display-members.html @@ -0,0 +1,180 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CParamDisplay Member List

This is the complete list of members for CParamDisplay, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backColorCParamDisplay [protected]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTextTransparencyEnabledCParamDisplay [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CParamDisplay(const CRect &size, CBitmap *background=0, const long style=0)CParamDisplay
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CParamDisplay [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
drawText(CDrawContext *pContext, char *string, CBitmap *newBack=0)CParamDisplay [protected]
endEdit()CControl [virtual]
fontColorCParamDisplay [protected]
fontIDCParamDisplay [protected]
forget()CReferenceCounter [inline, virtual]
frameColorCParamDisplay [protected]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackColor() const CParamDisplay [inline]
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFont() const CParamDisplay [inline]
getFontColor() const CParamDisplay [inline]
getFrame() const CView [inline]
getFrameColor() const CParamDisplay [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getShadowColor() const CParamDisplay [inline]
getStyle() const CParamDisplay [inline]
getTag() const CControl [inline, virtual]
getTextTransparency() const CParamDisplay [inline]
getTransparency() const CView [inline, virtual]
getTxtFace() const CParamDisplay [inline]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
horiTxtAlignCParamDisplay [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackColor(CColor color)CParamDisplay [virtual]
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setFont(CFont fontID)CParamDisplay [virtual]
setFontColor(CColor color)CParamDisplay [virtual]
setFrameColor(CColor color)CParamDisplay [virtual]
setHoriAlign(CHoriTxtAlign hAlign)CParamDisplay [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setShadowColor(CColor color)CParamDisplay [virtual]
setString2FloatConvert(void(*convert)(char *string, float &output))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string, void *userDta), void *userData)CParamDisplay [virtual]
setStyle(long val)CParamDisplay [virtual]
setTag(long val)CControl [inline, virtual]
setTextTransparency(bool val)CParamDisplay [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setTxtFace(CTxtFace val)CParamDisplay [virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
shadowColorCParamDisplay [protected]
sizeCView [protected]
string2FloatConvertCParamDisplay [protected]
stringConvertCParamDisplay [protected]
stringConvert2CParamDisplay [protected]
styleCParamDisplay [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
txtFaceCParamDisplay [protected]
update(CDrawContext *pContext)CView [protected, virtual]
userDataCParamDisplay [protected]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CParamDisplay()CParamDisplay [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.html new file mode 100644 index 0000000..e7b8ef7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.html @@ -0,0 +1,1152 @@ + + +VSTGUI: CParamDisplay Class Reference + + + + +
+
+
+
+

CParamDisplay Class Reference

a parameter display control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CParamDisplay: +

+ +CControl +CView +CReferenceCounter +COptionMenu +CTextEdit +CTextLabel + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CParamDisplay (const CRect &size, CBitmap *background=0, const long style=0)
virtual ~CParamDisplay ()
virtual void setFont (CFont fontID)
CFont getFont () const
virtual void setFontColor (CColor color)
CColor getFontColor () const
virtual void setBackColor (CColor color)
CColor getBackColor () const
virtual void setFrameColor (CColor color)
CColor getFrameColor () const
virtual void setShadowColor (CColor color)
CColor getShadowColor () const
virtual void setHoriAlign (CHoriTxtAlign hAlign)
virtual void setStringConvert (void(*convert)(float value, char *string))
virtual void setStringConvert (void(*convert)(float value, char *string, void *userDta), void *userData)
virtual void setString2FloatConvert (void(*convert)(char *string, float &output))
virtual void setStyle (long val)
long getStyle () const
virtual void setTxtFace (CTxtFace val)
CTxtFace getTxtFace () const
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void setTextTransparency (bool val)
bool getTextTransparency () const

Protected Member Functions

void drawText (CDrawContext *pContext, char *string, CBitmap *newBack=0)

Protected Attributes

void(* stringConvert )(float value, char *string)
void(* stringConvert2 )(float value, char *string, void *userData)
void(* string2FloatConvert )(char *string, float &output)
void * userData
CHoriTxtAlign horiTxtAlign
long style
CFont fontID
CTxtFace txtFace
CColor fontColor
CColor backColor
CColor frameColor
CColor shadowColor
bool bTextTransparencyEnabled
+

Detailed Description

+a parameter display control +

+Define a rectangle view where a text-value can be displayed with a given font and color. The user can specify its convert function (from float to char) by default the string format is "%2.2f". The text-value is centered in the given rect. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CParamDisplay::CParamDisplay const CRect size,
CBitmap background = 0,
const long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CParamDisplay::~CParamDisplay  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl. +

+Reimplemented in CTextLabel, CTextEdit, and COptionMenu.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CParamDisplay::drawText CDrawContext pContext,
char *  string,
CBitmap newBack = 0
[protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CParamDisplay::getBackColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CFont CParamDisplay::getFont  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CParamDisplay::getFontColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CParamDisplay::getFrameColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CParamDisplay::getShadowColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
long CParamDisplay::getStyle  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CParamDisplay::getTextTransparency  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CTxtFace CParamDisplay::getTxtFace  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setBackColor CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setFont CFont  fontID  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setFontColor CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setFrameColor CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setHoriAlign CHoriTxtAlign  hAlign  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setShadowColor CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setString2FloatConvert void(*)(char *string, float &output)  convert  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CParamDisplay::setStringConvert void(*)(float value, char *string, void *userDta)  convert,
void *  userData
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setStringConvert void(*)(float value, char *string)  convert  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setStyle long  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CParamDisplay::setTextTransparency bool  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CParamDisplay::setTxtFace CTxtFace  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor CParamDisplay::backColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CParamDisplay::bTextTransparencyEnabled [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CParamDisplay::fontColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFont CParamDisplay::fontID [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CParamDisplay::frameColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CHoriTxtAlign CParamDisplay::horiTxtAlign [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CParamDisplay::shadowColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void(* CParamDisplay::string2FloatConvert)(char *string, float &output) [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void(* CParamDisplay::stringConvert)(float value, char *string) [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void(* CParamDisplay::stringConvert2)(float value, char *string, void *userData) [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CParamDisplay::style [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CTxtFace CParamDisplay::txtFace [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CParamDisplay::userData [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.png new file mode 100644 index 0000000..9afbc7a Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_param_display.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter-members.html new file mode 100644 index 0000000..26cb1f2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter-members.html @@ -0,0 +1,45 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CReferenceCounter Member List

This is the complete list of members for CReferenceCounter, including all inherited members.

+ + + + + +
CReferenceCounter()CReferenceCounter [inline]
forget()CReferenceCounter [inline, virtual]
getNbReference() const CReferenceCounter [inline]
remember()CReferenceCounter [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.html new file mode 100644 index 0000000..e9c53de --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.html @@ -0,0 +1,229 @@ + + +VSTGUI: CReferenceCounter Class Reference + + + + +
+
+
+
+

CReferenceCounter Class Reference

#include <vstgui.h> +

+

Inheritance diagram for CReferenceCounter: +

+ +CBitmap +CDragContainer +CDrawContext +COptionMenuScheme +CTabChildView +CView +COffscreenContext +CControl +CSplashScreenView +CViewContainer +CAutoAnimation +CHorizontalSwitch +CKickButton +CKnob +CMovieBitmap +CMovieButton +COnOffButton +CParamDisplay +CRockerSwitch +CScrollbar +CSlider +CSpecialDigit +CSplashScreen +CVerticalSwitch +CVuMeter +CFrame +CScrollContainer +CScrollView +CTabView + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 CReferenceCounter ()
virtual ~CReferenceCounter ()
virtual void forget ()
virtual void remember ()
long getNbReference () const
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + +
CReferenceCounter::CReferenceCounter  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual CReferenceCounter::~CReferenceCounter  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
virtual void CReferenceCounter::forget  )  [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CDrawContext.

+

+ + + + +
+ + + + + + + + +
long CReferenceCounter::getNbReference  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual void CReferenceCounter::remember  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.png new file mode 100644 index 0000000..811ea3a Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_reference_counter.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch-members.html new file mode 100644 index 0000000..f25ed53 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch-members.html @@ -0,0 +1,150 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CRockerSwitch Member List

This is the complete list of members for CRockerSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CRockerSwitch(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset, const long style=kHorizontal)CRockerSwitch
CRockerSwitch(const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset, const long style=kHorizontal)CRockerSwitch
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CRockerSwitch [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCRockerSwitch [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CRockerSwitch [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCRockerSwitch [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CRockerSwitch [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
styleCRockerSwitch [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CRockerSwitch()CRockerSwitch [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.html new file mode 100644 index 0000000..c299fab --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.html @@ -0,0 +1,437 @@ + + +VSTGUI: CRockerSwitch Class Reference + + + + +
+
+
+
+

CRockerSwitch Class Reference

a switch control with 3 sub bitmaps +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CRockerSwitch: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CRockerSwitch (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset, const long style=kHorizontal)
 CRockerSwitch (const CRect &size, CControlListener *listener, long tag, CCoord heightOfOneImage, CBitmap *background, CPoint &offset, const long style=kHorizontal)
virtual ~CRockerSwitch ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view

Protected Attributes

CPoint offset
CCoord heightOfOneImage
long style
+

Detailed Description

+a switch control with 3 sub bitmaps +

+Define a rocker switch with 3 states using 3 subpixmaps. One click on its leftside, then the first subpixmap is displayed. One click on its rightside, then the third subpixmap is displayed. When the mouse button is relaxed, the second subpixmap is framed. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRockerSwitch::CRockerSwitch const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset,
const long  style = kHorizontal
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRockerSwitch::CRockerSwitch const CRect size,
CControlListener listener,
long  tag,
CCoord  heightOfOneImage,
CBitmap background,
CPoint offset,
const long  style = kHorizontal
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CRockerSwitch::~CRockerSwitch  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CRockerSwitch::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CRockerSwitch::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CRockerSwitch::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CRockerSwitch::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CRockerSwitch::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CRockerSwitch::style [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.png new file mode 100644 index 0000000..1aa89b9 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_rocker_switch.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container-members.html new file mode 100644 index 0000000..f301b6d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container-members.html @@ -0,0 +1,148 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CScrollContainer Member List

This is the complete list of members for CScrollContainer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addView(CView *pView)CViewContainer [virtual]
addView(CView *pView, CRect &mouseableArea, bool mouseEnabled=true)CViewContainer [virtual]
advanceNextFocusView(CView *oldFocus, bool reverse=false)CViewContainer [virtual]
attached(CView *view)CViewContainer [virtual]
backgroundColorCViewContainer [protected]
backgroundOffsetCViewContainer [protected]
bDirtyCView [protected]
bDrawInOffscreenCViewContainer [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
containerSizeCScrollContainer [protected]
CReferenceCounter()CReferenceCounter [inline]
CScrollContainer(const CRect &size, const CRect &containerSize, CFrame *pParent, CBitmap *pBackground=0)CScrollContainer
currentDragViewCViewContainer [protected]
CView(const CRect &size)CView
CViewContainer(const CRect &size, CFrame *pParent, CBitmap *pBackground=0)CViewContainer
CView::CViewContainer classCView [friend]
draw(CDrawContext *pContext)CViewContainer [virtual]
drawBackgroundRect(CDrawContext *pContext, CRect &_updateRect)CViewContainer [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CViewContainer [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CViewContainer [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CViewContainer [inline, virtual]
getBackgroundOffset() const CViewContainer [inline, virtual]
getContainerSize() const CScrollContainer [inline]
getCurrentView() const CViewContainer [virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getMode() const CViewContainer [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNbViews() const CViewContainer [virtual]
getParentView() const CView [inline]
getScrollOffset(CPoint &off) const CScrollContainer [inline]
getTransparency() const CView [inline, virtual]
getView(long index) const CViewContainer [virtual]
getViewAt(const CPoint &where, bool deep=false) const CViewContainer [virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CViewContainer [virtual]
hitTestSubViews(const CPoint &where, const long buttons=-1)CViewContainer [protected]
isChild(CView *pView) const CViewContainer [virtual]
isDirty() const CScrollContainer [virtual]
isTypeOf(const char *s) const CView [inline, virtual]
kNormalUpdate enum valueCViewContainer
kOnlyDirtyUpdate enum valueCViewContainer
localToFrame(CPoint &point) const CViewContainer [virtual]
looseFocus(CDrawContext *pContext=0)CViewContainer [virtual]
modeCViewContainer [protected]
modifyDrawContext(CCoord save[4], CDrawContext *pContext)CViewContainer
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CViewContainer [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CViewContainer [virtual]
offsetCScrollContainer [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onKeyDown(VstKeyCode &keyCode)CViewContainer [virtual]
onKeyUp(VstKeyCode &keyCode)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CViewContainer [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pFirstViewCViewContainer [protected]
pLastViewCViewContainer [protected]
pOffscreenContextCViewContainer [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CScrollContainer [virtual]
remember()CReferenceCounter [inline, virtual]
removeAll(const bool &withForget=true)CViewContainer [virtual]
removed(CView *parent)CViewContainer [virtual]
removeView(CView *pView, const bool &withForget=true)CViewContainer [virtual]
restoreDrawContext(CDrawContext *pContext, CCoord save[4])CViewContainer
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor color)CViewContainer [virtual]
setBackgroundOffset(const CPoint &p)CViewContainer [inline, virtual]
setContainerSize(const CRect &cs)CScrollContainer
setDirty(const bool val=true)CView [inline, virtual]
setMode(long val)CViewContainer [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setScrollOffset(CPoint offset, bool withRedraw=false)CScrollContainer
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CViewContainer [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
takeFocus(CDrawContext *pContext=0)CViewContainer [virtual]
update(CDrawContext *pContext)CViewContainer [virtual]
useOffscreen(bool b)CViewContainer [virtual]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CScrollContainer()CScrollContainer [virtual]
~CView()CView [virtual]
~CViewContainer()CViewContainer [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.html new file mode 100644 index 0000000..8001d0f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.html @@ -0,0 +1,397 @@ + + +VSTGUI: CScrollContainer Class Reference + + + + +
+
+
+
+

CScrollContainer Class Reference

#include <cscrollview.h> +

+

Inheritance diagram for CScrollContainer: +

+ +CViewContainer +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CScrollContainer (const CRect &size, const CRect &containerSize, CFrame *pParent, CBitmap *pBackground=0)
virtual ~CScrollContainer ()
void setScrollOffset (CPoint offset, bool withRedraw=false)
void getScrollOffset (CPoint &off) const
CRect getContainerSize () const
void setContainerSize (const CRect &cs)
virtual void redrawRect (CDrawContext *context, const CRect &rect)
virtual bool isDirty () const
 check if view is dirty

Protected Attributes

CRect containerSize
CPoint offset
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CScrollContainer::CScrollContainer const CRect size,
const CRect containerSize,
CFrame pParent,
CBitmap pBackground = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CScrollContainer::~CScrollContainer  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
CRect CScrollContainer::getContainerSize  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CScrollContainer::getScrollOffset CPoint off  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CScrollContainer::isDirty  )  const [virtual]
+
+ + + + + +
+   + + +

+check if view is dirty +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CScrollContainer::redrawRect CDrawContext context,
const CRect rect
[virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + + +
context the context which to use to redraw this container
rect the area which to redraw
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CScrollContainer::setContainerSize const CRect cs  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CScrollContainer::setScrollOffset CPoint  offset,
bool  withRedraw = false
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CRect CScrollContainer::containerSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CScrollContainer::offset [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.png new file mode 100644 index 0000000..0321fb7 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_container.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view-members.html new file mode 100644 index 0000000..b04c887 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view-members.html @@ -0,0 +1,154 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CScrollView Member List

This is the complete list of members for CScrollView, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addView(CView *pView)CScrollView [virtual]
CViewContainer::addView(CView *pView, CRect &mouseableArea, bool mouseEnabled=true)CViewContainer [virtual]
advanceNextFocusView(CView *oldFocus, bool reverse=false)CViewContainer [virtual]
attached(CView *view)CViewContainer [virtual]
backgroundColorCViewContainer [protected]
backgroundOffsetCViewContainer [protected]
bDirtyCView [protected]
bDrawInOffscreenCViewContainer [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
containerSizeCScrollView [protected]
controlModifierClicked(CDrawContext *pContext, CControl *pControl, long button)CControlListener [inline, private, virtual]
CReferenceCounter()CReferenceCounter [inline]
CScrollView(const CRect &size, const CRect &containerSize, CFrame *pParent, long style, long scrollbarWidth=16, CBitmap *pBackground=0)CScrollView
currentDragViewCViewContainer [protected]
CView(const CRect &size)CView
CViewContainer(const CRect &size, CFrame *pParent, CBitmap *pBackground=0)CViewContainer
CView::CViewContainer classCView [friend]
draw(CDrawContext *pContext)CViewContainer [virtual]
drawBackgroundRect(CDrawContext *pContext, CRect &_updateRect)CScrollView [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CViewContainer [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CViewContainer [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CViewContainer [inline, virtual]
getBackgroundOffset() const CViewContainer [inline, virtual]
getCurrentView() const CViewContainer [virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getHorizontalScrollbar() const CScrollView [inline, virtual]
getMode() const CViewContainer [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNbViews() const CViewContainer [virtual]
getParentView() const CView [inline]
getTransparency() const CView [inline, virtual]
getVerticalScrollbar() const CScrollView [inline, virtual]
getView(long index) const CViewContainer [virtual]
getViewAt(const CPoint &where, bool deep=false) const CViewContainer [virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CViewContainer [virtual]
hitTestSubViews(const CPoint &where, const long buttons=-1)CViewContainer [protected]
hsbCScrollView [protected]
isChild(CView *pView) const CViewContainer [virtual]
isDirty() const CViewContainer [virtual]
isTypeOf(const char *s) const CView [inline, virtual]
kHorizontalScrollbar enum valueCScrollView
kNormalUpdate enum valueCViewContainer
kOnlyDirtyUpdate enum valueCViewContainer
kVerticalScrollbar enum valueCScrollView
localToFrame(CPoint &point) const CViewContainer [virtual]
looseFocus(CDrawContext *pContext=0)CViewContainer [virtual]
modeCViewContainer [protected]
modifyDrawContext(CCoord save[4], CDrawContext *pContext)CViewContainer
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CViewContainer [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CViewContainer [virtual]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onKeyDown(VstKeyCode &keyCode)CViewContainer [virtual]
onKeyUp(VstKeyCode &keyCode)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CScrollView [virtual]
CViewContainer::onWheel(CDrawContext *pContext, const CPoint &where, float distance)CViewContainer [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pFirstViewCViewContainer [protected]
pLastViewCViewContainer [protected]
pOffscreenContextCViewContainer [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CViewContainer [virtual]
remember()CReferenceCounter [inline, virtual]
removeAll(const bool &withForget=true)CViewContainer [virtual]
removed(CView *parent)CViewContainer [virtual]
removeView(CView *pView, const bool &withForget=true)CViewContainer [virtual]
restoreDrawContext(CDrawContext *pContext, CCoord save[4])CViewContainer
scCScrollView [protected]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor color)CViewContainer [virtual]
setBackgroundOffset(const CPoint &p)CViewContainer [inline, virtual]
setContainerSize(const CRect &cs)CScrollView [virtual]
setDirty(const bool val=true)CView [inline, virtual]
setMode(long val)CViewContainer [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CViewContainer [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
styleCScrollView [protected]
takeFocus(CDrawContext *pContext=0)CViewContainer [virtual]
update(CDrawContext *pContext)CViewContainer [virtual]
useOffscreen(bool b)CViewContainer [virtual]
valueChanged(CDrawContext *pContext, CControl *pControl)CScrollView [virtual]
vsbCScrollView [protected]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CScrollView()CScrollView [virtual]
~CView()CView [virtual]
~CViewContainer()CViewContainer [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.html new file mode 100644 index 0000000..b9da8a4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.html @@ -0,0 +1,597 @@ + + +VSTGUI: CScrollView Class Reference + + + + +
+
+
+
+

CScrollView Class Reference

a scrollable view +More... +

+#include <cscrollview.h> +

+

Inheritance diagram for CScrollView: +

+ +CViewContainer +CControlListener +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kHorizontalScrollbar = 1 << 1, +kVerticalScrollbar = 1 << 2 + }

Public Member Functions

 CScrollView (const CRect &size, const CRect &containerSize, CFrame *pParent, long style, long scrollbarWidth=16, CBitmap *pBackground=0)
virtual ~CScrollView ()
virtual void setContainerSize (const CRect &cs)
 set the virtual size of this container
virtual void addView (CView *pView)
 add a child view
virtual void drawBackgroundRect (CDrawContext *pContext, CRect &_updateRect)
 draw the background
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)
 called if a mouse wheel event is happening over this view
virtual void valueChanged (CDrawContext *pContext, CControl *pControl)
virtual CScrollbargetVerticalScrollbar () const
virtual CScrollbargetHorizontalScrollbar () const

Protected Attributes

CScrollContainersc
CScrollbarvsb
CScrollbarhsb
CRect containerSize
long style
+

Detailed Description

+a scrollable view +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kHorizontalScrollbar  +add a horizontal scrollbar
kVerticalScrollbar  +add a vertical scrollbar
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CScrollView::CScrollView const CRect size,
const CRect containerSize,
CFrame pParent,
long  style,
long  scrollbarWidth = 16,
CBitmap pBackground = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CScrollView::~CScrollView  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CScrollView::addView CView pView  )  [virtual]
+
+ + + + + +
+   + + +

+add a child view +

+

Parameters:
+ + +
pView the view object to add to this container
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CScrollView::drawBackgroundRect CDrawContext pContext,
CRect _updateRect
[virtual]
+
+ + + + + +
+   + + +

+draw the background +

+

Parameters:
+ + + +
pContext the context which to use to draw the background
_updateRect the area which to draw
+
+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + +
virtual CScrollbar* CScrollView::getHorizontalScrollbar  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual CScrollbar* CScrollView::getVerticalScrollbar  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CScrollView::onWheel CDrawContext pContext,
const CPoint where,
const CMouseWheelAxis  axis,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CScrollView::setContainerSize const CRect cs  )  [virtual]
+
+ + + + + +
+   + + +

+set the virtual size of this container +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CScrollView::valueChanged CDrawContext pContext,
CControl pControl
[virtual]
+
+ + + + + +
+   + + +

+ +

+Implements CControlListener.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CRect CScrollView::containerSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CScrollbar* CScrollView::hsb [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CScrollContainer* CScrollView::sc [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CScrollView::style [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CScrollbar* CScrollView::vsb [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.png new file mode 100644 index 0000000..6c1bd83 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scroll_view.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar-members.html new file mode 100644 index 0000000..95e2e83 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar-members.html @@ -0,0 +1,172 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CScrollbar Member List

This is the complete list of members for CScrollbar, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backgroundColorCScrollbar [protected]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
calculateScrollerLength()CScrollbar [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CScrollbar(const CRect &size, CControlListener *listener, long tag, long style, const CRect &scrollSize)CScrollbar
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CScrollbar [virtual]
drawBackground(CDrawContext *pContext)CScrollbar [protected]
drawerCScrollbar [protected]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
drawScroller(CDrawContext *pContext, const CRect &size)CScrollbar [protected]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameColorCScrollbar [protected]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CScrollbar [inline]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getFrameColor() const CScrollbar [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getScrollerColor() const CScrollbar [inline]
getScrollerRect()CScrollbar [protected]
getScrollSize(CRect &rect) const CScrollbar [inline]
getStep() const CScrollbar [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
kHorizontal enum valueCScrollbar
kVertical enum valueCScrollbar
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CScrollbar [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CScrollbar [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
scrollerAreaCScrollbar [protected]
scrollerColorCScrollbar [protected]
scrollerLengthCScrollbar [protected]
scrollSizeCScrollbar [protected]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor &color)CScrollbar [inline, virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setDrawer(IScrollbarDrawer *d)CScrollbar [inline, virtual]
setFrameColor(const CColor &color)CScrollbar [inline, virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setScrollerColor(const CColor &color)CScrollbar [inline, virtual]
setScrollSize(const CRect &ssize)CScrollbar [virtual]
setStep(float newStep)CScrollbar [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
stepValueCScrollbar [protected]
styleCScrollbar [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CScrollbar()CScrollbar [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.html new file mode 100644 index 0000000..c987a3c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.html @@ -0,0 +1,1001 @@ + + +VSTGUI: CScrollbar Class Reference + + + + +
+
+
+
+

CScrollbar Class Reference

a scrollbar control +More... +

+#include <cscrollview.h> +

+

Inheritance diagram for CScrollbar: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kHorizontal, +kVertical + }

Public Member Functions

 CScrollbar (const CRect &size, CControlListener *listener, long tag, long style, const CRect &scrollSize)
virtual ~CScrollbar ()
virtual void setDrawer (IScrollbarDrawer *d)
virtual void setScrollSize (const CRect &ssize)
virtual void setStep (float newStep)
CRectgetScrollSize (CRect &rect) const
float getStep () const
virtual void setFrameColor (const CColor &color)
virtual void setScrollerColor (const CColor &color)
virtual void setBackgroundColor (const CColor &color)
CColor getFrameColor () const
CColor getScrollerColor () const
CColor getBackgroundColor () const
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view

Protected Member Functions

void drawBackground (CDrawContext *pContext)
void drawScroller (CDrawContext *pContext, const CRect &size)
void calculateScrollerLength ()
CRect getScrollerRect ()

Protected Attributes

long style
CRect scrollSize
CRect scrollerArea
float stepValue
CCoord scrollerLength
CColor frameColor
CColor scrollerColor
CColor backgroundColor
IScrollbarDrawerdrawer
+

Detailed Description

+a scrollbar control +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kHorizontal  +
kVertical  +
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CScrollbar::CScrollbar const CRect size,
CControlListener listener,
long  tag,
long  style,
const CRect scrollSize
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CScrollbar::~CScrollbar  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + +
void CScrollbar::calculateScrollerLength  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CScrollbar::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + +
void CScrollbar::drawBackground CDrawContext pContext  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CScrollbar::drawScroller CDrawContext pContext,
const CRect size
[protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CScrollbar::getBackgroundColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CScrollbar::getFrameColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CScrollbar::getScrollerColor  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CRect CScrollbar::getScrollerRect  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
CRect& CScrollbar::getScrollSize CRect rect  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
float CScrollbar::getStep  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CScrollbar::mouse CDrawContext pContext,
CPoint where,
long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CScrollbar::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
virtual void CScrollbar::setBackgroundColor const CColor color  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CScrollbar::setDrawer IScrollbarDrawer d  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CScrollbar::setFrameColor const CColor color  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CScrollbar::setScrollerColor const CColor color  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CScrollbar::setScrollSize const CRect ssize  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CScrollbar::setStep float  newStep  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor CScrollbar::backgroundColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
IScrollbarDrawer* CScrollbar::drawer [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CScrollbar::frameColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CScrollbar::scrollerArea [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CScrollbar::scrollerColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CScrollbar::scrollerLength [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CScrollbar::scrollSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CScrollbar::stepValue [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CScrollbar::style [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.png new file mode 100644 index 0000000..f0f54f3 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_scrollbar.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider-members.html new file mode 100644 index 0000000..b458832 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider-members.html @@ -0,0 +1,171 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CSlider Member List

This is the complete list of members for CSlider, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *parent)CSlider [virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
bDrawTransparentEnabledCSlider [protected]
beginEdit()CControl [virtual]
bFreeClickCSlider [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CSlider(const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CSlider(const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CSlider [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getFreeClick() const CSlider [inline, virtual]
getHandle() const CSlider [inline, virtual]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
getZoomFactor() const CSlider [inline, virtual]
heightControlCSlider [protected]
heightOfSliderCSlider [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
maxTmpCSlider [protected]
minPosCSlider [protected]
minTmpCSlider [protected]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CSlider [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCSlider [protected]
offsetHandleCSlider [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CSlider [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CSlider [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pHandleCSlider [protected]
pOScreenCSlider [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
rangeHandleCSlider [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CSlider [virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setDrawTransparentHandle(bool val)CSlider [inline, virtual]
setFreeClick(bool val)CSlider [inline, virtual]
setHandle(CBitmap *pHandle)CSlider [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOffsetHandle(CPoint &val)CSlider [virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
setZoomFactor(float val)CSlider [inline, virtual]
sizeCView [protected]
styleCSlider [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
widthControlCSlider [protected]
widthOfSliderCSlider [protected]
zoomFactorCSlider [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CSlider()CSlider [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.html new file mode 100644 index 0000000..fc6b5e6 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.html @@ -0,0 +1,1136 @@ + + +VSTGUI: CSlider Class Reference + + + + +
+
+
+
+

CSlider Class Reference

a slider control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CSlider: +

+ +CControl +CView +CReferenceCounter +CHorizontalSlider +CVerticalSlider + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CSlider (const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)
 CSlider (const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)
virtual ~CSlider ()
virtual bool attached (CView *parent)
 view is attached to a parent view
virtual bool removed (CView *parent)
 view is removed from parent view
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual void setDrawTransparentHandle (bool val)
virtual void setFreeClick (bool val)
virtual bool getFreeClick () const
virtual void setOffsetHandle (CPoint &val)
virtual void setHandle (CBitmap *pHandle)
virtual CBitmapgetHandle () const
virtual void setZoomFactor (float val)
virtual float getZoomFactor () const

Protected Attributes

CPoint offset
CPoint offsetHandle
CBitmappHandle
COffscreenContextpOScreen
long style
CCoord widthOfSlider
CCoord heightOfSlider
CCoord rangeHandle
CCoord minTmp
CCoord maxTmp
CCoord minPos
CCoord widthControl
CCoord heightControl
float zoomFactor
bool bDrawTransparentEnabled
bool bFreeClick
+

Detailed Description

+a slider control +

+Define a slider with a given background and handle. The range of variation of the handle should be defined. By default the handler is drawn with transparency (white color). By clicking Alt+Left Mouse the default value is used. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CSlider::CSlider const CRect size,
CControlListener listener,
long  tag,
long  iMinPos,
long  iMaxPos,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kLeft|kHorizontal
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CSlider::CSlider const CRect rect,
CControlListener listener,
long  tag,
CPoint offsetHandle,
long  rangeHandle,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kLeft|kHorizontal
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CSlider::~CSlider  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
bool CSlider::attached CView parent  )  [virtual]
+
+ + + + + +
+   + + +

+view is attached to a parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CSlider::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + +
virtual bool CSlider::getFreeClick  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual CBitmap* CSlider::getHandle  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual float CSlider::getZoomFactor  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSlider::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
long CSlider::onKeyDown VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key down event occurs and this view has focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CSlider::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
bool CSlider::removed CView parent  )  [virtual]
+
+ + + + + +
+   + + +

+view is removed from parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
virtual void CSlider::setDrawTransparentHandle bool  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CSlider::setFreeClick bool  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CSlider::setHandle CBitmap pHandle  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CSlider::setOffsetHandle CPoint val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CSlider::setZoomFactor float  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CSlider::bDrawTransparentEnabled [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CSlider::bFreeClick [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::heightControl [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::heightOfSlider [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::maxTmp [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::minPos [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::minTmp [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CSlider::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CSlider::offsetHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CSlider::pHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COffscreenContext* CSlider::pOScreen [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::rangeHandle [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CSlider::style [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::widthControl [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CSlider::widthOfSlider [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CSlider::zoomFactor [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.png new file mode 100644 index 0000000..7638a23 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_slider.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit-members.html new file mode 100644 index 0000000..6d32828 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit-members.html @@ -0,0 +1,152 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CSpecialDigit Member List

This is the complete list of members for CSpecialDigit, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CSpecialDigit(const CRect &size, CControlListener *listener, long tag, long dwPos, long iNumbers, long *xpos, long *ypos, long width, long height, CBitmap *background)CSpecialDigit
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CSpecialDigit [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNormValue(void) const CSpecialDigit [virtual]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightCSpecialDigit [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
iNumbersCSpecialDigit [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
widthCSpecialDigit [protected]
xposCSpecialDigit [protected]
yposCSpecialDigit [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CSpecialDigit()CSpecialDigit [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.html new file mode 100644 index 0000000..151afea --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.html @@ -0,0 +1,372 @@ + + +VSTGUI: CSpecialDigit Class Reference + + + + +
+
+
+
+

CSpecialDigit Class Reference

special display with custom numbers (0...9) +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CSpecialDigit: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CSpecialDigit (const CRect &size, CControlListener *listener, long tag, long dwPos, long iNumbers, long *xpos, long *ypos, long width, long height, CBitmap *background)
virtual ~CSpecialDigit ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual float getNormValue (void) const

Protected Attributes

long iNumbers
long xpos [7]
long ypos [7]
long width
long height
+

Detailed Description

+special display with custom numbers (0...9) +

+Can be used to display a counter with maximum 7 digits. All digit have the same size and are stacked in height in the pixmap. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CSpecialDigit::CSpecialDigit const CRect size,
CControlListener listener,
long  tag,
long  dwPos,
long  iNumbers,
long *  xpos,
long *  ypos,
long  width,
long  height,
CBitmap background
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CSpecialDigit::~CSpecialDigit  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CSpecialDigit::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + +
float CSpecialDigit::getNormValue void   )  const [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
long CSpecialDigit::height [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CSpecialDigit::iNumbers [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CSpecialDigit::width [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CSpecialDigit::xpos[7] [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CSpecialDigit::ypos[7] [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.png new file mode 100644 index 0000000..0f430d3 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_special_digit.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen-members.html new file mode 100644 index 0000000..ddca12c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen-members.html @@ -0,0 +1,154 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CSplashScreen Member List

This is the complete list of members for CSplashScreen, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bitmapTransparencyCSplashScreen [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CSplashScreen(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CRect &toDisplay, CPoint &offset)CSplashScreen
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CSplashScreen [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBitmapTransparency() const CSplashScreen [inline]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOffset() const CSplashScreen [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CSplashScreen [virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
keepSizeCSplashScreen [protected]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CSplashScreen [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCSplashScreen [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setBitmapTransparency(unsigned char transparency)CSplashScreen
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
toDisplayCSplashScreen [protected]
unSplash(CDrawContext *pContext=0)CSplashScreen [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CSplashScreen()CSplashScreen [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.html new file mode 100644 index 0000000..044c0d3 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.html @@ -0,0 +1,500 @@ + + +VSTGUI: CSplashScreen Class Reference + + + + +
+
+
+
+

CSplashScreen Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for CSplashScreen: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CSplashScreen (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CRect &toDisplay, CPoint &offset)
virtual ~CSplashScreen ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual bool hitTest (const CPoint &where, const long buttons=-1)
 check if where hits this view
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual void unSplash (CDrawContext *pContext=0)
void setBitmapTransparency (unsigned char transparency)
unsigned char getBitmapTransparency () const
const CPointgetOffset () const

Protected Attributes

CRect toDisplay
CRect keepSize
CPoint offset
unsigned char bitmapTransparency
+

Detailed Description

+One click on its activated region and its pixmap is displayed, in this state the other control can not be used, an another click on the displayed area reinstalls the normal frame. This can be used to display a help view over the other views. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CSplashScreen::CSplashScreen const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CRect toDisplay,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CSplashScreen::~CSplashScreen  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CSplashScreen::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + +
unsigned char CSplashScreen::getBitmapTransparency  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
const CPoint& CSplashScreen::getOffset  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CSplashScreen::hitTest const CPoint where,
const long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+check if where hits this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSplashScreen::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CSplashScreen::setBitmapTransparency unsigned char  transparency  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CSplashScreen::unSplash CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
unsigned char CSplashScreen::bitmapTransparency [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CSplashScreen::keepSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CSplashScreen::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CSplashScreen::toDisplay [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.png new file mode 100644 index 0000000..33c1350 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view-members.html new file mode 100644 index 0000000..fdd2b56 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view-members.html @@ -0,0 +1,109 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CSplashScreenView Member List

This is the complete list of members for CSplashScreenView, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
bDirtyCView [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CReferenceCounter()CReferenceCounter [inline]
CSplashScreenView(const CRect &size, CSplashScreen *splashScreen)CSplashScreenView [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
draw(CDrawContext *pContext)CSplashScreenView [inline, virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getParentView() const CView [inline]
getTransparency() const CView [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CView [inline, virtual]
isTypeOf(const char *s) const CView [inline, virtual]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button)CSplashScreenView [inline, virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setDirty(const bool val=true)CView [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
splashScreenCSplashScreenView [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.html new file mode 100644 index 0000000..9f06e3f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.html @@ -0,0 +1,204 @@ + + +VSTGUI: CSplashScreenView Class Reference + + + + +
+
+
+
+

CSplashScreenView Class Reference

Inheritance diagram for CSplashScreenView: +

+ +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + +

Public Member Functions

 CSplashScreenView (const CRect &size, CSplashScreen *splashScreen)
void draw (CDrawContext *pContext)
 called if the view should draw itself
void mouse (CDrawContext *pContext, CPoint &where, long button)
 called if a mouse click event occurs

Protected Attributes

CSplashScreensplashScreen
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CSplashScreenView::CSplashScreenView const CRect size,
CSplashScreen splashScreen
[inline]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CSplashScreenView::draw CDrawContext pContext  )  [inline, virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSplashScreenView::mouse CDrawContext pContext,
CPoint where,
long  button
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CSplashScreen* CSplashScreenView::splashScreen [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.png new file mode 100644 index 0000000..10d3e25 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_splash_screen_view.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button-members.html new file mode 100644 index 0000000..259f8d0 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button-members.html @@ -0,0 +1,162 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CTabButton Member List

This is the complete list of members for CTabButton, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
activeTextColorCTabButton [protected]
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
COnOffButton(const CRect &size, CControlListener *listener, long tag, CBitmap *background, long style=kPreListenerUpdate)COnOffButton
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CTabButton(const CRect &size, CControlListener *listener, long tag, CBitmap *background, const char *inName)CTabButton [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CTabButton [inline, virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
fontSizeCTabButton [protected]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getStyle() const COnOffButton [inline, virtual]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
inactiveTextColorCTabButton [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
kPostListenerUpdate enum valueCOnOffButton
kPreListenerUpdate enum valueCOnOffButton
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button)CTabButton [inline, virtual]
mouseableAreaCView [protected]
nameCTabButton [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CTabButton [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setActiveTextColor(const CColor &color)CTabButton [inline]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setInactiveTextColor(const CColor &color)CTabButton [inline]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setStyle(long newStyle)COnOffButton [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTextFont(const CFont &font)CTabButton [inline]
setTextSize(const long &textSize)CTabButton [inline]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
styleCOnOffButton [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
textFontCTabButton [protected]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~COnOffButton()COnOffButton [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CTabButton()CTabButton [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.html new file mode 100644 index 0000000..29f7ab5 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.html @@ -0,0 +1,523 @@ + + +VSTGUI: CTabButton Class Reference + + + + +
+
+
+
+

CTabButton Class Reference

Inheritance diagram for CTabButton: +

+ +COnOffButton +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CTabButton (const CRect &size, CControlListener *listener, long tag, CBitmap *background, const char *inName)
virtual ~CTabButton ()
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
void mouse (CDrawContext *pContext, CPoint &where, long button)
 called if a mouse click event occurs
virtual void onDragEnter (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is entering this view
void setTextFont (const CFont &font)
void setActiveTextColor (const CColor &color)
void setInactiveTextColor (const CColor &color)
void setTextSize (const long &textSize)

Protected Attributes

char * name
CFont textFont
CColor activeTextColor
CColor inactiveTextColor
long fontSize
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CTabButton::CTabButton const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
const char *  inName
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual CTabButton::~CTabButton  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
virtual void CTabButton::draw CDrawContext pContext  )  [inline, virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from COnOffButton.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CTabButton::mouse CDrawContext pContext,
CPoint where,
long  button
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from COnOffButton.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void CTabButton::onDragEnter CDrawContext context,
CDragContainer drag,
const CPoint where
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a drag is entering this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CTabButton::setActiveTextColor const CColor color  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTabButton::setInactiveTextColor const CColor color  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTabButton::setTextFont const CFont font  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTabButton::setTextSize const long &  textSize  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor CTabButton::activeTextColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CTabButton::fontSize [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor CTabButton::inactiveTextColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char* CTabButton::name [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFont CTabButton::textFont [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.png new file mode 100644 index 0000000..4bb09fa Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_button.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view-members.html new file mode 100644 index 0000000..6d47f7e --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view-members.html @@ -0,0 +1,51 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CTabChildView Member List

This is the complete list of members for CTabChildView, including all inherited members.

+ + + + + + + + + + + +
buttonCTabChildView
CReferenceCounter()CReferenceCounter [inline]
CTabChildView(CView *view)CTabChildView [inline]
forget()CReferenceCounter [inline, virtual]
getNbReference() const CReferenceCounter [inline]
nextCTabChildView
previousCTabChildView
remember()CReferenceCounter [inline, virtual]
viewCTabChildView
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CTabChildView()CTabChildView [inline, virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.html new file mode 100644 index 0000000..bef9740 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.html @@ -0,0 +1,212 @@ + + +VSTGUI: CTabChildView Class Reference + + + + +
+
+
+
+

CTabChildView Class Reference

Inheritance diagram for CTabChildView: +

+ +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 CTabChildView (CView *view)
virtual ~CTabChildView ()

Public Attributes

CViewview
CTabChildViewprevious
CTabChildViewnext
CTabButtonbutton
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
CTabChildView::CTabChildView CView view  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual CTabChildView::~CTabChildView  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CTabButton* CTabChildView::button
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CTabChildView* CTabChildView::next
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CTabChildView* CTabChildView::previous
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CTabChildView::view
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.png new file mode 100644 index 0000000..0f788cd Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_child_view.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view-members.html new file mode 100644 index 0000000..29120c2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view-members.html @@ -0,0 +1,170 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CTabView Member List

This is the complete list of members for CTabView, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addTab(CView *view, const char *name=0, CBitmap *tabBitmap=0)CTabView [virtual]
addView(CView *pView)CViewContainer [virtual]
addView(CView *pView, CRect &mouseableArea, bool mouseEnabled=true)CViewContainer [virtual]
advanceNextFocusView(CView *oldFocus, bool reverse=false)CViewContainer [virtual]
alignTabs(long alignment=kAlignCenter)CTabView [virtual]
attached(CView *view)CViewContainer [virtual]
backgroundColorCViewContainer [protected]
backgroundOffsetCViewContainer [protected]
bDirtyCView [protected]
bDrawInOffscreenCViewContainer [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
controlModifierClicked(CDrawContext *pContext, CControl *pControl, long button)CControlListener [inline, virtual]
CReferenceCounter()CReferenceCounter [inline]
CTabView(const CRect &size, CFrame *parent, CBitmap *tabBitmap, CBitmap *background=0, long tabPosition=kPositionTop, long style=0)CTabView
CTabView(const CRect &size, CFrame *parent, const CRect &tabSize, CBitmap *background=0, long tabPosition=kPositionTop, long style=0)CTabView
currentChildCTabView [protected]
currentDragViewCViewContainer [protected]
CView(const CRect &size)CView
CViewContainer(const CRect &size, CFrame *pParent, CBitmap *pBackground=0)CViewContainer
CView::CViewContainer classCView [friend]
draw(CDrawContext *pContext)CViewContainer [virtual]
drawBackgroundRect(CDrawContext *pContext, CRect &_updateRect)CViewContainer [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CViewContainer [virtual]
firstChildCTabView [protected]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CViewContainer [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CViewContainer [inline, virtual]
getBackgroundOffset() const CViewContainer [inline, virtual]
getCurrentView() const CViewContainer [virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getMode() const CViewContainer [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNbViews() const CViewContainer [virtual]
getParentView() const CView [inline]
getTabViewSize(CRect &rect) const CTabView [virtual]
getTransparency() const CView [inline, virtual]
getView(long index) const CViewContainer [virtual]
getViewAt(const CPoint &where, bool deep=false) const CViewContainer [virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CViewContainer [virtual]
hitTestSubViews(const CPoint &where, const long buttons=-1)CViewContainer [protected]
isChild(CView *pView) const CViewContainer [virtual]
isDirty() const CViewContainer [virtual]
isTypeOf(const char *s) const CView [inline, virtual]
kAlignBottom enum valueCTabView
kAlignCenter enum valueCTabView
kAlignLeft enum valueCTabView
kAlignRight enum valueCTabView
kAlignTop enum valueCTabView
kNormalUpdate enum valueCViewContainer
kOnlyDirtyUpdate enum valueCViewContainer
kPositionBottom enum valueCTabView
kPositionLeft enum valueCTabView
kPositionRight enum valueCTabView
kPositionTop enum valueCTabView
lastChildCTabView [protected]
localToFrame(CPoint &point) const CViewContainer [virtual]
looseFocus(CDrawContext *pContext=0)CViewContainer [virtual]
modeCViewContainer [protected]
modifyDrawContext(CCoord save[4], CDrawContext *pContext)CViewContainer
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CViewContainer [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CViewContainer [virtual]
numberOfChildsCTabView [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onKeyDown(VstKeyCode &keyCode)CViewContainer [virtual]
onKeyUp(VstKeyCode &keyCode)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CViewContainer [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pFirstViewCViewContainer [protected]
pLastViewCViewContainer [protected]
pOffscreenContextCViewContainer [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CViewContainer [virtual]
remember()CReferenceCounter [inline, virtual]
removeAll(const bool &withForget=true)CViewContainer [virtual]
removeAllTabs()CTabView [virtual]
removed(CView *parent)CViewContainer [virtual]
removeTab(CView *view)CTabView [virtual]
removeView(CView *pView, const bool &withForget=true)CViewContainer [virtual]
restoreDrawContext(CDrawContext *pContext, CCoord save[4])CViewContainer
selectTab(long index)CTabView [virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor color)CViewContainer [virtual]
setBackgroundOffset(const CPoint &p)CViewContainer [inline, virtual]
setCurrentChild(CTabChildView *childView)CTabView [protected]
setDirty(const bool val=true)CView [inline, virtual]
setMode(long val)CViewContainer [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setTabFontStyle(const CFont &font, long fontSize=12, CColor selectedColor=kBlackCColor, CColor deselectedColor=kWhiteCColor)CTabView [virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CViewContainer [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
styleCTabView [protected]
tabBitmapCTabView [protected]
tabPositionCTabView [protected]
tabSizeCTabView [protected]
takeFocus(CDrawContext *pContext=0)CViewContainer [virtual]
update(CDrawContext *pContext)CViewContainer [virtual]
useOffscreen(bool b)CViewContainer [virtual]
valueChanged(CDrawContext *pContext, CControl *pControl)CTabView [virtual]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CTabView()CTabView [virtual]
~CView()CView [virtual]
~CViewContainer()CViewContainer [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.html new file mode 100644 index 0000000..58863e9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.html @@ -0,0 +1,833 @@ + + +VSTGUI: CTabView Class Reference + + + + +
+
+
+
+

CTabView Class Reference

a tab view +More... +

+#include <ctabview.h> +

+

Inheritance diagram for CTabView: +

+ +CViewContainer +CControlListener +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kPositionLeft = 0, +kPositionRight, +kPositionTop, +kPositionBottom + }
enum  {
+  kAlignCenter = 0, +kAlignLeft, +kAlignRight, +kAlignTop = kAlignLeft, +
+  kAlignBottom = kAlignRight +
+ }

Public Member Functions

 CTabView (const CRect &size, CFrame *parent, CBitmap *tabBitmap, CBitmap *background=0, long tabPosition=kPositionTop, long style=0)
 CTabView (const CRect &size, CFrame *parent, const CRect &tabSize, CBitmap *background=0, long tabPosition=kPositionTop, long style=0)
virtual ~CTabView ()
virtual bool addTab (CView *view, const char *name=0, CBitmap *tabBitmap=0)
virtual bool removeTab (CView *view)
virtual bool removeAllTabs ()
virtual bool selectTab (long index)
virtual CRectgetTabViewSize (CRect &rect) const
virtual void setTabFontStyle (const CFont &font, long fontSize=12, CColor selectedColor=kBlackCColor, CColor deselectedColor=kWhiteCColor)
 call this after the tabs are added. Tabs added after this call will have the default font style.
virtual void alignTabs (long alignment=kAlignCenter)
 call this after you have added all tabs
virtual void valueChanged (CDrawContext *pContext, CControl *pControl)

Protected Member Functions

void setCurrentChild (CTabChildView *childView)

Protected Attributes

unsigned long numberOfChilds
long tabPosition
long style
CRect tabSize
CBitmaptabBitmap
CTabChildViewfirstChild
CTabChildViewlastChild
CTabChildViewcurrentChild
+

Detailed Description

+a tab view +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + +
kPositionLeft  +
kPositionRight  +
kPositionTop  +
kPositionBottom  +
+
+
+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + +
kAlignCenter  +
kAlignLeft  +
kAlignRight  +
kAlignTop  +
kAlignBottom  +
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CTabView::CTabView const CRect size,
CFrame parent,
CBitmap tabBitmap,
CBitmap background = 0,
long  tabPosition = kPositionTop,
long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CTabView::CTabView const CRect size,
CFrame parent,
const CRect tabSize,
CBitmap background = 0,
long  tabPosition = kPositionTop,
long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CTabView::~CTabView  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CTabView::addTab CView view,
const char *  name = 0,
CBitmap tabBitmap = 0
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTabView::alignTabs long  alignment = kAlignCenter  )  [virtual]
+
+ + + + + +
+   + + +

+call this after you have added all tabs +

+

+

+ + + + +
+ + + + + + + + + +
CRect & CTabView::getTabViewSize CRect rect  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CTabView::removeAllTabs  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CTabView::removeTab CView view  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CTabView::selectTab long  index  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTabView::setCurrentChild CTabChildView childView  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CTabView::setTabFontStyle const CFont font,
long  fontSize = 12,
CColor  selectedColor = kBlackCColor,
CColor  deselectedColor = kWhiteCColor
[virtual]
+
+ + + + + +
+   + + +

+call this after the tabs are added. Tabs added after this call will have the default font style. +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CTabView::valueChanged CDrawContext pContext,
CControl pControl
[virtual]
+
+ + + + + +
+   + + +

+ +

+Implements CControlListener.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CTabChildView* CTabView::currentChild [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CTabChildView* CTabView::firstChild [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CTabChildView* CTabView::lastChild [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned long CTabView::numberOfChilds [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CTabView::style [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CTabView::tabBitmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CTabView::tabPosition [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CTabView::tabSize [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.png new file mode 100644 index 0000000..55691e8 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_tab_view.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit-members.html new file mode 100644 index 0000000..7897961 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit-members.html @@ -0,0 +1,193 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CTextEdit Member List

This is the complete list of members for CTextEdit, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backColorCParamDisplay [protected]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTextTransparencyEnabledCParamDisplay [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
bWasReturnPressedCTextEdit
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CParamDisplay(const CRect &size, CBitmap *background=0, const long style=0)CParamDisplay
CReferenceCounter()CReferenceCounter [inline]
CTextEdit(const CRect &size, CControlListener *listener, long tag, const char *txt=0, CBitmap *background=0, const long style=0)CTextEdit
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CTextEdit [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
drawText(CDrawContext *pContext, char *string, CBitmap *newBack=0)CParamDisplay [protected]
editConvertCTextEdit [protected]
editConvert2CTextEdit [protected]
endEdit()CControl [virtual]
fontColorCParamDisplay [protected]
fontIDCParamDisplay [protected]
forget()CReferenceCounter [inline, virtual]
frameColorCParamDisplay [protected]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackColor() const CParamDisplay [inline]
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFont() const CParamDisplay [inline]
getFontColor() const CParamDisplay [inline]
getFrame() const CView [inline]
getFrameColor() const CParamDisplay [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getShadowColor() const CParamDisplay [inline]
getStyle() const CParamDisplay [inline]
getTag() const CControl [inline, virtual]
getText(char *txt) const CTextEdit [virtual]
getTextTransparency() const CParamDisplay [inline]
getTransparency() const CView [inline, virtual]
getTxtFace() const CParamDisplay [inline]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
horiTxtAlignCParamDisplay [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CTextEdit [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CTextEdit [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
platformControlCTextEdit
platformFontCTextEdit [protected]
platformFontColorCTextEdit
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackColor(CColor color)CParamDisplay [virtual]
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setFont(CFont fontID)CParamDisplay [virtual]
setFontColor(CColor color)CParamDisplay [virtual]
setFrameColor(CColor color)CParamDisplay [virtual]
setHoriAlign(CHoriTxtAlign hAlign)CParamDisplay [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setShadowColor(CColor color)CParamDisplay [virtual]
setString2FloatConvert(void(*convert)(char *string, float &output))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string, void *userDta), void *userData)CParamDisplay [virtual]
setStyle(long val)CParamDisplay [virtual]
setTag(long val)CControl [inline, virtual]
setText(char *txt)CTextEdit [virtual]
setTextEditConvert(void(*editConvert)(char *input, char *string))CTextEdit [virtual]
setTextEditConvert(void(*editConvert2)(char *input, char *string, void *userDta), void *userData)CTextEdit [virtual]
setTextTransparency(bool val)CParamDisplay [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setTxtFace(CTxtFace val)CParamDisplay [virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
shadowColorCParamDisplay [protected]
sizeCView [protected]
string2FloatConvertCParamDisplay [protected]
stringConvertCParamDisplay [protected]
stringConvert2CParamDisplay [protected]
styleCParamDisplay [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CTextEdit [virtual]
textCTextEdit [protected]
txtFaceCParamDisplay [protected]
update(CDrawContext *pContext)CView [protected, virtual]
userDataCParamDisplay [protected]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CParamDisplay()CParamDisplay [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CTextEdit()CTextEdit [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.html new file mode 100644 index 0000000..66145c1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.html @@ -0,0 +1,619 @@ + + +VSTGUI: CTextEdit Class Reference + + + + +
+
+
+
+

CTextEdit Class Reference

a text edit control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CTextEdit: +

+ +CParamDisplay +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CTextEdit (const CRect &size, CControlListener *listener, long tag, const char *txt=0, CBitmap *background=0, const long style=0)
virtual ~CTextEdit ()
virtual void setText (char *txt)
virtual void getText (char *txt) const
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs
virtual void setTextEditConvert (void(*editConvert)(char *input, char *string))
virtual void setTextEditConvert (void(*editConvert2)(char *input, char *string, void *userDta), void *userData)
virtual void takeFocus (CDrawContext *pContext=0)
 called if view should take focus
virtual void looseFocus (CDrawContext *pContext=0)
 called if view should loose focus

Public Attributes

void * platformFontColor
void * platformControl
bool bWasReturnPressed

Protected Attributes

void * platformFont
char text [256]
void(* editConvert )(char *input, char *string)
void(* editConvert2 )(char *input, char *string, void *userData)
+

Detailed Description

+a text edit control +

+Define a rectangle view where a text-value can be displayed and edited with a given font and color. The user can specify its convert function (from char to char). The text-value is centered in the given rect. A pixmap can be used as background. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CTextEdit::CTextEdit const CRect size,
CControlListener listener,
long  tag,
const char *  txt = 0,
CBitmap background = 0,
const long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CTextEdit::~CTextEdit  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CParamDisplay.

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::getText char *  txt  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::looseFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should loose focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CTextEdit::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::setText char *  txt  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CTextEdit::setTextEditConvert void(*)(char *input, char *string, void *userDta)  editConvert2,
void *  userData
[virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::setTextEditConvert void(*)(char *input, char *string)  editConvert  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTextEdit::takeFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should take focus +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CTextEdit::bWasReturnPressed
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void(* CTextEdit::editConvert)(char *input, char *string) [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void(* CTextEdit::editConvert2)(char *input, char *string, void *userData) [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CTextEdit::platformControl
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CTextEdit::platformFont [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* CTextEdit::platformFontColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char CTextEdit::text[256] [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.png new file mode 100644 index 0000000..4fc0df5 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_edit.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label-members.html new file mode 100644 index 0000000..edb7de8 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label-members.html @@ -0,0 +1,186 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CTextLabel Member List

This is the complete list of members for CTextLabel, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backColorCParamDisplay [protected]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTextTransparencyEnabledCParamDisplay [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CParamDisplay(const CRect &size, CBitmap *background=0, const long style=0)CParamDisplay
CReferenceCounter()CReferenceCounter [inline]
CTextLabel(const CRect &size, const char *txt=0, CBitmap *background=0, const long style=0)CTextLabel
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CTextLabel [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
drawText(CDrawContext *pContext, char *string, CBitmap *newBack=0)CParamDisplay [protected]
endEdit()CControl [virtual]
fontColorCParamDisplay [protected]
fontIDCParamDisplay [protected]
forget()CReferenceCounter [inline, virtual]
frameColorCParamDisplay [protected]
frameToLocal(CPoint &point) const CView [virtual]
freeText()CTextLabel [protected]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackColor() const CParamDisplay [inline]
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFont() const CParamDisplay [inline]
getFontColor() const CParamDisplay [inline]
getFrame() const CView [inline]
getFrameColor() const CParamDisplay [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getShadowColor() const CParamDisplay [inline]
getStyle() const CParamDisplay [inline]
getTag() const CControl [inline, virtual]
getText() const CTextLabel [virtual]
getTextTransparency() const CParamDisplay [inline]
getTransparency() const CView [inline, virtual]
getTxtFace() const CParamDisplay [inline]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
horiTxtAlignCParamDisplay [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackColor(CColor color)CParamDisplay [virtual]
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setFont(CFont fontID)CParamDisplay [virtual]
setFontColor(CColor color)CParamDisplay [virtual]
setFrameColor(CColor color)CParamDisplay [virtual]
setHoriAlign(CHoriTxtAlign hAlign)CParamDisplay [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setShadowColor(CColor color)CParamDisplay [virtual]
setString2FloatConvert(void(*convert)(char *string, float &output))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string))CParamDisplay [virtual]
setStringConvert(void(*convert)(float value, char *string, void *userDta), void *userData)CParamDisplay [virtual]
setStyle(long val)CParamDisplay [virtual]
setTag(long val)CControl [inline, virtual]
setText(const char *txt)CTextLabel [virtual]
setTextTransparency(bool val)CParamDisplay [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setTxtFace(CTxtFace val)CParamDisplay [virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
shadowColorCParamDisplay [protected]
sizeCView [protected]
string2FloatConvertCParamDisplay [protected]
stringConvertCParamDisplay [protected]
stringConvert2CParamDisplay [protected]
styleCParamDisplay [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
textCTextLabel [protected]
txtFaceCParamDisplay [protected]
update(CDrawContext *pContext)CView [protected, virtual]
userDataCParamDisplay [protected]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CParamDisplay()CParamDisplay [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CTextLabel()CTextLabel
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.html new file mode 100644 index 0000000..f46cea1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.html @@ -0,0 +1,294 @@ + + +VSTGUI: CTextLabel Class Reference + + + + +
+
+
+
+

CTextLabel Class Reference

a text label +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CTextLabel: +

+ +CParamDisplay +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CTextLabel (const CRect &size, const char *txt=0, CBitmap *background=0, const long style=0)
 ~CTextLabel ()
virtual void setText (const char *txt)
virtual const char * getText () const
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself

Protected Member Functions

void freeText ()

Protected Attributes

char * text
+

Detailed Description

+a text label +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CTextLabel::CTextLabel const CRect size,
const char *  txt = 0,
CBitmap background = 0,
const long  style = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CTextLabel::~CTextLabel  ) 
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CTextLabel::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented from CParamDisplay.

+

+ + + + +
+ + + + + + + + +
void CTextLabel::freeText  )  [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
const char * CTextLabel::getText  )  const [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CTextLabel::setText const char *  txt  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
char* CTextLabel::text [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.png new file mode 100644 index 0000000..99867a6 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_text_label.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider-members.html new file mode 100644 index 0000000..e6bf98a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider-members.html @@ -0,0 +1,173 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CVerticalSlider Member List

This is the complete list of members for CVerticalSlider, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *parent)CSlider [virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
bDrawTransparentEnabledCSlider [protected]
beginEdit()CControl [virtual]
bFreeClickCSlider [protected]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CSlider(const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CSlider(const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kLeft|kHorizontal)CSlider
CVerticalSlider(const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kBottom)CVerticalSlider
CVerticalSlider(const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kBottom)CVerticalSlider
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CSlider [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getFreeClick() const CSlider [inline, virtual]
getHandle() const CSlider [inline, virtual]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
getZoomFactor() const CSlider [inline, virtual]
heightControlCSlider [protected]
heightOfSliderCSlider [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
maxTmpCSlider [protected]
minPosCSlider [protected]
minTmpCSlider [protected]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CSlider [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCSlider [protected]
offsetHandleCSlider [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CSlider [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CSlider [virtual]
CControl::onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pHandleCSlider [protected]
pOScreenCSlider [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
rangeHandleCSlider [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CSlider [virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setDrawTransparentHandle(bool val)CSlider [inline, virtual]
setFreeClick(bool val)CSlider [inline, virtual]
setHandle(CBitmap *pHandle)CSlider [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOffsetHandle(CPoint &val)CSlider [virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
setZoomFactor(float val)CSlider [inline, virtual]
sizeCView [protected]
styleCSlider [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
widthControlCSlider [protected]
widthOfSliderCSlider [protected]
zoomFactorCSlider [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CSlider()CSlider [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.html new file mode 100644 index 0000000..4c04543 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.html @@ -0,0 +1,226 @@ + + +VSTGUI: CVerticalSlider Class Reference + + + + +
+
+
+
+

CVerticalSlider Class Reference

a vertical slider control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CVerticalSlider: +

+ +CSlider +CControl +CView +CReferenceCounter + +List of all members. + + + + + + +

Public Member Functions

 CVerticalSlider (const CRect &size, CControlListener *listener, long tag, long iMinPos, long iMaxPos, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kBottom)
 CVerticalSlider (const CRect &rect, CControlListener *listener, long tag, CPoint &offsetHandle, long rangeHandle, CBitmap *handle, CBitmap *background, CPoint &offset, const long style=kBottom)
+

Detailed Description

+a vertical slider control +

+This is the vertical slider. See CSlider. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CVerticalSlider::CVerticalSlider const CRect size,
CControlListener listener,
long  tag,
long  iMinPos,
long  iMaxPos,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kBottom
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CVerticalSlider::CVerticalSlider const CRect rect,
CControlListener listener,
long  tag,
CPoint offsetHandle,
long  rangeHandle,
CBitmap handle,
CBitmap background,
CPoint offset,
const long  style = kBottom
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.png new file mode 100644 index 0000000..fc50710 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_slider.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch-members.html new file mode 100644 index 0000000..ac85e2a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch-members.html @@ -0,0 +1,151 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CVerticalSwitch Member List

This is the complete list of members for CVerticalSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CVerticalSwitch(const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)CVerticalSwitch
CVerticalSwitch(const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, long iMaxPositions, CBitmap *background, CPoint &offset)CVerticalSwitch
CView(const CRect &size)CView
CViewContainer classCView [friend]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *)CVerticalSwitch [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
heightOfOneImageCVerticalSwitch [protected]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
iMaxPositionsCVerticalSwitch [protected]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long button=-1)CVerticalSwitch [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
offsetCVerticalSwitch [protected]
oldValueCControl [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CControl [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
subPixmapsCVerticalSwitch [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CVerticalSwitch()CVerticalSwitch [virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.html new file mode 100644 index 0000000..a55c6ac --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.html @@ -0,0 +1,412 @@ + + +VSTGUI: CVerticalSwitch Class Reference + + + + +
+
+
+
+

CVerticalSwitch Class Reference

a vertical switch control +More... +

+#include <vstcontrols.h> +

+

Inheritance diagram for CVerticalSwitch: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, CBitmap *background, CPoint &offset)
 CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, long subPixmaps, CCoord heightOfOneImage, long iMaxPositions, CBitmap *background, CPoint &offset)
virtual ~CVerticalSwitch ()
virtual void draw (CDrawContext *)
 called if the view should draw itself
virtual void mouse (CDrawContext *pContext, CPoint &where, long button=-1)
 called if a mouse click event occurs

Protected Attributes

CPoint offset
long subPixmaps
CCoord heightOfOneImage
long iMaxPositions
+

Detailed Description

+a vertical switch control +

+Define a switch with a given number of positions, the current position is defined by the position of the last click on this object (the object is divided in its height by the number of position). Each position has its subpixmap, each subpixmap is stacked in the given handle pixmap. By clicking Alt+Left Mouse the default value is used. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CVerticalSwitch::CVerticalSwitch const CRect size,
CControlListener listener,
long  tag,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CVerticalSwitch::CVerticalSwitch const CRect size,
CControlListener listener,
long  tag,
long  subPixmaps,
CCoord  heightOfOneImage,
long  iMaxPositions,
CBitmap background,
CPoint offset
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CVerticalSwitch::~CVerticalSwitch  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CVerticalSwitch::draw CDrawContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CVerticalSwitch::mouse CDrawContext pContext,
CPoint where,
long  button = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView.

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CVerticalSwitch::heightOfOneImage [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CVerticalSwitch::iMaxPositions [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CVerticalSwitch::offset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CVerticalSwitch::subPixmaps [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.png new file mode 100644 index 0000000..2159a80 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vertical_switch.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view-members.html new file mode 100644 index 0000000..2d7ebe3 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view-members.html @@ -0,0 +1,107 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CView Member List

This is the complete list of members for CView, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *view)CView [inline, virtual]
bDirtyCView [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
draw(CDrawContext *pContext)CView [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getParentView() const CView [inline]
getTransparency() const CView [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CView [inline, virtual]
isTypeOf(const char *s) const CView [inline, virtual]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CView [virtual]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CView [inline, virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setDirty(const bool val=true)CView [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.html new file mode 100644 index 0000000..2c07d5c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.html @@ -0,0 +1,2253 @@ + + +VSTGUI: CView Class Reference + + + + +
+
+
+
+

CView Class Reference

#include <vstgui.h> +

+

Inheritance diagram for CView: +

+ +CReferenceCounter +CControl +CSplashScreenView +CViewContainer +CAutoAnimation +CHorizontalSwitch +CKickButton +CKnob +CMovieBitmap +CMovieButton +COnOffButton +CParamDisplay +CRockerSwitch +CScrollbar +CSlider +CSpecialDigit +CSplashScreen +CVerticalSwitch +CVuMeter +CFrame +CScrollContainer +CScrollView +CTabView + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CView (const CRect &size)
virtual ~CView ()
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 called if the view should draw itself
virtual bool checkUpdate (CRect &updateRect) const
virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons=-1)
 called if a mouse click event occurs
virtual void setBackground (CBitmap *background)
 set the background image of this view
virtual CBitmapgetBackground () const
 get the background image of this view
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual long onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)
 called if a mouse wheel event is happening over this view
virtual bool onDrop (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is dropped onto this view
virtual void onDragEnter (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is entering this view
virtual void onDragLeave (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is leaving this view
virtual void onDragMove (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is current moved over this view
virtual void looseFocus (CDrawContext *pContext=0)
 called if view should loose focus
virtual void takeFocus (CDrawContext *pContext=0)
 called if view should take focus
virtual bool isDirty () const
 check if view is dirty
virtual void setDirty (const bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe !
virtual void setMouseEnabled (const bool bEnable=true)
 turn on/off mouse usage for this view
virtual bool getMouseEnabled () const
 get the state of wheather this view uses the mouse or not
virtual void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse
virtual CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse
virtual bool hitTest (const CPoint &where, const long buttons=-1)
 check if where hits this view
virtual void setTransparency (bool val)
 set views transparent state
virtual bool getTransparency () const
 is view transparent ?
CCoord getHeight () const
 get the height of the view
CCoord getWidth () const
 get the width of the view
virtual void setViewSize (CRect &rect)
 set views size
virtual CRectgetViewSize (CRect &rect) const
 returns the current view size
virtual bool removed (CView *parent)
 view is removed from parent view
virtual bool attached (CView *view)
 view is attached to a parent view
virtual void getMouseLocation (CDrawContext *context, CPoint &point)
 get current mouse location in local view coordinates
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates
bool getAttributeSize (const CViewAttributeID id, long &outSize) const
 get the size of an attribute
bool getAttribute (const CViewAttributeID id, const long inSize, void *outData, long &outSize) const
 get an attribute
bool setAttribute (const CViewAttributeID id, const long inSize, void *inData)
 set an attribute
CViewgetParentView () const
CFramegetFrame () const
virtual void * getEditor () const
virtual long notify (CView *sender, const char *message)
void redraw ()
virtual void redrawRect (CDrawContext *context, const CRect &rect)
virtual bool wantsFocus () const
 check if view supports focus
virtual void setWantsFocus (bool state)
 set focus support on/off
virtual bool isTypeOf (const char *s) const

Protected Member Functions

virtual void update (CDrawContext *pContext)

Protected Attributes

CRect size
CRect mouseableArea
CFramepParentFrame
CViewpParentView
bool bDirty
bool bMouseEnabled
bool bTransparencyEnabled
bool bWantsFocus
CBitmappBackground
CAttributeListEntrypAttributeList

Friends

class CControl
class CFrame
class CViewContainer
+

Detailed Description

+base class of all view objects +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
CView::CView const CRect size  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CView::~CView  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
virtual bool CView::attached CView view  )  [inline, virtual]
+
+ + + + + +
+   + + +

+view is attached to a parent view +

+ +

+Reimplemented in CSlider, CVuMeter, and CViewContainer.

+

+ + + + +
+ + + + + + + + + +
virtual bool CView::checkUpdate CRect updateRect  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CView::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented in CScrollbar, CTabButton, CSplashScreenView, CControl, COnOffButton, CParamDisplay, CTextLabel, CTextEdit, COptionMenu, CKnob, CAnimKnob, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CMovieBitmap, CMovieButton, CAutoAnimation, CSlider, CSpecialDigit, CKickButton, CSplashScreen, CVuMeter, CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void CView::drawRect CDrawContext pContext,
const CRect updateRect
[inline, virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Reimplemented in CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + +
CPoint & CView::frameToLocal CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+conversion from frame coordinates to local view coordinates +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CView::getAttribute const CViewAttributeID  id,
const long  inSize,
void *  outData,
long &  outSize
const
+
+ + + + + +
+   + + +

+get an attribute +

+

Parameters:
+ + + + + +
id the ID of the Attribute
inSize the size of the outData pointer
outData a pointer where to copy the attribute data
outSize the size in bytes which was copied into outData
+
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CView::getAttributeSize const CViewAttributeID  id,
long &  outSize
const
+
+ + + + + +
+   + + +

+get the size of an attribute +

+

Parameters:
+ + + +
id the ID of the Attribute
outSize on return the size of the attribute
+
+
+

+ + + + +
+ + + + + + + + +
virtual CBitmap* CView::getBackground  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the background image of this view +

+

+

+ + + + +
+ + + + + + + + +
void * CView::getEditor  )  const [virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + +
CFrame* CView::getFrame  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CView::getHeight  )  const [inline]
+
+ + + + + +
+   + + +

+get the height of the view +

+

+

+ + + + +
+ + + + + + + + + +
virtual CRect& CView::getMouseableArea CRect rect  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the area in which the view reacts to the mouse +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CView::getMouseEnabled  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the state of wheather this view uses the mouse or not +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CView::getMouseLocation CDrawContext context,
CPoint point
[virtual]
+
+ + + + + +
+   + + +

+get current mouse location in local view coordinates +

+

+

+ + + + +
+ + + + + + + + +
CView* CView::getParentView  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual bool CView::getTransparency  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+is view transparent ? +

+

+

+ + + + +
+ + + + + + + + + +
virtual CRect& CView::getViewSize CRect rect  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+returns the current view size +

+

+

+ + + + +
+ + + + + + + + +
CCoord CView::getWidth  )  const [inline]
+
+ + + + + +
+   + + +

+get the width of the view +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool CView::hitTest const CPoint where,
const long  buttons = -1
[inline, virtual]
+
+ + + + + +
+   + + +

+check if where hits this view +

+ +

+Reimplemented in CSplashScreen, and CViewContainer.

+

+ + + + +
+ + + + + + + + +
virtual bool CView::isDirty  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+check if view is dirty +

+ +

+Reimplemented in CScrollContainer, CControl, CAnimKnob, and CViewContainer.

+

+ + + + +
+ + + + + + + + + +
virtual bool CView::isTypeOf const char *  s  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
CPoint & CView::localToFrame CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+conversion from local view coordinates to frame coordinates +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CView::looseFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should loose focus +

+ +

+Reimplemented in CTextEdit, COptionMenu, and CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CView::mouse CDrawContext pContext,
CPoint where,
long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented in CScrollbar, CTabButton, CSplashScreenView, COnOffButton, CTextEdit, COptionMenu, CKnob, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CMovieButton, CAutoAnimation, CSlider, CKickButton, CSplashScreen, CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
long CView::notify CView sender,
const char *  message
[virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void CView::onDragEnter CDrawContext context,
CDragContainer drag,
const CPoint where
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a drag is entering this view +

+ +

+Reimplemented in CTabButton, and CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void CView::onDragLeave CDrawContext context,
CDragContainer drag,
const CPoint where
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a drag is leaving this view +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void CView::onDragMove CDrawContext context,
CDragContainer drag,
const CPoint where
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a drag is current moved over this view +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool CView::onDrop CDrawContext context,
CDragContainer drag,
const CPoint where
[inline, virtual]
+
+ + + + + +
+   + + +

+called if a drag is dropped onto this view +

+ +

+Reimplemented in CViewContainer.

+

+ + + + +
+ + + + + + + + + +
long CView::onKeyDown VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key down event occurs and this view has focus +

+ +

+Reimplemented in CKnob, CSlider, CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + +
long CView::onKeyUp VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key up event occurs and this view has focus +

+ +

+Reimplemented in CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CView::onWheel CDrawContext pContext,
const CPoint where,
const CMouseWheelAxis  axis,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented in CScrollView, CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CView::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented in CScrollbar, CKnob, CRockerSwitch, CSlider, CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + +
void CView::redraw  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CView::redrawRect CDrawContext context,
const CRect rect
[virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CScrollContainer, and CViewContainer.

+

+ + + + +
+ + + + + + + + + +
virtual bool CView::removed CView parent  )  [inline, virtual]
+
+ + + + + +
+   + + +

+view is removed from parent view +

+ +

+Reimplemented in CSlider, CVuMeter, and CViewContainer.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CView::setAttribute const CViewAttributeID  id,
const long  inSize,
void *  inData
+
+ + + + + +
+   + + +

+set an attribute +

+copies data into the attribute. If it does not exist, creates a new attribute.

Parameters:
+ + + + +
id the ID of the Attribute
inSize the size of the outData pointer
inData a pointer to the data
+
+
+

+ + + + +
+ + + + + + + + + +
void CView::setBackground CBitmap background  )  [virtual]
+
+ + + + + +
+   + + +

+set the background image of this view +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CView::setDirty const bool  val = true  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set the view to dirty so that it is redrawn in the next idle. Thread Safe ! +

+ +

+Reimplemented in CControl, and CVuMeter.

+

+ + + + +
+ + + + + + + + + +
virtual void CView::setMouseableArea const CRect rect  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set the area in which the view reacts to the mouse +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CView::setMouseEnabled const bool  bEnable = true  )  [inline, virtual]
+
+ + + + + +
+   + + +

+turn on/off mouse usage for this view +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CView::setTransparency bool  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set views transparent state +

+

+

+ + + + +
+ + + + + + + + + +
void CView::setViewSize CRect rect  )  [virtual]
+
+ + + + + +
+   + + +

+set views size +

+ +

+Reimplemented in CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + + +
virtual void CView::setWantsFocus bool  state  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set focus support on/off +

+

+

+ + + + +
+ + + + + + + + + +
void CView::takeFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should take focus +

+ +

+Reimplemented in CTextEdit, COptionMenu, and CViewContainer.

+

+ + + + +
+ + + + + + + + + +
void CView::update CDrawContext pContext  )  [protected, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CViewContainer, and CFrame.

+

+ + + + +
+ + + + + + + + +
virtual bool CView::wantsFocus  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+check if view supports focus +

+

+


Friends And Related Function Documentation

+

+ + + + +
+ + + + +
friend class CControl [friend]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
friend class CFrame [friend]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
friend class CViewContainer [friend]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CView::bDirty [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CView::bMouseEnabled [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CView::bTransparencyEnabled [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CView::bWantsFocus [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CView::mouseableArea [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CAttributeListEntry* CView::pAttributeList [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CView::pBackground [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFrame* CView::pParentFrame [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CView::pParentView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CView::size [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.png new file mode 100644 index 0000000..70496b0 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container-members.html new file mode 100644 index 0000000..1dcf42a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container-members.html @@ -0,0 +1,140 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CViewContainer Member List

This is the complete list of members for CViewContainer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addView(CView *pView)CViewContainer [virtual]
addView(CView *pView, CRect &mouseableArea, bool mouseEnabled=true)CViewContainer [virtual]
advanceNextFocusView(CView *oldFocus, bool reverse=false)CViewContainer [virtual]
attached(CView *view)CViewContainer [virtual]
backgroundColorCViewContainer [protected]
backgroundOffsetCViewContainer [protected]
bDirtyCView [protected]
bDrawInOffscreenCViewContainer [protected]
bMouseEnabledCView [protected]
bTransparencyEnabledCView [protected]
bWantsFocusCView [protected]
CControl classCView [friend]
CFrame classCView [friend]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
CReferenceCounter()CReferenceCounter [inline]
currentDragViewCViewContainer [protected]
CView(const CRect &size)CView
CViewContainer(const CRect &size, CFrame *pParent, CBitmap *pBackground=0)CViewContainer
CView::CViewContainer classCView [friend]
draw(CDrawContext *pContext)CViewContainer [virtual]
drawBackgroundRect(CDrawContext *pContext, CRect &_updateRect)CViewContainer [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CViewContainer [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CViewContainer [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getBackgroundColor() const CViewContainer [inline, virtual]
getBackgroundOffset() const CViewContainer [inline, virtual]
getCurrentView() const CViewContainer [virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getMode() const CViewContainer [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getNbViews() const CViewContainer [virtual]
getParentView() const CView [inline]
getTransparency() const CView [inline, virtual]
getView(long index) const CViewContainer [virtual]
getViewAt(const CPoint &where, bool deep=false) const CViewContainer [virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CViewContainer [virtual]
hitTestSubViews(const CPoint &where, const long buttons=-1)CViewContainer [protected]
isChild(CView *pView) const CViewContainer [virtual]
isDirty() const CViewContainer [virtual]
isTypeOf(const char *s) const CView [inline, virtual]
kNormalUpdate enum valueCViewContainer
kOnlyDirtyUpdate enum valueCViewContainer
localToFrame(CPoint &point) const CViewContainer [virtual]
looseFocus(CDrawContext *pContext=0)CViewContainer [virtual]
modeCViewContainer [protected]
modifyDrawContext(CCoord save[4], CDrawContext *pContext)CViewContainer
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CViewContainer [virtual]
mouseableAreaCView [protected]
notify(CView *sender, const char *message)CViewContainer [virtual]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CViewContainer [virtual]
onKeyDown(VstKeyCode &keyCode)CViewContainer [virtual]
onKeyUp(VstKeyCode &keyCode)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CViewContainer [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CViewContainer [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pFirstViewCViewContainer [protected]
pLastViewCViewContainer [protected]
pOffscreenContextCViewContainer [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CViewContainer [virtual]
remember()CReferenceCounter [inline, virtual]
removeAll(const bool &withForget=true)CViewContainer [virtual]
removed(CView *parent)CViewContainer [virtual]
removeView(CView *pView, const bool &withForget=true)CViewContainer [virtual]
restoreDrawContext(CDrawContext *pContext, CCoord save[4])CViewContainer
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackgroundColor(const CColor color)CViewContainer [virtual]
setBackgroundOffset(const CPoint &p)CViewContainer [inline, virtual]
setDirty(const bool val=true)CView [inline, virtual]
setMode(long val)CViewContainer [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setViewSize(CRect &rect)CViewContainer [virtual]
setWantsFocus(bool state)CView [inline, virtual]
sizeCView [protected]
takeFocus(CDrawContext *pContext=0)CViewContainer [virtual]
update(CDrawContext *pContext)CViewContainer [virtual]
useOffscreen(bool b)CViewContainer [virtual]
wantsFocus() const CView [inline, virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
~CViewContainer()CViewContainer [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.html new file mode 100644 index 0000000..1303cd9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.html @@ -0,0 +1,2169 @@ + + +VSTGUI: CViewContainer Class Reference + + + + +
+
+
+
+

CViewContainer Class Reference

Container Class of CView objects. +More... +

+#include <vstgui.h> +

+

Inheritance diagram for CViewContainer: +

+ +CView +CReferenceCounter +CFrame +CScrollContainer +CScrollView +CTabView + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { kNormalUpdate = 0, +kOnlyDirtyUpdate + }

Public Member Functions

 CViewContainer (const CRect &size, CFrame *pParent, CBitmap *pBackground=0)
virtual ~CViewContainer ()
virtual void addView (CView *pView)
 add a child view
virtual void addView (CView *pView, CRect &mouseableArea, bool mouseEnabled=true)
 add a child view
virtual void removeView (CView *pView, const bool &withForget=true)
 remove a child view
virtual void removeAll (const bool &withForget=true)
 remove all child views
virtual bool isChild (CView *pView) const
 check if pView is a child view of this container
virtual long getNbViews () const
 get the number of child views
virtual CViewgetView (long index) const
 get the child view at index
virtual void setBackgroundColor (const CColor color)
 set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap)
virtual CColor getBackgroundColor () const
 get the background color
virtual void setBackgroundOffset (const CPoint &p)
 set the offset of the background bitmap
virtual const CPointgetBackgroundOffset () const
 get the offset of the background bitmap
virtual void drawBackgroundRect (CDrawContext *pContext, CRect &_updateRect)
 draw the background
virtual void setMode (long val)
 set the update mode
virtual long getMode () const
 get the update mode
virtual void useOffscreen (bool b)
 turn on/off using an offscreen
virtual CViewgetCurrentView () const
 get the current view under the mouse
virtual CViewgetViewAt (const CPoint &where, bool deep=false) const
 get the view at point where
void modifyDrawContext (CCoord save[4], CDrawContext *pContext)
void restoreDrawContext (CDrawContext *pContext, CCoord save[4])
virtual void draw (CDrawContext *pContext)
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons=-1)
 called if a mouse click event occurs
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance)
 called if a mouse wheel event is happening over this view
virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)
 called if a mouse wheel event is happening over this view
virtual void update (CDrawContext *pContext)
virtual bool hitTest (const CPoint &where, const long buttons=-1)
 check if where hits this view
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual long onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus
virtual long notify (CView *sender, const char *message)
virtual bool onDrop (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is dropped onto this view
virtual void onDragEnter (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is entering this view
virtual void onDragLeave (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is leaving this view
virtual void onDragMove (CDrawContext *context, CDragContainer *drag, const CPoint &where)
 called if a drag is current moved over this view
virtual void looseFocus (CDrawContext *pContext=0)
 called if view should loose focus
virtual void takeFocus (CDrawContext *pContext=0)
 called if view should take focus
virtual bool advanceNextFocusView (CView *oldFocus, bool reverse=false)
virtual bool isDirty () const
 check if view is dirty
virtual void setViewSize (CRect &rect)
virtual bool removed (CView *parent)
 view is removed from parent view
virtual bool attached (CView *view)
 view is attached to a parent view
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates
virtual void redrawRect (CDrawContext *context, const CRect &rect)

Protected Member Functions

bool hitTestSubViews (const CPoint &where, const long buttons=-1)

Protected Attributes

CCViewpFirstView
CCViewpLastView
long mode
COffscreenContextpOffscreenContext
CColor backgroundColor
CPoint backgroundOffset
bool bDrawInOffscreen
CViewcurrentDragView
+

Detailed Description

+Container Class of CView objects. +

+


Member Enumeration Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kNormalUpdate  +this mode redraws the whole container if something is dirty
kOnlyDirtyUpdate  +this mode only redraws the views which are dirty
+
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CViewContainer::CViewContainer const CRect rect,
CFrame pParent,
CBitmap pBackground = 0
+
+ + + + + +
+   + + +

+CViewContainer constructor.

Parameters:
+ + + + +
rect the size of the container
pParent the parent CFrame
pBackground the background bitmap, can be NULL
+
+
+

+ + + + +
+ + + + + + + + +
CViewContainer::~CViewContainer  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CViewContainer::addView CView pView,
CRect mouseableArea,
bool  mouseEnabled = true
[virtual]
+
+ + + + + +
+   + + +

+add a child view +

+

Parameters:
+ + + + +
pView the view object to add to this container
mouseableArea the view area in where the view will get mouse events
mouseEnabled bool to set if view will get mouse events
+
+
+

+ + + + +
+ + + + + + + + + +
void CViewContainer::addView CView pView  )  [virtual]
+
+ + + + + +
+   + + +

+add a child view +

+

Parameters:
+ + +
pView the view object to add to this container
+
+ +

+Reimplemented in CScrollView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CViewContainer::advanceNextFocusView CView oldFocus,
bool  reverse = false
[virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + +
bool CViewContainer::attached CView view  )  [virtual]
+
+ + + + + +
+   + + +

+view is attached to a parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + +
pContext the context which to use to draw this container and its subviews
+
+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::drawBackgroundRect CDrawContext pContext,
CRect _updateRect
[virtual]
+
+ + + + + +
+   + + +

+draw the background +

+

Parameters:
+ + + +
pContext the context which to use to draw the background
_updateRect the area which to draw
+
+ +

+Reimplemented in CScrollView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::drawRect CDrawContext pContext,
const CRect _updateRect
[virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + + +
pContext the context which to use to draw
_updateRect the area which to draw
+
+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + +
CPoint & CViewContainer::frameToLocal CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+conversion from frame coordinates to local view coordinates +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + +
virtual CColor CViewContainer::getBackgroundColor  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the background color +

+

+

+ + + + +
+ + + + + + + + +
virtual const CPoint& CViewContainer::getBackgroundOffset  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the offset of the background bitmap +

+

+

+ + + + +
+ + + + + + + + +
CView * CViewContainer::getCurrentView  )  const [virtual]
+
+ + + + + +
+   + + +

+get the current view under the mouse +

+ +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + +
virtual long CViewContainer::getMode  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+get the update mode +

+

+

+ + + + +
+ + + + + + + + +
long CViewContainer::getNbViews  )  const [virtual]
+
+ + + + + +
+   + + +

+get the number of child views +

+

+

+ + + + +
+ + + + + + + + + +
CView * CViewContainer::getView long  index  )  const [virtual]
+
+ + + + + +
+   + + +

+get the child view at index +

+

Parameters:
+ + +
index the index of the view to return
+
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CView * CViewContainer::getViewAt const CPoint where,
bool  deep = false
const [virtual]
+
+ + + + + +
+   + + +

+get the view at point where +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CViewContainer::hitTest const CPoint where,
const long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+check if where hits this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
bool CViewContainer::hitTestSubViews const CPoint where,
const long  buttons = -1
[protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CViewContainer::isChild CView pView  )  const [virtual]
+
+ + + + + +
+   + + +

+check if pView is a child view of this container +

+

Parameters:
+ + +
pView the view which should be checked if it is a child of this container
+
+
+

+ + + + +
+ + + + + + + + +
bool CViewContainer::isDirty  )  const [virtual]
+
+ + + + + +
+   + + +

+check if view is dirty +

+ +

+Reimplemented from CView. +

+Reimplemented in CScrollContainer.

+

+ + + + +
+ + + + + + + + + +
CPoint & CViewContainer::localToFrame CPoint point  )  const [virtual]
+
+ + + + + +
+   + + +

+conversion from local view coordinates to frame coordinates +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::looseFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should loose focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::modifyDrawContext CCoord  save[4],
CDrawContext pContext
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CViewContainer::mouse CDrawContext pContext,
CPoint where,
long  buttons = -1
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse click event occurs +

+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
long CViewContainer::notify CView sender,
const char *  message
[virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CViewContainer::onDragEnter CDrawContext context,
CDragContainer drag,
const CPoint where
[virtual]
+
+ + + + + +
+   + + +

+called if a drag is entering this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CViewContainer::onDragLeave CDrawContext context,
CDragContainer drag,
const CPoint where
[virtual]
+
+ + + + + +
+   + + +

+called if a drag is leaving this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CViewContainer::onDragMove CDrawContext context,
CDragContainer drag,
const CPoint where
[virtual]
+
+ + + + + +
+   + + +

+called if a drag is current moved over this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CViewContainer::onDrop CDrawContext context,
CDragContainer drag,
const CPoint where
[virtual]
+
+ + + + + +
+   + + +

+called if a drag is dropped onto this view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
long CViewContainer::onKeyDown VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key down event occurs and this view has focus +

+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + +
long CViewContainer::onKeyUp VstKeyCode keyCode  )  [virtual]
+
+ + + + + +
+   + + +

+called if a key up event occurs and this view has focus +

+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CViewContainer::onWheel CDrawContext pContext,
const CPoint where,
const CMouseWheelAxis  axis,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView. +

+Reimplemented in CScrollView, and CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CViewContainer::onWheel CDrawContext pContext,
const CPoint where,
float  distance
[virtual]
+
+ + + + + +
+   + + +

+called if a mouse wheel event is happening over this view +

+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::redrawRect CDrawContext context,
const CRect rect
[virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + + +
context the context which to use to redraw this container
rect the area which to redraw
+
+ +

+Reimplemented from CView. +

+Reimplemented in CScrollContainer.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::removeAll const bool &  withForget = true  )  [virtual]
+
+ + + + + +
+   + + +

+remove all child views +

+

Parameters:
+ + +
withForget bool to indicate if the view's reference counter should be decreased after removed from the container
+
+
+

+ + + + +
+ + + + + + + + + +
bool CViewContainer::removed CView parent  )  [virtual]
+
+ + + + + +
+   + + +

+view is removed from parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::removeView CView pView,
const bool &  withForget = true
[virtual]
+
+ + + + + +
+   + + +

+remove a child view +

+

Parameters:
+ + + +
pView the view which should be removed from the container
withForget bool to indicate if the view's reference counter should be decreased after removed from the container
+
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void CViewContainer::restoreDrawContext CDrawContext pContext,
CCoord  save[4]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::setBackgroundColor const CColor  color  )  [virtual]
+
+ + + + + +
+   + + +

+set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap) +

+

Parameters:
+ + +
color the new background color of the container
+
+
+

+ + + + +
+ + + + + + + + + +
virtual void CViewContainer::setBackgroundOffset const CPoint p  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set the offset of the background bitmap +

+

+

+ + + + +
+ + + + + + + + + +
virtual void CViewContainer::setMode long  val  )  [inline, virtual]
+
+ + + + + +
+   + + +

+set the update mode +

+

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::setViewSize CRect rect  )  [virtual]
+
+ + + + + +
+   + + +

+

Parameters:
+ + +
rect the new size of the container
+
+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::takeFocus CDrawContext pContext = 0  )  [virtual]
+
+ + + + + +
+   + + +

+called if view should take focus +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::update CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from CView. +

+Reimplemented in CFrame.

+

+ + + + +
+ + + + + + + + + +
void CViewContainer::useOffscreen bool  b  )  [virtual]
+
+ + + + + +
+   + + +

+turn on/off using an offscreen +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CColor CViewContainer::backgroundColor [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CPoint CViewContainer::backgroundOffset [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
bool CViewContainer::bDrawInOffscreen [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CView* CViewContainer::currentDragView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CViewContainer::mode [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCView* CViewContainer::pFirstView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCView* CViewContainer::pLastView [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COffscreenContext* CViewContainer::pOffscreenContext [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.png new file mode 100644 index 0000000..a5efb2e Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_view_container.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter-members.html new file mode 100644 index 0000000..e2c6079 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter-members.html @@ -0,0 +1,158 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CVuMeter Member List

This is the complete list of members for CVuMeter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attached(CView *parent)CVuMeter [virtual]
backOffsetCControl [protected]
bDirtyCView [protected]
beginEdit()CControl [virtual]
bMouseEnabledCView [protected]
bounceValue()CControl [virtual]
bTransparencyEnabledCView [protected]
bUseOffscreenCVuMeter [protected]
bWantsFocusCView [protected]
CControl(const CRect &size, CControlListener *listener=0, long tag=0, CBitmap *pBackground=0)CControl
CView::CControl classCView [friend]
CFrame classCView [friend]
checkDefaultValue(CDrawContext *pContext, long button)CControl [virtual]
checkUpdate(CRect &updateRect) const CView [inline, virtual]
copyBackOffset()CControl [virtual]
CReferenceCounter()CReferenceCounter [inline]
CView(const CRect &size)CView
CViewContainer classCView [friend]
CVuMeter(const CRect &size, CBitmap *onBitmap, CBitmap *offBitmap, long nbLed, const long style=kVertical)CVuMeter
decreaseValueCVuMeter [protected]
defaultValueCControl [protected]
deltaCControl [protected]
doIdleStuff()CControl [inline, virtual]
draw(CDrawContext *pContext)CVuMeter [virtual]
drawRect(CDrawContext *pContext, const CRect &updateRect)CView [inline, virtual]
endEdit()CControl [virtual]
forget()CReferenceCounter [inline, virtual]
frameToLocal(CPoint &point) const CView [virtual]
getAttribute(const CViewAttributeID id, const long inSize, void *outData, long &outSize) const CView
getAttributeSize(const CViewAttributeID id, long &outSize) const CView
getBackground() const CView [inline, virtual]
getDefaultValue(void) const CControl [inline, virtual]
getEditor() const CView [virtual]
getFrame() const CView [inline]
getHeight() const CView [inline]
getListener() const CControl [inline]
getMax() const CControl [inline, virtual]
getMin() const CControl [inline, virtual]
getMouseableArea(CRect &rect) const CView [inline, virtual]
getMouseEnabled() const CView [inline, virtual]
getMouseLocation(CDrawContext *context, CPoint &point)CView [virtual]
getNbReference() const CReferenceCounter [inline]
getOldValue(void) const CControl [inline, virtual]
getParentView() const CView [inline]
getTag() const CControl [inline, virtual]
getTransparency() const CView [inline, virtual]
getUseOffscreen() const CVuMeter [inline]
getValue() const CControl [inline, virtual]
getViewSize(CRect &rect) const CView [inline, virtual]
getWheelInc() const CControl [inline, virtual]
getWidth() const CView [inline]
hitTest(const CPoint &where, const long buttons=-1)CView [inline, virtual]
isDirty() const CControl [virtual]
isDoubleClick()CControl
isTypeOf(const char *s) const CView [inline, virtual]
lastTicksCControl [protected]
listenerCControl [protected]
localToFrame(CPoint &point) const CView [virtual]
looseFocus(CDrawContext *pContext=0)CView [virtual]
mouse(CDrawContext *pContext, CPoint &where, long buttons=-1)CView [virtual]
mouseableAreaCView [protected]
nbLedCVuMeter [protected]
notify(CView *sender, const char *message)CView [virtual]
offBitmapCVuMeter [protected]
oldValueCControl [protected]
onBitmapCVuMeter [protected]
onDragEnter(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragLeave(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDragMove(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onDrop(CDrawContext *context, CDragContainer *drag, const CPoint &where)CView [inline, virtual]
onKeyDown(VstKeyCode &keyCode)CView [virtual]
onKeyUp(VstKeyCode &keyCode)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, float distance)CView [virtual]
onWheel(CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance)CView [virtual]
pAttributeListCView [protected]
pBackgroundCView [protected]
pOScreenCVuMeter [protected]
pParentFrameCView [protected]
pParentViewCView [protected]
rectOffCVuMeter [protected]
rectOnCVuMeter [protected]
redraw()CView
redrawRect(CDrawContext *context, const CRect &rect)CView [virtual]
remember()CReferenceCounter [inline, virtual]
removed(CView *parent)CVuMeter [virtual]
setAttribute(const CViewAttributeID id, const long inSize, void *inData)CView
setBackground(CBitmap *background)CView [virtual]
setBackOffset(CPoint &offset)CControl [virtual]
setDecreaseStepValue(float value)CVuMeter [inline, virtual]
setDefaultValue(float val)CControl [inline, virtual]
setDirty(const bool val=true)CVuMeter [virtual]
setListener(CControlListener *l)CControl [inline]
setMax(float val)CControl [inline, virtual]
setMin(float val)CControl [inline, virtual]
setMouseableArea(const CRect &rect)CView [inline, virtual]
setMouseEnabled(const bool bEnable=true)CView [inline, virtual]
setOldValue(float val)CControl [inline, virtual]
setTag(long val)CControl [inline, virtual]
setTransparency(bool val)CView [inline, virtual]
setUseOffscreen(bool val=true)CVuMeter
setValue(float val)CControl [inline, virtual]
setViewSize(CRect &rect)CView [virtual]
setWantsFocus(bool state)CView [inline, virtual]
setWheelInc(float val)CControl [inline, virtual]
sizeCView [protected]
styleCVuMeter [protected]
tagCControl [protected]
takeFocus(CDrawContext *pContext=0)CView [virtual]
update(CDrawContext *pContext)CView [protected, virtual]
valueCControl [protected]
vmaxCControl [protected]
vminCControl [protected]
wantsFocus() const CView [inline, virtual]
wheelIncCControl [protected]
~CControl()CControl [virtual]
~CReferenceCounter()CReferenceCounter [inline, virtual]
~CView()CView [virtual]
~CVuMeter()CVuMeter [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.html new file mode 100644 index 0000000..cbbc614 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.html @@ -0,0 +1,598 @@ + + +VSTGUI: CVuMeter Class Reference + + + + +
+
+
+
+

CVuMeter Class Reference

#include <vstcontrols.h> +

+

Inheritance diagram for CVuMeter: +

+ +CControl +CView +CReferenceCounter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CVuMeter (const CRect &size, CBitmap *onBitmap, CBitmap *offBitmap, long nbLed, const long style=kVertical)
virtual ~CVuMeter ()
virtual void setDecreaseStepValue (float value)
virtual bool attached (CView *parent)
 view is attached to a parent view
virtual bool removed (CView *parent)
 view is removed from parent view
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void setDirty (const bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe !
void setUseOffscreen (bool val=true)
bool getUseOffscreen () const

Protected Attributes

CBitmaponBitmap
CBitmapoffBitmap
COffscreenContextpOScreen
long nbLed
long style
float decreaseValue
bool bUseOffscreen
CRect rectOn
CRect rectOff
+

Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CVuMeter::CVuMeter const CRect size,
CBitmap onBitmap,
CBitmap offBitmap,
long  nbLed,
const long  style = kVertical
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CVuMeter::~CVuMeter  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
bool CVuMeter::attached CView parent  )  [virtual]
+
+ + + + + +
+   + + +

+view is attached to a parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
void CVuMeter::draw CDrawContext pContext  )  [virtual]
+
+ + + + + +
+   + + +

+called if the view should draw itself +

+ +

+Implements CControl.

+

+ + + + +
+ + + + + + + + +
bool CVuMeter::getUseOffscreen  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CVuMeter::removed CView parent  )  [virtual]
+
+ + + + + +
+   + + +

+view is removed from parent view +

+ +

+Reimplemented from CView.

+

+ + + + +
+ + + + + + + + + +
virtual void CVuMeter::setDecreaseStepValue float  value  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CVuMeter::setDirty const bool  val = true  )  [virtual]
+
+ + + + + +
+   + + +

+set the view to dirty so that it is redrawn in the next idle. Thread Safe ! +

+ +

+Reimplemented from CControl.

+

+ + + + +
+ + + + + + + + + +
void CVuMeter::setUseOffscreen bool  val = true  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
bool CVuMeter::bUseOffscreen [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
float CVuMeter::decreaseValue [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CVuMeter::nbLed [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CVuMeter::offBitmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CBitmap* CVuMeter::onBitmap [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
COffscreenContext* CVuMeter::pOScreen [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CVuMeter::rectOff [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CRect CVuMeter::rectOn [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long CVuMeter::style [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.png new file mode 100644 index 0000000..3cb3ffe Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_c_vu_meter.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer-members.html new file mode 100644 index 0000000..cb949e1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer-members.html @@ -0,0 +1,42 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

IScrollbarDrawer Member List

This is the complete list of members for IScrollbarDrawer, including all inherited members.

+ + +
drawScrollbarBackground(CDrawContext *pContext, const CRect &size, long style, CScrollbar *bar)=0IScrollbarDrawer [pure virtual]
drawScrollbarScroller(CDrawContext *pContext, const CRect &size, long style, CScrollbar *bar)=0IScrollbarDrawer [pure virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer.html new file mode 100644 index 0000000..8131b4e --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_i_scrollbar_drawer.html @@ -0,0 +1,150 @@ + + +VSTGUI: IScrollbarDrawer Class Reference + + + + +
+
+
+
+

IScrollbarDrawer Class Reference

#include <cscrollview.h> +

+List of all members. + + + + + + +

Public Member Functions

virtual void drawScrollbarBackground (CDrawContext *pContext, const CRect &size, long style, CScrollbar *bar)=0
virtual void drawScrollbarScroller (CDrawContext *pContext, const CRect &size, long style, CScrollbar *bar)=0
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void IScrollbarDrawer::drawScrollbarBackground CDrawContext pContext,
const CRect size,
long  style,
CScrollbar bar
[pure virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void IScrollbarDrawer::drawScrollbarScroller CDrawContext pContext,
const CRect size,
long  style,
CScrollbar bar
[pure virtual]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor-members.html new file mode 100644 index 0000000..98bc785 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor-members.html @@ -0,0 +1,63 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

PluginGUIEditor Member List

This is the complete list of members for PluginGUIEditor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
beginEdit(long index)PluginGUIEditor [inline, virtual]
close()PluginGUIEditor [inline, virtual]
doIdleStuff()PluginGUIEditor [virtual]
draw(ERect *pRect)PluginGUIEditor [virtual]
effectPluginGUIEditor [protected]
endEdit(long index)PluginGUIEditor [inline, virtual]
framePluginGUIEditor [protected]
getEffect()PluginGUIEditor [inline]
getFrame()PluginGUIEditor [inline]
getKnobMode()PluginGUIEditor [inline, static]
getRect(ERect **ppRect)PluginGUIEditor [virtual]
getTicks()PluginGUIEditor
getVstGuiVersion()PluginGUIEditor [inline]
idle()PluginGUIEditor [virtual]
onWheel(float distance)PluginGUIEditor [virtual]
open(void *ptr)PluginGUIEditor [virtual]
PluginGUIEditor(void *pEffect)PluginGUIEditor
rectPluginGUIEditor [protected]
setKnobMode(int val)PluginGUIEditor [virtual]
setParameter(long index, float value)PluginGUIEditor [inline, virtual]
systemWindowPluginGUIEditor [protected]
wait(unsigned long ms)PluginGUIEditor
~PluginGUIEditor()PluginGUIEditor [virtual]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor.html new file mode 100644 index 0000000..85c6737 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/class_plugin_g_u_i_editor.html @@ -0,0 +1,725 @@ + + +VSTGUI: PluginGUIEditor Class Reference + + + + +
+
+
+
+

PluginGUIEditor Class Reference

#include <plugguieditor.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 PluginGUIEditor (void *pEffect)
virtual ~PluginGUIEditor ()
virtual void setParameter (long index, float value)
virtual long getRect (ERect **ppRect)
virtual bool open (void *ptr)
virtual void close ()
virtual void idle ()
virtual void draw (ERect *pRect)
void wait (unsigned long ms)
unsigned long getTicks ()
virtual void doIdleStuff ()
void * getEffect ()
long getVstGuiVersion ()
virtual long setKnobMode (int val)
virtual bool onWheel (float distance)
CFramegetFrame ()
virtual void beginEdit (long index)
virtual void endEdit (long index)

Static Public Member Functions

static long getKnobMode ()

Protected Attributes

ERect rect
CFrameframe
void * effect
void * systemWindow
+


Detailed Description

+This is the same as the AEffGUIEditor class except that this one allows the VSTGUI lib to build without VST dependencies. +

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
PluginGUIEditor::PluginGUIEditor void *  pEffect  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
PluginGUIEditor::~PluginGUIEditor  )  [virtual]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
virtual void PluginGUIEditor::beginEdit long  index  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
virtual void PluginGUIEditor::close  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void PluginGUIEditor::doIdleStuff  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void PluginGUIEditor::draw ERect pRect  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
virtual void PluginGUIEditor::endEdit long  index  )  [inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void* PluginGUIEditor::getEffect  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CFrame* PluginGUIEditor::getFrame  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
static long PluginGUIEditor::getKnobMode  )  [inline, static]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
long PluginGUIEditor::getRect ERect **  ppRect  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
unsigned long PluginGUIEditor::getTicks  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
long PluginGUIEditor::getVstGuiVersion  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
void PluginGUIEditor::idle  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool PluginGUIEditor::onWheel float  distance  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool PluginGUIEditor::open void *  ptr  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
long PluginGUIEditor::setKnobMode int  val  )  [virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void PluginGUIEditor::setParameter long  index,
float  value
[inline, virtual]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void PluginGUIEditor::wait unsigned long  ms  ) 
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
void* PluginGUIEditor::effect [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CFrame* PluginGUIEditor::frame [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
ERect PluginGUIEditor::rect [protected]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
void* PluginGUIEditor::systemWindow [protected]
+
+ + + + + +
+   + + +

+

+


The documentation for this class was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8cpp.html new file mode 100644 index 0000000..fcfff06 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8cpp.html @@ -0,0 +1,94 @@ + + +VSTGUI: cscrollview.cpp File Reference + + + + +
+
+
+
+

cscrollview.cpp File Reference

#include "cscrollview.h"
+ + + + + + + +

Defines

#define FOREACHSUBVIEW   for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView;
#define ENDFOR   }
+

Define Documentation

+

+ + + + +
+ + + + +
#define ENDFOR   }
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define FOREACHSUBVIEW   for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView;
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8h.html new file mode 100644 index 0000000..c596f9b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/cscrollview_8h.html @@ -0,0 +1,53 @@ + + +VSTGUI: cscrollview.h File Reference + + + + +
+
+
+
+

cscrollview.h File Reference

#include "vstgui.h"
+ + + + + + + + + + + + + +

Classes

class  CScrollView
 a scrollable view More...
class  CScrollContainer
class  IScrollbarDrawer
class  CScrollbar
 a scrollbar control More...
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8cpp.html new file mode 100644 index 0000000..3f7e9af --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8cpp.html @@ -0,0 +1,74 @@ + + +VSTGUI: ctabview.cpp File Reference + + + + +
+
+
+
+

ctabview.cpp File Reference

#include "ctabview.h"
+ + + + + + + + + + +

Classes

class  CTabButton
class  CTabChildView

Defines

#define kTabButtonTagStart   20000
+

Define Documentation

+

+ + + + +
+ + + + +
#define kTabButtonTagStart   20000
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8h.html new file mode 100644 index 0000000..fbf021e --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ctabview_8h.html @@ -0,0 +1,46 @@ + + +VSTGUI: ctabview.h File Reference + + + + +
+
+
+
+

ctabview.h File Reference

#include "vstcontrols.h"
+ + + + + + +

Classes

class  CTabView
 a tab view More...
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/deprecated.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/deprecated.html new file mode 100644 index 0000000..6a3fa57 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/deprecated.html @@ -0,0 +1,42 @@ + + +VSTGUI: Deprecated List + + + + +
+
+

Deprecated List

+
Member CDrawContext::floodFill (const CPoint &start)
+
+
+

+

+
Member CDrawContext::getPoint (const CPoint &point)
+
+
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doc_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doc_8h.html new file mode 100644 index 0000000..f7ffac9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doc_8h.html @@ -0,0 +1,41 @@ + + +VSTGUI: doc.h File Reference + + + + +
+
+
+
+

doc.h File Reference

+ +
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.css b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.css new file mode 100644 index 0000000..05615b2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.css @@ -0,0 +1,310 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: Fixed, monospace; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdPrefix { + background-color: #F4F4FB; + color: #606060; + font-size: 80%; +} +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.png new file mode 100644 index 0000000..f0a274b Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/doxygen.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/files.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/files.html new file mode 100644 index 0000000..4572d04 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/files.html @@ -0,0 +1,60 @@ + + +VSTGUI: File Index + + + + +
+
+
+
+

VSTGUI File List

Here is a list of all files with brief descriptions: + + + + + + + + + + + + + + + + + + + + +
aeffguieditor.cpp
aeffguieditor.h
cfileselector.cpp
cfileselector.h
cscrollview.cpp
cscrollview.h
ctabview.cpp
ctabview.h
doc.h
plugguieditor.cpp
plugguieditor.h
vstcontrols.cpp
vstcontrols.h
vstgui.cpp
vstgui.h
vstkeycode.h
vstplugscarbon.h
vstplugsmac.h
vstplugsmacho.h
vstplugsquartz.h
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2blank.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2blank.png new file mode 100644 index 0000000..493c3c0 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2blank.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2doc.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2doc.png new file mode 100644 index 0000000..f72999f Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2doc.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderclosed.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderclosed.png new file mode 100644 index 0000000..d6d0634 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderclosed.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderopen.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderopen.png new file mode 100644 index 0000000..bbe2c91 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2folderopen.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2lastnode.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2lastnode.png new file mode 100644 index 0000000..e7b9ba9 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2lastnode.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2link.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2link.png new file mode 100644 index 0000000..14f3fed Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2link.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mlastnode.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mlastnode.png new file mode 100644 index 0000000..09ceb6a Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mlastnode.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mnode.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mnode.png new file mode 100644 index 0000000..3254c05 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2mnode.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2node.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2node.png new file mode 100644 index 0000000..c9f06a5 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2node.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2plastnode.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2plastnode.png new file mode 100644 index 0000000..0b07e00 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2plastnode.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2pnode.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2pnode.png new file mode 100644 index 0000000..2001b79 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2pnode.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2vertline.png b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2vertline.png new file mode 100644 index 0000000..b330f3a Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/ftv2vertline.png differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions.html new file mode 100644 index 0000000..dd1fef0 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions.html @@ -0,0 +1,96 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- a -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x62.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x62.html new file mode 100644 index 0000000..5e501b2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x62.html @@ -0,0 +1,114 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- b -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x63.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x63.html new file mode 100644 index 0000000..693b283 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x63.html @@ -0,0 +1,148 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- c -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x64.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x64.html new file mode 100644 index 0000000..8332a87 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x64.html @@ -0,0 +1,111 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- d -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x65.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x65.html new file mode 100644 index 0000000..962ee78 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x65.html @@ -0,0 +1,88 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- e -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x66.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x66.html new file mode 100644 index 0000000..a3571d2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x66.html @@ -0,0 +1,105 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- f -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x67.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x67.html new file mode 100644 index 0000000..1a140bb --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x67.html @@ -0,0 +1,183 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- g -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x68.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x68.html new file mode 100644 index 0000000..00686f7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x68.html @@ -0,0 +1,94 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- h -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x69.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x69.html new file mode 100644 index 0000000..8db83bd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x69.html @@ -0,0 +1,105 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- i -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6b.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6b.html new file mode 100644 index 0000000..157892c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6b.html @@ -0,0 +1,110 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- k -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6c.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6c.html new file mode 100644 index 0000000..8357a89 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6c.html @@ -0,0 +1,99 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- l -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6d.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6d.html new file mode 100644 index 0000000..360a77f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6d.html @@ -0,0 +1,97 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- m -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6e.html new file mode 100644 index 0000000..b1670bb --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6e.html @@ -0,0 +1,99 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- n -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6f.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6f.html new file mode 100644 index 0000000..6940a36 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x6f.html @@ -0,0 +1,103 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- o -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x70.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x70.html new file mode 100644 index 0000000..83086b2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x70.html @@ -0,0 +1,117 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- p -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x72.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x72.html new file mode 100644 index 0000000..b06e6b5 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x72.html @@ -0,0 +1,110 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- r -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x73.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x73.html new file mode 100644 index 0000000..cd3372f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x73.html @@ -0,0 +1,193 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- s -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x74.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x74.html new file mode 100644 index 0000000..8c3687f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x74.html @@ -0,0 +1,98 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- t -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x75.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x75.html new file mode 100644 index 0000000..34f6fe7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x75.html @@ -0,0 +1,89 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- u -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x76.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x76.html new file mode 100644 index 0000000..293b271 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x76.html @@ -0,0 +1,95 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- v -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x77.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x77.html new file mode 100644 index 0000000..306c736 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x77.html @@ -0,0 +1,91 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- w -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x78.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x78.html new file mode 100644 index 0000000..9859d22 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x78.html @@ -0,0 +1,86 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- x -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x79.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x79.html new file mode 100644 index 0000000..09b296a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x79.html @@ -0,0 +1,86 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- y -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7a.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7a.html new file mode 100644 index 0000000..4d0c862 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7a.html @@ -0,0 +1,84 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- z -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7e.html new file mode 100644 index 0000000..30e31bc --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_0x7e.html @@ -0,0 +1,122 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all class members with links to the classes they belong to: +

+

- ~ -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_eval.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_eval.html new file mode 100644 index 0000000..4edf298 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_eval.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members - Enumerator + + + + +
+
+
+
+
+ +
+  +

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func.html new file mode 100644 index 0000000..8ab0a61 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func.html @@ -0,0 +1,89 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x62.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x62.html new file mode 100644 index 0000000..54ec784 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x62.html @@ -0,0 +1,82 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- b -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x63.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x63.html new file mode 100644 index 0000000..4012af4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x63.html @@ -0,0 +1,134 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- c -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x64.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x64.html new file mode 100644 index 0000000..44a7661 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x64.html @@ -0,0 +1,100 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- d -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x65.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x65.html new file mode 100644 index 0000000..4bb8e99 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x65.html @@ -0,0 +1,80 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- e -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x66.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x66.html new file mode 100644 index 0000000..2e7e308 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x66.html @@ -0,0 +1,88 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- f -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x67.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x67.html new file mode 100644 index 0000000..3a8af5d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x67.html @@ -0,0 +1,178 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- g -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x68.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x68.html new file mode 100644 index 0000000..9a0d585 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x68.html @@ -0,0 +1,82 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- h -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x69.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x69.html new file mode 100644 index 0000000..0b7d205 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x69.html @@ -0,0 +1,94 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- i -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6c.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6c.html new file mode 100644 index 0000000..c7d43ec --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6c.html @@ -0,0 +1,84 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- l -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6d.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6d.html new file mode 100644 index 0000000..8e0637f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6d.html @@ -0,0 +1,82 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- m -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6e.html new file mode 100644 index 0000000..f18e90f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6e.html @@ -0,0 +1,82 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- n -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6f.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6f.html new file mode 100644 index 0000000..459422f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x6f.html @@ -0,0 +1,94 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- o -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x70.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x70.html new file mode 100644 index 0000000..67d2359 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x70.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- p -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x72.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x72.html new file mode 100644 index 0000000..8e5aeaa --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x72.html @@ -0,0 +1,94 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- r -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x73.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x73.html new file mode 100644 index 0000000..ba9fe20 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x73.html @@ -0,0 +1,168 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- s -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x74.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x74.html new file mode 100644 index 0000000..922eb11 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x74.html @@ -0,0 +1,80 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- t -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x75.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x75.html new file mode 100644 index 0000000..70e584a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x75.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- u -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x76.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x76.html new file mode 100644 index 0000000..222ddd4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x76.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- v -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x77.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x77.html new file mode 100644 index 0000000..b734559 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x77.html @@ -0,0 +1,84 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- w -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x7e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x7e.html new file mode 100644 index 0000000..5ab03ad --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_func_0x7e.html @@ -0,0 +1,118 @@ + + +VSTGUI: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- ~ -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_rela.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_rela.html new file mode 100644 index 0000000..125b4fd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_rela.html @@ -0,0 +1,57 @@ + + +VSTGUI: Class Members - Related Functions + + + + +
+
+
+
+
+ +
+  +

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars.html new file mode 100644 index 0000000..437b399 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars.html @@ -0,0 +1,85 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x62.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x62.html new file mode 100644 index 0000000..c8c2890 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x62.html @@ -0,0 +1,110 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- b -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x63.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x63.html new file mode 100644 index 0000000..ae3d704 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x63.html @@ -0,0 +1,92 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- c -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x64.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x64.html new file mode 100644 index 0000000..5741d29 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x64.html @@ -0,0 +1,89 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- d -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x65.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x65.html new file mode 100644 index 0000000..1085448 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x65.html @@ -0,0 +1,86 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- e -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x66.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x66.html new file mode 100644 index 0000000..c217f34 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x66.html @@ -0,0 +1,95 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- f -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x67.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x67.html new file mode 100644 index 0000000..4c42204 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x67.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- g -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x68.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x68.html new file mode 100644 index 0000000..ca4cfcd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x68.html @@ -0,0 +1,91 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- h -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x69.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x69.html new file mode 100644 index 0000000..2d667db --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x69.html @@ -0,0 +1,90 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- i -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6b.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6b.html new file mode 100644 index 0000000..d697e0d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6b.html @@ -0,0 +1,84 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- k -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6c.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6c.html new file mode 100644 index 0000000..609cc7f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6c.html @@ -0,0 +1,93 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- l -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6d.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6d.html new file mode 100644 index 0000000..6b1e9c3 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6d.html @@ -0,0 +1,92 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- m -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6e.html new file mode 100644 index 0000000..0e40424 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6e.html @@ -0,0 +1,96 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- n -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6f.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6f.html new file mode 100644 index 0000000..6b57846 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x6f.html @@ -0,0 +1,88 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- o -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x70.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x70.html new file mode 100644 index 0000000..ddfeeff --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x70.html @@ -0,0 +1,112 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- p -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x72.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x72.html new file mode 100644 index 0000000..9f668cd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x72.html @@ -0,0 +1,94 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- r -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x73.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x73.html new file mode 100644 index 0000000..d0f2930 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x73.html @@ -0,0 +1,103 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- s -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x74.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x74.html new file mode 100644 index 0000000..6e8d16a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x74.html @@ -0,0 +1,96 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- t -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x75.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x75.html new file mode 100644 index 0000000..c839bfd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x75.html @@ -0,0 +1,84 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- u -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x76.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x76.html new file mode 100644 index 0000000..9405b4c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x76.html @@ -0,0 +1,90 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- v -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x77.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x77.html new file mode 100644 index 0000000..bef06f1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x77.html @@ -0,0 +1,86 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- w -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x78.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x78.html new file mode 100644 index 0000000..8988204 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x78.html @@ -0,0 +1,85 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- x -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x79.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x79.html new file mode 100644 index 0000000..53cfeb8 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x79.html @@ -0,0 +1,85 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- y -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x7a.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x7a.html new file mode 100644 index 0000000..4acba8c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/functions_vars_0x7a.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- z -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals.html new file mode 100644 index 0000000..2726be6 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- _ -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x61.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x61.html new file mode 100644 index 0000000..fd94a35 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x61.html @@ -0,0 +1,77 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- a -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x62.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x62.html new file mode 100644 index 0000000..dff208d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x62.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- b -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x63.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x63.html new file mode 100644 index 0000000..bfe3770 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x63.html @@ -0,0 +1,92 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- c -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x65.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x65.html new file mode 100644 index 0000000..ecfa583 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x65.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- e -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x66.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x66.html new file mode 100644 index 0000000..72588bb --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x66.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- f -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x67.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x67.html new file mode 100644 index 0000000..4374576 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x67.html @@ -0,0 +1,81 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- g -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6b.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6b.html new file mode 100644 index 0000000..e5c8e90 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6b.html @@ -0,0 +1,175 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- k -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6d.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6d.html new file mode 100644 index 0000000..0d69358 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6d.html @@ -0,0 +1,86 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- m -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6e.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6e.html new file mode 100644 index 0000000..4bb87f1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6e.html @@ -0,0 +1,77 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- n -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6f.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6f.html new file mode 100644 index 0000000..75949ea --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x6f.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- o -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x71.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x71.html new file mode 100644 index 0000000..d173273 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x71.html @@ -0,0 +1,77 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- q -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x72.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x72.html new file mode 100644 index 0000000..0676ed4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x72.html @@ -0,0 +1,77 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- r -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x73.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x73.html new file mode 100644 index 0000000..ed3ae28 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x73.html @@ -0,0 +1,82 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- s -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x74.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x74.html new file mode 100644 index 0000000..7783178 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x74.html @@ -0,0 +1,78 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- t -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x75.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x75.html new file mode 100644 index 0000000..e8f4491 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x75.html @@ -0,0 +1,83 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- u -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x76.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x76.html new file mode 100644 index 0000000..7c2b793 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x76.html @@ -0,0 +1,146 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- v -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x77.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x77.html new file mode 100644 index 0000000..4dbbe47 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_0x77.html @@ -0,0 +1,77 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all file members with links to the files they belong to: +

+

- w -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_defs.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_defs.html new file mode 100644 index 0000000..6d84ce5 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_defs.html @@ -0,0 +1,179 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- _ -

+

- a -

+

- b -

+

- c -

+

- e -

+

- f -

+

- g -

+

- k -

+

- m -

+

- n -

+

- o -

+

- q -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+

- w -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_enum.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_enum.html new file mode 100644 index 0000000..5dc84a4 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_enum.html @@ -0,0 +1,65 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+  +

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_eval.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_eval.html new file mode 100644 index 0000000..e7db6ee --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_eval.html @@ -0,0 +1,196 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- k -

+

- m -

+

- v -

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_type.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_type.html new file mode 100644 index 0000000..da1e678 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_type.html @@ -0,0 +1,54 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+  +

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_vars.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_vars.html new file mode 100644 index 0000000..1611e9b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/globals_vars.html @@ -0,0 +1,67 @@ + + +VSTGUI: Class Members + + + + +
+
+
+
+
+ +
+  +

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/hierarchy.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/hierarchy.html new file mode 100644 index 0000000..e3ee9a1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/hierarchy.html @@ -0,0 +1,114 @@ + + +VSTGUI: Hierarchical Index + + + + +
+
+
+
+

VSTGUI Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/index.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/index.html new file mode 100644 index 0000000..97a977d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/index.html @@ -0,0 +1,8 @@ + + +VSTGUI + + + + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/intro.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/intro.html new file mode 100644 index 0000000..ef70551 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/intro.html @@ -0,0 +1,63 @@ + + +VSTGUI: Introduction + + + + +
+
+

Introduction

+What is a VST Plug-In?

+Essentially, a VST Plug-in is a pure audio processing component, and not an audio application: It is a component that is utilized within a host application. This host application provides the audio streams that are processed by the plug-in's code.

+Generally speaking, a VST plug-in it can take a stream of audio data, apply a process to the audio, and return the result to the host application. A VST Plug-In performs its process normally using the processor of the computer; It does not necessarily need dedicated digital signal processors. The audio stream is broken down into a series of blocks. The host supplies the blocks in sequence. The host and its current environment control the block-size. The VST applicationsPlug-In maintains the status of all its own parameters relating to the running process: The host does not maintain any information about what the plug-in did with the last block of data it processed.

+From the host application’s point of view, a VST Plug-In is a black box with an arbitrary number of inputs, outputs (MIDI or Audio), and associated parameters. The host needs no implicit knowledge of the plug-in's process to be able to use it. The plug-in process can use whatever parameters it wishes, internally to the process, but depending on the capabilities of the host, it can allow the changes to user parameters to be automated by the host.

+The source code of a VST Plug-In is platform independent, but the delivery system depends on the platform architecture:

+

+To learn more about VST you can subscribe to the VST Developer Mailing List - check the 3rd Party Developer Support section at www.steinberg.net.

+


+

+Audio Processing

+Audio processing in the plug is accomplished by one of 3 methods, namely process (), processReplacing () and processDoubleReplacing (). While process () takes input data, applies its processing algorithm, and then adds the result to the output (accumulating), processReplacing () and processDoubleReplacing (), overwrite the output buffer.

+

Note:
The accumulating process mode is deprecated in VST 2.4. Please implement processReplacing (mandatory!) and processDoubleReplacing (optional).
+Audio data processed by VST Plug-Ins is 32 bit (single precision) and optionally 64 bit (double precision) floating-point data. The default used range is from -1.0 to +1.0 inclusive [-1.0, +1.0] (where 1.0 corresponds to 0dB, 0.5 to -6dB and 0.0 to -oodB). Note that an effect could generate values above this range.

+All parameters - the user parameters, acting directly or indirectly on that data, as automated by the host, are 32 bit floating-point data. They must always range from 0.0 to 1.0 inclusive [0.0, +1.0], regardless of their internal or external representation.

+

See also:
Threading issues
+
+

+Plug-In Implementation

+If you want to develop a VST Plug-In, you may prefer to go straight to the code examples now. These are very simple examples in which you will learn most of the important basic concepts just by reading a few lines of code. As a Plug-In developer you actually need to know very little about hosting a Plug-In. You should concentrate on the AudioEffect (VST 1.0) and AudioEffectX (VST 2.x extensions) base classes.
Note:
Never edit any of the SDK source files. Never ever. The host application relies on them being used as they are provided. Anything can be added or changed by overriding in your private classes derived from AudioEffectX.
+
+

+User Interfaces

+All user-interface issues are entirely separated from the audio processing issues. At its simplest there is an option where you can avoid providing a user interface at all. In this case the host requests character strings from the Plug-In representing each of the parameters. The host can use the separate ASCII strings for the value, the label, and the units of the parameters to construct its own user interface. This is how the simple code-examples, AGain & ADelay, work. This is also often a good way to develop a VST Plug-In, it offers a very short development cycle to start to test the algorithm. The proper interface can come later.

+The next user interface level is provided when the Plug-In defines its own editor. This allows practically any user interface to be defined. A negative aspect is that then you can quickly land up in platform specifics when dealing with the nuts an bolts of the interface issues, even though the audio process, the concepts and methodology remain platform independent.

+The final option is to use a portable framework for creating sophisticated user interfaces. This framework takes the form of the VSTGUI Library files that are available for almost all supported VST platforms. The VSTGUI Library classes and their usage is described in separate documentation.

See also:
VSTGUI on SourceForge
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/license.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/license.html new file mode 100644 index 0000000..3f3e328 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/license.html @@ -0,0 +1,97 @@ + + +VSTGUI: Licensing Issues + + + + +
+
+

Licensing Issues

The Steinberg VST Plug-In Software Development Kit can be used freely subject to certain licensing conditions by anyone interested in developing Plug-Ins, or to extend an application so that it’s capable of hosting VST Plug-Ins. When you chose to receive the VST Plug-In SDK you declared yourself to be in agreement with the Licensing conditions.

+These notes don’t replace the licensing agreement in any way, but quickly explain what you can and cannot do with the Steinberg VST Plug-In Software Development Kit.

+The License:

+ +

+This SDK:

+ +

+Steinberg:

+ +

+You cannot:

+ +

+You should not:

+ +

+You have to:

+ +

+You can:

+ +

Please read the Licensing Agreement!

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/maceditor.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/maceditor.html new file mode 100644 index 0000000..702648f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/maceditor.html @@ -0,0 +1,73 @@ + + +VSTGUI: Macintosh Editor as HIViewRef + + + + +
+
+

Macintosh Editor as HIViewRef

+Introduction

+In the beginning of VST the Plug-In's GUI was attached at the left-top corner without a mechanism for the host to move it. This and the evolution of the macintosh platform makes it necessary to change this old behaviour. The modern way on Mac OS X to do UI design with C/C++ is to use HIViews and window compositing.
+ The VST SDK 2.4 requires the Plug-In to attach one HIView to the window and that this HIView can be moved around and that it can be embedded into other subviews.
+ Hosts which implement VST 2.4 need to provide a window to the Plug-In which is composited if the Plug-In itself uses 2.4. If the Plug-In uses an earlier VST SDK it should provide a non composited window.

+


+

+Adding an HIView on effEditOpen

+As before the ptr in effEditOpen is a WindowRef. You need to add one HIView to the content view of this window.

+

HIViewRef contentView;
+if (HIViewFindByID (HIViewGetRoot ((WindowRef)ptr, kHIViewWindowContentID, &contentView) == noErr)
+        HIViewAddSubview (contentView, myPluginView);
+

+


+

+Closing on effEditClose

+When effEditClose is called you should remove your HIView from the window.

+

HIViewRemoveFromSuperview (myPluginView);
+

+Don't do anything with the window. It is not your window.

+


+

+Resizing the Plug-In

+If you want to resize your view, just do it, but don't resize the host window.

+

HIRect pluginBounds;
+HIViewGetFrame (myPluginView, &pluginBounds);
+pluginBounds.size.width = newWidth;
+pluginBounds.size.height = newHeight;
+HIViewSetFrame (myPluginView, &pluginBounds);
+

+The host needs to listen to bounds changes on the Plug-In view and resize its window accordingly.

+


+

+No more effEditDraw, effEditIdle, effEditMouse, effEditTop, effEditSleep

+You need to use Carbon Events now, which you register on the HIView, not on the window if possible. But don't remove these opcodes from your editor yet.

+


+

+VST 2.4 Plug-Ins and VST 2.3 Hosts

+Now there is a conflict situation that VST 2.3 hosts may not work with HIViews and window compositing. Therefore you need at least support effEditDraw, so that your Plug-In draws correctly in these hosts. Mouse, idle and activation events can be handled via Carbon Events.

+

See also:
Apple HIView Programming Guide
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/main.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/main.html new file mode 100644 index 0000000..ed6ccc1 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/main.html @@ -0,0 +1,47 @@ + + +VSTGUI: Main Page + + + + +
+
+

VSTGUI Documentation

+

+Welcome to VSTGUI 3.0!

+Providing an interface to your Plug-In makes you be immediately confronted with platform specifics of different windows handling and event handling models. For this very reason, the VSTGUI libraries have been created. These are available for all supported platforms and make the handling of user interaction with a graphic-rich user interface also cross-platform. Thus they propose common objects for plugs's GUI, like knobs, sliders ...and of course nothing prevents you from adding via inheritance any more specific components you should need.

+You can contribute to VSTGUI development thru Sourceforge project (http://sourceforge.net/projects/vstgui/). You can join the associated mailing list (check https://lists.sourceforge.net/lists/listinfo/vstgui-devel)

+The source code of VSTGUI is included in this SDK and is under the following Licensing:

+


+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

+

+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/others.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/others.html new file mode 100644 index 0000000..3f774a9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/others.html @@ -0,0 +1,51 @@ + + +VSTGUI: Others + + + + +
+
+

Others

+VST Monitor Plug-In

+The VSTMonitor Plug-In provided with this SDK is dedicated to "monitor" the communications between a VST Plug-In and the host which instanciates it: it keeps track of all the calls made by the host to the Plug-In's dispatcher, and of all the calls made by the Plug-In to the host's audiomaster. This is useful to record the sequence of calls done by any host to a VST Plug-In while loading it. Besides VSTMonitor has a "trigger" function which lets the user trigger (via a pop-up menu) any call to the host's audiomaster, to see how the host reacts (and notably to see if the function is implemented by the host...).

+You will find this plug-in in the VSTPlug-ins folder dedicated to each platform. You only need to put it directly in your own VST plug-ins folder in order to make it work.

+Calls made by the host to the plug-in are shown in grey, calls from the plug-in to the host are displayed in red. Internal (to the plug-in) calls are shown in blue.

+All the GUI buttons don't correspond to "real" parameters declared to the host, in order to prevent from disturbing the monitoring. Nevertheless, 3 "real" parameters and 2 programs are declared "publically" (although they are not used internally) to let you see how they are handled by the host.

+

Note:
Many hosts, while loading, open each Vst plug-in, for example to check their IO configuration. This is "hidden" to the user (as the plug-in is always closed as soon as the information needed has been recorded by the host), but VstMonitor can record even those calls, and display them the next time it is opened "normally" in the sequencer. That's why while the host is loading, an alert window may be automatically opened (on Windows platform), asking if the user want to keep track of "what has happened" (and although he has not explicitly opened the plug-in). On Mac, things recorded are kept by default (use Reset -see below- to delete them).
+VstMonitor's buttons:

+

+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/pages.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/pages.html new file mode 100644 index 0000000..a5db300 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/pages.html @@ -0,0 +1,37 @@ + + +VSTGUI: Page Index + + + + +
+
+

VSTGUI Related Pages

Here is a list of all related documentation pages: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8cpp.html new file mode 100644 index 0000000..ace74e7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8cpp.html @@ -0,0 +1,119 @@ + + +VSTGUI: plugguieditor.cpp File Reference + + + + +
+
+
+
+

plugguieditor.cpp File Reference

#include "plugguieditor.h"
+ + + + + + + + + +

Defines

#define kIdleRate   100
#define kIdleRate2   50
#define kIdleRateMin   4
+

Define Documentation

+

+ + + + +
+ + + + +
#define kIdleRate   100
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kIdleRate2   50
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kIdleRateMin   4
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8h.html new file mode 100644 index 0000000..9984988 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/plugguieditor_8h.html @@ -0,0 +1,47 @@ + + +VSTGUI: plugguieditor.h File Reference + + + + +
+
+
+
+

plugguieditor.h File Reference

#include "vstgui.h"
+ + + + + + + +

Classes

struct  ERect
class  PluginGUIEditor
+ + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/sequences.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/sequences.html new file mode 100644 index 0000000..61fa489 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/sequences.html @@ -0,0 +1,97 @@ + + +VSTGUI: VST Calling Sequences + + + + +
+
+

VST Calling Sequences

+Introduction

+The diagrams below illustrate the most important calling sequences taking place between VST host application and plug-in. This is of interest to plug-in developers as well as to host developers.

+


+

+Threading issues

+In general, processEvents(), startProcess(), stopProcess(), process(), processReplacing() and processDoubleReplacing() are called from a time-critical high priority thread (except for offline processing).
+ To satisfy realtime constraints for low latency audio processing, memory allocations and lock-based syncronisation should be avoided.
+ The same applies to setParameter() and setProgram() when playing automation from host. Any others functions are called from UI thread in general.
+ The host takes care that processing and setup functions are isolated from each other. setSampleRate(), setBlockSize(), setProcessPrecision(), etc. calls occur only in suspended state, i.e. before resume() is called.

+


+

+Sequence Diagrams

+ +

+ + + + + + + +
+Initialisation.gif +

Figure 3: A plug-in is initialized

+
+Termination.gif +

Figure 4: A plug-in is terminated

+
+TurnOn.gif +

Figure 1: A plug-in is turned on

+
+TurnOff.gif +

Figure 2: A plug-in is turned off

+
+Sampleratechange.gif +

Figure 6: The sample rate changed

+
+Blocksizechange.gif +

Figure 9: The block size changed

+
+ + + + + + + + + +
+SpeakerarrangementnegotiationforVSTfx.gif +

Figure 5: The speaker arrangements negotiation between the host and the plug-in

+
+IOchange.gif +

Figure 7: The number of IOs changed caused e.g. by user interaction

+
+ControlChanged.gif +

Figure 8: A control changed within the userinterface of the plug-in

+
+Offlineprocessing.gif +

Figure 10: A plug-in processes offline

+
+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color-members.html new file mode 100644 index 0000000..8e93719 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color-members.html @@ -0,0 +1,49 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CColor Member List

This is the complete list of members for CColor, including all inherited members.

+ + + + + + + + + +
alphaCColor
blueCColor
greenCColor
operator!=(const CColor &other) const CColor [inline]
operator()(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)CColor [inline]
operator=(const CColor &newColor)CColor [inline]
operator==(const CColor &other) const CColor [inline]
operator~()CColor [inline]
redCColor
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color.html new file mode 100644 index 0000000..448633c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_color.html @@ -0,0 +1,320 @@ + + +VSTGUI: CColor Struct Reference + + + + +
+
+
+
+

CColor Struct Reference

#include <vstgui.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

CColoroperator() (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)
CColoroperator= (const CColor &newColor)
CColor operator~ ()
bool operator!= (const CColor &other) const
bool operator== (const CColor &other) const

Public Attributes

unsigned char red
unsigned char green
unsigned char blue
unsigned char alpha
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
bool CColor::operator!= const CColor other  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CColor& CColor::operator() unsigned char  red,
unsigned char  green,
unsigned char  blue,
unsigned char  alpha
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
CColor& CColor::operator= const CColor newColor  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CColor::operator== const CColor other  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CColor CColor::operator~  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
unsigned char CColor::alpha
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned char CColor::blue
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned char CColor::green
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned char CColor::red
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point-members.html new file mode 100644 index 0000000..69b71d7 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point-members.html @@ -0,0 +1,50 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CPoint Member List

This is the complete list of members for CPoint, including all inherited members.

+ + + + + + + + + + +
CPoint(CCoord h=0, CCoord v=0)CPoint [inline]
hCPoint
isInside(CRect &r) const CPoint [inline]
offset(CCoord h, CCoord v)CPoint [inline]
operator!=(const CPoint &other) const CPoint [inline]
operator()(CCoord h, CCoord v)CPoint [inline]
operator==(const CPoint &other) const CPoint [inline]
vCPoint
xCPoint
yCPoint
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point.html new file mode 100644 index 0000000..89cf6fa --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_point.html @@ -0,0 +1,349 @@ + + +VSTGUI: CPoint Struct Reference + + + + +
+
+
+
+

CPoint Struct Reference

#include <vstgui.h> +

+List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 CPoint (CCoord h=0, CCoord v=0)
CPointoperator() (CCoord h, CCoord v)
bool isInside (CRect &r) const
bool operator!= (const CPoint &other) const
bool operator== (const CPoint &other) const
CPointoffset (CCoord h, CCoord v)
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CPoint::CPoint CCoord  h = 0,
CCoord  v = 0
[inline]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
bool CPoint::isInside CRect r  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CPoint& CPoint::offset CCoord  h,
CCoord  v
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CPoint::operator!= const CPoint other  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CPoint& CPoint::operator() CCoord  h,
CCoord  v
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CPoint::operator== const CPoint other  )  const [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CPoint::h
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CPoint::v
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CPoint::x
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CPoint::y
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect-members.html new file mode 100644 index 0000000..3f67edf --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect-members.html @@ -0,0 +1,66 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

CRect Member List

This is the complete list of members for CRect, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
bottomCRect
bound(const CRect &rect)CRect
CRect(CCoord left=0, CCoord top=0, CCoord right=0, CCoord bottom=0)CRect [inline]
CRect(const CRect &r)CRect [inline]
getHeight() const CRect [inline]
getWidth() const CRect [inline]
height() const CRect [inline]
inset(CCoord deltaX, CCoord deltaY)CRect [inline]
isEmpty() const CRect
leftCRect
moveTo(CCoord x, CCoord y)CRect [inline]
offset(CCoord x, CCoord y)CRect [inline]
operator!=(const CRect &other) const CRect [inline]
operator()(CCoord left, CCoord top, CCoord right, CCoord bottom)CRect [inline]
operator==(const CRect &other) const CRect [inline]
pointInside(const CPoint &where) const CRect
rectOverlap(const CRect &rect) const CRect [inline]
rightCRect
setHeight(CCoord height)CRect [inline]
setWidth(CCoord width)CRect [inline]
topCRect
width() const CRect [inline]
xCRect
x2CRect
yCRect
y2CRect
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect.html new file mode 100644 index 0000000..4429a87 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_c_rect.html @@ -0,0 +1,838 @@ + + +VSTGUI: CRect Struct Reference + + + + +
+
+
+
+

CRect Struct Reference

#include <vstgui.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CRect (CCoord left=0, CCoord top=0, CCoord right=0, CCoord bottom=0)
 CRect (const CRect &r)
CRectoperator() (CCoord left, CCoord top, CCoord right, CCoord bottom)
bool operator!= (const CRect &other) const
bool operator== (const CRect &other) const
CCoord width () const
CCoord height () const
CCoord getWidth () const
CCoord getHeight () const
void setWidth (CCoord width)
void setHeight (CCoord height)
CRectoffset (CCoord x, CCoord y)
CRectinset (CCoord deltaX, CCoord deltaY)
CRectmoveTo (CCoord x, CCoord y)
bool pointInside (const CPoint &where) const
bool isEmpty () const
bool rectOverlap (const CRect &rect) const
void bound (const CRect &rect)
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRect::CRect CCoord  left = 0,
CCoord  top = 0,
CCoord  right = 0,
CCoord  bottom = 0
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
CRect::CRect const CRect r  )  [inline]
+
+ + + + + +
+   + + +

+

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CRect::bound const CRect rect  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CRect::getHeight  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CRect::getWidth  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CRect::height  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CRect& CRect::inset CCoord  deltaX,
CCoord  deltaY
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
bool CRect::isEmpty  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CRect& CRect::moveTo CCoord  x,
CCoord  y
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
CRect& CRect::offset CCoord  x,
CCoord  y
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CRect::operator!= const CRect other  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRect& CRect::operator() CCoord  left,
CCoord  top,
CCoord  right,
CCoord  bottom
[inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CRect::operator== const CRect other  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CRect::pointInside const CPoint where  )  const
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
bool CRect::rectOverlap const CRect rect  )  const [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CRect::setHeight CCoord  height  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void CRect::setWidth CCoord  width  )  [inline]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + +
CCoord CRect::width  )  const [inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
CCoord CRect::bottom
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::left
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::right
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::top
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::x
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::x2
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::y
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CCoord CRect::y2
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following files: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect-members.html new file mode 100644 index 0000000..f71d82d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect-members.html @@ -0,0 +1,44 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

ERect Member List

This is the complete list of members for ERect, including all inherited members.

+ + + + +
bottomERect
leftERect
rightERect
topERect
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect.html new file mode 100644 index 0000000..2832d0f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_e_rect.html @@ -0,0 +1,148 @@ + + +VSTGUI: ERect Struct Reference + + + + +
+
+
+
+

ERect Struct Reference

#include <plugguieditor.h> +

+List of all members. + + + + + + + + + + +

Public Attributes

short top
short left
short bottom
short right
+


Member Data Documentation

+

+ + + + +
+ + + + +
short ERect::bottom
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
short ERect::left
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
short ERect::right
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
short ERect::top
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select-members.html new file mode 100644 index 0000000..81db599 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select-members.html @@ -0,0 +1,53 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

VstFileSelect Member List

This is the complete list of members for VstFileSelect, including all inherited members.

+ + + + + + + + + + + + + +
commandVstFileSelect
fileTypesVstFileSelect
futureVstFileSelect
initialPathVstFileSelect
macCreatorVstFileSelect
nbFileTypesVstFileSelect
nbReturnPathVstFileSelect
reservedVstFileSelect
returnMultiplePathsVstFileSelect
returnPathVstFileSelect
sizeReturnPathVstFileSelect
titleVstFileSelect
typeVstFileSelect
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select.html new file mode 100644 index 0000000..d5d44af --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_select.html @@ -0,0 +1,373 @@ + + +VSTGUI: VstFileSelect Struct Reference + + + + +
+
+
+
+

VstFileSelect Struct Reference

#include <cfileselector.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Attributes

long command
long type
long macCreator
long nbFileTypes
VstFileTypefileTypes
char title [1024]
char * initialPath
char * returnPath
long sizeReturnPath
char ** returnMultiplePaths
long nbReturnPath
long reserved
char future [116]
+


Member Data Documentation

+

+ + + + +
+ + + + +
long VstFileSelect::command
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
VstFileType* VstFileSelect::fileTypes
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileSelect::future[116]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char* VstFileSelect::initialPath
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::macCreator
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::nbFileTypes
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::nbReturnPath
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::reserved
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char** VstFileSelect::returnMultiplePaths
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char* VstFileSelect::returnPath
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::sizeReturnPath
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileSelect::title[1024]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
long VstFileSelect::type
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type-members.html new file mode 100644 index 0000000..55e7d21 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type-members.html @@ -0,0 +1,47 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

VstFileType Member List

This is the complete list of members for VstFileType, including all inherited members.

+ + + + + + + +
dosTypeVstFileType
macTypeVstFileType
mimeType1VstFileType
mimeType2VstFileType
nameVstFileType
unixTypeVstFileType
VstFileType(char *_name, char *_macType, char *_dosType, char *_unixType=0, char *_mimeType1=0, char *_mimeType2=0)VstFileType [inline]
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type.html new file mode 100644 index 0000000..847a55a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_file_type.html @@ -0,0 +1,263 @@ + + +VSTGUI: VstFileType Struct Reference + + + + +
+
+
+
+

VstFileType Struct Reference

#include <cfileselector.h> +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

 VstFileType (char *_name, char *_macType, char *_dosType, char *_unixType=0, char *_mimeType1=0, char *_mimeType2=0)

Public Attributes

char name [128]
char macType [8]
char dosType [8]
char unixType [8]
char mimeType1 [128]
char mimeType2 [128]
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VstFileType::VstFileType char *  _name,
char *  _macType,
char *  _dosType,
char *  _unixType = 0,
char *  _mimeType1 = 0,
char *  _mimeType2 = 0
[inline]
+
+ + + + + +
+   + + +

+

+


Member Data Documentation

+

+ + + + +
+ + + + +
char VstFileType::dosType[8]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileType::macType[8]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileType::mimeType1[128]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileType::mimeType2[128]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileType::name[128]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char VstFileType::unixType[8]
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code-members.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code-members.html new file mode 100644 index 0000000..019b07b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code-members.html @@ -0,0 +1,43 @@ + + +VSTGUI: Member List + + + + +
+
+
+
+

VstKeyCode Member List

This is the complete list of members for VstKeyCode, including all inherited members.

+ + + +
characterVstKeyCode
modifierVstKeyCode
virtVstKeyCode
+ + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code.html new file mode 100644 index 0000000..a3362a8 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/struct_vst_key_code.html @@ -0,0 +1,123 @@ + + +VSTGUI: VstKeyCode Struct Reference + + + + +
+
+
+
+

VstKeyCode Struct Reference

#include <vstkeycode.h> +

+List of all members. + + + + + + + + +

Public Attributes

long character
unsigned char virt
unsigned char modifier
+


Member Data Documentation

+

+ + + + +
+ + + + +
long VstKeyCode::character
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned char VstKeyCode::modifier
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
unsigned char VstKeyCode::virt
+
+ + + + + +
+   + + +

+

+


The documentation for this struct was generated from the following file: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_b.gif b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_b.gif new file mode 100644 index 0000000..0d62348 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_b.gif differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_l.gif b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_l.gif new file mode 100644 index 0000000..9b1e633 Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_l.gif differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_r.gif b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_r.gif new file mode 100644 index 0000000..ce9dd9f Binary files /dev/null and b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tab_r.gif differ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tabs.css b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tabs.css new file mode 100644 index 0000000..a61552a --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI#current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI#current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/thanks.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/thanks.html new file mode 100644 index 0000000..e856a3b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/thanks.html @@ -0,0 +1,38 @@ + + +VSTGUI: Acknowledgements + + + + +
+
+

Acknowledgements

The VSTGUI interfaces & libraries were created by Yvan Grabit and Michael Schmidt (additional development Matthias Juwan, Arne Scheffler). The time they have invested has really made the huge inroads into cross-platform code compatibility.

+Thanks too, to Philippe Goutier who provided the VST Offline Interface.

+Not forgetting Dave Nicholson, Julien Junod, Pierre Jean Camillieri, Janne Roeper, Rene Hansen who did some additional typing.

+There were many more people involved in the creation of this interface, not all of whom can be mentioned here. We extend our thanks not just to the Steinberg Staff and Associates that contributed but also to the many other developers from other parties have helped with their input - mainly all the nice people on the VST Plug-In DEVELOPER MAILING LIST

+Thanks to all of you for having made this possible.

+Charlie Steinberg 2006 + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tree.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tree.html new file mode 100644 index 0000000..48c270d --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/tree.html @@ -0,0 +1,238 @@ + + + + + + + TreeView + + + + + +
+

VSTGUI

+
+

o*Main Page

+

o+File List

+ +

o+Class List

+ +

o+Class Hierarchy

+ +

o*Class Members

+

o*File Members

+

\+Related Pages

+ +
+
+ + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8cpp.html new file mode 100644 index 0000000..7ac750c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8cpp.html @@ -0,0 +1,127 @@ + + +VSTGUI: vstcontrols.cpp File Reference + + + + +
+
+
+
+

vstcontrols.cpp File Reference

#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include "vstcontrols.h"
+#include "vstkeycode.h"
+ + + + + + + + + + + + +

Classes

class  CSplashScreenView

Variables

BEGIN_NAMESPACE_VSTGUI long gStandardFontSize []
const char * gStandardFontName []
COptionMenuSchemegOptionMenuScheme = 0
+

Variable Documentation

+

+ + + + +
+ + + + +
COptionMenuScheme* gOptionMenuScheme = 0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
const char* gStandardFontName[]
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
BEGIN_NAMESPACE_VSTGUI long gStandardFontSize[]
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8h.html new file mode 100644 index 0000000..6bd42cc --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstcontrols_8h.html @@ -0,0 +1,494 @@ + + +VSTGUI: vstcontrols.h File Reference + + + + +
+
+
+
+

vstcontrols.h File Reference

#include "vstgui.h"
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

class  CControlListener
class  CControl
 base class of all VSTGUI controls More...
class  COnOffButton
 a button control with 2 states More...
class  CParamDisplay
 a parameter display control More...
class  CTextLabel
 a text label More...
class  CTextEdit
 a text edit control More...
class  COptionMenuScheme
class  COptionMenu
 a popup menu control More...
class  CKnob
 a knob control More...
class  CAnimKnob
 a bitmap knob control More...
class  CVerticalSwitch
 a vertical switch control More...
class  CHorizontalSwitch
 a horizontal switch control More...
class  CRockerSwitch
 a switch control with 3 sub bitmaps More...
class  CMovieBitmap
 a bitmap control that displays different bitmaps according to its current value More...
class  CMovieButton
 a bi-states button with 2 subbitmaps More...
class  CAutoAnimation
class  CSlider
 a slider control More...
class  CVerticalSlider
 a vertical slider control More...
class  CHorizontalSlider
 a horizontal slider control More...
class  CSpecialDigit
 special display with custom numbers (0...9) More...
class  CKickButton
class  CSplashScreen
class  CVuMeter

Defines

#define kPI   3.14159265358979323846
#define k2PI   6.28318530717958647692
#define kPI_2   1.57079632679489661923f
#define kPI_4   0.78539816339744830962
#define kE   2.7182818284590452354
#define kLN2   0.69314718055994530942
#define kSQRT2   1.41421356237309504880
#define kMenuTitle   "-T"
#define kMenuSeparator   "-"
#define kMenuDisable   "-G"
#define kMenuSubMenu   "-M"

Enumerations

enum  CControlEnum {
+  kHorizontal = 1 << 0, +kVertical = 1 << 1, +kShadowText = 1 << 2, +kLeft = 1 << 3, +
+  kRight = 1 << 4, +kTop = 1 << 5, +kBottom = 1 << 6, +k3DIn = 1 << 7, +
+  k3DOut = 1 << 8, +kPopupStyle = 1 << 9, +kCheckStyle = 1 << 10, +kMultipleCheckStyle, +
+  kNoTextStyle = 1 << 11, +kNoDrawStyle = 1 << 12, +kDoubleClickStyle = 1 << 13, +kNoFrame = 1 << 14 +
+ }

Variables

COptionMenuSchemegOptionMenuScheme
+

Define Documentation

+

+ + + + +
+ + + + +
#define k2PI   6.28318530717958647692
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kE   2.7182818284590452354
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kLN2   0.69314718055994530942
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kMenuDisable   "-G"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kMenuSeparator   "-"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kMenuSubMenu   "-M"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kMenuTitle   "-T"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kPI   3.14159265358979323846
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kPI_2   1.57079632679489661923f
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kPI_4   0.78539816339744830962
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kSQRT2   1.41421356237309504880
+
+ + + + + +
+   + + +

+

+


Enumeration Type Documentation

+

+ + + + +
+ + + + +
enum CControlEnum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + + + + + + + + + + + + +
kHorizontal  +
kVertical  +
kShadowText  +
kLeft  +
kRight  +
kTop  +
kBottom  +
k3DIn  +
k3DOut  +
kPopupStyle  +
kCheckStyle  +
kMultipleCheckStyle  +
kNoTextStyle  +
kNoDrawStyle  +
kDoubleClickStyle  +
kNoFrame  +
+
+
+


Variable Documentation

+

+ + + + +
+ + + + +
COptionMenuScheme* gOptionMenuScheme
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8cpp.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8cpp.html new file mode 100644 index 0000000..0ad40ab --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8cpp.html @@ -0,0 +1,835 @@ + + +VSTGUI: vstgui.cpp File Reference + + + + +
+
+
+
+

vstgui.cpp File Reference

#include "vstgui.h"
+#include "audioeffectx.h"
+#include "vstkeycode.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

class  CAttributeListEntry

Defines

#define USE_ALPHA_BLEND   QUARTZ || USE_LIBPNG
#define USE_CLIPPING_DRAWRECT   1
#define MAC_OLD_DRAG   1
#define NEW_UPDATE_MECHANISM   1
#define USE_VST_WINDOW   (!PLUGGUI && !VST_FORCE_DEPRECATED)
#define USE_GLOBAL_CONTEXT   1
#define VSTGUI_CFrame   CFrame
#define VSTGUI_CPoint   CPoint
#define VSTGUI_CTextEdit   CTextEdit
#define VSTGUI_CColor   CColor
#define VSTGUI_CDrawContext   CDrawContext
#define VSTGUI_COffscreenContext   COffscreenContext
#define VSTGUI_COptionMenu   COptionMenu
#define VSTGUI_COptionMenuScheme   COptionMenuScheme
#define VSTGUI_CDragContainer   CDragContainer
#define kDragDelay   0
#define FOREACHSUBVIEW   for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView;
#define FOREACHSUBVIEW_REVERSE(reverse)   for (CCView *pSv = reverse ? pLastView : pFirstView; pSv; pSv = reverse ? pSv->pPrevious : pSv->pNext) {CView *pV = pSv->pView;
#define ENDFOR   }

Variables

BEGIN_NAMESPACE_VSTGUI CColor kTransparentCColor = {255, 255, 255, 0}
CColor kBlackCColor = {0, 0, 0, 255}
CColor kWhiteCColor = {255, 255, 255, 255}
CColor kGreyCColor = {127, 127, 127, 255}
CColor kRedCColor = {255, 0, 0, 255}
CColor kGreenCColor = {0 , 255, 0, 255}
CColor kBlueCColor = {0 , 0, 255, 255}
CColor kYellowCColor = {255, 255, 0, 255}
CColor kMagentaCColor = {255, 0, 255, 255}
CColor kCyanCColor = {0 , 255, 255, 255}
char * kMsgCheckIfViewContainer = "kMsgCheckIfViewContainer"
const CViewAttributeID kCViewAttributeReferencePointer = 'cvrp'
+

Define Documentation

+

+ + + + +
+ + + + +
#define ENDFOR   }
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define FOREACHSUBVIEW   for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView;
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
#define FOREACHSUBVIEW_REVERSE reverse   )    for (CCView *pSv = reverse ? pLastView : pFirstView; pSv; pSv = reverse ? pSv->pPrevious : pSv->pNext) {CView *pV = pSv->pView;
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define kDragDelay   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC_OLD_DRAG   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define NEW_UPDATE_MECHANISM   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_ALPHA_BLEND   QUARTZ || USE_LIBPNG
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_CLIPPING_DRAWRECT   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_GLOBAL_CONTEXT   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_VST_WINDOW   (!PLUGGUI && !VST_FORCE_DEPRECATED)
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CColor   CColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CDragContainer   CDragContainer
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CDrawContext   CDrawContext
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CFrame   CFrame
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_COffscreenContext   COffscreenContext
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_COptionMenu   COptionMenu
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_COptionMenuScheme   COptionMenuScheme
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CPoint   CPoint
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_CTextEdit   CTextEdit
+
+ + + + + +
+   + + +

+

+


Variable Documentation

+

+ + + + +
+ + + + +
CColor kBlackCColor = {0, 0, 0, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kBlueCColor = {0 , 0, 255, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
const CViewAttributeID kCViewAttributeReferencePointer = 'cvrp'
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kCyanCColor = {0 , 255, 255, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kGreenCColor = {0 , 255, 0, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kGreyCColor = {127, 127, 127, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kMagentaCColor = {255, 0, 255, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char* kMsgCheckIfViewContainer = "kMsgCheckIfViewContainer"
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kRedCColor = {255, 0, 0, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
BEGIN_NAMESPACE_VSTGUI CColor kTransparentCColor = {255, 255, 255, 0}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kWhiteCColor = {255, 255, 255, 255}
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kYellowCColor = {255, 255, 0, 255}
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8h.html new file mode 100644 index 0000000..5c4cf35 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstgui_8h.html @@ -0,0 +1,1068 @@ + + +VSTGUI: vstgui.h File Reference + + + + +
+
+
+
+

vstgui.h File Reference

#include "vstcontrols.h"
+#include "aeffguieditor.h"
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  CRect
struct  CPoint
struct  CColor
class  CReferenceCounter
class  CDrawContext
 A drawing context encapsulates the drawing context of the underlying OS. It implements the drawing functions. More...
class  COffscreenContext
 A drawing device which uses a pixmap as its drawing surface. More...
class  CBitmap
 Encapsulates various platform depended kinds of bitmaps. More...
class  CView
class  CViewContainer
 Container Class of CView objects. More...
class  CFrame
 The CFrame is the parent container of all views. More...
class  CDragContainer
class  CCView

Defines

#define BEGIN_NAMESPACE_VSTGUI
#define END_NAMESPACE_VSTGUI
#define USING_NAMESPACE_VSTGUI
#define VSTGUI_VERSION_MAJOR   3
#define VSTGUI_VERSION_MINOR   0
#define CLASS_METHODS(name, parent)

Typedefs

typedef long CCoord
typedef unsigned long CViewAttributeID

Enumerations

enum  CFont {
+  kSystemFont = 0, +kNormalFontVeryBig, +kNormalFontBig, +kNormalFont, +
+  kNormalFontSmall, +kNormalFontSmaller, +kNormalFontVerySmall, +kSymbolFont, +
+  kNumStandardFonts +
+ }
enum  CTxtFace { kNormalFace = 0, +kBoldFace = 1, +kItalicFace = 2, +kUnderlineFace = 4 + }
enum  CLineStyle { kLineSolid = 0, +kLineOnOffDash + }
enum  CDrawMode { kCopyMode = 0, +kOrMode, +kXorMode, +kAntialias + }
enum  CHoriTxtAlign { kLeftText = 0, +kCenterText, +kRightText + }
enum  CButton {
+  kLButton = 1, +kMButton = 2, +kRButton = 4, +kShift = 8, +
+  kControl = 16, +kAlt = 32, +kApple = 64 +
+ }
enum  CCursorType {
+  kCursorDefault = 0, +kCursorWait, +kCursorHSize, +kCursorVSize, +
+  kCursorSizeAll, +kCursorNESWSize, +kCursorNWSESize, +kCursorCopy, +
+  kCursorNotAllowed, +kCursorHand +
+ }
enum  CKnobMode { kCircularMode = 0, +kRelativCircularMode, +kLinearMode + }
enum  CDrawStyle { kDrawStroked = 0, +kDrawFilled, +kDrawFilledAndStroked + }
enum  CMouseWheelAxis { kMouseWheelAxisX = 0, +kMouseWheelAxisY + }
enum  { kMessageUnknown = 0, +kMessageNotified = 1 + }

Variables

CColor kTransparentCColor
CColor kBlackCColor
CColor kWhiteCColor
CColor kGreyCColor
CColor kRedCColor
CColor kGreenCColor
CColor kBlueCColor
CColor kYellowCColor
CColor kCyanCColor
CColor kMagentaCColor
const CViewAttributeID kCViewAttributeReferencePointer
char * kMsgCheckIfViewContainer
+

Define Documentation

+

+ + + + +
+ + + + +
#define BEGIN_NAMESPACE_VSTGUI
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + +
#define CLASS_METHODS name,
parent   ) 
+
+ + + + + +
+   + + +

+Value:

virtual bool isTypeOf (const char* s) const \
+                { return (!strcmp (s, (#name))) ? true : parent::isTypeOf (s); }\
+
+

+ + + + +
+ + + + +
#define END_NAMESPACE_VSTGUI
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USING_NAMESPACE_VSTGUI
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_VERSION_MAJOR   3
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define VSTGUI_VERSION_MINOR   0
+
+ + + + + +
+   + + +

+

+


Typedef Documentation

+

+ + + + +
+ + + + +
typedef long CCoord
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
typedef unsigned long CViewAttributeID
+
+ + + + + +
+   + + +

+

+


Enumeration Type Documentation

+

+ + + + +
+ + + + +
anonymous enum
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kMessageUnknown  +
kMessageNotified  +
+
+
+

+ + + + +
+ + + + +
enum CButton
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + + + +
kLButton  +
kMButton  +
kRButton  +
kShift  +
kControl  +
kAlt  +
kApple  +
+
+
+

+ + + + +
+ + + + +
enum CCursorType
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + + + + + + +
kCursorDefault  +
kCursorWait  +
kCursorHSize  +
kCursorVSize  +
kCursorSizeAll  +
kCursorNESWSize  +
kCursorNWSESize  +
kCursorCopy  +
kCursorNotAllowed  +
kCursorHand  +
+
+
+

+ + + + +
+ + + + +
enum CDrawMode
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + +
kCopyMode  +
kOrMode  +
kXorMode  +
kAntialias  +
+
+
+

+ + + + +
+ + + + +
enum CDrawStyle
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + +
kDrawStroked  +
kDrawFilled  +
kDrawFilledAndStroked  +
+
+
+

+ + + + +
+ + + + +
enum CFont
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + + + + + +
kSystemFont  +
kNormalFontVeryBig  +
kNormalFontBig  +
kNormalFont  +
kNormalFontSmall  +
kNormalFontSmaller  +
kNormalFontVerySmall  +
kSymbolFont  +
kNumStandardFonts  +
+
+
+

+ + + + +
+ + + + +
enum CHoriTxtAlign
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + +
kLeftText  +
kCenterText  +
kRightText  +
+
+
+

+ + + + +
+ + + + +
enum CKnobMode
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + +
kCircularMode  +
kRelativCircularMode  +
kLinearMode  +
+
+
+

+ + + + +
+ + + + +
enum CLineStyle
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kLineSolid  +
kLineOnOffDash  +
+
+
+

+ + + + +
+ + + + +
enum CMouseWheelAxis
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + +
kMouseWheelAxisX  +
kMouseWheelAxisY  +
+
+
+

+ + + + +
+ + + + +
enum CTxtFace
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + +
kNormalFace  +
kBoldFace  +
kItalicFace  +
kUnderlineFace  +
+
+
+


Variable Documentation

+

+ + + + +
+ + + + +
CColor kBlackCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kBlueCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
const CViewAttributeID kCViewAttributeReferencePointer
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kCyanCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kGreenCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kGreyCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kMagentaCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
char* kMsgCheckIfViewContainer
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kRedCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kTransparentCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kWhiteCColor
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
CColor kYellowCColor
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstkeycode_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstkeycode_8h.html new file mode 100644 index 0000000..78cf2d2 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstkeycode_8h.html @@ -0,0 +1,303 @@ + + +VSTGUI: vstkeycode.h File Reference + + + + +
+
+
+
+

vstkeycode.h File Reference

+ + + + + + + + + +

Classes

struct  VstKeyCode

Enumerations

enum  VstVirtualKey {
+  VKEY_BACK = 1, +VKEY_TAB, +VKEY_CLEAR, +VKEY_RETURN, +
+  VKEY_PAUSE, +VKEY_ESCAPE, +VKEY_SPACE, +VKEY_NEXT, +
+  VKEY_END, +VKEY_HOME, +VKEY_LEFT, +VKEY_UP, +
+  VKEY_RIGHT, +VKEY_DOWN, +VKEY_PAGEUP, +VKEY_PAGEDOWN, +
+  VKEY_SELECT, +VKEY_PRINT, +VKEY_ENTER, +VKEY_SNAPSHOT, +
+  VKEY_INSERT, +VKEY_DELETE, +VKEY_HELP, +VKEY_NUMPAD0, +
+  VKEY_NUMPAD1, +VKEY_NUMPAD2, +VKEY_NUMPAD3, +VKEY_NUMPAD4, +
+  VKEY_NUMPAD5, +VKEY_NUMPAD6, +VKEY_NUMPAD7, +VKEY_NUMPAD8, +
+  VKEY_NUMPAD9, +VKEY_MULTIPLY, +VKEY_ADD, +VKEY_SEPARATOR, +
+  VKEY_SUBTRACT, +VKEY_DECIMAL, +VKEY_DIVIDE, +VKEY_F1, +
+  VKEY_F2, +VKEY_F3, +VKEY_F4, +VKEY_F5, +
+  VKEY_F6, +VKEY_F7, +VKEY_F8, +VKEY_F9, +
+  VKEY_F10, +VKEY_F11, +VKEY_F12, +VKEY_NUMLOCK, +
+  VKEY_SCROLL, +VKEY_SHIFT, +VKEY_CONTROL, +VKEY_ALT, +
+  VKEY_EQUALS +
+ }
enum  VstModifierKey { MODIFIER_SHIFT = 1<<0, +MODIFIER_ALTERNATE = 1<<1, +MODIFIER_COMMAND = 1<<2, +MODIFIER_CONTROL = 1<<3 + }
+

Enumeration Type Documentation

+

+ + + + +
+ + + + +
enum VstModifierKey
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + +
MODIFIER_SHIFT  +
MODIFIER_ALTERNATE  +
MODIFIER_COMMAND  +
MODIFIER_CONTROL  +
+
+
+

+ + + + +
+ + + + +
enum VstVirtualKey
+
+ + + + + +
+   + + +

+

Enumerator:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VKEY_BACK  +
VKEY_TAB  +
VKEY_CLEAR  +
VKEY_RETURN  +
VKEY_PAUSE  +
VKEY_ESCAPE  +
VKEY_SPACE  +
VKEY_NEXT  +
VKEY_END  +
VKEY_HOME  +
VKEY_LEFT  +
VKEY_UP  +
VKEY_RIGHT  +
VKEY_DOWN  +
VKEY_PAGEUP  +
VKEY_PAGEDOWN  +
VKEY_SELECT  +
VKEY_PRINT  +
VKEY_ENTER  +
VKEY_SNAPSHOT  +
VKEY_INSERT  +
VKEY_DELETE  +
VKEY_HELP  +
VKEY_NUMPAD0  +
VKEY_NUMPAD1  +
VKEY_NUMPAD2  +
VKEY_NUMPAD3  +
VKEY_NUMPAD4  +
VKEY_NUMPAD5  +
VKEY_NUMPAD6  +
VKEY_NUMPAD7  +
VKEY_NUMPAD8  +
VKEY_NUMPAD9  +
VKEY_MULTIPLY  +
VKEY_ADD  +
VKEY_SEPARATOR  +
VKEY_SUBTRACT  +
VKEY_DECIMAL  +
VKEY_DIVIDE  +
VKEY_F1  +
VKEY_F2  +
VKEY_F3  +
VKEY_F4  +
VKEY_F5  +
VKEY_F6  +
VKEY_F7  +
VKEY_F8  +
VKEY_F9  +
VKEY_F10  +
VKEY_F11  +
VKEY_F12  +
VKEY_NUMLOCK  +
VKEY_SCROLL  +
VKEY_SHIFT  +
VKEY_CONTROL  +
VKEY_ALT  +
VKEY_EQUALS  +
+
+
+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstoffline.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstoffline.html new file mode 100644 index 0000000..097f1ee --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstoffline.html @@ -0,0 +1,33 @@ + + +VSTGUI: VST Offline Processing + + + + +
+
+

VST Offline Processing

+ + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstparamstruct.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstparamstruct.html new file mode 100644 index 0000000..246aff6 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstparamstruct.html @@ -0,0 +1,33 @@ + + +VSTGUI: VST Parameters Structure + + + + +
+
+

VST Parameters Structure

+ + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugscarbon_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugscarbon_8h.html new file mode 100644 index 0000000..2774036 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugscarbon_8h.html @@ -0,0 +1,293 @@ + + +VSTGUI: vstplugscarbon.h File Reference + + + + +
+
+
+
+

vstplugscarbon.h File Reference

+ + + + + + + + + + + + + + + + + + + + + + +

Defines

#define MAC   1
#define WINDOWS   0
#define SGI   0
#define MOTIF   0
#define BEBOX   0
#define CARBON   1
#define TARGET_API_MAC_CARBON   1
#define TARGET_OS_MAC   1
#define OLDP2C   1
#define OPAQUE_TOOLBOX_STRUCTS   1
+

Define Documentation

+

+ + + + +
+ + + + +
#define BEBOX   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MOTIF   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define OLDP2C   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define OPAQUE_TOOLBOX_STRUCTS   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define SGI   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_API_MAC_CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_OS_MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define WINDOWS   0
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmac_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmac_8h.html new file mode 100644 index 0000000..c05f80c --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmac_8h.html @@ -0,0 +1,381 @@ + + +VSTGUI: vstplugsmac.h File Reference + + + + +
+
+
+
+

vstplugsmac.h File Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines

#define MAC   1
#define WINDOWS   0
#define SGI   0
#define MOTIF   0
#define BEBOX   0
#define RHAPSODY   0
#define TARGET_OS_MAC   1
#define OPAQUE_TOOLBOX_STRUCTS   0
#define ACCESSOR_CALLS_ARE_FUNCTIONS   0
#define CALL_NOT_IN_CARBON   1
#define USENAVSERVICES   1
#define GetPortBounds(port, rect)   *(rect) = port->portRect
#define GetPortPixMap(port)   port->portPixMap
+

Define Documentation

+

+ + + + +
+ + + + +
#define ACCESSOR_CALLS_ARE_FUNCTIONS   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define BEBOX   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define CALL_NOT_IN_CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + +
#define GetPortBounds port,
rect   )    *(rect) = port->portRect
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
#define GetPortPixMap port   )    port->portPixMap
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MOTIF   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define OPAQUE_TOOLBOX_STRUCTS   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define RHAPSODY   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define SGI   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_OS_MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USENAVSERVICES   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define WINDOWS   0
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmacho_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmacho_8h.html new file mode 100644 index 0000000..9755d2e --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsmacho_8h.html @@ -0,0 +1,418 @@ + + +VSTGUI: vstplugsmacho.h File Reference + + + + +
+
+
+
+

vstplugsmacho.h File Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines

#define MAC   1
#define MACX   1
#define WINDOWS   0
#define SGI   0
#define MOTIF   0
#define BEBOX   0
#define USE_NAMESPACE   0
#define CARBON   1
#define TARGET_API_MAC_CARBON   1
#define TARGET_OS_MAC   1
#define OLDP2C   1
#define OPAQUE_TOOLBOX_STRUCTS   1
#define USENAVSERVICES   1
#define __DEBUGGING__
#define __CF_USE_FRAMEWORK_INCLUDES__
+

Define Documentation

+

+ + + + +
+ + + + +
#define __CF_USE_FRAMEWORK_INCLUDES__
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define __DEBUGGING__
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define BEBOX   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MACX   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MOTIF   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define OLDP2C   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define OPAQUE_TOOLBOX_STRUCTS   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define SGI   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_API_MAC_CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_OS_MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_NAMESPACE   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USENAVSERVICES   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define WINDOWS   0
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsquartz_8h.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsquartz_8h.html new file mode 100644 index 0000000..a919d68 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/vstplugsquartz_8h.html @@ -0,0 +1,369 @@ + + +VSTGUI: vstplugsquartz.h File Reference + + + + +
+
+
+
+

vstplugsquartz.h File Reference

#include <AvailabilityMacros.h>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines

#define MAC   1
#define MACX   1
#define WINDOWS   0
#define SGI   0
#define MOTIF   0
#define BEBOX   0
#define USE_NAMESPACE   0
#define TARGET_API_MAC_CARBON   1
#define USENAVSERVICES   1
#define __CF_USE_FRAMEWORK_INCLUDES__
#define QUARTZ   1
#define MAC_OS_X_VERSION_MIN_REQUIRED   1020
#define MAC_OS_X_VERSION_MAX_ALLOWED   1030
+

Define Documentation

+

+ + + + +
+ + + + +
#define __CF_USE_FRAMEWORK_INCLUDES__
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define BEBOX   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC_OS_X_VERSION_MAX_ALLOWED   1030
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MAC_OS_X_VERSION_MIN_REQUIRED   1020
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MACX   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define MOTIF   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define QUARTZ   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define SGI   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define TARGET_API_MAC_CARBON   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USE_NAMESPACE   0
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define USENAVSERVICES   1
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + +
#define WINDOWS   0
+
+ + + + + +
+   + + +

+

+ + + + Empty + + + + + + +
+


+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/whatsnew.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/whatsnew.html new file mode 100644 index 0000000..c4cfe73 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/html/whatsnew.html @@ -0,0 +1,84 @@ + + +VSTGUI: What's new in VST 2.4 + + + + +
+
+

What's new in VST 2.4

+64 Bit Platform Compatibility

+With VST SDK 2.4 you can compile native VST Plug-Ins for 64 Bit Platforms (e.g. Windows XP x64 Edition). The formerly used 'long' data type has been replaced by VstInt32 and VstIntPtr: +
+

+Double Precision Processing

+A new process function has been added to support 64 bit (double precision) floating-point audio samples. Please note that this function is optional, whereas the processReplacing function for 32 bit (single precision) floating-point samples is mandatory!
See also:
AudioEffect::canDoubleReplacing
+ AudioEffect::processDoubleReplacing
+ AudioEffectX::setProcessPrecision
+
+

+MIDI Events

+New enum VstMidiEventFlags for VstMidiEvent::flags with value kVstMidiEventIsRealtime which indicates that an event is played live, not from a sequencer track.

+

See also:
AudioEffectX::getNumMidiInputChannels
+ AudioEffectX::getNumMidiOutputChannels
+
+

+VST Parameters Structure

+The VST Parameters Structure XML definition provides an easy way to structure parameters of existing VST Plug-Ins hierarchically, without having to recompile the Plug-In binary. The VST SDK package contains a tool to test, extract and embed VSTXML resources.

+

See also:
VST Parameters Structure
+
+

+Macintosh Editor Changes

+All Plug-Ins built with this SDK must support composited windows on OSX.

+

See also:
Macintosh Editor as HIViewRef
+
+

+Deprecated Features

+The VST Protocol is a historically grown technology. In Revision 2.4 the API has undergone a general cleanup. Some rarely (or not at all) used features and inconsistent or redundant parts of the protocol have been declared as deprecated. Deprecated opcodes and data structures are still available in the SDK headers, but their names are modified if the VST_FORCE_DEPRECATED compile switch is active (1 by default) - this might cause errors when compiling existing code.

+What does it mean? Exisiting (already released) Hosts and Plug-Ins of course remain uninfluenced. If you create a new Plug with VST SDK 2.4 it should work in any existing host as well. However, there are some details that might cause compatibility problems:

+

+To support VST Plug-Ins <= 2.4 in new Host Applications, you'll have to implement workarounds. In the long run, deprecated features shouldn't be used anymore. Future versions of VST SDK will not contain them at all.

+

See also:
Deprecated List
+
+

+Other Changes

+You might have already noticed some more minor changes in VST SDK 2.4: + + + + Empty + + + + + + +
+
+
+Copyright ©2006 Steinberg Media Technologies. +All Rights Reserved. +
+ + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/index.html b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/index.html new file mode 100644 index 0000000..6270b94 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/Documentation/index.html @@ -0,0 +1,11 @@ + + + + VSTGUI + + + + + + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.cpp new file mode 100644 index 0000000..504a918 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.cpp @@ -0,0 +1,409 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins +// +// Version 3.0 Date : 30/06/04 +// +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __aeffguieditor__ +#include "aeffguieditor.h" +#endif + +//----------------------------------------------------------------------------- +#define kIdleRate 100 // host idle rate in ms +#define kIdleRate2 50 +#define kIdleRateMin 4 // minimum time between 2 idles in ms + +#if MOTIF +static unsigned int _getTicks (); +#endif + +//----------------------------------------------------------------------------- +VstInt32 AEffGUIEditor::knobMode = kCircularMode; + +//----------------------------------------------------------------------------- +// AEffGUIEditor Implementation +//----------------------------------------------------------------------------- +AEffGUIEditor::AEffGUIEditor (AudioEffect* effect) +: AEffEditor (effect), + lLastTicks (0), + inIdleStuff (false), + frame (0) +{ + rect.left = rect.top = rect.right = rect.bottom = 0; + lLastTicks = getTicks (); + + effect->setEditor (this); + + #if WINDOWS + OleInitialize (0); + #endif + + #if MACX + void InitMachOLibrary (); + InitMachOLibrary (); + #endif +} + +//----------------------------------------------------------------------------- +AEffGUIEditor::~AEffGUIEditor () +{ + #if WINDOWS + OleUninitialize (); + #endif + + #if MACX + void ExitMachOLibrary (); + ExitMachOLibrary (); + #endif +} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::setParameter (VstInt32 index, float value) +{} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::beginEdit (VstInt32 index) +{ + ((AudioEffectX*)effect)->beginEdit (index); +} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::endEdit (VstInt32 index) +{ + ((AudioEffectX*)effect)->endEdit (index); +} + +//----------------------------------------------------------------------------- +#if VST_2_1_EXTENSIONS +bool AEffGUIEditor::onKeyDown (VstKeyCode& keyCode) +{ + return frame && frame->onKeyDown (keyCode) == 1 ? true : false; +} + +//----------------------------------------------------------------------------- +bool AEffGUIEditor::onKeyUp (VstKeyCode& keyCode) +{ + return frame && frame->onKeyUp (keyCode) == 1 ? true : false; +} + +//----------------------------------------------------------------------------- +bool AEffGUIEditor::setKnobMode (VstInt32 val) +{ + knobMode = val; + return true; +} + +//----------------------------------------------------------------------------- +bool AEffGUIEditor::onWheel (float distance) +{ + if (frame) + { + CDrawContext context (frame, NULL, systemWindow); + CPoint where; + context.getMouseLocation (where); + return frame->onWheel (&context, where, distance); + } + return false; +} +#endif + +//----------------------------------------------------------------------------- +#if MAC +void AEffGUIEditor::DECLARE_VST_DEPRECATED (draw) (ERect* rect) +{ + if (frame) + { + if (rect) + { + CRect r (rect->left, rect->top, rect->right, rect->bottom); + CDrawContext context (frame, NULL, systemWindow); + frame->drawRect (&context, r); + } + else + frame->draw (); + } +} + +//----------------------------------------------------------------------------- +VstInt32 AEffGUIEditor::DECLARE_VST_DEPRECATED (mouse) (VstInt32 x, VstInt32 y) +{ + CDrawContext context (frame, NULL, systemWindow); + CPoint where (x, y); + + if (frame) + frame->mouse (&context, where); + + return 1; +} +#endif + +//----------------------------------------------------------------------------- +bool AEffGUIEditor::getRect (ERect **ppErect) +{ + *ppErect = ▭ + return true; +} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::idle () +{ +#if MAC && !QUARTZ + GrafPtr savePort; + GetPort (&savePort); + SetPort ((GrafPtr)GetWindowPort ((WindowRef)systemWindow)); + + AEffEditor::idle (); + if (frame) + frame->idle (); + + SetPort (savePort); +#else + + #if BEOS + PlugView *plugView = 0; + if (frame) + { + plugView = (PlugView *) frame->getSystemWindow (); + if (plugView->LockLooperWithTimeout (0) != B_OK) + return; + } + #else + if (inIdleStuff) + return; + #endif + + AEffEditor::idle (); + if (frame) + frame->idle (); + + #if BEOS + if (frame) + plugView->UnlockLooper (); + #endif +#endif +} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::wait (unsigned int ms) +{ + #if MAC + unsigned long ticks; + Delay (ms * 60 / 1000, &ticks); + + #elif WINDOWS + Sleep (ms); + + #elif SGI + struct timespec sleeptime = {0, ms * 1000000}; + nanosleep (&sleeptime, NULL); + + #elif BEOS + snooze (ms * 1000); + #endif +} + +//----------------------------------------------------------------------------- +unsigned int AEffGUIEditor::getTicks () +{ + #if MAC + return (TickCount () * 1000) / 60; + + #elif WINDOWS + return (unsigned int)GetTickCount (); + + #elif MOTIF + return _getTicks (); + + #elif BEOS + return (system_time () / 1000); + #endif + + return 0; +} + +//----------------------------------------------------------------------------- +void AEffGUIEditor::doIdleStuff () +{ + #if !(MAC && !TARGET_API_MAC_CARBON) + // get the current time + unsigned int currentTicks = getTicks (); + + // YG TEST idle (); + if (currentTicks < lLastTicks) + { + #if (MAC && TARGET_API_MAC_CARBON) + RunCurrentEventLoop (kEventDurationMillisecond * kIdleRateMin); + #else + wait (kIdleRateMin); + #endif + currentTicks += kIdleRateMin; + if (currentTicks < lLastTicks - kIdleRate2) + return; + } + + idle (); + + #if WINDOWS + MSG windowsMessage; + if (PeekMessage (&windowsMessage, NULL, WM_PAINT, WM_PAINT, PM_REMOVE)) + DispatchMessage (&windowsMessage); + + #elif MACX + EventRef event; + EventTypeSpec eventTypes[] = { {kEventClassWindow, kEventWindowUpdate}, {kEventClassWindow, kEventWindowDrawContent} }; + if (ReceiveNextEvent (GetEventTypeCount (eventTypes), eventTypes, kEventDurationNoWait, true, &event) == noErr) + { + SendEventToEventTarget (event, GetEventDispatcherTarget ()); + ReleaseEvent (event); + } + #endif + + // save the next time + lLastTicks = currentTicks + kIdleRate; + #endif + + inIdleStuff = true; + + #if !BEOS + if (effect) + effect->masterIdle (); + #endif + + inIdleStuff = false; +} + + +#if MOTIF +//----------------------------------------------------------------------------- +unsigned int _getTicks () +{ + #if SGI + long long time; + syssgi (SGI_GET_UST, &time, 0); + return time / 1000000; + + #elif SUN + hrtime_t nanosecs = gethrtime (); + return (unsigned long long)nanosecs / 1000000UL; + + #elif LINUX + // gettimeofday is not what we need here, checkout API for hw time + struct timeval tv; + struct timezone tz; + gettimeofday (&tv, &tz); + return tv.tv_sec * 1000 + tv.tv_usec / 1000; + #endif +} +#endif +#if MACX +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +extern "C" { +#include +#include +} +#include + +BEGIN_NAMESPACE_VSTGUI + +void* gBundleRef = 0; + +END_NAMESPACE_VSTGUI + +#if USE_NAMESPACE +#define VSTGUI_BUNDLEREF VSTGUI::gBundleRef +#else +#define VSTGUI_BUNDLEREF gBundleRef +#endif + +// ----------------------------------------------------------------------------- +static CFBundleRef _CFXBundleCreateFromImageName (CFAllocatorRef allocator, const char* image_name); +static CFBundleRef _CFXBundleCreateFromImageName (CFAllocatorRef allocator, const char* image_name) +{ + CFURLRef myBundleExecutableURL = CFURLCreateFromFileSystemRepresentation (allocator, (const unsigned char*)image_name, strlen (image_name), false); + if (myBundleExecutableURL == 0) + return 0; + + CFURLRef myBundleContentsMacOSURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleExecutableURL); // Delete Versions/Current/Executable + CFRelease (myBundleExecutableURL); + if (myBundleContentsMacOSURL == 0) + return 0; + + CFURLRef myBundleContentsURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleContentsMacOSURL); // Delete Current + CFRelease (myBundleContentsMacOSURL); + if (myBundleContentsURL == 0) + return 0; + + CFURLRef theBundleURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleContentsURL); // Delete Versions + CFRelease (myBundleContentsURL); + if (theBundleURL == 0) + return 0; + + CFBundleRef result = CFBundleCreate (allocator, theBundleURL); + CFRelease (theBundleURL); + + return result; +} + +// ----------------------------------------------------------------------------- +void InitMachOLibrary (); +void InitMachOLibrary () +{ + const mach_header* header = &_mh_bundle_header; + + const char* imagename = 0; + /* determine the image name, TODO: ther have to be a better way */ + int cnt = _dyld_image_count(); + for (int idx1 = 1; idx1 < cnt; idx1++) + { + if (_dyld_get_image_header(idx1) == header) + { + imagename = _dyld_get_image_name(idx1); + break; + } + } + if (imagename == 0) + return; + /* get the bundle of a header, TODO: ther have to be a better way */ + VSTGUI_BUNDLEREF = (void*)_CFXBundleCreateFromImageName (NULL, imagename); +} + +// ----------------------------------------------------------------------------- +void ExitMachOLibrary (); +void ExitMachOLibrary () +{ + if (VSTGUI_BUNDLEREF) + CFRelease (VSTGUI_BUNDLEREF); +} + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h new file mode 100644 index 0000000..3ec990b --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h @@ -0,0 +1,113 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins +// +// Version 3.0 Date : 30/06/04 +// +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __aeffguieditor__ +#define __aeffguieditor__ + +#ifndef __aeffeditor__ +#include "aeffeditor.h" +#endif + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +//----------------------------------------------------------------------------- +// AEffGUIEditor Declaration +//----------------------------------------------------------------------------- +class AEffGUIEditor : public AEffEditor +{ +public: +//----------------------------------------------------------------------------- + AEffGUIEditor (AudioEffect* effect); + ~AEffGUIEditor (); + + // get the CFrame object + #if USE_NAMESPACE + VSTGUI::CFrame* getFrame () { return frame; } + #else + CFrame* getFrame () { return frame; } + #endif + + virtual void setParameter (VstInt32 index, float value); + virtual void beginEdit (VstInt32 index); + virtual void endEdit (VstInt32 index); + + // feedback to application + virtual void doIdleStuff (); + + // wait (in ms) + void wait (unsigned int ms); + + // get the current time (in ms) + unsigned int getTicks (); + + // get version of this VSTGUI + static int getVstGuiVersion () { return (VSTGUI_VERSION_MAJOR << 16) + VSTGUI_VERSION_MINOR; } + + // get the knob mode + static VstInt32 getKnobMode () { return knobMode; } +//----------------------------------------------------------------------------- +// AEffEditor overrides: +//----------------------------------------------------------------------------- + bool getRect (ERect** rect); + void idle (); + + #if MAC + void DECLARE_VST_DEPRECATED (draw) (ERect* rect); + VstInt32 DECLARE_VST_DEPRECATED (mouse) (VstInt32 x, VstInt32 y); + #endif + + #if VST_2_1_EXTENSIONS + bool onKeyDown (VstKeyCode& keyCode); + bool onKeyUp (VstKeyCode& keyCode); + bool onWheel (float distance); + bool setKnobMode (VstInt32 val); + #endif +//----------------------------------------------------------------------------- +protected: + ERect rect; + unsigned int lLastTicks; + bool inIdleStuff; + static VstInt32 knobMode; + #if USE_NAMESPACE + VSTGUI::CFrame* frame; + #else + CFrame* frame; + #endif +}; + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.cpp new file mode 100644 index 0000000..0a715ea --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.cpp @@ -0,0 +1,1156 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// Version 3.0 $Date: 2006/01/31 10:03:38 $ +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#if !PLUGGUI +#include "AudioEffectX.h" +#endif + +#ifndef __cfileselector__ +#include "cfileselector.h" +#endif + +//----------------------------------------------------------------------------- +// CFileSelector Implementation +//----------------------------------------------------------------------------- +#define stringAnyType "Any Type (*.*)" +#define stringAllTypes "All Types: (" +#define stringSelect "Select" +#define stringCancel "Cancel" +#define stringLookIn "Look in" +#define kPathMax 1024 + +#if WINDOWS +#include + +static UINT_PTR APIENTRY SelectDirectoryHook (HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam); +static LRESULT CALLBACK SelectDirectoryButtonProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); +WNDPROC fpOldSelectDirectoryButtonProc; +static UINT_PTR APIENTRY WinSaveHook (HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam); +static bool bFolderSelected; +static bool bDidCancel; +static char selDirPath[kPathMax]; +#if PLUGGUI + extern HINSTANCE ghInst; + inline HINSTANCE GetInstance () { return ghInst; } +#else + extern void* hInstance; + inline HINSTANCE GetInstance () { return (HINSTANCE)hInstance; } +#endif +#endif + +BEGIN_NAMESPACE_VSTGUI + +//----------------------------------------------------------------------------- +CFileSelector::CFileSelector (void* ptr) +: ptr (ptr) +, vstFileSelect (0) +{} + +//----------------------------------------------------------------------------- +CFileSelector::~CFileSelector () +{ + if (vstFileSelect) + { + #if VST + if (ptr && ((AudioEffectX*)ptr)->canHostDo ("closeFileSelector")) + ((AudioEffectX*)ptr)->closeFileSelector (vstFileSelect); + else + #endif + { + if (vstFileSelect->reserved == 1 && vstFileSelect->returnPath) + { + delete []vstFileSelect->returnPath; + vstFileSelect->returnPath = 0; + vstFileSelect->sizeReturnPath = 0; + } + if (vstFileSelect->returnMultiplePaths) + { + for (long i = 0; i < vstFileSelect->nbReturnPath; i++) + { + delete []vstFileSelect->returnMultiplePaths[i]; + vstFileSelect->returnMultiplePaths[i] = 0; + } + delete[] vstFileSelect->returnMultiplePaths; + vstFileSelect->returnMultiplePaths = 0; + } + } + } +} + +//----------------------------------------------------------------------------- +long CFileSelector::run (VstFileSelect *vstFileSelect) +{ + this->vstFileSelect = vstFileSelect; + vstFileSelect->nbReturnPath = 0; + if (vstFileSelect->returnPath) + vstFileSelect->returnPath[0] = 0; + + #if !PLUGGUI + if (ptr + #if MACX + && vstFileSelect->command != kVstFileSave + #endif + && ((AudioEffectX*)ptr)->canHostDo ("openFileSelector") && ((AudioEffectX*)ptr)->canHostDo ("closeFileSelector")) + { + if (((AudioEffectX*)ptr)->openFileSelector (vstFileSelect)) + return vstFileSelect->nbReturnPath; + } + else + #endif + { +#if WINDOWS + char filter[512]; + char filePathBuffer[kPathMax]; + strcpy (filePathBuffer, ""); + char* filePath = filePathBuffer; + char fileName[kPathMax]; + strcpy (fileName, ""); + filter[0] = 0; + filePath[0] = 0; + fileName[0] = 0; + + //----------------------------------------- + if (vstFileSelect->command == kVstFileLoad || + vstFileSelect->command == kVstMultipleFilesLoad || + vstFileSelect->command == kVstDirectorySelect) + { + char* multiBuffer = 0; + if (vstFileSelect->command == kVstMultipleFilesLoad) + { + multiBuffer = new char [kPathMax * 100]; + strcpy (multiBuffer, ""); + filePath = multiBuffer; + } + + if (vstFileSelect->command != kVstDirectorySelect) + { + char allBuffer [kPathMax] = {0}; + char* p = filter; + char* p2 = allBuffer; + + const char* ext; + const char* extensions [100]; + long i, j, extCount = 0; + char string[24]; + + for (long ty = 0; ty < vstFileSelect->nbFileTypes; ty++) + { + for (i = 0; i < 2 ; i++) + { + if (i == 0) + { + ext = vstFileSelect->fileTypes[ty].dosType; + + strcpy (p, vstFileSelect->fileTypes[ty].name); + strcat (p, " (."); + strcat (p, ext); + strcat (p, ")"); + p += strlen (p) + 1; + + strcpy (string, "*."); + strcat (string, ext); + strcpy (p, string); + p += strlen (p); + } + else + { + if (!strcmp (vstFileSelect->fileTypes[ty].dosType, vstFileSelect->fileTypes[ty].unixType) || !strcmp (vstFileSelect->fileTypes[ty].unixType, "")) + break; // for + ext = vstFileSelect->fileTypes[ty].unixType; + strcpy (string, ";*."); + strcat (string, ext); + strcpy (p, string); + p += strlen (p); + } + bool found = false; + for (j = 0; j < extCount;j ++) + { + if (strcmp (ext, extensions [j]) == 0) + { + found = true; + break; + } + } + if (!found && extCount < 100) + extensions [extCount++] = ext; + } + p ++; + } // end for filetype + + if (extCount > 1) + { + for (i = 0; i < extCount ;i ++) + { + ext = extensions [i]; + strcpy (string, "*."); + strcat (string, ext); + + if (p2 != allBuffer) + { + strcpy (p2, ";"); + p2++; + } + strcpy (p2, string); + p2 += strlen (p2); + } + + // add the : All types + strcpy (p, stringAllTypes); + strcat (p, allBuffer); + strcat (p, ")"); + p += strlen (p) + 1; + strcpy (p, allBuffer); + p += strlen (p) + 1; + } + + strcpy (p, stringAnyType); + p += strlen (p) + 1; + strcpy (p, "*.*"); + p += strlen (p) + 1; + + *p++ = 0; + *p++ = 0; + } + + OPENFILENAME ofn = {0}; + ofn.lStructSize = sizeof (OPENFILENAME); + HWND owner = 0; + #if !PLUGGUI + if (ptr && ((AudioEffectX*)ptr)->getEditor () && ((AEffGUIEditor*)((AudioEffectX*)ptr)->getEditor ())->getFrame ()) + owner = (HWND)((AEffGUIEditor*)((AudioEffectX*)ptr)->getEditor ())->getFrame ()->getSystemWindow (); + #endif + ofn.hwndOwner = owner; + + if (vstFileSelect->command == kVstDirectorySelect) + ofn.lpstrFilter = "HideFileFilter\0*.___\0\0"; // to hide files + else + ofn.lpstrFilter = filter[0] ? filter : 0; + ofn.nFilterIndex = 1; + ofn.lpstrCustomFilter = NULL; + ofn.lpstrFile = filePath; + if (vstFileSelect->command == kVstMultipleFilesLoad) + ofn.nMaxFile = 100 * kPathMax - 1; + else + ofn.nMaxFile = sizeof (filePathBuffer) - 1; + + ofn.lpstrFileTitle = fileName; + ofn.nMaxFileTitle = 64; + ofn.lpstrInitialDir = vstFileSelect->initialPath; + ofn.lpstrTitle = vstFileSelect->title; + ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_EXPLORER | OFN_ENABLESIZING | OFN_ENABLEHOOK; + if (vstFileSelect->command == kVstDirectorySelect) + { + ofn.Flags &= ~OFN_FILEMUSTEXIST; + ofn.lpfnHook = SelectDirectoryHook; + } + + if (vstFileSelect->command == kVstMultipleFilesLoad) + ofn.Flags |= OFN_ALLOWMULTISELECT; + + vstFileSelect->nbReturnPath = 0; + bDidCancel = true; + + if (GetOpenFileName (&ofn) || + ((vstFileSelect->command == kVstDirectorySelect) && !bDidCancel && strlen (selDirPath) != 0)) + { + switch (vstFileSelect->command) + { + case kVstFileLoad: + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char[strlen (ofn.lpstrFile) + 1]; + vstFileSelect->sizeReturnPath = (long)strlen (ofn.lpstrFile) + 1; + } + strcpy (vstFileSelect->returnPath, ofn.lpstrFile); + break; + + case kVstMultipleFilesLoad: + { + char string[kPathMax], directory[kPathMax]; + char *previous = ofn.lpstrFile; + size_t len; + bool dirFound = false; + bool first = true; + directory[0] = 0; // !! + vstFileSelect->returnMultiplePaths = new char*[kPathMax]; + long i = 0; + while (1) + { + if (*previous != 0) + { // something found + if (!dirFound) + { + dirFound = true; + strcpy (directory, previous); + len = strlen (previous) + 1; // including 0 + previous += len; + + if (*previous == 0) + { // 1 selected file only + vstFileSelect->returnMultiplePaths[i] = new char [strlen (directory) + 1]; + strcpy (vstFileSelect->returnMultiplePaths[i++], directory); + } + else + { + if (directory[strlen (directory) - 1] != '\\') + strcat (directory, "\\"); + } + } + else + { + sprintf (string, "%s%s", directory, previous); + len = strlen (previous) + 1; // including 0 + previous += len; + + vstFileSelect->returnMultiplePaths[i] = new char [strlen (string) + 1]; + strcpy (vstFileSelect->returnMultiplePaths[i++], string); + } + } + else + break; + } + vstFileSelect->nbReturnPath = i; + } break; + + case kVstDirectorySelect: + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char[strlen (selDirPath) + 1]; + vstFileSelect->sizeReturnPath = (long)strlen (selDirPath) + 1; + } + strcpy (vstFileSelect->returnPath, selDirPath); + } + if (multiBuffer) + delete []multiBuffer; + return vstFileSelect->nbReturnPath; + } + if (multiBuffer) + delete []multiBuffer; + } + + //----------------------------------------- + else if (vstFileSelect->command == kVstFileSave) + { + char* p = filter; + for (long ty = 0; ty < vstFileSelect->nbFileTypes; ty++) + { + const char* ext = vstFileSelect->fileTypes[ty].dosType; + if (ext) + { + strcpy (p, vstFileSelect->fileTypes[ty].name); + strcat (p, " (."); + strcat (p, ext); + strcat (p, ")"); + p += strlen (p) + 1; + + char string[24]; + strcpy (string, "*."); + strcat (string, ext); + strcpy (p, string); + p += strlen (p) + 1; + } + } + *p++ = 0; + *p++ = 0; + + OPENFILENAME ofn = {0}; + ofn.lStructSize = sizeof (OPENFILENAME); + HWND owner = 0; + #if !PLUGGUI + if (((AudioEffectX*)ptr)->getEditor () && ((AEffGUIEditor*)((AudioEffectX*)ptr)->getEditor ())->getFrame ()) + owner = (HWND)((AEffGUIEditor*)((AudioEffectX*)ptr)->getEditor ())->getFrame ()->getSystemWindow (); + #endif + ofn.hwndOwner = owner; + ofn.hInstance = GetInstance (); + ofn.lpstrFilter = filter[0] ? filter : 0; + ofn.nFilterIndex = 1; + ofn.lpstrFile = filePath; + ofn.lpstrCustomFilter = NULL; + ofn.nMaxFile = sizeof (filePathBuffer) - 1; + ofn.lpstrFileTitle = fileName; + ofn.nMaxFileTitle = 64; + ofn.lpstrInitialDir = vstFileSelect->initialPath; + ofn.lpstrTitle = vstFileSelect->title; + ofn.Flags = OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_ENABLEHOOK; + + if (vstFileSelect->nbFileTypes >= 1) + ofn.lpstrDefExt = vstFileSelect->fileTypes[0].dosType; + + // add a template view + ofn.lCustData = (DWORD)0; + ofn.lpfnHook = WinSaveHook; + + if (GetSaveFileName (&ofn)) + { + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char[strlen (ofn.lpstrFile) + 1]; + vstFileSelect->sizeReturnPath = (long)strlen (ofn.lpstrFile) + 1; + } + strcpy (vstFileSelect->returnPath, ofn.lpstrFile); + + return vstFileSelect->nbReturnPath; + } + #if _DEBUG + else + { + DWORD err = CommDlgExtendedError (); // for breakpoint + } + #endif + } + +#elif MAC +#if TARGET_API_MAC_CARBON + #if MACX + // new approach for supporting long filenames on mac os x is to use unix path mode + // if vstFileSelect->future[0] is 1 on entry and 0 on exit the resulting paths are UTF8 encoded paths + bool unixPathMode = (vstFileSelect->future[0] == 1); + #endif + NavEventUPP eventUPP = NewNavEventUPP (CFileSelector::navEventProc); + if (vstFileSelect->command == kVstFileSave) + { + NavDialogCreationOptions dialogOptions; + NavGetDefaultDialogCreationOptions (&dialogOptions); + dialogOptions.windowTitle = CFStringCreateWithCString (NULL, vstFileSelect->title[0] ? vstFileSelect->title : "Select a Destination", kCFStringEncodingUTF8); + CFStringRef defSaveName = 0; + #if MACX + if (unixPathMode && vstFileSelect->initialPath) + { + char* name = strrchr (vstFileSelect->initialPath, '/'); + if (name && name[1] != 0) + { + defSaveName = dialogOptions.saveFileName = CFStringCreateWithCString (NULL, name+1, kCFStringEncodingUTF8); + name[0] = 0; + dialogOptions.optionFlags |= kNavPreserveSaveFileExtension; + } + else if (name == 0) + { + defSaveName = dialogOptions.saveFileName = CFStringCreateWithCString (NULL, vstFileSelect->initialPath, kCFStringEncodingUTF8); + dialogOptions.optionFlags |= kNavPreserveSaveFileExtension; + vstFileSelect->initialPath = 0; + } + } + else + #endif + if (vstFileSelect->initialPath && ((FSSpec*)vstFileSelect->initialPath)->name) + { + FSSpec* defaultSpec = (FSSpec*)vstFileSelect->initialPath; + defSaveName = CFStringCreateWithPascalString (NULL, defaultSpec->name, kCFStringEncodingASCII); + if (defSaveName) + { + dialogOptions.saveFileName = defSaveName; + dialogOptions.optionFlags |= kNavPreserveSaveFileExtension; + } + *defaultSpec->name = 0; + } + NavDialogRef dialogRef; + if (NavCreatePutFileDialog (&dialogOptions, NULL, kNavGenericSignature, eventUPP, this, &dialogRef) == noErr) + { + AEDesc defaultLocation; + AEDesc* defLocPtr = 0; + if (vstFileSelect->initialPath) + { + #if MACX + if (unixPathMode) + { + FSRef fsRef; + if (FSPathMakeRef ((const unsigned char*)vstFileSelect->initialPath, &fsRef, NULL) == noErr) + { + if (AECreateDesc (typeFSRef, &fsRef, sizeof(FSRef), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + else + #endif + { + FSSpec* defaultSpec = (FSSpec*)vstFileSelect->initialPath; + if (defaultSpec->parID && defaultSpec->vRefNum) + { + if (AECreateDesc (typeFSS, defaultSpec, sizeof(FSSpec), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + } + if (defLocPtr) + NavCustomControl (dialogRef, kNavCtlSetLocation, (void*)defLocPtr); + NavDialogRun (dialogRef); + + if (defLocPtr) + AEDisposeDesc (defLocPtr); + + NavReplyRecord navReply; + if (NavDialogGetReply (dialogRef, &navReply) == noErr) + { + FSRef parentFSRef; + AEKeyword theAEKeyword; + DescType typeCode; + Size actualSize; + // get the FSRef referring to the parent directory + if (AEGetNthPtr(&navReply.selection, 1, typeFSRef, + &theAEKeyword, &typeCode, &parentFSRef, sizeof(FSRef), &actualSize) == noErr) + { + #if MACX + if (unixPathMode) + { + bool success = true; + vstFileSelect->nbReturnPath = 1; + if (vstFileSelect->returnPath == 0) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [PATH_MAX]; + } + if (FSRefMakePath (&parentFSRef, (unsigned char*)vstFileSelect->returnPath, PATH_MAX) == noErr) + { + char saveFileName [PATH_MAX]; + if (CFStringGetCString (navReply.saveFileName, saveFileName, PATH_MAX, kCFStringEncodingUTF8)) + { + strcat (vstFileSelect->returnPath, "/"); + strcat (vstFileSelect->returnPath, saveFileName); + vstFileSelect->future[0] = 0; + } + else + success = false; + } + else + success = false; + if (!success && vstFileSelect->reserved) + { + vstFileSelect->nbReturnPath = 0; + delete [] vstFileSelect->returnPath; + } + } + else + #endif + { + FSSpec spec; + FSCatalogInfoBitmap infoBitmap = kFSCatInfoNone; + FSGetCatalogInfo (&parentFSRef, infoBitmap, NULL, NULL, &spec, NULL); + CInfoPBRec pbRec = {0}; + pbRec.dirInfo.ioDrDirID = spec.parID; + pbRec.dirInfo.ioVRefNum = spec.vRefNum; + pbRec.dirInfo.ioNamePtr = spec.name; + if (PBGetCatInfoSync (&pbRec) == noErr) + { + spec.parID = pbRec.dirInfo.ioDrDirID; + // the cfstring -> pascalstring can fail if the filename length > 63 (FSSpec sucks) + if (CFStringGetPascalString (navReply.saveFileName, (unsigned char*)&spec.name, sizeof (spec.name), kCFStringEncodingASCII)) + { + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [sizeof (FSSpec)]; + } + memcpy (vstFileSelect->returnPath, &spec, sizeof (FSSpec)); + } + } + } + } + NavDisposeReply (&navReply); + } + if (defSaveName) + CFRelease (defSaveName); + NavDialogDispose (dialogRef); + DisposeNavEventUPP (eventUPP); + return vstFileSelect->nbReturnPath; + } + if (defSaveName) + CFRelease (defSaveName); + } + else if (vstFileSelect->command == kVstDirectorySelect) + { + NavDialogCreationOptions dialogOptions; + NavGetDefaultDialogCreationOptions (&dialogOptions); + dialogOptions.windowTitle = CFStringCreateWithCString (NULL, vstFileSelect->title[0] ? vstFileSelect->title : "Select Directory", kCFStringEncodingUTF8); + NavDialogRef dialogRef; + if (NavCreateChooseFolderDialog (&dialogOptions, eventUPP, NULL, this, &dialogRef) == noErr) + { + AEDesc defaultLocation; + AEDesc* defLocPtr = 0; + if (vstFileSelect->initialPath) + { + #if MACX + if (unixPathMode) + { + FSRef fsRef; + if (FSPathMakeRef ((const unsigned char*)vstFileSelect->initialPath, &fsRef, NULL) == noErr) + { + if (AECreateDesc (typeFSRef, &fsRef, sizeof(FSRef), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + else + #endif + { + FSSpec* defaultSpec = (FSSpec*)vstFileSelect->initialPath; + if (defaultSpec->parID && defaultSpec->vRefNum) + if (AECreateDesc (typeFSS, defaultSpec, sizeof(FSSpec), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + if (defLocPtr) + NavCustomControl (dialogRef, kNavCtlSetLocation, (void*)defLocPtr); + NavDialogRun (dialogRef); + if (defLocPtr) + AEDisposeDesc (defLocPtr); + NavReplyRecord navReply; + if (NavDialogGetReply (dialogRef, &navReply) == noErr) + { + FSRef parentFSRef; + AEKeyword theAEKeyword; + DescType typeCode; + Size actualSize; + if (AEGetNthPtr(&navReply.selection, 1, typeFSRef, + &theAEKeyword, &typeCode, &parentFSRef, sizeof(FSRef), &actualSize) == noErr) + { + #if MACX + if (unixPathMode) + { + vstFileSelect->nbReturnPath = 1; + if (vstFileSelect->returnPath == 0) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [PATH_MAX]; + } + if (FSRefMakePath (&parentFSRef, (unsigned char*)vstFileSelect->returnPath, PATH_MAX) != noErr) + { + vstFileSelect->nbReturnPath = 0; + if (vstFileSelect->reserved) + delete [] vstFileSelect->returnPath; + } + else + vstFileSelect->future[0] = 0; + } + else + #endif + { + FSSpec spec; + FSCatalogInfoBitmap infoBitmap = kFSCatInfoNone; + FSGetCatalogInfo (&parentFSRef, infoBitmap, NULL, NULL, &spec, NULL); + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [sizeof (FSSpec)]; + } + memcpy (vstFileSelect->returnPath, &spec, sizeof (FSSpec)); + } + } + + NavDisposeReply (&navReply); + } + NavDialogDispose (dialogRef); + DisposeNavEventUPP (eventUPP); + return vstFileSelect->nbReturnPath; + } + } + else // FileLoad + { + NavDialogCreationOptions dialogOptions; + NavGetDefaultDialogCreationOptions (&dialogOptions); + if (vstFileSelect->command == kVstFileLoad) + { + dialogOptions.windowTitle = CFStringCreateWithCString (NULL, vstFileSelect->title[0] ? vstFileSelect->title : "Select a File to Open", kCFStringEncodingUTF8); + dialogOptions.optionFlags &= ~kNavAllowMultipleFiles; + } + else + { + dialogOptions.windowTitle = CFStringCreateWithCString (NULL, vstFileSelect->title[0] ? vstFileSelect->title : "Select Files to Open", kCFStringEncodingUTF8); + dialogOptions.optionFlags |= kNavAllowMultipleFiles; + } + NavObjectFilterUPP objectFilterUPP = NewNavObjectFilterUPP (CFileSelector::navObjectFilterProc); + NavDialogRef dialogRef; + if (NavCreateGetFileDialog (&dialogOptions, NULL, eventUPP, NULL, objectFilterUPP, this, &dialogRef) == noErr) + { + AEDesc defaultLocation; + AEDesc* defLocPtr = 0; + if (vstFileSelect->initialPath) + { + #if MACX + if (unixPathMode) + { + FSRef fsRef; + if (FSPathMakeRef ((const unsigned char*)vstFileSelect->initialPath, &fsRef, NULL) == noErr) + { + if (AECreateDesc (typeFSRef, &fsRef, sizeof(FSRef), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + else + #endif + { + FSSpec* defaultSpec = (FSSpec*)vstFileSelect->initialPath; + if (defaultSpec->parID && defaultSpec->vRefNum) + if (AECreateDesc (typeFSS, defaultSpec, sizeof(FSSpec), &defaultLocation) == noErr) + defLocPtr = &defaultLocation; + } + } + if (defLocPtr) + NavCustomControl (dialogRef, kNavCtlSetLocation, (void*)defLocPtr); + + NavDialogRun (dialogRef); + + if (defLocPtr) + AEDisposeDesc (defLocPtr); + + NavReplyRecord navReply; + if (NavDialogGetReply (dialogRef, &navReply) == noErr) + { + FSRef parentFSRef; + AEKeyword theAEKeyword; + DescType typeCode; + Size actualSize; + if (vstFileSelect->command == kVstFileLoad) + { + if (AEGetNthPtr(&navReply.selection, 1, typeFSRef, + &theAEKeyword, &typeCode, &parentFSRef, sizeof(FSRef), &actualSize) == noErr) + { + #if MACX + if (unixPathMode) + { + vstFileSelect->nbReturnPath = 1; + if (vstFileSelect->returnPath == 0) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [PATH_MAX]; + } + if (FSRefMakePath (&parentFSRef, (unsigned char*)vstFileSelect->returnPath, PATH_MAX) != noErr) + { + vstFileSelect->nbReturnPath = 0; + if (vstFileSelect->reserved) + delete [] vstFileSelect->returnPath; + } + else + vstFileSelect->future[0] = 0; + } + else + #endif + { + FSSpec spec; + FSCatalogInfoBitmap infoBitmap = kFSCatInfoNone; + FSGetCatalogInfo (&parentFSRef, infoBitmap, NULL, NULL, &spec, NULL); + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [sizeof (FSSpec)]; + } + memcpy (vstFileSelect->returnPath, &spec, sizeof (FSSpec)); + } + } + } + else + { + long nbReturnPath; + AECountItems (&navReply.selection, &nbReturnPath); + vstFileSelect->nbReturnPath = nbReturnPath; + vstFileSelect->returnMultiplePaths = new char* [vstFileSelect->nbReturnPath]; + int index = 1; + while (AEGetNthPtr(&navReply.selection, index++, typeFSRef, + &theAEKeyword, &typeCode, &parentFSRef, sizeof(FSRef), &actualSize) == noErr) + { + #if MACX + if (unixPathMode) + { + vstFileSelect->returnMultiplePaths[index-2] = new char[PATH_MAX]; + FSRefMakePath (&parentFSRef, (unsigned char*)vstFileSelect->returnMultiplePaths[index-2], PATH_MAX); + vstFileSelect->future[0] = 0; + } + else + #endif + { + FSSpec spec; + FSCatalogInfoBitmap infoBitmap = kFSCatInfoNone; + FSGetCatalogInfo (&parentFSRef, infoBitmap, NULL, NULL, &spec, NULL); + vstFileSelect->returnMultiplePaths[index-2] = new char[sizeof (FSSpec)]; + memcpy (vstFileSelect->returnMultiplePaths[index-2], &spec, sizeof (FSSpec)); + } + } + } + } + DisposeNavObjectFilterUPP (objectFilterUPP); + DisposeNavEventUPP (eventUPP); + NavDialogDispose (dialogRef); + return vstFileSelect->nbReturnPath; + } + DisposeNavObjectFilterUPP (objectFilterUPP); + } + DisposeNavEventUPP (eventUPP); +#else + StandardFileReply reply; + if (vstFileSelect->command == kVstFileSave) + { + unsigned char defName[64]; + defName[0] = 0; + StandardPutFile ("\pSelect a Destination", defName, &reply); + if (reply.sfGood && reply.sfFile.name[0] != 0) + { + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [301]; + } + memcpy (vstFileSelect->returnPath, &reply.sfFile, 300); + vstFileSelect->nbReturnPath = 1; + return 1; + } + } + + else if (vstFileSelect->command == kVstDirectorySelect) + { + #if USENAVSERVICES + if (NavServicesAvailable ()) + { + NavReplyRecord navReply; + NavDialogOptions dialogOptions; + short ret = false; + AEDesc defLoc; + defLoc.descriptorType = typeFSS; + defLoc.dataHandle = NewHandle (sizeof (FSSpec)); + FSSpec finalFSSpec; + finalFSSpec.parID = 0; // *dirID; + finalFSSpec.vRefNum = 0; // *volume; + finalFSSpec.name[0] = 0; + + NavGetDefaultDialogOptions (&dialogOptions); + dialogOptions.dialogOptionFlags &= ~kNavAllowMultipleFiles; + dialogOptions.dialogOptionFlags |= kNavSelectDefaultLocation; + strcpy ((char* )dialogOptions.message, "Select Directory"); + c2pstr ((char* )dialogOptions.message); + NavChooseFolder (&defLoc, &navReply, &dialogOptions, 0 /* eventUPP */, 0, 0); + DisposeHandle (defLoc.dataHandle); + + AEDesc resultDesc; + AEKeyword keyword; + resultDesc.dataHandle = 0L; + + if (navReply.validRecord && AEGetNthDesc (&navReply.selection, 1, typeFSS, &keyword, &resultDesc) == noErr) + { + ret = true; + vstFileSelect->nbReturnPath = 1; + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [sizeof (FSSpec)]; + } + memcpy (vstFileSelect->returnPath, *resultDesc.dataHandle, sizeof (FSSpec)); + } + NavDisposeReply (&navReply); + return vstFileSelect->nbReturnPath; + } + else + #endif + { + // Can't select a Folder; the Application does not support it, and Navigational Services are not available... + return 0; + } + } + + else + { + SFTypeList typelist; + long numFileTypes = vstFileSelect->nbFileTypes; + //seem not to work... if (numFileTypes <= 0) + { + numFileTypes = -1; // all files + typelist[0] = 'AIFF'; + } + /*else + { + if (numFileTypes > 4) + numFileTypes = 4; + for (long i = 0; i < numFileTypes; i++) + memcpy (&typelist[i], vstFileSelect->fileTypes[i].macType, 4); + }*/ + StandardGetFile (0L, numFileTypes, typelist, &reply); + if (reply.sfGood) + { + if (!vstFileSelect->returnPath) + { + vstFileSelect->reserved = 1; + vstFileSelect->returnPath = new char [301]; + } + memcpy (vstFileSelect->returnPath, &reply.sfFile, 300); + vstFileSelect->nbReturnPath = 1; + return 1; + } + } +#endif // TARGET_API_MAC_CARBON +#else + //CAlert::alert ("The current Host application doesn't support FileSelector !", "Warning"); +#endif + } + return 0; +} + +#if MAC && TARGET_API_MAC_CARBON +//----------------------------------------------------------------------------- +pascal void CFileSelector::navEventProc (const NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD) +{ + CFileSelector* fs = (CFileSelector*)callBackUD; + switch (callBackSelector) + { + case kNavCBEvent: + { + #if !PLUGGUI + AudioEffectX* effect = (AudioEffectX*)fs->ptr; + if (effect && callBackParms->eventData.eventDataParms.event->what == nullEvent) + effect->masterIdle (); + #endif + break; + } + } +} + +//----------------------------------------------------------------------------- +pascal Boolean CFileSelector::navObjectFilterProc (AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode) +{ + Boolean result = false; + CFileSelector* fs = (CFileSelector*)callBackUD; + NavFileOrFolderInfo *theInfo = (NavFileOrFolderInfo*)info; + + if (theInfo->isFolder || fs->vstFileSelect->nbFileTypes == 0) + result = true; + else + { + FSRef ref; + AECoerceDesc (theItem, typeFSRef, theItem); + if (AEGetDescData (theItem, &ref, sizeof (FSRef)) == noErr) + { + LSItemInfoRecord infoRecord; + if (LSCopyItemInfoForRef (&ref, kLSRequestExtension | kLSRequestTypeCreator, &infoRecord) == noErr) + { + char extension [128]; + extension[0] = 0; + if (infoRecord.extension) + CFStringGetCString (infoRecord.extension, extension, 128, kCFStringEncodingUTF8); + for (long i = 0; i < fs->vstFileSelect->nbFileTypes; i++) + { + VstFileType* ft = &fs->vstFileSelect->fileTypes[i]; + if ((OSType)ft->macType == infoRecord.filetype) + { + result = true; + break; + } + else if (infoRecord.extension) + { + if (!strcasecmp (extension, ft->unixType) || !strcasecmp (extension, ft->dosType)) + { + result = true; + break; + } + } + } + if (infoRecord.extension) + CFRelease (infoRecord.extension); + } + } + } + return result; +} +#endif + +END_NAMESPACE_VSTGUI + +#if WINDOWS +#include +//----------------------------------------------------------------------------- +UINT_PTR APIENTRY SelectDirectoryHook (HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_NOTIFY: + { + OFNOTIFY *lpon = (OFNOTIFY *)lParam; + + switch (lpon->hdr.code) + { + case CDN_FILEOK: + CommDlg_OpenSave_GetFolderPath (GetParent (hdlg), selDirPath, kPathMax); + bDidCancel = false; + break; + + case CDN_INITDONE: { + #define HIDE_ITEMS 4 + int i; + UINT hide_items[HIDE_ITEMS] = {edt1, stc3, cmb1, stc2}; + + for (i = 0; i < HIDE_ITEMS; i++) + CommDlg_OpenSave_HideControl (GetParent (hdlg), hide_items[i]); + + CommDlg_OpenSave_SetControlText (GetParent (hdlg), stc4, (char*)(const char*)stringLookIn); + CommDlg_OpenSave_SetControlText (GetParent (hdlg), IDOK, (char*)(const char*)stringSelect); + CommDlg_OpenSave_SetControlText (GetParent (hdlg), IDCANCEL, (char*)(const char*)stringCancel); + } break; + } + } break; + + case WM_INITDIALOG: + fpOldSelectDirectoryButtonProc = /*(FARPROC)*/(WNDPROC)SetWindowLongPtr ( + GetDlgItem (GetParent (hdlg), IDOK), + GWLP_WNDPROC, (LONG_PTR)SelectDirectoryButtonProc); + break; + + case WM_DESTROY: + SetWindowLongPtr (GetDlgItem (GetParent (hdlg), IDOK), + GWLP_WNDPROC, (LONG_PTR)fpOldSelectDirectoryButtonProc); + } + return false; +} + +//----------------------------------------------------------------------------- +LRESULT CALLBACK SelectDirectoryButtonProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_SETTEXT: + if (! (strcmp ((char *)lParam, stringSelect) == 0)) + return false; + break; + + case WM_LBUTTONUP: + case WM_RBUTTONUP: { + char mode[256]; + GetWindowText (hwnd, mode, 256); + if (!strcmp (mode, stringSelect)) + { + bFolderSelected = true; + char oldDirPath[kPathMax]; + CommDlg_OpenSave_GetFolderPath (GetParent (hwnd), oldDirPath, kPathMax); + // you need a lot of tricks to get name of currently selected folder: + // the following call of the original windows procedure causes the + // selected folder to open and after that you can retrieve its name + // by calling ..._GetFolderPath (...) + CallWindowProc ((WNDPROC)fpOldSelectDirectoryButtonProc, hwnd, message, wParam, lParam); + CommDlg_OpenSave_GetFolderPath (GetParent (hwnd), selDirPath, kPathMax); + + if (1) // consumers like it like this + { + if (strcmp (oldDirPath, selDirPath) == 0 || selDirPath [0] == 0) + { + // the same folder as the old one, means nothing selected: close + bFolderSelected = true; + bDidCancel = false; + PostMessage (GetParent (hwnd), WM_CLOSE, 0, 0); + return false; + } + else + { + // another folder is selected: browse into it + bFolderSelected = false; + return true; + } + } + else // original code + { + if (strcmp (oldDirPath, selDirPath) == 0 || selDirPath [0] == 0) + { + // the same folder as the old one, means nothing selected: stay open + bFolderSelected = false; + return true; + } + } + } + + bDidCancel = false; + PostMessage (GetParent (hwnd), WM_CLOSE, 0, 0); + return false; + } break; + } // end switch + + return CallWindowProc ((WNDPROC)fpOldSelectDirectoryButtonProc, hwnd, message, wParam, lParam); +} + +//----------------------------------------------------------------------------- +static void showPathInWindowTitle (HWND hParent, LPOFNOTIFY lpon) +{ + #define WINDOWTEXTSIZE 260 + 64 + OPENFILENAME *ofn = lpon->lpOFN; + char text[WINDOWTEXTSIZE]; + char *p; + size_t len; + + // Put the path into the Window Title + if (lpon->lpOFN->lpstrTitle) + strcpy (text, lpon->lpOFN->lpstrTitle); + else + { + char *pp; + + GetWindowText (hParent, text, WINDOWTEXTSIZE); + pp = strchr (text, '-'); + if (pp) + *--pp = 0; + } + + p = strcat (text, " - ["); + p = text; + len = strlen (text); + p += len; + len = WINDOWTEXTSIZE - len - 2; + CommDlg_OpenSave_GetFolderPath (hParent, p, len); + strcat (text, "]"); + SetWindowText (hParent, text); +} + +//------------------------------------------------------------------------ +UINT_PTR APIENTRY WinSaveHook (HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) + { + case WM_NOTIFY: { + LPOFNOTIFY lpon = (LPOFNOTIFY)lParam; + if (!lpon) + break; + + switch (lpon->hdr.code) + { + case CDN_FOLDERCHANGE: + showPathInWindowTitle (GetParent (hdlg), lpon); + break; + } + } break; + } // end switch + + return 0; +} +#endif + +//----------------------------------------------------------------------------- diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h new file mode 100644 index 0000000..11d84be --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h @@ -0,0 +1,133 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// Version 3.0 $Date: 2005/11/01 10:03:05 $ +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __cfileselector__ +#define __cfileselector__ + +#include "vstgui.h" + +BEGIN_NAMESPACE_VSTGUI + +#ifndef __aeffectx__ +struct VstFileSelect; +#endif + +//----------------------------------------------------------------------------- +// CFileSelector Declaration +//! +//----------------------------------------------------------------------------- +class CFileSelector +{ +public: + CFileSelector (void* ptr); + virtual ~CFileSelector (); + + long run (VstFileSelect *vstFileSelect); + +protected: + void* ptr; + VstFileSelect *vstFileSelect; + + #if MAC + static pascal void navEventProc (const NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD); + static pascal Boolean navObjectFilterProc (AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode); + #endif +}; + +#ifndef __aeffectx__ +struct VstFileType +{ + VstFileType (char* _name, char *_macType, char *_dosType, char *_unixType = 0, char *_mimeType1 = 0, char *_mimeType2 = 0) + { + if (_name) + strcpy (name, _name); + if (_macType) + strcpy (macType, _macType); + if (_dosType) + strcpy (dosType, _dosType); + if (_unixType) + strcpy (unixType, _unixType); + if (_mimeType1) + strcpy (mimeType1, _mimeType1); + if (_mimeType2) + strcpy (mimeType2, _mimeType2); + } + char name[128]; + char macType[8]; + char dosType[8]; + char unixType[8]; + char mimeType1[128]; + char mimeType2[128]; +}; + +struct VstFileSelect +{ + long command; // see enum kVstFileLoad.... + long type; // see enum kVstFileType... + + long macCreator; // optional: 0 = no creator + + long nbFileTypes; // nb of fileTypes to used + VstFileType *fileTypes; // list of fileTypes + + char title[1024]; // text display in the file selector's title + + char *initialPath; // initial path + + char *returnPath; // use with kVstFileLoad and kVstDirectorySelect + // if null is passed, the host will allocated memory + // the plugin should then called closeOpenFileSelector for freeing memory + long sizeReturnPath; + + char **returnMultiplePaths; // use with kVstMultipleFilesLoad + // the host allocates this array. The plugin should then called closeOpenFileSelector for freeing memory + long nbReturnPath; // number of selected paths + + long reserved; // reserved for host application + char future[116]; // future use +}; + +enum { + kVstFileLoad = 0, + kVstFileSave, + kVstMultipleFilesLoad, + kVstDirectorySelect, + + kVstFileType = 0 +}; +#endif + +END_NAMESPACE_VSTGUI + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.cpp new file mode 100644 index 0000000..77638bd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.cpp @@ -0,0 +1,497 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// CScrollView written 2004 by Arne Scheffler +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __cscrollview__ +#include "cscrollview.h" +#endif + +#define FOREACHSUBVIEW for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView; +#define ENDFOR } + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +CScrollContainer::CScrollContainer (const CRect &size, const CRect &containerSize, CFrame *pParent, CBitmap *pBackground) +: CViewContainer (size, pParent, pBackground) +, containerSize (containerSize) +, offset (CPoint (0, 0)) +{ + setTransparency (true); + setMode (kOnlyDirtyUpdate); +} + +//----------------------------------------------------------------------------- +CScrollContainer::~CScrollContainer () +{ +} + + +//----------------------------------------------------------------------------- +void CScrollContainer::setContainerSize (const CRect& cs) +{ + containerSize = cs; + setScrollOffset (offset, false); +} + +//----------------------------------------------------------------------------- +void CScrollContainer::setScrollOffset (CPoint newOffset, bool redraw) +{ + if (newOffset.x < containerSize.left - containerSize.width ()) + newOffset.x = containerSize.left - containerSize.width (); + if (newOffset.x > containerSize.right) + newOffset.x = containerSize.right; + if (newOffset.y < containerSize.top) + newOffset.y = containerSize.top; + if (newOffset.y > containerSize.bottom) + newOffset.y = containerSize.bottom; + CPoint diff (newOffset.x - offset.x, offset.y - newOffset.y); + if (diff.x == 0 && diff.y == 0) + return; + CCView *pV = pFirstView; + while (pV) + { + CRect r; + pV->pView->getViewSize (r); + r.offset (diff.x , diff.y); + pV->pView->setViewSize (r); + pV->pView->getMouseableArea (r); + r.offset (diff.x , diff.y); + pV->pView->setMouseableArea (r); + + pV = pV->pNext; + } + offset = newOffset; + + if (0) //redraw) + { + CDrawContext* pContext = getFrame ()->createDrawContext (); + CPoint contextOffset = pContext->offset; + pContext->offset.offset (-contextOffset.x, -contextOffset.y); + pContext->offsetScreen.offset (-contextOffset.x, -contextOffset.y); + redrawRect (pContext, size); + pContext->offset.offset (contextOffset.x, contextOffset.y); + pContext->offsetScreen.offset (contextOffset.x, contextOffset.y); + pContext->forget (); + } + else + setDirty (true); +} + +//----------------------------------------------------------------------------- +void CScrollContainer::redrawRect (CDrawContext* context, const CRect& rect) +{ + CRect _rect (rect); + _rect.offset (size.left, size.top); + _rect.bound (size); + if (bTransparencyEnabled) + { + // as this is transparent, we call the parentview to redraw this area. + if (pParentView) + pParentView->redrawRect (context, _rect); + else if (pParentFrame) + pParentFrame->drawRect (context, _rect); + } + else + drawRect (context, _rect); +} + +//----------------------------------------------------------------------------- +bool CScrollContainer::isDirty () const +{ + if (bDirty) + return true; + + FOREACHSUBVIEW + if (pV->isDirty ()) + { + CRect vs = pV->getViewSize (vs); + vs.offset (size.left, size.top); + if (size.rectOverlap (vs)) + return true; + } + ENDFOR + return false; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +CScrollView::CScrollView (const CRect &size, const CRect &containerSize, CFrame* pParent, long style, long scrollbarWidth, CBitmap* pBackground) +: CViewContainer (size, pParent, pBackground) +, sc (0) +, vsb (0) +, hsb (0) +, containerSize (containerSize) +, style (style) +{ + setTransparency (true); + setMode (kOnlyDirtyUpdate); + + CRect scsize (size); + scsize.offset (-scsize.left, -scsize.top); +// CScrollbar* sb = 0; + if (style & kHorizontalScrollbar) + { + CRect sbr (size); + sbr.offset (-size.left, -size.top); + sbr.top = sbr.bottom - scrollbarWidth; + if (style & kVerticalScrollbar) + { + sbr.right -= (scrollbarWidth - 1); + } + hsb = new CScrollbar (sbr, this, kHSBTag, CScrollbar::kHorizontal, containerSize); + CViewContainer::addView (hsb); + scsize.bottom = sbr.top; + } + if (style & kVerticalScrollbar) + { + CRect sbr (size); + sbr.offset (-size.left, -size.top); + sbr.left = sbr.right - scrollbarWidth; + if (style & kHorizontalScrollbar) + { + sbr.bottom -= (scrollbarWidth - 1); + } + vsb = new CScrollbar (sbr, this, kVSBTag, CScrollbar::kVertical, containerSize); + CViewContainer::addView (vsb); + scsize.right = sbr.left; + } + + sc = new CScrollContainer (scsize, this->containerSize, pParent); + CViewContainer::addView (sc); +} + +//----------------------------------------------------------------------------- +CScrollView::~CScrollView () +{ +} + +//----------------------------------------------------------------------------- +void CScrollView::setContainerSize (const CRect& cs) +{ + containerSize = cs; + if (sc) + { + sc->setContainerSize (cs); + } + if (vsb) + { + vsb->setScrollSize (cs); + valueChanged (NULL, vsb); + } + if (hsb) + { + hsb->setScrollSize (cs); + valueChanged (NULL, hsb); + } +} + +//----------------------------------------------------------------------------- +void CScrollView::addView (CView *pView) +{ + sc->addView (pView); +} + +//----------------------------------------------------------------------------- +void CScrollView::valueChanged (CDrawContext *pContext, CControl *pControl) +{ + if (sc) + { + float value = pControl->getValue (); + long tag = pControl->getTag (); + CPoint offset; + CRect vsize = sc->getViewSize (vsize); + CRect csize = sc->getContainerSize (); + sc->getScrollOffset (offset); + + switch (tag) + { + case kHSBTag: + { + offset.x = csize.left - (CCoord)((csize.width () - vsize.width ()) * value); + sc->setScrollOffset (offset, false); + break; + } + case kVSBTag: + { + offset.y = csize.top + (CCoord)((csize.height () - vsize.height ()) * value); + sc->setScrollOffset (offset, false); + break; + } + } + } +} + +//----------------------------------------------------------------------------- +void CScrollView::drawBackgroundRect (CDrawContext *pContext, CRect& _updateRect) +{ + CRect r (size); + r.offset (-r.left, -r.top); + pContext->setFrameColor (kBlackCColor); + pContext->setLineWidth (1); + pContext->drawRect (r); + CViewContainer::drawBackgroundRect (pContext, _updateRect); +} + +//----------------------------------------------------------------------------- +bool CScrollView::onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance) +{ + bool result = CViewContainer::onWheel (pContext, where, axis, distance); + if (!result) + { + if (vsb && axis == kMouseWheelAxisY) + result = vsb->onWheel (pContext, where, distance); + else if (hsb && axis == kMouseWheelAxisX) + result = hsb->onWheel (pContext, where, distance); + } + return result; +} + +//----------------------------------------------------------------------------- +CScrollbar::CScrollbar (const CRect& size, CControlListener* listener, long tag, long style, const CRect& scrollSize) +: CControl (size, listener, tag, 0) +, style (style) +, scrollSize (scrollSize) +, scrollerArea (size) +, stepValue (0.1f) +, scrollerLength (0) +, drawer (0) +{ + setWheelInc (0.05f); + scrollerArea.inset (2, 2); + calculateScrollerLength (); + frameColor (0, 0, 0, 255); + scrollerColor (0, 0, 255, 255); + backgroundColor (255, 255, 255, 200); +} + +//----------------------------------------------------------------------------- +CScrollbar::~CScrollbar () +{ +} + +//----------------------------------------------------------------------------- +void CScrollbar::setScrollSize (const CRect& ssize) +{ + scrollSize = ssize; + calculateScrollerLength (); + setDirty (true); +} + +//----------------------------------------------------------------------------- +void CScrollbar::calculateScrollerLength () +{ + CCoord newScrollerLength = scrollerLength; + if (style == kHorizontal) + { + float factor = (float)size.width () / (float)scrollSize.width (); + if (factor >= 1.f) + factor = 0; + newScrollerLength = (CCoord)(size.width () * factor); + } + else + { + float factor = (float)size.height () / (float)scrollSize.height (); + if (factor >= 1.f) + factor = 0; + newScrollerLength = (CCoord)(size.height () * factor); + } + if (newScrollerLength != scrollerLength) + { + scrollerLength = newScrollerLength; + setDirty (true); + } +} + +//----------------------------------------------------------------------------- +CRect CScrollbar::getScrollerRect () +{ + CRect scrollerRect (scrollerArea); + CCoord l = (style == kHorizontal) ? scrollerArea.width () : scrollerArea.height (); + CCoord scrollerOffset = (CCoord)(value * (l - scrollerLength)); + if (style == kHorizontal) + { + scrollerRect.setWidth (scrollerLength); + scrollerRect.offset (scrollerOffset, 0); + } + else + { + scrollerRect.setHeight (scrollerLength); + scrollerRect.offset (0, scrollerOffset); + } + return scrollerRect; +} + +//----------------------------------------------------------------------------- +void CScrollbar::mouse (CDrawContext* pContext, CPoint& where, long buttons) +{ + if (buttons == -1) buttons = pContext->getMouseButtons (); + if (buttons != kLButton || scrollerLength == 0) return; + + float newValue = 0.f; + + // scrolling + CRect scrollerRect = getScrollerRect (); + if (where.isInside (scrollerRect)) + { + CPoint newPoint (where); + while (pContext->waitDrag ()) + { + getMouseLocation (pContext, newPoint); + newPoint.x -= where.x - scrollerRect.left; + newPoint.y -= where.y - scrollerRect.top; + if (style == kHorizontal) + { + newValue = (float)(newPoint.x - scrollerArea.left) / ((float)scrollerArea.width () - scrollerRect.width ()); + } + else + { + newValue = (float)(newPoint.y - scrollerArea.top) / ((float)scrollerArea.height () - scrollerRect.height ()); + } + if (newValue < 0.f) newValue = 0.f; + if (newValue > 1.f) newValue = 1.f; + if (newValue != value) + { + value = newValue; + if (listener) + listener->valueChanged (pContext, this); + } + doIdleStuff (); + } + } + // stepping + else if (where.isInside (scrollerArea)) + { + long kWaitTime = 100; + long nextUpdateTime = getFrame ()->getTicks (); + do + { + long ticks = getFrame ()->getTicks (); + if (nextUpdateTime - ticks < 0) + { + if (style == kHorizontal) + { + if (where.x < scrollerRect.left) + newValue = value - (float)scrollerLength / (float)scrollerArea.width (); + else + newValue = value + (float)scrollerLength / (float)scrollerArea.width (); + } + else + { + if (where.y < scrollerRect.top) + newValue = value - (float)scrollerLength / (float)scrollerArea.height (); + else + newValue = value + (float)scrollerLength / (float)scrollerArea.height (); + } + if (newValue < 0.f) newValue = 0.f; + if (newValue > 1.f) newValue = 1.f; + if (newValue != value) + { + value = newValue; + if (listener) + listener->valueChanged (pContext, this); + } + scrollerRect = getScrollerRect (); + if (where.isInside (scrollerRect)) + break; + nextUpdateTime = ticks + kWaitTime; + } + doIdleStuff (); + } while (pContext->getMouseButtons () == kLButton); + } +} + +//------------------------------------------------------------------------ +bool CScrollbar::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + if (!bMouseEnabled) + return false; + + if (style == kHorizontal) + distance *= -1; + + long buttons = pContext->getMouseButtons (); + if (buttons & kShift) + value -= 0.1f * distance * wheelInc; + else + value -= distance * wheelInc; + bounceValue (); + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + return true; +} + +//----------------------------------------------------------------------------- +void CScrollbar::drawBackground (CDrawContext* pContext) +{ + CRect r (size); + if (drawer) + drawer->drawScrollbarBackground (pContext, r, style, this); + else + { + pContext->setLineWidth (1); + pContext->setFillColor (backgroundColor); + pContext->setFrameColor (frameColor); + pContext->drawRect (r, kDrawFilledAndStroked); + } +} + +//----------------------------------------------------------------------------- +void CScrollbar::drawScroller (CDrawContext* pContext, const CRect& size) +{ + CRect r (size); + if (drawer) + drawer->drawScrollbarScroller (pContext, r, style, this); + else + { + pContext->setLineWidth (1); + pContext->setFillColor (scrollerColor); + pContext->setFrameColor (frameColor); + pContext->drawRect (r, kDrawFilledAndStroked); + } +} + +//----------------------------------------------------------------------------- +void CScrollbar::draw (CDrawContext* pContext) +{ + drawBackground (pContext); + if (scrollerLength > 0) + { + CRect scrollerRect = getScrollerRect (); + drawScroller (pContext, scrollerRect); + } + setDirty (false); +} + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.h new file mode 100644 index 0000000..f5f85cd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/cscrollview.h @@ -0,0 +1,179 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// CScrollView written 2004 by Arne Scheffler +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2003, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __cscrollview__ +#define __cscrollview__ + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +BEGIN_NAMESPACE_VSTGUI + +class CScrollbar; +class CScrollContainer; + +//----------------------------------------------------------------------------- +class CScrollView : public CViewContainer, CControlListener +//! a scrollable view +//----------------------------------------------------------------------------- +{ +public: + CScrollView (const CRect &size, const CRect &containerSize, CFrame* pParent, long style, long scrollbarWidth = 16, CBitmap* pBackground = 0); + virtual ~CScrollView (); + + // style + enum { + kHorizontalScrollbar = 1 << 1, ///< add a horizontal scrollbar + kVerticalScrollbar = 1 << 2 ///< add a vertical scrollbar + }; + + virtual void setContainerSize (const CRect& cs); ///< set the virtual size of this container + virtual void addView (CView *pView); + virtual void drawBackgroundRect (CDrawContext *pContext, CRect& _updateRect); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance); + virtual void valueChanged (CDrawContext *pContext, CControl *pControl); + + virtual CScrollbar* getVerticalScrollbar () const { return vsb; } + virtual CScrollbar* getHorizontalScrollbar () const { return hsb; } + + CLASS_METHODS(CScrollView, CViewContainer) +//----------------------------------------------------------------------------- +protected: + CScrollContainer* sc; + CScrollbar* vsb; + CScrollbar* hsb; + + CRect containerSize; + long style; + +private: + enum { + kHSBTag, + kVSBTag, + }; +}; + +//----------------------------------------------------------------------------- +class CScrollContainer : public CViewContainer +//----------------------------------------------------------------------------- +{ +public: + CScrollContainer (const CRect &size, const CRect &containerSize, CFrame *pParent, CBitmap *pBackground = 0); + virtual ~CScrollContainer (); + + void setScrollOffset (CPoint offset, bool withRedraw = false); + void getScrollOffset (CPoint& off) const { off = offset; } + + CRect getContainerSize () const { return containerSize; } + void setContainerSize (const CRect& cs); + + virtual void redrawRect (CDrawContext* context, const CRect& rect); + virtual bool isDirty () const; + + CLASS_METHODS(CScrollContainer, CViewContainer) +//----------------------------------------------------------------------------- +protected: + CRect containerSize; + CPoint offset; +}; + +//----------------------------------------------------------------------------- +class IScrollbarDrawer +//----------------------------------------------------------------------------- +{ +public: + virtual void drawScrollbarBackground (CDrawContext* pContext, const CRect& size, long style, CScrollbar* bar) = 0; + virtual void drawScrollbarScroller (CDrawContext* pContext, const CRect& size, long style, CScrollbar* bar) = 0; +}; + +//----------------------------------------------------------------------------- +class CScrollbar : public CControl +//! a scrollbar control +//----------------------------------------------------------------------------- +{ +public: + CScrollbar (const CRect& size, CControlListener* listener, long tag, long style, const CRect& scrollSize); + virtual ~CScrollbar (); + + enum { + kHorizontal, + kVertical, + }; + + virtual void setDrawer (IScrollbarDrawer* d) { drawer = d; } + virtual void setScrollSize (const CRect& ssize); + virtual void setStep (float newStep) { stepValue = newStep; } + + CRect& getScrollSize (CRect& rect) const { rect = scrollSize; return rect; } + float getStep () const { return stepValue; } + + virtual void setFrameColor (const CColor& color) { frameColor = color; } + virtual void setScrollerColor (const CColor& color) { scrollerColor = color; } + virtual void setBackgroundColor (const CColor& color) { backgroundColor = color; } + + CColor getFrameColor () const { return frameColor; } + CColor getScrollerColor () const { return scrollerColor; } + CColor getBackgroundColor () const { return backgroundColor; } + + virtual void draw (CDrawContext* pContext); + virtual void mouse (CDrawContext* pContext, CPoint& where, long buttons = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + + CLASS_METHODS(CScrollbar, CControl) +//----------------------------------------------------------------------------- +protected: + void drawBackground (CDrawContext* pContext); + void drawScroller (CDrawContext* pContext, const CRect& size); + + void calculateScrollerLength (); + CRect getScrollerRect (); + + long style; + CRect scrollSize; + CRect scrollerArea; + + float stepValue; + CCoord scrollerLength; + + CColor frameColor; + CColor scrollerColor; + CColor backgroundColor; + + IScrollbarDrawer* drawer; +}; + +END_NAMESPACE_VSTGUI + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.cpp new file mode 100644 index 0000000..805fbad --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.cpp @@ -0,0 +1,404 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework not only for VST plugins : +// +// CTabView written 2004 by Arne Scheffler +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __ctabview__ +#include "ctabview.h" +#endif + +BEGIN_NAMESPACE_VSTGUI + +#define kTabButtonTagStart 20000 + +//----------------------------------------------------------------------------- +class CTabButton : public COnOffButton +//----------------------------------------------------------------------------- +{ +public: + CTabButton (const CRect &size, CControlListener *listener, long tag, CBitmap *background, const char* inName) + : COnOffButton (size, listener, tag, background) + , name (0) + { + if (inName) + { + name = (char*)malloc (strlen (inName) + 1); + strcpy (name, inName); + } + activeTextColor = kBlackCColor; + inactiveTextColor (90, 90, 90, 255); + textFont = kSystemFont; + fontSize = 12; + } + + virtual ~CTabButton () + { + if (name) + free (name); + } + + virtual void draw (CDrawContext *pContext) + { + COnOffButton::draw (pContext); + if (name) + { + pContext->setFont (textFont, fontSize); + pContext->setFontColor (value ? activeTextColor : inactiveTextColor); + pContext->drawString (name, size, false); + } + } + + void mouse (CDrawContext *pContext, CPoint &where, long button) + { + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + if (!(button & kLButton)) + return; + + value = ((long)value) ? 0.f : 1.f; + + if (listener) + listener->valueChanged (pContext, this); + } + + virtual void onDragEnter (CDrawContext* context, CDragContainer* drag, const CPoint& where) + { + if (value == 0.f) + { + value = 1.f; + if (listener) + listener->valueChanged (context, this); + } + } + + void setTextFont (const CFont& font) { textFont = font; } + void setActiveTextColor (const CColor& color) { activeTextColor = color; } + void setInactiveTextColor (const CColor& color) { inactiveTextColor = color; } + void setTextSize (const long& textSize) { fontSize = textSize; } + + CLASS_METHODS (CTabButton, COnOffButton) +protected: + char* name; + CFont textFont; + CColor activeTextColor; + CColor inactiveTextColor; + long fontSize; +}; + +//----------------------------------------------------------------------------- +class CTabChildView : public CReferenceCounter +//----------------------------------------------------------------------------- +{ +public: + CTabChildView (CView* view) + : view (view) + , previous (0) + , next (0) + , button (0) + { + } + + virtual ~CTabChildView () + { + view->forget (); + } + + CView* view; + CTabChildView* previous; + CTabChildView* next; + CTabButton* button; +}; + +//----------------------------------------------------------------------------- +CTabView::CTabView (const CRect& size, CFrame* parent, CBitmap* tabBitmap, CBitmap* background, long tabPosition, long style) +: CViewContainer (size, parent, background) +, numberOfChilds (0) +, tabPosition (tabPosition) +, style (style) +, tabSize (CRect (0, 0, 0, 0)) +, tabBitmap (tabBitmap) +, firstChild (0) +, lastChild (0) +, currentChild (0) +{ + if (tabBitmap) + { + tabBitmap->remember (); + tabSize.right = tabBitmap->getWidth (); + tabSize.bottom = tabBitmap->getHeight (); + } + setMode (kOnlyDirtyUpdate); +} + +//----------------------------------------------------------------------------- +CTabView::CTabView (const CRect& size, CFrame* parent, const CRect& tabSize, CBitmap* background, long tabPosition, long style) +: CViewContainer (size, parent, background) +, numberOfChilds (0) +, tabPosition (tabPosition) +, style (style) +, tabSize (tabSize) +, tabBitmap (0) +, firstChild (0) +, lastChild (0) +, currentChild (0) +{ + setMode (kOnlyDirtyUpdate); +} + +//----------------------------------------------------------------------------- +CTabView::~CTabView () +{ + pParentFrame = 0; + removeAllTabs (); + if (tabBitmap) + tabBitmap->forget (); +} + +//----------------------------------------------------------------------------- +bool CTabView::addTab (CView* view, const char* name, CBitmap* tabBitmap) +{ + if (!view) + return false; + if (tabBitmap == 0) + tabBitmap = this->tabBitmap; + + CRect ts (0, 0, tabSize.getWidth (), tabSize.getHeight () / 2); + switch (tabPosition) + { + case kPositionTop: + ts.offset (tabSize.getWidth () * numberOfChilds, 0); break; + case kPositionBottom: + ts.offset (tabSize.getWidth () * numberOfChilds, size.getHeight () - tabSize.getHeight () / 2); break; + case kPositionLeft: + ts.offset (0, tabSize.getHeight () / 2 * numberOfChilds); break; + case kPositionRight: + ts.offset (size.getWidth () - tabSize.getWidth (), tabSize.getHeight () / 2 * numberOfChilds); break; + } + CTabButton* b = new CTabButton (ts, this, numberOfChilds + kTabButtonTagStart, tabBitmap, name); + b->setTransparency (true); + addView (b); + CTabChildView* v = new CTabChildView (view); + v->button = b; + if (lastChild) + { + lastChild->next = v; + v->previous = lastChild; + lastChild = v; + } + else + { + firstChild = lastChild = v; + setCurrentChild (v); + } + numberOfChilds++; + return true; +} + +//----------------------------------------------------------------------------- +bool CTabView::removeTab (CView* view) +{ + if (!view) + return false; + + CTabChildView* v = firstChild; + while (v) + { + if (v->view == view) + { + if (v->previous) + v->previous->next = v->next; + if (v->next) + v->next->previous = v->previous; + if (v == currentChild) + setCurrentChild (v->previous ? v->previous : v->next); + removeView (v->button, true); + v->forget (); + numberOfChilds--; + return true; + } + v = v->next; + } + return false; +} + +//----------------------------------------------------------------------------- +bool CTabView::removeAllTabs () +{ + setCurrentChild (0); + CTabChildView* v = lastChild; + while (v) + { + CTabChildView* next = v->previous; + removeTab (v->view); + v = next; + } + firstChild = 0; + lastChild = 0; + numberOfChilds = 0; + return true; +} + +//----------------------------------------------------------------------------- +bool CTabView::selectTab (long index) +{ + if (index > (long)numberOfChilds) + return false; + CTabChildView* v = firstChild; + long i = 0; + while (v) + { + if (index == i) + break; + v = v->next; + i++; + } + if (v) + { + setCurrentChild (v); + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +void CTabView::setCurrentChild (CTabChildView* childView) +{ + if (childView == currentChild) + { + if (currentChild->button) + currentChild->button->setValue (1.f); + return; + } + if (currentChild) + { + if (currentChild->button) + currentChild->button->setValue (0.f); + removeView (currentChild->view, false); + } + currentChild = childView; + if (currentChild) + { + addView (currentChild->view); + if (currentChild->button) + currentChild->button->setValue (1.f); + } + setDirty (); +} + +//----------------------------------------------------------------------------- +void CTabView::valueChanged (CDrawContext *pContext, CControl *pControl) +{ + if (pControl->isTypeOf ("CTabButton")) + selectTab (pControl->getTag () - kTabButtonTagStart); +} + +//----------------------------------------------------------------------------- +CRect& CTabView::getTabViewSize (CRect& rect) const +{ + rect = size; + rect.offset (-size.left, -size.top); + switch (tabPosition) + { + case kPositionTop: + rect.top += tabSize.getHeight () / 2; break; + case kPositionBottom: + rect.bottom -= tabSize.getHeight () / 2; break; + case kPositionLeft: + rect.left += tabSize.getWidth (); break; + case kPositionRight: + rect.right -= tabSize.getWidth (); break; + } + return rect; +} + +//----------------------------------------------------------------------------- +void CTabView::setTabFontStyle (const CFont& font, long fontSize, CColor selectedColor, CColor deselectedColor) +{ + CTabChildView* v = firstChild; + while (v) + { + v->button->setTextFont (font); + v->button->setTextSize (fontSize); + v->button->setActiveTextColor (selectedColor); + v->button->setInactiveTextColor (deselectedColor); + v = v->next; + } +} + +//----------------------------------------------------------------------------- +void CTabView::alignTabs (long alignment) +{ + CCoord allTabsWidth; + CCoord viewWidth; + CCoord offset = 0; + CRect ts (0, 0, tabSize.getWidth (), tabSize.getHeight () / 2); + if (tabPosition == kPositionTop || tabPosition == kPositionBottom) + { + allTabsWidth = tabSize.getWidth () * numberOfChilds; + viewWidth = size.getWidth (); + } + else + { + allTabsWidth = (tabSize.getHeight () / 2) * numberOfChilds; + viewWidth = size.getHeight (); + } + if (alignment == kAlignCenter) + offset = (viewWidth - allTabsWidth) / 2; + else if (alignment == kAlignLeft) + offset = 0; + else if (alignment == kAlignRight) + offset = viewWidth - allTabsWidth; + if (tabPosition == kPositionTop) + ts.offset (offset, 0); + else if (tabPosition == kPositionBottom) + ts.offset (offset, size.getHeight () - tabSize.getHeight () / 2); + else if (tabPosition == kPositionLeft) + ts.offset (0, offset); + else if (tabPosition == kPositionRight) + ts.offset (size.getWidth () - tabSize.getWidth (), offset); + CTabChildView* v = firstChild; + while (v) + { + v->button->setViewSize (ts); + v->button->setMouseableArea (ts); + if (tabPosition == kPositionTop || tabPosition == kPositionBottom) + ts.offset (tabSize.getWidth (), 0); + else + ts.offset (0, tabSize.getHeight () / 2); + v = v->next; + } + setDirty (true); +} + +END_NAMESPACE_VSTGUI diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h new file mode 100644 index 0000000..c7d4678 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h @@ -0,0 +1,100 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework not only for VST plugins : +// +// CTabView written 2004 by Arne Scheffler +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __ctabview__ +#define __ctabview__ + +#ifndef __vstcontrols__ +#include "vstcontrols.h" +#endif + +BEGIN_NAMESPACE_VSTGUI + +class CTabChildView; + +//----------------------------------------------------------------------------- +class CTabView : public CViewContainer, public CControlListener +//! a tab view +//----------------------------------------------------------------------------- +{ +public: + CTabView (const CRect& size, CFrame* parent, CBitmap* tabBitmap, CBitmap* background = 0, long tabPosition = kPositionTop, long style = 0); + CTabView (const CRect& size, CFrame* parent, const CRect& tabSize, CBitmap* background = 0, long tabPosition = kPositionTop, long style = 0); + virtual ~CTabView (); + + virtual bool addTab (CView* view, const char* name = 0, CBitmap* tabBitmap = 0); + virtual bool removeTab (CView* view); + virtual bool removeAllTabs (); + virtual bool selectTab (long index); + + virtual CRect& getTabViewSize (CRect& rect) const; + + virtual void setTabFontStyle (const CFont& font, long fontSize = 12, CColor selectedColor = kBlackCColor, CColor deselectedColor = kWhiteCColor); ///< call this after the tabs are added. Tabs added after this call will have the default font style. + + virtual void alignTabs (long alignment = kAlignCenter); ///< call this after you have added all tabs + + enum { + kPositionLeft = 0, + kPositionRight, + kPositionTop, + kPositionBottom, + }; + + enum { + kAlignCenter = 0, + kAlignLeft, + kAlignRight, + kAlignTop = kAlignLeft, + kAlignBottom = kAlignRight + }; + + virtual void valueChanged (CDrawContext *pContext, CControl *pControl); +//----------------------------------------------------------------------------- + CLASS_METHODS (CTabView, CViewContainer) +protected: + void setCurrentChild (CTabChildView* childView); + + unsigned long numberOfChilds; + long tabPosition; + long style; + CRect tabSize; + CBitmap* tabBitmap; + CTabChildView* firstChild; + CTabChildView* lastChild; + CTabChildView* currentChild; +}; + +END_NAMESPACE_VSTGUI + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.cpp new file mode 100644 index 0000000..c1f1599 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.cpp @@ -0,0 +1,301 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins +// +// Version 3.0 Date : 30/06/04 +// +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __plugguieditor__ +#include "plugguieditor.h" +#endif + +#define kIdleRate 100 // host idle rate in ms +#define kIdleRate2 50 +#define kIdleRateMin 4 // minimum time between 2 idles in ms + +#if WINDOWS +static struct tagMSG windowsMessage; +#endif + +//----------------------------------------------------------------------------- +// PluginGUIEditor Implementation +//----------------------------------------------------------------------------- +/*! @class PluginGUIEditor +This is the same as the AEffGUIEditor class except that this one allows +the VSTGUI lib to build without VST dependencies. +*/ +PluginGUIEditor::PluginGUIEditor (void *pEffect) + : effect (pEffect), frame (0), inIdleStuff (false) +{ + systemWindow = 0; + lLastTicks = getTicks (); + + #if WINDOWS + OleInitialize (0); + #endif + #if MACX + void InitMachOLibrary (); + InitMachOLibrary (); + #endif +} + +//----------------------------------------------------------------------------- +PluginGUIEditor::~PluginGUIEditor () +{ + #if WINDOWS + OleUninitialize (); + #endif + #if MACX + void ExitMachOLibrary (); + ExitMachOLibrary (); + #endif +} + +//----------------------------------------------------------------------------- +void PluginGUIEditor::draw (ERect *ppErect) +{ + if (frame) + { + if (ppErect) + { + CRect r (ppErect->left, ppErect->top, ppErect->right, ppErect->bottom); + CDrawContext context (frame, NULL, systemWindow); + frame->drawRect (&context, r); + } + else + frame->draw (); + } +} + +//----------------------------------------------------------------------------- +bool PluginGUIEditor::open (void *ptr) +{ + systemWindow = ptr; + return true; +} + +//----------------------------------------------------------------------------- +void PluginGUIEditor::idle () +{ + if (frame) + frame->idle (); +} + +//----------------------------------------------------------------------------- +long PluginGUIEditor::knobMode = kCircularMode; + +//----------------------------------------------------------------------------- +long PluginGUIEditor::setKnobMode (int val) +{ + PluginGUIEditor::knobMode = val; + return 1; +} + +//----------------------------------------------------------------------------- +bool PluginGUIEditor::onWheel (float distance) +{ + if (frame) + { + CDrawContext context (frame, NULL, systemWindow); + CPoint where; + context.getMouseLocation (where); + return frame->onWheel (&context, where, distance); + } + + return false; +} + +//----------------------------------------------------------------------------- +void PluginGUIEditor::wait (unsigned long ms) +{ + #if MAC + unsigned long ticks; + Delay (ms * 60 / 1000, &ticks); + + #elif WINDOWS + Sleep (ms); + + #endif +} + +//----------------------------------------------------------------------------- +unsigned long PluginGUIEditor::getTicks () +{ + #if MAC + return (TickCount () * 1000) / 60; + + #elif WINDOWS + return (unsigned long)GetTickCount (); + + #endif + + return 0; +} + +//----------------------------------------------------------------------------- +void PluginGUIEditor::doIdleStuff () +{ + // get the current time + unsigned long currentTicks = getTicks (); + + // YG TEST idle (); + if (currentTicks < lLastTicks) + { + #if (MAC && TARGET_API_MAC_CARBON) + RunCurrentEventLoop (kEventDurationMillisecond * kIdleRateMin); + #else + wait (kIdleRateMin); + #endif + currentTicks += kIdleRateMin; + if (currentTicks < lLastTicks - kIdleRate2) + return; + } + idle (); // TEST + + #if WINDOWS + if (PeekMessage (&windowsMessage, NULL, WM_PAINT, WM_PAINT, PM_REMOVE)) + DispatchMessage (&windowsMessage); + + #elif MACX + EventRef event; + EventTypeSpec eventTypes[] = { {kEventClassWindow, kEventWindowUpdate}, {kEventClassWindow, kEventWindowDrawContent} }; + if (ReceiveNextEvent (GetEventTypeCount (eventTypes), eventTypes, kEventDurationNoWait, true, &event) == noErr) + { + SendEventToEventTarget (event, GetEventDispatcherTarget ()); + ReleaseEvent (event); + } + #endif + + // save the next time + lLastTicks = currentTicks + kIdleRate; +} + +//----------------------------------------------------------------------------- +long PluginGUIEditor::getRect (ERect **ppErect) +{ + *ppErect = ▭ + return true; +} + +#if MACX +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +extern "C" { +#include +#include +} +#include + +BEGIN_NAMESPACE_VSTGUI + +void* gBundleRef = 0; + +END_NAMESPACE_VSTGUI + +#if USE_NAMESPACE +#define VSTGUI_BUNDLEREF VSTGUI::gBundleRef +#else +#define VSTGUI_BUNDLEREF gBundleRef +#endif + +#if PLUGGUI_STANDALONE +void InitMachOLibrary () +{ + VSTGUI_BUNDLEREF = CFBundleGetMainBundle (); +} + +void ExitMachOLibrary () {} +#else +// ----------------------------------------------------------------------------- +static CFBundleRef _CFXBundleCreateFromImageName (CFAllocatorRef allocator, const char* image_name); +static CFBundleRef _CFXBundleCreateFromImageName (CFAllocatorRef allocator, const char* image_name) +{ + CFURLRef myBundleExecutableURL = CFURLCreateFromFileSystemRepresentation (allocator, (const unsigned char*)image_name, strlen (image_name), false); + if (myBundleExecutableURL == 0) + return 0; + + CFURLRef myBundleContentsMacOSURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleExecutableURL); // Delete Versions/Current/Executable + CFRelease (myBundleExecutableURL); + if (myBundleContentsMacOSURL == 0) + return 0; + + CFURLRef myBundleContentsURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleContentsMacOSURL); // Delete Current + CFRelease (myBundleContentsMacOSURL); + if (myBundleContentsURL == 0) + return 0; + + CFURLRef theBundleURL = CFURLCreateCopyDeletingLastPathComponent (allocator, myBundleContentsURL); // Delete Versions + CFRelease (myBundleContentsURL); + if (theBundleURL == 0) + return 0; + + CFBundleRef result = CFBundleCreate (allocator, theBundleURL); + CFRelease (theBundleURL); + + return result; +} + +// ----------------------------------------------------------------------------- +void InitMachOLibrary (); +void InitMachOLibrary () +{ + const mach_header* header = &_mh_bundle_header; + if (header == 0) + return; + + const char* imagename = 0; + /* determine the image name, TODO: ther have to be a better way */ + int cnt = _dyld_image_count(); + for (int idx1 = 1; idx1 < cnt; idx1++) + { + if (_dyld_get_image_header(idx1) == header) + { + imagename = _dyld_get_image_name(idx1); + break; + } + } + if (imagename == 0) + return; + /* get the bundle of a header, TODO: ther have to be a better way */ + VSTGUI_BUNDLEREF = _CFXBundleCreateFromImageName (NULL, imagename); +} + +// ----------------------------------------------------------------------------- +void ExitMachOLibrary (); +void ExitMachOLibrary () +{ + if (VSTGUI_BUNDLEREF) + CFRelease (VSTGUI_BUNDLEREF); +} + +#endif +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h new file mode 100644 index 0000000..11c27ab --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h @@ -0,0 +1,122 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins +// +// Version 3.0 Date : 30/06/04 +// +//----------------------------------------------------------------------------- +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __plugguieditor__ +#define __plugguieditor__ + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +//---------------------------------------------------------------------- +struct ERect +{ + short top; + short left; + short bottom; + short right; +}; + +//----------------------------------------------------------------------------- +// AEffGUIEditor Declaration +//----------------------------------------------------------------------------- +class PluginGUIEditor +{ +public : + + PluginGUIEditor (void *pEffect); + + virtual ~PluginGUIEditor (); + + virtual void setParameter (long index, float value) {} + virtual long getRect (ERect **ppRect); + virtual bool open (void *ptr); + virtual void close () { systemWindow = 0; } + virtual void idle (); + virtual void draw (ERect *pRect); + + // wait (in ms) + void wait (unsigned long ms); + + // get the current time (in ms) + unsigned long getTicks (); + + // feedback to appli. + virtual void doIdleStuff (); + + // get the effect attached to this editor + void *getEffect () { return effect; } + + // get version of this VSTGUI + long getVstGuiVersion () { return (VSTGUI_VERSION_MAJOR << 16) + VSTGUI_VERSION_MINOR; } + + // set/get the knob mode + virtual long setKnobMode (int val); + static long getKnobMode () { return knobMode; } + + virtual bool onWheel (float distance); + + // get the CFrame object + #if USE_NAMESPACE + VSTGUI::CFrame *getFrame () { return frame; } + #else + CFrame *getFrame () { return frame; } + #endif + + virtual void beginEdit (long index) {} + virtual void endEdit (long index) {} + +//--------------------------------------- +protected: + ERect rect; + + #if USE_NAMESPACE + VSTGUI::CFrame *frame; + #else + CFrame *frame; + #endif + + void* effect; + void* systemWindow; + +private: + unsigned long lLastTicks; + bool inIdleStuff; + + static long knobMode; +}; + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.cpp new file mode 100644 index 0000000..ba164d9 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.cpp @@ -0,0 +1,5516 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// Standard Control Objects +// +// Version 3.0 $Date: 2006/02/09 10:18:20 $ +// +// Added new objects : Michael Schmidt 08.97 +// Added new objects : Yvan Grabit 01.98 +// Added BeOS version : Georges-Edouard Berenger 05.99 +// Added MacOSX version : Arne Scheffler 02.03 +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include +#include +#include +#include + +#ifndef __vstcontrols__ +#include "vstcontrols.h" +#endif + +#include "vstkeycode.h" + +#if (__MACH__ && __MWERKS__) + #ifndef cosf + #define cosf (float)cos + #endif + + #ifndef sinf + #define sinf (float)sin + #endif +#endif + +BEGIN_NAMESPACE_VSTGUI + +// some external variables (vstgui.cpp) +extern long gStandardFontSize []; +extern const char *gStandardFontName []; + +//------------------------------------------------------------------------ +// CControl +//------------------------------------------------------------------------ +/*! @class CControl +This object manages the tag identification and the value of a control object. + +Note: +Since version 2.1, when an object uses the transparency for its background and draws on it (tranparency area) +or the transparency area changes during different draws (CMovieBitmap ,...), the background will be false (not updated), +you have to rewrite the draw function in order to redraw the background and then call the draw of the object. +*/ +CControl::CControl (const CRect &size, CControlListener *listener, long tag, + CBitmap *pBackground) +: CView (size), + listener (listener), tag (tag), oldValue (1), defaultValue (0.5f), + value (0), vmin (0), vmax (1.f), wheelInc (0.1f), lastTicks (-1) +{ + #if WINDOWS + delta = GetDoubleClickTime (); + #elif MAC + delta = GetDblTime (); + #else + delta = 500; + #endif + + if (delta < 250) + delta = 250; + + setTransparency (false); + setMouseEnabled (true); + backOffset (0 ,0); + + setBackground (pBackground); +} + +//------------------------------------------------------------------------ +CControl::~CControl () +{ +} + +//------------------------------------------------------------------------ +void CControl::beginEdit () +{ + // begin of edit parameter + getFrame ()->setFocusView(this); + getFrame ()->beginEdit (tag); +} + +//------------------------------------------------------------------------ +void CControl::endEdit () +{ + // end of edit parameter + getFrame ()->endEdit (tag); +} + +//------------------------------------------------------------------------ +bool CControl::isDirty () const +{ + if (oldValue != value || CView::isDirty ()) + return true; + return false; +} + +//------------------------------------------------------------------------ +void CControl::setDirty (const bool val) +{ + CView::setDirty (val); + if (val) + { + if (value != -1.f) + oldValue = -1.f; + else + oldValue = 0.f; + } + else + oldValue = value; +} + +//------------------------------------------------------------------------ +void CControl::setBackOffset (CPoint &offset) +{ + backOffset = offset; +} + +//----------------------------------------------------------------------------- +void CControl::copyBackOffset () +{ + backOffset (size.left, size.top); +} + +//------------------------------------------------------------------------ +void CControl::bounceValue () +{ + if (value > vmax) + value = vmax; + else if (value < vmin) + value = vmin; +} + +//----------------------------------------------------------------------------- +bool CControl::checkDefaultValue (CDrawContext *pContext, long button) +{ + if (button == (kControl|kLButton)) + { + // begin of edit parameter + beginEdit (); + + value = getDefaultValue (); + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +bool CControl::isDoubleClick () +{ + long ticks = getFrame ()->getTicks (); + if (lastTicks <= 0) + { + lastTicks = ticks; + return false; + } + + if (lastTicks + delta > ticks) + lastTicks = 0; + else + { + lastTicks = ticks; + return false; + } + return true; +} + +//------------------------------------------------------------------------ +// COnOffButton +//------------------------------------------------------------------------ +/*! @class COnOffButton +Define a button with 2 positions. +The pixmap includes the 2 subpixmaps (i.e the rectangle used for the display of this button is half-height of the pixmap). +When its value changes, the listener is called. +*/ +COnOffButton::COnOffButton (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, long style) +: CControl (size, listener, tag, background) +, style (style) +{} + +//------------------------------------------------------------------------ +COnOffButton::~COnOffButton () +{} + +//------------------------------------------------------------------------ +void COnOffButton::draw (CDrawContext *pContext) +{ + CCoord off; + + if (value && pBackground) + off = pBackground->getHeight () / 2; + else + off = 0; + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, CPoint (0, off)); + else + pBackground->draw (pContext, size, CPoint (0, off)); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void COnOffButton::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + if (!(button & kLButton)) + return; + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + value = ((long)value) ? 0.f : 1.f; + + if (listener && style == kPostListenerUpdate) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + } + + doIdleStuff (); + + if (listener && style == kPreListenerUpdate) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + } +} + + +//------------------------------------------------------------------------ +// CKnob +//------------------------------------------------------------------------ +/*! @class CKnob +Define a knob with a given background and foreground handle. +The handle describes a circle over the background (between -45deg and +225deg). +By clicking Alt+Left Mouse the default value is used. +By clicking Alt+Left Mouse the value changes with a vertical move (version 2.1) +*/ +CKnob::CKnob (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CBitmap *handle, const CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), pHandle (handle) +{ + if (pHandle) + { + pHandle->remember (); + inset = (long)((float)pHandle->getWidth () / 2.f + 2.5f); + } + else + inset = 3; + + colorShadowHandle = kGreyCColor; + colorHandle = kWhiteCColor; + radius = (float)(size.right - size.left) / 2.f; + + rangeAngle = 1.f; + setStartAngle ((float)(5.f * kPI / 4.f)); + setRangeAngle ((float)(-3.f * kPI / 2.f)); + zoomFactor = 1.5f; + + setWantsFocus (true); +} + +//------------------------------------------------------------------------ +CKnob::~CKnob () +{ + if (pHandle) + pHandle->forget (); +} + +//------------------------------------------------------------------------ +void CKnob::draw (CDrawContext *pContext) +{ + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, offset); + else + pBackground->draw (pContext, size, offset); + } + drawHandle (pContext); + setDirty (false); +} + +//------------------------------------------------------------------------ +void CKnob::drawHandle (CDrawContext *pContext) +{ + CPoint where; + valueToPoint (where); + + if (pHandle) + { + long width = (long)pHandle->getWidth (); + long height = (long)pHandle->getHeight (); + where.offset (size.left - width / 2, size.top - height / 2); + + CRect handleSize (0, 0, width, height); + handleSize.offset (where.h, where.v); + pHandle->drawTransparent (pContext, handleSize); + } + else + { + CPoint origin (size.width () / 2, size.height () / 2); + + where.offset (size.left - 1, size.top); + origin.offset (size.left - 1, size.top); + pContext->setFrameColor (colorShadowHandle); + pContext->moveTo (where); + pContext->lineTo (origin); + + where.offset (1, -1); + origin.offset (1, -1); + pContext->setFrameColor (colorHandle); + pContext->moveTo (where); + pContext->lineTo (origin); + } +} + +//------------------------------------------------------------------------ +void CKnob::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + if (!(button & kLButton)) + return; + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + // check if default value wanted + if (checkDefaultValue (pContext, button)) + return; + + float old = oldValue; + CPoint firstPoint; + bool modeLinear = false; + float fEntryState = value; + float middle = (vmax - vmin) * 0.5f; + float range = 200.f; + float coef = (vmax - vmin) / range; + long oldButton = button; + + long mode = kCircularMode; + long newMode = getFrame ()->getKnobMode (); + if (kLinearMode == newMode) + { + if (!(button & kAlt)) + mode = newMode; + } + else if (button & kAlt) + mode = kLinearMode; + + if (mode == kLinearMode && (button & kLButton)) + { + if (button & kShift) + range *= zoomFactor; + firstPoint = where; + modeLinear = true; + coef = (vmax - vmin) / range; + } + else + { + CPoint where2 (where); + where2.offset (-size.left, -size.top); + old = valueFromPoint (where2); + } + + CPoint oldWhere (-1, -1); + + // begin of edit parameter + beginEdit (); + do + { + button = pContext->getMouseButtons (); + if (where != oldWhere) + { + oldWhere = where; + if (modeLinear) + { + CCoord diff = (firstPoint.v - where.v) + (where.h - firstPoint.h); + if (button != oldButton) + { + range = 200.f; + if (button & kShift) + range *= zoomFactor; + + float coef2 = (vmax - vmin) / range; + fEntryState += diff * (coef - coef2); + coef = coef2; + oldButton = button; + } + value = fEntryState + diff * coef; + bounceValue (); + } + else + { + where.offset (-size.left, -size.top); + value = valueFromPoint (where); + if (old - value > middle) + value = vmax; + else if (value - old > middle) + value = vmin; + else + old = value; + } + if (isDirty () && listener) + listener->valueChanged (pContext, this); + } + getMouseLocation (pContext, where); + doIdleStuff (); + + } while (button & kLButton); + + // end of edit parameter + endEdit (); +} + +//------------------------------------------------------------------------ +bool CKnob::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + if (!bMouseEnabled) + return false; + + long buttons = pContext->getMouseButtons (); + if (buttons & kShift) + value += 0.1f * distance * wheelInc; + else + value += distance * wheelInc; + bounceValue (); + + if (isDirty () && listener) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + } + return true; +} + +//------------------------------------------------------------------------ +long CKnob::onKeyDown (VstKeyCode& keyCode) +{ + switch (keyCode.virt) + { + case VKEY_UP : + case VKEY_RIGHT : + case VKEY_DOWN : + case VKEY_LEFT : + { + float distance = 1.f; + if (keyCode.virt == VKEY_DOWN || keyCode.virt == VKEY_LEFT) + distance = -distance; + + if (keyCode.modifier & MODIFIER_SHIFT) + value += 0.1f * distance * wheelInc; + else + value += distance * wheelInc; + bounceValue (); + + if (isDirty () && listener) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (0, this); + + // end of edit parameter + endEdit (); + } + } return 1; + } + return -1; +} + +//------------------------------------------------------------------------ +void CKnob::setStartAngle (float val) +{ + startAngle = val; + compute (); +} + +//------------------------------------------------------------------------ +void CKnob::setRangeAngle (float val) +{ + rangeAngle = val; + compute (); +} + +//------------------------------------------------------------------------ +void CKnob::compute () +{ + aCoef = (vmax - vmin) / rangeAngle; + bCoef = vmin - aCoef * startAngle; + halfAngle = ((float)k2PI - fabsf (rangeAngle)) * 0.5f; + setDirty (); +} + +//------------------------------------------------------------------------ +void CKnob::valueToPoint (CPoint &point) const +{ + float alpha = (value - bCoef) / aCoef; + point.h = (long)(radius + cosf (alpha) * (radius - inset) + 0.5f); + point.v = (long)(radius - sinf (alpha) * (radius - inset) + 0.5f); +} + +//------------------------------------------------------------------------ +float CKnob::valueFromPoint (CPoint &point) const +{ + float v; + float alpha = (float)atan2 (radius - point.v, point.h - radius); + if (alpha < 0.f) + alpha += (float)k2PI; + + float alpha2 = alpha - startAngle; + if (rangeAngle < 0) + { + alpha2 -= rangeAngle; + float alpha3 = alpha2; + if (alpha3 < 0.f) + alpha3 += (float)k2PI; + else if (alpha3 > k2PI) + alpha3 -= (float)k2PI; + if (alpha3 > halfAngle - rangeAngle) + v = vmax; + else if (alpha3 > -rangeAngle) + v = vmin; + else + { + if (alpha2 > halfAngle - rangeAngle) + alpha2 -= (float)k2PI; + else if (alpha2 < -halfAngle) + alpha2 += (float)k2PI; + v = aCoef * alpha2 + vmax; + } + } + else + { + float alpha3 = alpha2; + if (alpha3 < 0.f) + alpha3 += (float)k2PI; + else if (alpha3 > k2PI) + alpha3 -= (float)k2PI; + if (alpha3 > rangeAngle + halfAngle) + v = vmin; + else if (alpha3 > rangeAngle) + v = vmax; + else + { + if (alpha2 > rangeAngle + halfAngle) + alpha2 -= (float)k2PI; + else if (alpha2 < -halfAngle) + alpha2 += (float)k2PI; + v = aCoef * alpha2 + vmin; + } + } + + return v; +} + +//------------------------------------------------------------------------ +void CKnob::setColorShadowHandle (CColor color) +{ + colorShadowHandle = color; + setDirty (); +} + +//------------------------------------------------------------------------ +void CKnob::setColorHandle (CColor color) +{ + colorHandle = color; + setDirty (); +} + +//------------------------------------------------------------------------ +void CKnob::setHandleBitmap (CBitmap *bitmap) +{ + if (pHandle) + { + pHandle->forget (); + pHandle = 0; + } + + if (bitmap) + { + pHandle = bitmap; + pHandle->remember (); + inset = (long)((float)pHandle->getWidth () / 2.f + 2.5f); + } +} + + +//------------------------------------------------------------------------ +// CParamDisplay +//------------------------------------------------------------------------ +/*! @class CParamDisplay +Define a rectangle view where a text-value can be displayed with a given font and color. +The user can specify its convert function (from float to char) by default the string format is "%2.2f". +The text-value is centered in the given rect. +*/ +CParamDisplay::CParamDisplay (const CRect &size, CBitmap *background, const long style) +: CControl (size, 0, 0, background), stringConvert (0), stringConvert2 (0), string2FloatConvert (0), + horiTxtAlign (kCenterText), style (style), bTextTransparencyEnabled (true) +{ + backOffset (0, 0); + + fontID = kNormalFont; + txtFace = kNormalFace; + fontColor = kWhiteCColor; + backColor = kBlackCColor; + frameColor = kBlackCColor; + shadowColor = kRedCColor; + userData = 0; + if (style & kNoDrawStyle) + setDirty (false); +} + +//------------------------------------------------------------------------ +CParamDisplay::~CParamDisplay () +{} + +//------------------------------------------------------------------------ +void CParamDisplay::setStyle (long val) +{ + if (style != val) + { + style = val; + setDirty (); + } +} + +//------------------------------------------------------------------------ +void CParamDisplay::draw (CDrawContext *pContext) +{ + char string[256]; + string[0] = 0; + + if (stringConvert2) + stringConvert2 (value, string, userData); + else if (stringConvert) + stringConvert (value, string); + else + sprintf (string, "%2.2f", value); + + drawText (pContext, string); +} + +//------------------------------------------------------------------------ +void CParamDisplay::drawText (CDrawContext *pContext, char *string, CBitmap *newBack) +{ + setDirty (false); + + if (style & kNoDrawStyle) + return; + + // draw the background + if (newBack) + { + if (bTransparencyEnabled) + newBack->drawTransparent (pContext, size, backOffset); + else + newBack->draw (pContext, size, backOffset); + } + else if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, backOffset); + else + pBackground->draw (pContext, size, backOffset); + } + else + { + if (!bTransparencyEnabled) + { + pContext->setFillColor (backColor); + pContext->fillRect (size); + + if (!(style & (k3DIn|k3DOut|kNoFrame))) + { + pContext->setFrameColor (frameColor); + pContext->drawRect (size); + } + } + } + // draw the frame for the 3D effect + if (style & (k3DIn|k3DOut)) + { + CRect r (size); + r.right--; r.top++; + r.bottom--; + pContext->setLineWidth (1); + if (style & k3DIn) + pContext->setFrameColor (backColor); + else + pContext->setFrameColor (frameColor); + CPoint p; + pContext->moveTo (p (r.left, r.bottom)); + pContext->lineTo (p (r.left, r.top)); + pContext->lineTo (p (r.right, r.top)); + + if (style & k3DIn) + pContext->setFrameColor (frameColor); + else + pContext->setFrameColor (backColor); + pContext->moveTo (p (r.right, r.top)); + pContext->lineTo (p (r.right, r.bottom)); + pContext->lineTo (p (r.left, r.bottom)); + } + + if (!(style & kNoTextStyle) && string) + { + CRect oldClip; + pContext->getClipRect (oldClip); + CRect newClip (size); + newClip.bound (oldClip); + pContext->setClipRect (newClip); + pContext->setFont (fontID, 0, txtFace); + + // draw darker text (as shadow) + if (style & kShadowText) + { + CRect newSize (size); + newSize.offset (1, 1); + pContext->setFontColor (shadowColor); + pContext->drawString (string, newSize, !bTextTransparencyEnabled, horiTxtAlign); + } + pContext->setFontColor (fontColor); + pContext->drawString (string, size, !bTextTransparencyEnabled, horiTxtAlign); + pContext->setClipRect (oldClip); + } +} + +//------------------------------------------------------------------------ +void CParamDisplay::setFont (CFont fontID) +{ + // to force the redraw + if (this->fontID != fontID) + setDirty (); + this->fontID = fontID; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setTxtFace (CTxtFace txtFace) +{ + // to force the redraw + if (this->txtFace != txtFace) + setDirty (); + this->txtFace = txtFace; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setFontColor (CColor color) +{ + // to force the redraw + if (fontColor != color) + setDirty (); + fontColor = color; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setBackColor (CColor color) +{ + // to force the redraw + if (backColor != color) + setDirty (); + backColor = color; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setFrameColor (CColor color) +{ + // to force the redraw + if (frameColor != color) + setDirty (); + frameColor = color; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setShadowColor (CColor color) +{ + // to force the redraw + if (shadowColor != color) + setDirty (); + shadowColor = color; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setHoriAlign (CHoriTxtAlign hAlign) +{ + // to force the redraw + if (horiTxtAlign != hAlign) + setDirty (); + horiTxtAlign = hAlign; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setStringConvert (void (*convert) (float value, char *string)) +{ + stringConvert = convert; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setStringConvert (void (*convert) (float value, char *string, + void *userDta), void *userData) +{ + stringConvert2 = convert; + this->userData = userData; +} + +//------------------------------------------------------------------------ +void CParamDisplay::setString2FloatConvert (void (*convert) (char *string, float &output)) +{ + string2FloatConvert = convert; +} + +//------------------------------------------------------------------------ +// CTextLabel +//------------------------------------------------------------------------ +/*! @class CTextLabel +*/ +CTextLabel::CTextLabel (const CRect& size, const char* txt, CBitmap* background, const long style) +: CParamDisplay (size, background, style) +, text (0) +{ + setText (txt); +} + +//------------------------------------------------------------------------ +CTextLabel::~CTextLabel () +{ + freeText (); +} + +//------------------------------------------------------------------------ +void CTextLabel::freeText () +{ + if (text) + free (text); + text = 0; +} + +//------------------------------------------------------------------------ +void CTextLabel::setText (const char* txt) +{ + freeText (); + if (txt) + { + text = (char*)malloc (strlen (txt)+1); + strcpy (text, txt); + } +} + +//------------------------------------------------------------------------ +const char* CTextLabel::getText () const +{ + return text; +} + +//------------------------------------------------------------------------ +void CTextLabel::draw (CDrawContext *pContext) +{ + drawText (pContext, text); + setDirty (false); +} + + +//------------------------------------------------------------------------ +// CTextEdit +//------------------------------------------------------------------------ +/*! @class CTextEdit +Define a rectangle view where a text-value can be displayed and edited with a given font and color. +The user can specify its convert function (from char to char). The text-value is centered in the given rect. +A pixmap can be used as background. +*/ +CTextEdit::CTextEdit (const CRect &size, CControlListener *listener, long tag, + const char *txt, CBitmap *background, const long style) +: CParamDisplay (size, background, style), platformFontColor (0), platformControl (0), + platformFont (0), editConvert (0), editConvert2 (0) +{ +#if (MAC && !MACX) + text_edit = 0; +#endif + this->listener = listener; + this->tag = tag; + + if (txt) + strcpy (text, txt); + else + strcpy (text, ""); +#if MAC + // remember our VST plugin's resource map ID (it should be the current one at this moment) + pluginResID = CurResFile(); +#endif +#if QUARTZ + textControl = 0; +#endif + setWantsFocus (true); +} + +//------------------------------------------------------------------------ +CTextEdit::~CTextEdit () +{} + +//------------------------------------------------------------------------ +void CTextEdit::setText (char *txt) +{ + if (txt) + { + if (strcmp (text, txt)) + { + strcpy (text, txt); + + // to force the redraw + setDirty (); + } + } + else + { + if (strcmp (text, "")) + { + strcpy (text, ""); + + // to force the redraw + setDirty (); + } + } +} + +//------------------------------------------------------------------------ +void CTextEdit::getText (char *txt) const +{ + if (txt) + strcpy (txt, text); +} + +//------------------------------------------------------------------------ +void CTextEdit::draw (CDrawContext *pContext) +{ + if (platformControl) + { + #if MACX + #if QUARTZ + if (textControl) + { + HIViewSetNeedsDisplay (textControl, true); + } + else + #endif + TXNDraw ((TXNObject)platformControl, NULL); + #endif + setDirty (false); + return; + } + + char string[256]; + string[0] = 0; + + if (editConvert2) + editConvert2 (text, string, userData); + else if (editConvert) + editConvert (text, string); + // Allow to display strings through the stringConvert + // callbacks inherited from CParamDisplay + else if (stringConvert2) + { + string[0] = 0; + stringConvert2 (value, string, userData); + strcpy(text, string); + } + else if (stringConvert) + { + string[0] = 0; + stringConvert (value, string); + strcpy(text, string); + } + else + sprintf (string, "%s", text); + + drawText (pContext, string); + setDirty (false); +} + +//------------------------------------------------------------------------ +void CTextEdit::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (button & kLButton) + { + if (getFrame ()->getFocusView () != this) + { + if (style & kDoubleClickStyle) + if (!isDoubleClick ()) + return; + + beginEdit(); + takeFocus (pContext); + } + } +} + +//------------------------------------------------------------------------ +#if WINDOWS +#define WIN32_LEAN_AND_MEAN 1 +#include + +END_NAMESPACE_VSTGUI + +#if PLUGGUI + extern HINSTANCE ghInst; + inline HINSTANCE GetInstance () { return ghInst; } +#else + extern void* hInstance; + inline HINSTANCE GetInstance () { return (HINSTANCE)hInstance; } +#endif + +BEGIN_NAMESPACE_VSTGUI + +extern long standardFontSize []; +extern const char *standardFontName []; + +#ifdef STRICT +#define WINDOWSPROC WNDPROC +#else +#define WINDOWSPROC FARPROC +#endif + +static WINDOWSPROC oldWndProcEdit; +LONG_PTR WINAPI WindowProcEdit (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); +LONG_PTR WINAPI WindowProcEdit (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_GETDLGCODE : + { + long flags = DLGC_WANTALLKEYS; + return flags; + } + + case WM_KEYDOWN: + { + if (wParam == VK_RETURN) + { + CTextEdit *textEdit = (CTextEdit*) GetWindowLongPtr (hwnd, GWLP_USERDATA); + if (textEdit) + { + textEdit->bWasReturnPressed = true; + textEdit->looseFocus (); + } + } + } break; + + case WM_KILLFOCUS: + { + CTextEdit *textEdit = (CTextEdit*) GetWindowLongPtr (hwnd, GWLP_USERDATA); + if (textEdit) + textEdit->looseFocus (); + } break; + } + + return CallWindowProc (oldWndProcEdit, hwnd, message, wParam, lParam); +} + +//------------------------------------------------------------------------ +#elif MOTIF +#include +extern XFontStruct *gFontStructs[]; +#endif + +//------------------------------------------------------------------------ +#if BEOS +#include +#include + +class BeTextView : public BTextView +{ +public: + BeTextView (CTextEdit* cTextEdit, BRect frame, + const char *name, BRect textRect); + void MakeFocus (bool focusState = true); + void KeyDown (const char *bytes, int32 numBytes); +private: + CTextEdit *cTextEdit; +}; + +//------------------------------------------------------------------------ +BeTextView::BeTextView (CTextEdit* cTextEdit, BRect frame, const char *name, BRect textRect) +: BTextView (frame, name, textRect, B_FOLLOW_NONE), cTextEdit (cTextEdit) +{} + +//------------------------------------------------------------------------ +void BeTextView::MakeFocus (bool focusState) +{ + BTextView::MakeFocus (focusState); + if (!focusState && cTextEdit) + cTextEdit->looseFocus (); +} + +//------------------------------------------------------------------------ +void BeTextView::KeyDown (const char *bytes, int32 numBytes) +{ + if (cTextEdit && (bytes[0] == B_RETURN || bytes[0] == B_TAB)) + cTextEdit->looseFocus (); + else + BTextView::KeyDown (bytes, numBytes); +} +#endif + +#if MACX +static EventHandlerRef gTextEditEventHandler = 0; +static bool gTextEditCanceled = false; +pascal OSStatus CarbonEventsTextControlProc (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData); +pascal OSStatus CarbonEventsTextControlProc (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData) +{ + OSStatus result = eventNotHandledErr; + UInt32 eventClass = GetEventClass (inEvent); + UInt32 eventKind = GetEventKind (inEvent); + CTextEdit* textEdit = (CTextEdit*)inUserData; + + switch (eventClass) + { + case kEventClassKeyboard: + { + switch (eventKind) + { + case kEventRawKeyDown: + case kEventRawKeyRepeat: + { + char macCharCode; + UInt32 keyCode; + UInt32 modifiers; + GetEventParameter (inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof (char), NULL, &macCharCode); + GetEventParameter (inEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof (UInt32), NULL, &keyCode); + GetEventParameter (inEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof (UInt32), NULL, &modifiers); + if (macCharCode == 13 || macCharCode == 3 || macCharCode == 27) + { + if (macCharCode == 27) + gTextEditCanceled = true; + else + textEdit->bWasReturnPressed = true; + + WindowRef window = (WindowRef) (textEdit->getFrame ()->getSystemWindow()); + GrafPtr savedPort; + bool portChanged = window ? QDSwapPort (GetWindowPort (window), &savedPort) : false; + + // remember the current resource map ID + short currentResID = CurResFile(); + short vstResFileID = textEdit->pluginResID; + // if it's different (and if it's valid), set the current resource map ID to our plugin's resource map + if ( (vstResFileID != currentResID) && (vstResFileID > 0) ) + UseResFile(vstResFileID); + + textEdit->looseFocus (); + + // revert the window port, if we changed it + if (portChanged) + QDSwapPort (savedPort, NULL); + // revert the current resource map, if we changed it + if ( (currentResID > 0) && (vstResFileID != currentResID) && (vstResFileID > 0) ) + UseResFile(currentResID); + + result = noErr; + } + #if QUARTZ + else if (textEdit->textControl) + break; + #endif + else if (modifiers & cmdKey) + { + result = noErr; + TXNObject text_edit = (TXNObject) (textEdit->platformControl); + switch (toupper(macCharCode)) + { + // copy + case 'C': + if (!TXNIsSelectionEmpty(text_edit)) + { + OSStatus scrapErr = ClearCurrentScrap(); + scrapErr = TXNCopy(text_edit); + result = noErr; + } + break; + // cut + case 'X': + if (!TXNIsSelectionEmpty(text_edit)) + { + OSStatus scrapErr = ClearCurrentScrap(); + scrapErr = TXNCut(text_edit); + result = noErr; + } + break; + // paste + case 'V': + TXNPaste(text_edit); + result = noErr; + break; + + // select all + case 'A': + TXNSelectAll(text_edit); + break; + + default: + break; + } + } + else + { + EventRecord eventRecord; + if (ConvertEventRefToEventRecord (inEvent, &eventRecord)) + TXNKeyDown ((TXNObject)textEdit->platformControl, &eventRecord); + result = noErr; + } + break; + } + } + break; + } + case kEventClassMouse: + { + switch (eventKind) + { + case kEventMouseDown: + case kEventMouseUp: + { + WindowRef window; + GetEventParameter (inEvent, kEventParamWindowRef, typeWindowRef, NULL, sizeof (WindowRef), NULL, &window); + HIPoint p; + GetEventParameter (inEvent, kEventParamMouseLocation, typeHIPoint, NULL, sizeof (HIPoint), NULL, &p); + Point point = {(short)p.y, (short)p.x}; + QDGlobalToLocalPoint (GetWindowPort (window), &point); + Rect rect; + TXNGetViewRect ((TXNObject)textEdit->platformControl, &rect); + if (PtInRect (point, &rect)) + { + EventRecord eventRecord; + if (eventKind == kEventMouseDown && ConvertEventRefToEventRecord (inEvent, &eventRecord)) + TXNClick ((TXNObject)textEdit->platformControl, &eventRecord); + result = noErr; + } + break; + } + case kEventMouseMoved: + { + TXNAdjustCursor ((TXNObject)textEdit->platformControl, NULL); + break; + } + } + break; + } + case kEventClassWindow: + { + WindowRef window; + if (GetEventParameter (inEvent, kEventParamDirectObject, typeWindowRef, NULL, sizeof (WindowRef), NULL, &window) != noErr) + break; + switch (eventKind) + { + case kEventWindowDeactivated: + { + result = CallNextEventHandler (inHandlerCallRef, inEvent); + ClearKeyboardFocus (window); + + // set up the correct drawing port for the window + GrafPtr savedPort; + bool portChanged = QDSwapPort (GetWindowPort (window), &savedPort); + + // remember the current resource map ID + short currentResID = CurResFile(); + short vstResFileID = textEdit->pluginResID; + // if it's different (and if it's valid), set the current resource map ID to our plugin's resource map + if ( (vstResFileID != currentResID) && (vstResFileID > 0) ) + UseResFile(vstResFileID); + + textEdit->looseFocus (); + + // revert the window port, if we changed it + if (portChanged) + QDSwapPort (savedPort, NULL); + // revert the current resource map, if we changed it + if ( (currentResID > 0) && (vstResFileID != currentResID) && (vstResFileID > 0) ) + UseResFile(currentResID); + + break; + } + } + break; + } + } + return result; +} +#endif + +#if MAC && CALL_NOT_IN_CARBON +#include +#include +#define ClearCurrentScrap ZeroScrap +#endif + +//------------------------------------------------------------------------ +void CTextEdit::takeFocus (CDrawContext *pContext) +{ + bWasReturnPressed = false; + +#if WINDOWS || MACX + // calculate offset for CViewContainers + CRect rect (size); + CView* parent = getParentView (); + CRect vSize; + while (parent) + { + if (parent->notify (this, kMsgCheckIfViewContainer) == kMessageNotified) + { + parent->getViewSize (vSize); + rect.offset (vSize.left, vSize.top); + } + parent = parent->getParentView (); + } + if (pContext) + rect.offset (pContext->offset.h, pContext->offset.v); +#endif + +#if WINDOWS + int wstyle = 0; + if (horiTxtAlign == kLeftText) + wstyle |= ES_LEFT; + else if (horiTxtAlign == kRightText) + wstyle |= ES_RIGHT; + else + wstyle |= ES_CENTER; + + wstyle |= WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL; + platformControl = (void*)CreateWindow ( + "EDIT", text, wstyle, + rect.left, rect.top, rect.width ()/* + 1*/, rect.height ()/* + 1*/, + (HWND)getFrame ()->getSystemWindow (), NULL, GetInstance (), 0); + + // get/set the current font + LOGFONT logfont = {0}; + + long fontH = gStandardFontSize [fontID]; + if (fontH > rect.height () - 2) + fontH = rect.height () - 2; + + logfont.lfWeight = FW_NORMAL; + logfont.lfHeight = -fontH; + logfont.lfPitchAndFamily = VARIABLE_PITCH | FF_SWISS; + strcpy (logfont.lfFaceName, gStandardFontName[fontID]); + + logfont.lfClipPrecision = CLIP_STROKE_PRECIS; + logfont.lfOutPrecision = OUT_STRING_PRECIS; + logfont.lfQuality = DEFAULT_QUALITY; + logfont.lfCharSet = ANSI_CHARSET; + + platformFont = (HANDLE)CreateFontIndirect (&logfont); + platformFontColor = 0; + + SetWindowLongPtr ((HWND)platformControl, GWLP_USERDATA, (LONG_PTR)this); + SendMessage ((HWND)platformControl, WM_SETFONT, (WPARAM)platformFont, true); + SendMessage ((HWND)platformControl, EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN, MAKELONG (0, 0)); + SendMessage ((HWND)platformControl, EM_SETSEL, 0, -1); + SendMessage ((HWND)platformControl, EM_LIMITTEXT, 255, 0); + SetFocus ((HWND)platformControl); + + oldWndProcEdit = (WINDOWSPROC)SetWindowLongPtr ((HWND)platformControl, GWLP_WNDPROC, (LONG_PTR)WindowProcEdit); + +#elif MAC +#if MACX + WindowRef window = (WindowRef)getFrame ()->getSystemWindow (); + #if QUARTZ + WindowAttributes winAttributes; + GetWindowAttributes (window, &winAttributes); + if (winAttributes & kWindowCompositingAttribute) + { + Rect r; + r.left = (short)rect.left;// + 2; + r.right = (short)rect.right;// - 4; + r.top = (short)rect.top;// + 2; + r.bottom = (short)rect.bottom;// - 4; + if (rect.getHeight () > gStandardFontSize [fontID]) + { + r.top = (short)(rect.top + rect.getHeight () / 2 - gStandardFontSize [fontID] / 2 + 1); + r.bottom = (short)(r.top + gStandardFontSize [fontID]); + } + if (CreateEditUnicodeTextControl (NULL, &r, NULL, false, NULL, &textControl) == noErr) + { + HIViewAddSubview ((HIViewRef)getFrame ()->getPlatformControl (), textControl); + HIViewSetFirstSubViewFocus ((HIViewRef)getFrame ()->getPlatformControl (), textControl); + HIViewAdvanceFocus ((HIViewRef)getFrame ()->getPlatformControl (), 0); + EventTypeSpec eventTypes[] = { { kEventClassWindow, kEventWindowDeactivated }, { kEventClassKeyboard, kEventRawKeyDown }, { kEventClassKeyboard, kEventRawKeyRepeat } }; + InstallControlEventHandler (textControl, CarbonEventsTextControlProc, GetEventTypeCount (eventTypes), eventTypes, this, &gTextEditEventHandler); + platformControl = textControl; + if (strlen (text) > 0) + { + CFStringRef textString = CFStringCreateWithCString (NULL, text, kCFStringEncodingUTF8); + if (textString) + { + SetControlData (textControl, kControlEditTextPart, kControlEditTextCFStringTag, sizeof (CFStringRef), &textString); + CFRelease (textString); + } + ControlEditTextSelectionRec selection; + selection.selStart = 0; + selection.selEnd = strlen (text); + SetControlData (textControl, kControlEditTextPart, kControlEditTextSelectionTag, sizeof (ControlEditTextSelectionRec), &selection); + } + Boolean singleLineStyle = true; + SetControlData (textControl, kControlEditTextPart, kControlEditTextSingleLineTag, sizeof (Boolean), &singleLineStyle); + ControlFontStyleRec fontStyle; + memset (&fontStyle, 0, sizeof (fontStyle)); + fontStyle.flags = kControlUseJustMask | kControlUseSizeMask | kControlUseFontMask; + switch (horiTxtAlign) + { + case kLeftText: fontStyle.just = teFlushLeft; break; + case kRightText: fontStyle.just = teFlushRight; break; + default: fontStyle.just = teCenter; break; + } + fontStyle.size = gStandardFontSize [fontID]; + extern const char* gMacXfontNames[]; + Str255 fontName; + CopyCStringToPascal ((const char*)gMacXfontNames[fontID], fontName); + GetFNum (fontName, &fontStyle.font); + SetControlData (textControl, kControlEditTextPart, kControlFontStyleTag, sizeof (fontStyle), &fontStyle); + HIViewSetVisible (textControl, true); + } + return; + } + if (pContext) + rect.offset (pContext->offsetScreen.h, pContext->offsetScreen.v); + #endif + static bool gTXNInititalized = false; + if (!gTXNInititalized) + { + TXNMacOSPreferredFontDescription defaults; // fontID, pointSize, encoding, and fontStyle + defaults.fontID = 0; + defaults.pointSize = kTXNDefaultFontSize; + defaults.encoding = CreateTextEncoding(kTextEncodingMacRoman, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat); + defaults.fontStyle = kTXNDefaultFontStyle; + TXNInitOptions options = 0; + TXNInitTextension(&defaults, 1, options); + gTXNInititalized = true; + } + gTextEditCanceled = false; + TXNFrameOptions iFrameOptions = kTXNMonostyledTextMask | kTXNDisableDragAndDropMask | kTXNSingleLineOnlyMask; //kTXNNoKeyboardSyncMask | kTXNDisableDragAndDropMask | kTXNSingleLineOnlyMask | kTXNMonostyledTextMask; + TXNFrameID frameID = 0; + TXNObjectRefcon iRefCon = 0; + TXNObject object; + Rect r; + r.left = (short)rect.left; + r.right = (short)rect.right; + r.top = (short)rect.top; + r.bottom = (short)rect.bottom; + OSStatus err; + err = TXNNewObject (NULL, window, &r, iFrameOptions, kTXNTextEditStyleFrameType, kTXNSingleStylePerTextDocumentResType, kTXNMacOSEncoding, &object, &frameID, iRefCon); + if (err == noErr) + { + platformControl = object; + TXNSetFrameBounds ((TXNObject)platformControl, r.top, r.left, r.bottom, r.right, frameID); + + if (strlen (text) > 0) + TXNSetData ((TXNObject)platformControl, kTXNTextData, (void*)text, strlen (text), kTXNStartOffset, kTXNEndOffset); + // set background + extern void CColor2RGBColor (const CColor &cc, RGBColor &rgb); + RGBColor rgbBackColor = { 0, 0, 0}; + CColor2RGBColor (kWhiteCColor /*backColor*/, rgbBackColor); + RGBColor rgbTextColor = { 32767, 32767, 32767 }; + CColor2RGBColor (kBlackCColor /*fontColor*/, rgbTextColor); + RGBBackColor (&rgbBackColor); + RGBForeColor (&rgbTextColor); + TXNBackground txnBackground; + txnBackground.bgType = kTXNBackgroundTypeRGB; + txnBackground.bg.color = rgbBackColor; + TXNSetBackground ((TXNObject)platformControl, &txnBackground); + // set justification + TXNControlTag controlTag[1]; + TXNControlData controlData[1]; + SInt32 just; + switch (horiTxtAlign) + { + case kLeftText : just = kTXNFlushLeft; break; + case kRightText : just = kTXNFlushRight; break; + default : just = kTXNCenter; break; + } + controlTag[0] = kTXNJustificationTag; + controlData[0].sValue = just; + TXNSetTXNObjectControls ((TXNObject)platformControl, false, 1, controlTag, controlData); + // set font + TXNTypeAttributes attributes[3]; + // font name + extern const unsigned char* gMacXfontNames[]; + + short familyID; + #if QUARTZ + Str255 fontName; + CopyCStringToPascal ((const char*)gMacXfontNames[fontID], fontName); + GetFNum (fontName, &familyID); + #else + GetFNum (gMacXfontNames[fontID], &familyID); + #endif + + ATSUFontID fontNameID; + + ATSUFONDtoFontID (familyID, 0, &fontNameID); + + attributes[0].tag = kATSUFontTag; + attributes[0].size = sizeof(ATSUFontID); + attributes[0].data.dataPtr = &fontNameID; + // size + long fontSize = gStandardFontSize [fontID] << 16; // needs to be in Fixed format + attributes[1].tag = kTXNQDFontSizeAttribute; + attributes[1].size = kTXNFontSizeAttributeSize; + attributes[1].data.dataValue = fontSize; + // color + attributes[2].tag = kTXNQDFontColorAttribute; + attributes[2].size = kTXNQDFontColorAttributeSize; + attributes[2].data.dataPtr = &rgbTextColor; + + TXNSetTypeAttributes ((TXNObject)platformControl, 3, attributes, kTXNStartOffset, kTXNEndOffset); + + SetUserFocusWindow (window); + AdvanceKeyboardFocus (window); + TXNActivate ((TXNObject)platformControl, frameID, false); + TXNFocus ((TXNObject)platformControl, true); + EventTypeSpec eventTypes[] = { { kEventClassMouse, kEventMouseMoved }, { kEventClassMouse, kEventMouseDown }, { kEventClassMouse, kEventMouseUp }, { kEventClassWindow, kEventWindowDeactivated }, { kEventClassKeyboard, kEventRawKeyDown }, { kEventClassKeyboard, kEventRawKeyRepeat } }; + InstallWindowEventHandler (window, CarbonEventsTextControlProc, GetEventTypeCount (eventTypes), eventTypes, this, &gTextEditEventHandler); + TXNSelectAll ((TXNObject)platformControl); + + } + +#else + bool ende = false; + char c; + EventRecord theEvent; + Rect rect, vrect; + + platformControl = new char[256]; + + rect.left = size.left; + rect.right = size.right; + rect.top = size.top; + rect.bottom = size.bottom; + #if !TARGET_API_MAC_CARBON + rect.bottom++; + rect.right++; + #endif + + if (pContext) + { + rect.left += pContext->offset.h; + rect.right += pContext->offset.h; + rect.top += pContext->offset.v; + rect.bottom += pContext->offset.v; + } + vrect = rect; + + vrect.top++; + vrect.left++; + vrect.right--; + #if TARGET_API_MAC_CARBON + vrect.bottom--; + #endif + + RGBColor blackrgb = {0, 0, 0}; + RGBColor whitergb = {0xffff, 0xffff, 0xffff}; + RGBForeColor (&blackrgb); + RGBBackColor (&whitergb); + + EraseRect (&rect); + //FrameRect (&rect); // Dave + #if !TARGET_API_MAC_CARBON + InsetRect (&vrect, 0, -2); + #endif + + TextFont (kFontIDHelvetica); + TextSize (gStandardFontSize [fontID]); + + text_edit = TENew (&rect, &vrect); + + if (horiTxtAlign == kLeftText) + TESetAlignment (teJustLeft, (TEHandle)text_edit); + else if (horiTxtAlign == kRightText) + TESetAlignment (teJustRight, (TEHandle)text_edit); + else + TESetAlignment (teJustCenter, (TEHandle)text_edit); + + char string[256]; + strcpy (string, text); + TESetText (string, strlen (string), (TEHandle)text_edit); + TESetSelect (0, strlen (string), (TEHandle)text_edit); + TEUpdate (&(**(TEHandle)text_edit).viewRect, (TEHandle)text_edit); + TEActivate ((TEHandle)text_edit); + HLock ((Handle)text_edit); + + (**(TEHandle)text_edit).crOnly = -1; + + bLoosefocusWanted = false; + + while (!ende && !bLoosefocusWanted) + { + GetNextEvent (everyEvent, &theEvent); + switch (theEvent.what) + { + case nullEvent: + doIdleStuff (); + break; + case autoKey : + case keyDown : + RGBForeColor (&blackrgb); + RGBBackColor (&whitergb); + + c = theEvent.message & charCodeMask; + if (c == 13 || c == 3 || c == 27) + { + if (c == 13) + bWasReturnPressed = true; + ende = true; + } + else if (((theEvent.message >> 8) & 0xFF) == 0x75) + { + if ((**(TEHandle)text_edit).selEnd < (**(TEHandle)text_edit).teLength) + { + if (((**(TEHandle)text_edit).selEnd - (**(TEHandle)text_edit).selStart) > 1) + TEDelete ((TEHandle)text_edit); + else + TEKey (0x1D, (TEHandle)text_edit); + c = 8; + } + else + c = -1; + } + if (theEvent.modifiers & cmdKey) + { + switch (toupper(c)) + { + // copy + case 'C': + if ((**(TEHandle)text_edit).selEnd > (**(TEHandle)text_edit).selStart) + { + OSStatus scrapErr = ClearCurrentScrap(); + TECopy((TEHandle)text_edit); + if (scrapErr == noErr) + scrapErr = TEToScrap(); + } + break; + // cut + case 'X': + if ((**(TEHandle)text_edit).selEnd > (**(TEHandle)text_edit).selStart) + { + OSStatus scrapErr = ClearCurrentScrap(); + TECut((TEHandle)text_edit); + if (scrapErr == noErr) + scrapErr = TEToScrap(); + } + break; + // paste + case 'V': + { + OSErr scrapErr = TEFromScrap(); + TEPaste((TEHandle)text_edit); + } + break; + // select all + case 'A': + TESetSelect(0, (**(TEHandle)text_edit).teLength, (TEHandle)text_edit); + break; + default: + break; + } + } + else if (!ende) + TEKey (c, (TEHandle)text_edit); + break; + case mouseDown : + GlobalToLocal (&theEvent.where); + if (PtInRect (theEvent.where, &rect)) + { + bool shiftdown = (theEvent.modifiers & shiftKey) != 0; + TEClick (theEvent.where, shiftdown, (TEHandle)text_edit); + } + else + ende = true; + break; + } + } + CharsHandle h = TEGetText ((TEHandle)text_edit); + short length = (**(TEHandle)text_edit).teLength; + if (length > 255) + length = 255; + strncpy ((char*)platformControl, (char*)*h, length); + ((char*)platformControl)[length] = 0; + + HUnlock ((Handle)text_edit); + TEDeactivate ((TEHandle)text_edit); + TEDispose ((TEHandle)text_edit); + text_edit = 0; + looseFocus (); + +#endif +#elif MOTIF + // we have to add the Text to the parent !! + Dimension posX, posY; + Widget widget = (Widget)(getFrame ()->getSystemWindow ()); + XtVaGetValues (widget, XmNx, &posX, XmNy, &posY, 0); + + Arg args[20]; + int n = 0; + XtSetArg (args[n], XmNx, size.left + posX); n++; + XtSetArg (args[n], XmNy, size.top + posY); n++; + XtSetArg (args[n], XmNwidth, size.width () + 1); n++; + XtSetArg (args[n], XmNheight, size.height () + 2); n++; + + XtSetArg (args[n], XmNvalue, text); n++; + + XtSetArg (args[n], XmNshadowType, XmSHADOW_IN); n++; + XtSetArg (args[n], XmNshadowThickness, 0); n++; + XtSetArg (args[n], XmNcursorPositionVisible, true); n++; + + XtSetArg (args[n], XmNmarginWidth, 0); n++; + XtSetArg (args[n], XmNmarginHeight, 0); n++; + XtSetArg (args[n], XmNresizeHeight, True); n++; + XtSetArg (args[n], XmNborderWidth, 0); n++; + XtSetArg (args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++; + + // get/set the current font + XmFontList fl = 0; + XFontStruct* fs = fontStructs[fontID]; + if (fs) + { + XmFontListEntry entry = XmFontListEntryCreate (XmFONTLIST_DEFAULT_TAG, XmFONT_IS_FONT, fs); + XmFontList fl = XmFontListAppendEntry (0, entry); + XtSetArg (args[n], XmNfontList, fl); n++; + } + + platformControl = XmCreateText (XtParent (widget), "Text", args, n); + XtManageChild ((Widget)platformControl); + if (fl) + XmFontListFree (fl); + XmTextSetSelection ((Widget)platformControl, 0, strlen (text), 0); + XmTextSetHighlight ((Widget)platformControl, 0, strlen (text), XmHIGHLIGHT_SELECTED); + +#elif BEOS + BView* plugView = (BView*) getFrame ()->getSystemWindow (); + CRect rect; + getFrame ()->getSize (&rect); + BRect r (rect.left + size.left, rect.top + size.top, rect.left + size.right, rect.top + size.bottom); + BRect tr = r; + tr.OffsetTo (B_ORIGIN); + tr.InsetBy (1, 1); + BeTextView* textView = new BeTextView (this, r, NULL, tr); + plugView->Window ()->Activate (true); + plugView->AddChild (textView); + BFont font; + if (fontID < 0 || fontID >= kNumStandardFonts) + fontID = kSystemFont; + extern const char* gStandardFontStyle[]; + font.SetFamilyAndStyle (gStandardFontName[fontID], gStandardFontStyle[fontID]); + font.SetSize (gStandardFontSize[fontID]); + rgb_color c = { fontColor.red, fontColor.green, fontColor.blue, 255 }; + textView->SetFontAndColor (&font, B_FONT_FAMILY_AND_STYLE | B_FONT_SIZE, &c); + rgb_color cv = { backColor.red, backColor.green, backColor.blue, 255 }; + textView->SetMaxBytes (255); + textView->SetViewColor (cv); + alignment a; + if (horiTxtAlign == kRightText) + a = B_ALIGN_RIGHT; + else if (horiTxtAlign == kLeftText) + a = B_ALIGN_LEFT; + else + a = B_ALIGN_CENTER; + textView->SetAlignment (a); + textView->SetText (text); + textView->DisallowChar ('\n'); + textView->DisallowChar ('\t'); + textView->MakeResizable (true); + textView->MakeFocus (true); + textView->SelectAll (); + platformControl = textView; +#endif +} + +//------------------------------------------------------------------------ +void CTextEdit::looseFocus (CDrawContext *pContext) +{ + // Call this yet to avoid recursive call + endEdit(); + if (getFrame ()->getFocusView () == this) + getFrame ()->setFocusView (0); + + if (platformControl == 0) + return; + + char oldText[256]; + strcpy (oldText, text); + +#if WINDOWS + char newText[255]; + GetWindowText ((HWND)platformControl, newText, 255); + strcpy (text, newText); + + DestroyWindow ((HWND)platformControl); + if (platformFont) + { + DeleteObject ((HGDIOBJ)platformFont); + platformFont = 0; + } + if (platformFontColor) + { + DeleteObject (platformFontColor); + platformFontColor = 0; + } + +#elif MAC + + #if MACX + if (platformControl == 0) + return; + + if (gTextEditEventHandler) + RemoveEventHandler (gTextEditEventHandler); + gTextEditEventHandler = 0; + #if QUARTZ + if (textControl) + { + CFStringRef cfstr; + if (!gTextEditCanceled && GetControlData (textControl, kControlEditTextPart, kControlEditTextCFStringTag, sizeof cfstr, (void*)&cfstr, NULL) == noErr) + { + CFStringGetCString (cfstr, text, 255, kCFStringEncodingUTF8); + CFRelease (cfstr); + } + HIViewSetVisible (textControl, false); + HIViewRemoveFromSuperview (textControl); + textControl = 0; + pParentFrame->setCursor (kCursorDefault); + } + else + #endif + { + if (!gTextEditCanceled) + { + CharsHandle dataHandle; + TXNGetDataEncoded ((TXNObject)platformControl, kTXNStartOffset, kTXNEndOffset, &dataHandle, kTXNTextData); + if (dataHandle != NULL && GetHandleSize (dataHandle) > 0) + { + long s = GetHandleSize (dataHandle); + strncpy (text, *dataHandle, (s > 255) ? 255 : s); + text [(s > 255) ? 255 : s] = 0; + DisposeHandle (dataHandle); + } + else + text[0] = 0; + } + TXNFocus ((TXNObject)platformControl, false); + TXNDeleteObject ((TXNObject)platformControl); + } + + platformControl = 0; + + setDirty (true); + + #if 0//QUARTZ + CRect fr (size); + CPoint offset; + localToFrame (offset); + fr.offset (offset.x, offset.y); + + RgnHandle rgn = NewRgn (); + MacSetRectRgn (rgn, fr.left, fr.top, fr.right, fr.bottom); + HIViewSetNeedsDisplayInRegion ((HIViewRef)getFrame ()->getPlatformControl () , rgn, true); + DisposeRgn (rgn); + #endif +// doIdleStuff (); + + #else + + strcpy (text, (char*)platformControl); + delete[] platformControl; + #endif +#elif MOTIF + char *pNewText = XmTextGetString ((Widget)platformControl); + strcpy (text, pNewText); + XtFree (pNewText); + + XtUnmanageChild ((Widget)platformControl); + XtDestroyWidget ((Widget)platformControl); + +#elif BEOS + BTextView* textView = (BTextView*) platformControl; + strncpy (text, textView->Text (), 255); + if (textView->LockLooper ()) + { + BWindow* w = textView->Window (); + textView->RemoveSelf (); + w->Unlock (); + } + delete textView; + +#endif + CPoint origOffset; + bool resetContextOffset = false; + if (!pContext) + { + // create a local context + pContext = getFrame ()->createDrawContext (); + if (getParentView ()) + { + resetContextOffset = true; + origOffset.x = pContext->offset.x; + origOffset.y = pContext->offset.y; + CView *view= getParentView (); + CRect rect2; + view->getViewSize (rect2); + CPoint offset; + view->localToFrame (offset); + rect2.offset (offset.x, offset.y); + pContext->offset.h = rect2.left; + pContext->offset.v = rect2.top; + } + } + else + pContext->remember (); + + // update dependency + bool change = false; + if (strcmp (oldText, text)) + { + change = true; + if (listener) + listener->valueChanged (pContext, this); + } + + platformControl = 0; + if (resetContextOffset) + { + pContext->offset.x = origOffset.x; + pContext->offset.y = origOffset.y; + } + pContext->forget (); + + if (change) + doIdleStuff (); + + CView* receiver = pParentView ? pParentView : pParentFrame; + if (receiver) + receiver->notify (this, "LooseFocus"); +} + +//------------------------------------------------------------------------ +void CTextEdit::setTextEditConvert (void (*convert) (char *input, char *string)) +{ + editConvert = convert; +} + +//------------------------------------------------------------------------ +void CTextEdit::setTextEditConvert (void (*convert) (char *input, char *string, + void *userDta), void *userData) +{ + editConvert2 = convert; + this->userData = userData; +} + +//------------------------------------------------------------------------ +// COptionMenuScheme +//------------------------------------------------------------------------ +/*! @class COptionMenuScheme +Used to define the appearance (font color, background color...) of a popup-menu. +To define the scheme of a menu, use the appropriate setScheme method (see COptionMenu). +@section coptionmenuscheme_new_in_3_0 New since 3.0 +You can also use the global variable gOptionMenuScheme to use one scheme on all menus. +@section coptionmenuscheme_note Note +If you want to use it on Mac OS X, you must set the macro MAC_ENABLE_MENU_SCHEME (needs Mac OS X 10.3 or higher) +*/ +COptionMenuScheme* gOptionMenuScheme = 0; + +//------------------------------------------------------------------------ +COptionMenuScheme::COptionMenuScheme () +{ +#if WINDOWS + COLORREF c = GetSysColor (COLOR_MENU); + backgroundColor (GetRValue (c), GetGValue (c), GetBValue (c), 0); + c = GetSysColor (COLOR_HIGHLIGHT); + selectionColor (GetRValue (c), GetGValue (c), GetBValue (c), 0); + c = GetSysColor (COLOR_MENUTEXT); + textColor (GetRValue (c), GetGValue (c), GetBValue (c), 0); + c = GetSysColor (COLOR_HIGHLIGHTTEXT); + hiliteTextColor (GetRValue (c), GetGValue (c), GetBValue (c), 0); + c = GetSysColor (COLOR_GRAYTEXT); + disableTextColor (GetRValue (c), GetGValue (c), GetBValue (c), 0); +#else + backgroundColor = kGreyCColor; + selectionColor = kBlueCColor; + textColor = kBlackCColor; + hiliteTextColor = kWhiteCColor; + disableTextColor = kWhiteCColor; +#endif + font = kNormalFontSmall; + #if MAC_ENABLE_MENU_SCHEME + registerWithToolbox (); + #endif +} + +//------------------------------------------------------------------------ +COptionMenuScheme::~COptionMenuScheme () +{ + #if MAC_ENABLE_MENU_SCHEME + unregisterWithToolbox (); + #endif +} + +//------------------------------------------------------------------------ +void COptionMenuScheme::getItemSize (const char* text, CDrawContext* pContext, CPoint& size) +{ + if (!strcmp (text, kMenuSeparator)) // separator + { + #if MAC + size.h = 6; + size.v = 9; + #else + // was: size.h = size.v = 6; + size.h = 6; + size.v = 18; + // separators must have same height, otherwise we have problems + // in multi-column menus :( + #endif + } + else + { + pContext->setFont (font); + size.h = pContext->getStringWidth (text) + 18; + size.v = 18; + #if MAC + size.h += 18; + #endif + } +} + +//------------------------------------------------------------------------ +void COptionMenuScheme::drawItemBack (CDrawContext* pContext, const CRect& rect, bool hilite) +{ + if (hilite) + pContext->setFillColor (selectionColor); + else + pContext->setFillColor (backgroundColor); + pContext->fillRect (rect); +} + +//------------------------------------------------------------------------ +void COptionMenuScheme::drawItem (const char* text, long itemId, long state, CDrawContext* pContext, const CRect& rect) +{ + bool hilite = (state & kSelected) != 0; + + drawItemBack (pContext, rect, hilite); + + if (!strcmp (text, kMenuSeparator)) + { + CCoord y = rect.top + rect.height () / 2; + + const CColor bc = { 0, 0, 0, 150}; + const CColor wc = { 255, 255, 255, 150}; + + pContext->setFrameColor (bc); + pContext->moveTo (CPoint (rect.left + 2, y - 1)); + pContext->lineTo (CPoint (rect.right - 2, y - 1)); + pContext->setFrameColor (wc); + pContext->moveTo (CPoint (rect.left + 2, y)); + pContext->lineTo (CPoint (rect.right - 2, y)); + return; + } + + CRect r; + if (state & kChecked) + { + r (6, 4, 14, 12); + r.offset (rect.left, rect.top); + if (hilite) + pContext->setFillColor (hiliteTextColor); + else + pContext->setFillColor (textColor); + pContext->fillEllipse (r); + } + + r = rect; + r.left += 18; + pContext->setFont (font); + if (state & kDisabled) + pContext->setFontColor (disableTextColor); + else + { + if (hilite) + pContext->setFontColor (hiliteTextColor); + else + pContext->setFontColor (textColor); + } + + // this needs to be done right, without changing the text pointer in anyway ;-) + char *ptr = (char*)strstr (text, "\t"); + if (ptr) + { + char modifier[32]; + strcpy (modifier, ptr + 1); + *ptr = 0; + pContext->drawString (text, r, false, kLeftText); + + *ptr = '\t'; + r.left = r.right - 50; + pContext->drawString (modifier, r, false, kLeftText); + } + else + pContext->drawString (text, r, false, kLeftText); +} + +#if MAC_ENABLE_MENU_SCHEME +#define kHIMenuViewClassID CFSTR("com.apple.HIMenuView") + +struct HIMenuScheme +{ + HIViewRef hiView; + COptionMenuScheme* scheme; + COptionMenu* menu; + COffscreenContext* offscreenContext; + float maxWidth; +}; + +const EventParamName kEventParamCOptionMenuScheme = 'COMS'; +const EventParamName kEventParamCOptionMenu = 'COM '; + +#define kItemHeight 18 + +static CFStringRef gOptionMenuSchemeClassID = 0; +static HIObjectClassRef gMenuClassRef = 0; +static CFIndex gOptionMenuSchemeClassIDRefCount = 0; + +//------------------------------------------------------------------------ +void COptionMenuScheme::registerWithToolbox () +{ + if (gOptionMenuSchemeClassID == 0) + { + gOptionMenuSchemeClassID = CFStringCreateWithFormat (NULL, NULL, CFSTR("net.sourceforge.vstgui.COptionMenuSchemeClassID.%d"), this); + + static const EventTypeSpec events[] = + { + { kEventClassHIObject, kEventHIObjectConstruct } , + { kEventClassHIObject, kEventHIObjectInitialize }, + { kEventClassHIObject, kEventHIObjectDestruct }, + + { kEventClassControl, kEventControlHitTest }, + { kEventClassControl, kEventControlGetPartRegion }, + { kEventClassControl, kEventControlDraw }, + { kEventClassControl, kEventControlGetOptimalBounds }, + + { kEventClassMenu, kEventMenuCreateFrameView }, + + { kEventClassScrollable, kEventScrollableGetInfo }, + }; + + HIObjectRegisterSubclass ( gOptionMenuSchemeClassID, + kHIMenuViewClassID, + kNilOptions, + COptionMenuScheme::eventHandler, + GetEventTypeCount (events), + events, + NULL, + &gMenuClassRef); + gOptionMenuSchemeClassIDRefCount = CFGetRetainCount (gOptionMenuSchemeClassID); + } + else + CFRetain (gOptionMenuSchemeClassID); +} + +//------------------------------------------------------------------------ +void COptionMenuScheme::unregisterWithToolbox () +{ + if (gOptionMenuSchemeClassID) + { + if (CFGetRetainCount (gOptionMenuSchemeClassID) == gOptionMenuSchemeClassIDRefCount) + { + HIObjectUnregisterClass (gMenuClassRef); + gMenuClassRef = 0; + } + CFRelease (gOptionMenuSchemeClassID); + } +} + +//------------------------------------------------------------------------ +pascal OSStatus COptionMenuScheme::eventHandler (EventHandlerCallRef inCallRef, EventRef inEvent, void *inUserData) +{ + OSStatus err = eventNotHandledErr; + UInt32 eventClass = GetEventClass (inEvent); + UInt32 eventKind = GetEventKind (inEvent); + HIMenuScheme* scheme = (HIMenuScheme*)inUserData; + + switch (eventClass) + { + case kEventClassHIObject: + { + switch (eventKind) + { + case kEventHIObjectConstruct: + { + scheme = (HIMenuScheme*)calloc (1, sizeof (HIMenuScheme)); + GetEventParameter (inEvent, kEventParamHIObjectInstance, typeHIObjectRef, NULL, sizeof (HIObjectRef), NULL, &scheme->hiView); + SetEventParameter (inEvent, kEventParamHIObjectInstance, typeVoidPtr, sizeof (HIMenuScheme*), &scheme); + scheme->maxWidth = 100; + err = noErr; + break; + } + case kEventHIObjectInitialize: + { + err = CallNextEventHandler (inCallRef, inEvent); + if (err == noErr) + { + GetEventParameter (inEvent, kEventParamCOptionMenuScheme, typeVoidPtr, NULL, sizeof (COptionMenuScheme*), NULL, &scheme->scheme); + GetEventParameter (inEvent, kEventParamCOptionMenu, typeVoidPtr, NULL, sizeof (COptionMenu*), NULL, &scheme->menu); + scheme->scheme->remember (); + scheme->menu->remember (); + scheme->offscreenContext = new COffscreenContext (scheme->menu->getFrame (), 600, 100); + } + break; + } + case kEventHIObjectDestruct: + { + delete scheme->offscreenContext; + scheme->scheme->forget (); + scheme->menu->forget (); + free (scheme); + err = noErr; + break; + } + } + break; + } + case kEventClassControl: + { + HIViewRef control; + GetEventParameter (inEvent, kEventParamDirectObject, typeControlRef, NULL, sizeof (HIViewRef), NULL, &control); + switch (eventKind) + { + case kEventControlInitialize: + { + err = CallNextEventHandler (inCallRef, inEvent); + break; + } + case kEventControlHitTest: + { + HIPoint mouseLoc; + GetEventParameter (inEvent, kEventParamMouseLocation, typeHIPoint, NULL, sizeof (mouseLoc), NULL, &mouseLoc); + ControlPartCode partHit = mouseLoc.y / kItemHeight + 1; + char temp[1024]; + CPoint size; + long yPos = 0; + for (long i = 0; i < scheme->menu->getNbEntries (); i++) + { + scheme->menu->getEntry (i, temp); + scheme->scheme->getItemSize (temp, scheme->offscreenContext, size); + yPos += size.y; + if (yPos >= mouseLoc.y) + { + partHit = i + 1; + break; + } + } + SetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, sizeof (partHit), &partHit); + err = noErr; + break; + } + case kEventControlGetOptimalBounds: + { + HIRect r = { {0, 0}, { 0, 0 }}; + r.size.width = scheme->maxWidth; + char temp[1024]; + CPoint size; + for (long i = 0; i < scheme->menu->getNbEntries (); i++) + { + scheme->menu->getEntry (i, temp); + scheme->scheme->getItemSize (temp, scheme->offscreenContext, size); + if (!strncmp (temp, kMenuSubMenu, 2)) + size.x += 16; + r.size.height += size.y; + if (r.size.width < size.x) + r.size.width = size.x; + } + //r.size.height += scheme->menu->getNbEntries (); + scheme->maxWidth = r.size.width; + SetEventParameter (inEvent, kEventParamControlOptimalBounds, typeHIRect, sizeof (HIRect), &r); + err = noErr; + break; + } + case kEventControlGetPartRegion: + { + HIRect r = { {0, 0}, { 0, 0 }}; + ControlPartCode whichItem; + RgnHandle outRegion = NULL; + GetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, NULL, sizeof (whichItem), NULL, &whichItem); + GetEventParameter (inEvent, kEventParamControlRegion, typeQDRgnHandle, NULL, sizeof(outRegion), NULL, &outRegion); + if (whichItem <= 0) + { + r.size.width = scheme->maxWidth; + char temp[1024]; + CPoint size; + for (long i = 0; i < scheme->menu->getNbEntries (); i++) + { + scheme->menu->getEntry (i, temp); + scheme->scheme->getItemSize (temp, scheme->offscreenContext, size); + if (!strncmp (temp, kMenuSubMenu, 2)) + size.x += 16; + r.size.height += size.y; + if (r.size.width < size.x) + r.size.width = size.x; + } + scheme->maxWidth = r.size.width; + r.size.height += scheme->menu->getNbEntries (); + } + else + { + char temp[1024]; + CPoint size; + for (long i = 0; i < whichItem; i++) + { + r.origin.y += size.y; + scheme->menu->getEntry (i, temp); + scheme->scheme->getItemSize (temp, scheme->offscreenContext, size); + r.size.height += size.y; + } + r.size.width = scheme->maxWidth; + } + SetRectRgn (outRegion, (short) r.origin.x, (short) r.origin.y,(short) r.origin.x + r.size.width, (short) r.origin.y+ r.size.height + 1); + err = noErr; + break; + } + case kEventControlDraw: + { + CGContextRef cgContext; + GetEventParameter (inEvent, kEventParamCGContextRef, typeCGContextRef, NULL, sizeof (cgContext), NULL, &cgContext); + HIRect r; + HIViewGetBounds (control, &r); + CGContextClearRect (cgContext, r); + if (control != scheme->hiView) + { + err = noErr; + break; + } + ControlPartCode focusPart; + HIViewGetFocusPart (scheme->hiView, &focusPart); + focusPart--; + WindowRef window = HIViewGetWindow (scheme->hiView); + CDrawContext context (NULL, cgContext, window); + char entryText[1024]; + CPoint size; + CRect rect (0, 0); + rect.setHeight (kItemHeight); + rect.setWidth (scheme->maxWidth); + for (int i = 0; i < scheme->menu->getNbEntries (); i++) + { + if (scheme->menu->getEntry (i, entryText)) + { + scheme->scheme->getItemSize (entryText, &context, size); + long state = scheme->menu->isCheckEntry (i) ? kChecked : 0; + if (focusPart >= 0 && focusPart == i) + state |= kSelected; + long offset = 0; + if (!strncmp (entryText, kMenuSubMenu, 2)) + { + state |= kSubMenu; + offset = 2; + } + else if (!strncmp (entryText, kMenuTitle, 2)) + { + state |= kTitle; + offset = 2; + } + else if (!strncmp (entryText, kMenuDisable, 2)) + { + state |= kDisabled; + offset = 2; + } + rect.setHeight (size.y+1); + context.setClipRect (rect); + scheme->scheme->drawItem (entryText+offset, i, state, &context, rect); + rect.offset (0, size.y); + } + } + break; + } + case kEventControlGetFrameMetrics: + { + err = CallNextEventHandler (inCallRef, inEvent); + HIViewFrameMetrics metrics; + GetEventParameter (inEvent, kEventParamControlFrameMetrics, typeControlFrameMetrics, NULL, sizeof (metrics), NULL, &metrics); + metrics.top = metrics.bottom = 0; + SetEventParameter (inEvent, kEventParamControlFrameMetrics, typeControlFrameMetrics, sizeof (metrics), &metrics); + break; + } + case kEventControlOwningWindowChanged: + { + WindowRef newWindow = GetControlOwner (control); + HIWindowChangeFeatures (newWindow, 0, kWindowIsOpaque); + err = noErr; + HIViewRef root = HIViewGetRoot (newWindow); + if (root) + { + HIRect bounds, frame; + HIViewGetBounds (root, &bounds); + HIViewGetFrame (root, &frame); + } + break; + } + } + break; + } + case kEventClassMenu: + { + switch (eventKind) + { + case kEventMenuCreateFrameView: + { + err = CallNextEventHandler (inCallRef, inEvent); + HIViewRef frameView; + GetEventParameter (inEvent, kEventParamMenuFrameView, typeControlRef, NULL, sizeof (ControlRef), NULL, &frameView); + HIViewFindByID (frameView, kHIViewWindowContentID, &frameView); + if (frameView) + { + EventTypeSpec events [] = { { kEventClassControl, kEventControlDraw }, { kEventClassControl, kEventControlOwningWindowChanged }, { kEventClassControl, kEventControlGetFrameMetrics } }; + InstallControlEventHandler (frameView, COptionMenuScheme::eventHandler, GetEventTypeCount (events), events, scheme, NULL); + } + break; + } + } + break; + } + case kEventClassScrollable: + { + switch (eventKind) + { + case kEventScrollableGetInfo: + { + HISize size; + HIPoint origin = { 0, 0 }; + + size.width = 200; + size.height = kItemHeight * (scheme->menu->getNbEntries () + 1);; + + SetEventParameter(inEvent, kEventParamImageSize, typeHISize, sizeof( size ), &size ); + SetEventParameter(inEvent, kEventParamViewSize, typeHISize, sizeof( size ), &size ); + SetEventParameter(inEvent, kEventParamOrigin, typeHIPoint, sizeof( origin ), &origin ); + + // line size is 1/10th total size + size.width /= 10; + size.height /= 10; + + SetEventParameter(inEvent, kEventParamLineSize, typeHISize, sizeof( size ), &size ); + + err = noErr; + break; + } + } + break; + } + } + + return err; +} +#endif + +//------------------------------------------------------------------------ +// COptionMenu +//------------------------------------------------------------------------ +/*! @class COptionMenu +Define a rectangle view where a text-value can be displayed with a given font and color. +The text-value is centered in the given rect. +A pixmap can be used as background, a second pixmap can be used when the option menu is popuped. +There are 2 styles with or without a shadowed text. When a mouse click occurs, a popup menu is displayed. +*/ +COptionMenu::COptionMenu (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CBitmap *bgWhenClick, const long style) +: CParamDisplay (size, background, style), bgWhenClick (bgWhenClick), nbItemsPerColumn (-1), + prefixNumbers (0), scheme (0) +{ + this->listener = listener; + this->tag = tag; + + nbEntries = 0; + nbSubMenus = 0; + currentIndex = -1; + lastButton = kRButton; + platformControl = 0; + lastResult = -1; + lastMenu = 0; + + #if MAC + menuID = 0; + #endif + + if (bgWhenClick) + bgWhenClick->remember (); + + nbSubMenuAllocated = nbAllocated = 0; + + check = 0; + entry = 0; + submenuEntry = 0; +} + +//------------------------------------------------------------------------ +COptionMenu::~COptionMenu () +{ + removeAllEntry (); + + if (bgWhenClick) + bgWhenClick->forget (); +} + +//------------------------------------------------------------------------ +void COptionMenu::setPrefixNumbers (long preCount) +{ + prefixNumbers = preCount; +} + +//----------------------------------------------------------------------------- +bool COptionMenu::allocateSubMenu (long nb) +{ + long newAllocated = nbSubMenuAllocated + nb; + + if (submenuEntry) + submenuEntry = (COptionMenu**)realloc (submenuEntry, newAllocated * sizeof (COptionMenu*)); + else + submenuEntry = (COptionMenu**)malloc (newAllocated * sizeof (COptionMenu*)); + + long i; + for (i = nbSubMenuAllocated; i < newAllocated; i++) + submenuEntry[i] = 0; + + nbSubMenuAllocated = newAllocated; + + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::allocateMenu (long nb) +{ + long newAllocated = nbAllocated + nb; + + if (check) + check = (bool*)realloc (check, newAllocated * sizeof (bool)); + else + check = (bool*)malloc (newAllocated * sizeof (bool)); + if (!check) + return false; + + if (entry) + entry = (char**)realloc (entry, newAllocated * sizeof (char*)); + else + entry = (char**)malloc (newAllocated * sizeof (char*)); + if (!entry) + { + free (check); + return false; + } + + long i; + for (i = nbAllocated; i < newAllocated; i++) + { + check[i] = false; + entry[i] = 0; + } + + nbAllocated = newAllocated; + + return true; +} + +//------------------------------------------------------------------------ +COptionMenu* COptionMenu::getSubMenu (long idx) const +{ + if (submenuEntry && idx < nbSubMenus) + return submenuEntry[idx]; + return 0; +} + +//------------------------------------------------------------------------ +bool COptionMenu::addEntry (COptionMenu *subMenu, char *txt) +{ + if (nbEntries >= MAX_ENTRY || !subMenu || !txt) + return false; + + if (nbEntries >= nbAllocated) + if (!allocateMenu (32)) + return false; + + entry[nbEntries] = (char*)malloc (256); + switch (prefixNumbers) + { + case 2: + sprintf (entry[nbEntries], "-M%1d %s", (int)(nbEntries + 1), txt); + break; + + case 3: + sprintf (entry[nbEntries], "-M%02d %s", (int)(nbEntries + 1), txt); + break; + + case 4: + sprintf (entry[nbEntries], "-M%03d %s", (int)(nbEntries + 1), txt); + break; + + default: + sprintf (entry[nbEntries], "-M%s", txt); + } + + + if (nbSubMenus >= nbSubMenuAllocated) + if (!allocateSubMenu (10)) + return false; + + submenuEntry[nbSubMenus++] = subMenu; + subMenu->remember (); + + nbEntries++; + + if (currentIndex < 0) + currentIndex = 0; + + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::addEntry (char *txt, long index) +{ + if (nbEntries >= MAX_ENTRY) + return false; + + if (nbEntries >= nbAllocated) + if (!allocateMenu (32)) + return false; + + entry[nbEntries] = (char*)malloc (256); + + long pos = nbEntries; + + // switch the entries for the insert + if (index >= 0) + { + for (long i = nbEntries; i > index; i--) + strcpy (entry[i], entry[i - 1]); + if (index >= nbEntries) + pos = nbEntries; + else + pos = index; + if (currentIndex >= index) + currentIndex++; + } + + *entry[pos] = 0; + if (txt) + { + switch (prefixNumbers) + { + case 2: + sprintf (entry[pos], "%1d %s", (int)(index + 1), txt); + break; + + case 3: + sprintf (entry[pos], "%02d %s", (int)(index + 1), txt); + break; + + case 4: + sprintf (entry[pos], "%03d %s", (int)(index + 1), txt); + break; + + default: + strncpy (entry[pos], txt, 256); + } + } + + nbEntries++; + + if (currentIndex < 0) + currentIndex = 0; + + return true; +} + +//------------------------------------------------------------------------ +long COptionMenu::getCurrent (char *txt, bool countSeparator) const +{ + if (currentIndex < 0) + return -1; + + long result = 0; + + if (countSeparator) + { + if (txt) + strcpy (txt, entry[currentIndex]); + result = currentIndex; + } + else + { + for (long i = 0; i < currentIndex; i++) + { + if (strcmp (entry[i], kMenuSeparator) && strncmp (entry[i], kMenuTitle, 2)) + result++; + } + if (txt) + strcpy (txt, entry[currentIndex]); + } + return result; +} + +//------------------------------------------------------------------------ +bool COptionMenu::setCurrent (long index, bool countSeparator) +{ + if (index < 0 || index >= nbEntries) + return false; + + if (countSeparator) + { + if (!strcmp (entry[index], kMenuSeparator) && strncmp (entry[index], kMenuTitle, 2)) + return false; + + currentIndex = index; + } + else + { + long newCurrent = 0; + long i = 0; + while (i <= index && newCurrent < nbEntries) + { + if (strcmp (entry[newCurrent], kMenuSeparator) && strncmp (entry[newCurrent], kMenuTitle, 2)) + i++; + newCurrent++; + } + currentIndex = newCurrent - 1; + } + if (style & (kMultipleCheckStyle & ~kCheckStyle)) + check[currentIndex] = !check[currentIndex]; + + // to force the redraw + setDirty (); + + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::getEntry (long index, char *txt) const +{ + if (index < 0 || index >= nbEntries) + return false; + + if (txt) + strcpy (txt, entry[index]); + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::setEntry (long index, char *txt) +{ + if (index < 0 || index >= nbEntries) + return false; + + if (txt) + strcpy (entry[index], txt); + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::removeEntry (long index) +{ + if (index < 0 || index >= nbEntries) + return false; + + nbEntries--; + + // switch the entries + for (long i = index; i < nbEntries; i++) + { + strcpy (entry[i], entry[i + 1]); + check[i] = check [i + 1]; + } + + if (currentIndex >= index) + currentIndex--; + + // delete the last one + free (entry[nbEntries]); + entry[nbEntries] = 0; + check[nbEntries] = false; + + if (nbEntries == 0) + currentIndex = -1; + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::removeAllEntry () +{ + long i; + for (i = 0; i < nbEntries; i++) + { + free (entry[i]); + entry[i] = 0; + check[i] = false; + } + + nbEntries = 0; + currentIndex = -1; + + for (i = 0; i < nbSubMenus; i++) + { + submenuEntry[i]->forget (); + submenuEntry[i] = 0; + } + nbSubMenus = 0; + + if (check) + free (check); + check = 0; + if (entry) + free (entry); + entry = 0; + if (submenuEntry) + free (submenuEntry); + submenuEntry = 0; + nbAllocated = 0; + nbSubMenuAllocated = 0; + + return true; +} + +//------------------------------------------------------------------------ +long COptionMenu::getIndex (char *txt) const +{ + if (!txt) + return -1; + + // search entries + for (long i = 0; i < nbEntries; i++) + if (!strcmp (entry[i], txt)) + return i; + + // not found + return -1; +} + +//------------------------------------------------------------------------ +bool COptionMenu::checkEntry (long index, bool state) +{ + if (index < 0 || index >= nbEntries) + return false; + + check[index] = state; + + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::checkEntryAlone (long index) +{ + if (index < 0 || index >= nbEntries) + return false; + for (long i = 0; i < nbEntries; i++) + check[i] = false; + check[index] = true; + + return true; +} + +//------------------------------------------------------------------------ +bool COptionMenu::isCheckEntry (long index) const +{ + if (index < 0 || index >= nbEntries) + return false; + + return check[index]; +} + +//------------------------------------------------------------------------ +void COptionMenu::draw (CDrawContext *pContext) +{ + if (currentIndex >= 0 && nbEntries) + drawText (pContext, entry[currentIndex] + prefixNumbers); + else + drawText (pContext, NULL); +} + +//------------------------------------------------------------------------ +void COptionMenu::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled || !getFrame () || !pContext) + return; + + lastButton = (button != -1) ? button : pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (lastButton & (kLButton|kRButton|kApple)) + { + if (bgWhenClick) + { + char string[256]; + if (currentIndex >= 0) + sprintf (string, "%s", entry[currentIndex]); + else + string[0] = 0; + + drawText (pContext, string, bgWhenClick); + } + + beginEdit(); + takeFocus (pContext); + } +} + +//------------------------------------------------------------------------ +#if MOTIF +#include +#include +#include +#include + +static void _unmapCallback (Widget item, XtPointer clientData, XtPointer callData); +static void _activateCallback (Widget item, XtPointer clientData, XtPointer callData); + +//------------------------------------------------------------------------ +static void _unmapCallback (Widget item, XtPointer clientData, XtPointer callData) +{ + COptionMenu *optionMenu= (COptionMenu*)clientData; + optionMenu->looseFocus (); +} + +//------------------------------------------------------------------------ +static void _activateCallback (Widget item, XtPointer clientData, XtPointer callData) +{ + COptionMenu *optionMenu= (COptionMenu*)clientData; + optionMenu->setCurrentSelected ((void*)item); +} +#endif + +//------------------------------------------------------------------------ +#if BEOS +#include +#include +#endif + +//------------------------------------------------------------------------ +COptionMenu *COptionMenu::getLastItemMenu (long &idxInMenu) const +{ + idxInMenu = lastMenu ? (long)lastMenu->getValue (): -1; + return lastMenu; +} + +//------------------------------------------------------------------------ +COptionMenu *COptionMenu::getItemMenu (long idx, long &idxInMenu, long &offsetIdx) +{ +#if WINDOWS + long oldIDx = offsetIdx; + offsetIdx += nbEntries; + + if (idx < offsetIdx) + { + idxInMenu = idx - oldIDx; + return this; + } + +#elif MAC + if (menuID == offsetIdx) + { + idxInMenu = idx; + return this; + } +#endif + COptionMenu *menu = 0; + for (long i = 0; i < nbSubMenus; i++) + { + menu = submenuEntry[i]->getItemMenu (idx, idxInMenu, offsetIdx); + if (menu) + break; + } + return menu; +} + +//------------------------------------------------------------------------ +void COptionMenu::removeItems () +{ + for (long i = 0; i < nbSubMenus; i++) + submenuEntry[i]->removeItems (); + +#if WINDOWS + // destroy the menu + if (platformControl) + DestroyMenu ((HMENU)platformControl); + platformControl = 0; + +#elif MAC + // destroy the menu + if (menuID) + DeleteMenu (menuID); + if (platformControl) + DisposeMenu ((MenuHandle)platformControl); + platformControl = 0; + +#endif +} + +//------------------------------------------------------------------------ +void *COptionMenu::appendItems (long &offsetIdx) +{ + bool multipleCheck = style & (kMultipleCheckStyle & ~kCheckStyle); + +#if WINDOWS + void *menu = (void*)CreatePopupMenu (); + + bool ownerDraw = (scheme != 0) || (gOptionMenuScheme != 0); + + int flags = 0; + long idxSubmenu = 0; + long offset = offsetIdx; + offsetIdx += nbEntries; + long inc = 0; + for (long i = 0; i < nbEntries; i++) + { + //---Separator----- + if (!strcmp (entry[i], kMenuSeparator)) + { + if (ownerDraw) + AppendMenu ((HMENU)menu, MF_OWNERDRAW|MF_SEPARATOR, 0, entry[i]); + else + AppendMenu ((HMENU)menu, MF_SEPARATOR, 0, entry[i]); + } + else + { + flags = ownerDraw ? MF_OWNERDRAW : MF_STRING; + if (nbEntries < 160 && nbItemsPerColumn > 0 && inc && !(inc % nbItemsPerColumn)) + flags |= MF_MENUBARBREAK; + + if (!strncmp (entry[i], kMenuSubMenu, 2)) + { + if (idxSubmenu < nbSubMenus) + { + void *submenu = submenuEntry[idxSubmenu]->appendItems (offsetIdx); + if (submenu) + { + idxSubmenu++; + AppendMenu ((HMENU)menu, flags|MF_POPUP|MF_ENABLED, (UINT_PTR)submenu, entry[i] + 2); + } + else + continue; + } + else + continue; + } + //---Disable/Gray entry----------- + else if (!strncmp (entry[i], kMenuDisable, 2)) + { + AppendMenu ((HMENU)menu, flags|MF_GRAYED, offset + inc, entry[i] + 2); + } + //---Disable entry-------- + else if (!strncmp (entry[i], kMenuTitle, 2)) + { + AppendMenu ((HMENU)menu, flags|MF_DISABLED, offset + inc, entry[i] + 2); + } + //---Multiple Checked entry--- + else if (multipleCheck) + { + AppendMenu ((HMENU)menu, flags|MF_ENABLED | + (check[i] ? MF_CHECKED : MF_UNCHECKED), offset + inc, entry[i]); + } + //---Checked Entry--------- + else if (style & kCheckStyle) + { + AppendMenu ((HMENU)menu, flags|MF_ENABLED | + ((i == currentIndex) ? MF_CHECKED : MF_UNCHECKED), offset + inc, entry[i]); + } + else + AppendMenu ((HMENU)menu, flags|MF_ENABLED, offset + inc, entry[i]); + } + inc++; + } + platformControl = menu; + return menu; + +#elif MAC + //---Get an non-existing ID for the menu: + menuID = UniqueID ('MENU'); + + MenuHandle theMenu = 0; + //---Create the menu + #if MAC_ENABLE_MENU_SCHEME + extern long pSystemVersion; + if ((scheme || gOptionMenuScheme) && pSystemVersion >= 0x1030) + { + COptionMenuScheme* s = gOptionMenuScheme ? gOptionMenuScheme : scheme; + EventRef initEvent = NULL; + if (CreateEvent (NULL, kEventClassHIObject, kEventHIObjectInitialize, 0, 0, &initEvent) == noErr) + { + MenuDefSpec customMenuDef; + COptionMenu* optMenu = this; + SetEventParameter (initEvent, kEventParamCOptionMenu, typeVoidPtr, sizeof(COptionMenu*), &optMenu); + customMenuDef.defType = kMenuDefClassID; + customMenuDef.u.view.classID = gOptionMenuSchemeClassID; + customMenuDef.u.view.initEvent = initEvent; + SetEventParameter (initEvent, kEventParamCOptionMenuScheme, typeVoidPtr, sizeof(COptionMenuScheme*), &s); + CreateCustomMenu (&customMenuDef, menuID, 0, &theMenu); + ReleaseEvent (initEvent); + if (theMenu == NULL) + return NULL; + } + } + else + #endif + theMenu = NewMenu (menuID, "\pPopUp"); + + char text2[256]; + long keyChar; + long idxSubmenu = 0; + offsetIdx += nbEntries; + short keyModifiers; + bool useGlyph; + for (long i = 0; i < nbEntries; i++) + { + keyChar = 0; + keyModifiers = kMenuNoModifiers; + useGlyph = false; + + strcpy (text2, entry[i]); + char *ptr = strstr (text2, "\t"); + if (ptr) + { + *ptr = '\0'; + ptr++; + if (strlen (ptr) > 0) + { + if (!strstr (ptr, "Ctrl")) + keyModifiers |= kMenuNoCommandModifier; + if (strstr (ptr, "Alt")) + keyModifiers |= kMenuOptionModifier; + if (strstr (ptr, "Shift")) + keyModifiers |= kMenuShiftModifier; + if (strstr (ptr, "Apple")) + keyModifiers |= kMenuControlModifier; + + if (!strncmp (ptr, "Del", 3)) + keyChar = 0x17; + else if (!strncmp (ptr, "Left", 4)) + { + keyChar = 0x64; + useGlyph = true; + } + else if (!strncmp (ptr, "Right", 5)) + { + keyChar = 0x65; + useGlyph = true; + } + else if (!strncmp (ptr, "Up", 2)) + { + keyChar = 0x68; + useGlyph = true; + } + else if (!strncmp (ptr, "Down", 4)) + { + keyChar = 0x6a; + useGlyph = true; + } + else + keyChar = (long)ptr[strlen (ptr) - 1]; + } + else + { + keyModifiers = kMenuNoCommandModifier; + keyChar = (long)*ptr; + } + } + #if TARGET_API_MAC_CARBON + + if (!strcmp (entry[i], kMenuSeparator)) + { + AppendMenuItemTextWithCFString (theMenu, CFSTR(""), kMenuItemAttrSeparator, 0, NULL); + } + else + { + CFStringRef itemString = 0; + MenuItemAttributes itemAttribs = kMenuItemAttrIgnoreMeta; + // Submenu + if (!strncmp (entry[i], kMenuSubMenu, 2)) + { + if (idxSubmenu < nbSubMenus) + { + itemString = CFStringCreateWithCString (NULL, entry[i] + 2, kCFStringEncodingUTF8); + InsertMenuItemTextWithCFString (theMenu, itemString, i+1, itemAttribs, 0); + CFRelease (itemString); + void *submenu = submenuEntry[idxSubmenu]->appendItems (offsetIdx); + if (submenu) + { + SetMenuItemHierarchicalID (theMenu, i + 1, submenuEntry[idxSubmenu]->getMenuID ()); + idxSubmenu++; + continue; + } + else + continue; + } + else + continue; + } + //---Disable/Gray entry----------- + else if (!strncmp (entry[i], kMenuDisable, 2)) + { + itemString = CFStringCreateWithCString (NULL, entry[i] + 2, kCFStringEncodingUTF8); + itemAttribs |= kMenuItemAttrDisabled; + } + //---Disable entry-------- + else if (!strncmp (entry[i], kMenuTitle, 2)) + { + itemString = CFStringCreateWithCString (NULL, entry[i] + 2, kCFStringEncodingUTF8); + itemAttribs |= kMenuItemAttrSectionHeader; + } + else + itemString = CFStringCreateWithCString (NULL, entry[i], kCFStringEncodingUTF8); + + InsertMenuItemTextWithCFString (theMenu, itemString, i+1, itemAttribs, 0); + CFRelease (itemString); + } + + #else + Str255 menuItem; + strcpy ((char*)menuItem, (const char*)"\p\0"); + menuItem[0] = strlen ((const char*)text2); + AppendMenu (theMenu, "\pjunk"); + + if (!strncmp (text2, kMenuTitle, 2) || !strncmp (text2, kMenuDisable, 2) || !strncmp (text2, kMenuSubMenu, 2)) + { + menuItem[0] -= 2; + strcat ((char*)menuItem, text2 + 2); + + //---Disable item-------- + if (!strncmp (text2, kMenuDisable, 2)) + { + #if TARGET_API_MAC_CARBON + DisableMenuItem (theMenu, i + 1); + #else + DisableItem (theMenu, i + 1); + #endif + } + //---Submenu------------- + else if (!strncmp (text2, kMenuSubMenu, 2)) + { + if (idxSubmenu < nbSubMenus) + { + void *submenu = submenuEntry[idxSubmenu]->appendItems (offsetIdx); + if (submenu) + { + SetMenuItemHierarchicalID (theMenu, i + 1, submenuEntry[idxSubmenu]->getMenuID ()); + idxSubmenu++; + } + else + continue; + } + else + continue; + } + } + else + { + strcat ((char*)menuItem, text2); + } + SetMenuItemText (theMenu, i + 1, menuItem); + + #endif // !TARGET_API_MAC_CARBON + + //---Set the shortcut + if (keyChar != 0) + { + SetItemCmd (theMenu, i + 1, keyChar); + if (useGlyph) + SetMenuItemKeyGlyph (theMenu, i + 1, keyChar); + SetMenuItemModifiers (theMenu, i + 1, keyModifiers); + } + + if (multipleCheck && check[i]) + CheckMenuItem (theMenu, i + 1, true); + + } + + // set the check + if (style & kCheckStyle && !multipleCheck) + CheckMenuItem (theMenu, currentIndex + 1, true); + + InsertMenu ((MenuHandle)theMenu, -1); + + platformControl = (void*)theMenu; + return platformControl; +#endif +} + +//------------------------------------------------------------------------ +void COptionMenu::setValue (float val) +{ + if ((long)val < 0 || (long)val >= nbEntries) + return; + + currentIndex = (long)val; + if (style & (kMultipleCheckStyle & ~kCheckStyle)) + check[currentIndex] = !check[currentIndex]; + CParamDisplay::setValue (val); + + // to force the redraw + setDirty (); +} + +//------------------------------------------------------------------------ +void COptionMenu::takeFocus (CDrawContext *pContext) +{ + if (!getFrame ()) + return; + + bool multipleCheck = style & (kMultipleCheckStyle & ~kCheckStyle); + lastResult = -1; + lastMenu = 0; + +#if MAC || WINDOWS + // calculate Screen Position + #if WINDOWS + HWND hwnd = (HWND)getFrame ()->getSystemWindow (); + + #endif + + CRect rect; + if (pContext) + { + rect.left = pContext->offsetScreen.h; + rect.top = pContext->offsetScreen.v; + } + else + { + #if WINDOWS + RECT rctWinParent; + GetWindowRect (hwnd, &rctWinParent); + rect.left = rctWinParent.left; + rect.top = rctWinParent.top; + #elif QUARTZ + HIRect bounds; + HIViewRef control = (HIViewRef)getFrame ()->getPlatformControl (); + HIViewGetFrame (control, &bounds); + WindowRef window = (WindowRef)getFrame ()->getSystemWindow (); + WindowAttributes attr; + GetWindowAttributes (window, &attr); + if (attr & kWindowCompositingAttribute) + { + HIViewRef contentView; + HIViewFindByID (HIViewGetRoot (window), kHIViewWindowContentID, &contentView); + if (HIViewGetSuperview (control) != contentView) + HIViewConvertRect (&bounds, control, contentView); + bounds.origin.x += getFrame ()->hiScrollOffset.x; + bounds.origin.y += getFrame ()->hiScrollOffset.y; + } + rect.left = (CCoord)bounds.origin.x; + rect.top = (CCoord)bounds.origin.y; + #endif + } + CView* parent = getParentView (); + while (parent) + { + if (parent->notify (this, kMsgCheckIfViewContainer) == kMessageNotified) + { + CRect vSize; + parent->getViewSize (vSize); + rect.offset (vSize.left, vSize.top); + } + parent = parent->getParentView (); + } +#endif + +#if WINDOWS + MSG msg; + long result = -1; + + //---Create the popup menu--- + long offIdx = 0; + appendItems (offIdx); + + //---Popup the menu--- + long offset; + if (style & kPopupStyle) + offset = (long)(rect.top + size.top); + else + offset = (long)(rect.top + size.bottom); + + int flags = TPM_LEFTALIGN; + if (lastButton & kRButton) + flags |= TPM_RIGHTBUTTON; + + if (TrackPopupMenu ((HMENU)platformControl, flags, + (int)(rect.left + size.left), offset, 0, hwnd, 0)) + { + if (PeekMessage (&msg, hwnd, WM_COMMAND, WM_COMMAND, PM_REMOVE)) + { + if (HIWORD (msg.wParam) == 0) + { + result = LOWORD (msg.wParam); + lastResult = result; + } + } + } + + //---Destroy the menu---- + removeItems (); + + //---Update the dependencies + if (result != -1 || bgWhenClick) + { + CDrawContext *pContextTemp = 0; + HDC hdc; + if (!pContext && result != -1) + { + // create a local context + hdc = GetDC (hwnd); + pContextTemp = new CDrawContext (getFrame (), hdc, hwnd); + } + else + pContextTemp = pContext; + + // to force the redraw + if (bgWhenClick) + setDirty (); + + if (result != -1) + { + long idx = 0; + offIdx = 0; + COptionMenu *menu = getItemMenu (result, idx, offIdx); + if (menu) + { + lastMenu = menu; + menu->setValue ((float)idx); + + // update dependency + if (listener) + listener->valueChanged (pContextTemp, menu); + } + } + + // redraw the display + // AAAAARRRRGHHHHHHHHHHHHH!! + //doIdleStuff (); + //setDirty (false); + + if (!pContext && pContextTemp) + { + delete pContextTemp; + ReleaseDC (hwnd, hdc); + } + } + +#elif MAC + // no entries, no menu + if (nbEntries == 0) + { + endEdit(); + getFrame ()->setFocusView (0); + return; + } + + //---Transform local coordinates to global coordinates + long offset; + + if (style & kPopupStyle) + offset = (long)size.top; + else + offset = (long)size.bottom; + + CCoord gx = 0, gy = 0; + Point LToG; + getFrame()->getPosition(gx, gy); + LToG.v = (short)(gy + rect.top + offset); + LToG.h = (short)(gx + rect.left + size.left); + + //---Create the popup menu--- + long offIdx = 0; + MenuHandle theMenu = (MenuHandle)appendItems (offIdx); + + // Calculate the menu size (height and width) + CalcMenuSize (theMenu); + + // Get a handle to the screen + RgnHandle rgn = GetGrayRgn (); + #if TARGET_API_MAC_CARBON + Rect bounds; + GetRegionBounds (rgn, &bounds); + int bottom = bounds.bottom; + long menuHeight = GetMenuHeight (theMenu); + #else + int bottom = (*rgn)->rgnBBox.bottom; + long menuHeight = (*theMenu)->menuHeight; + #endif + + // Calculate the size of one menu item (round to the next int) + int menuItemSize = (menuHeight + nbEntries - 1) / nbEntries; + + setDirty (false); + + //---Popup the Menu + long popUpItem = 1; + long PopUpMenuItem = 0; + + if (LToG.v + menuHeight >= bottom - menuItemSize / 2) + { + if (nbEntries * menuItemSize >= bottom) + { + popUpItem = currentIndex + 2; + if (popUpItem > nbEntries) + popUpItem = nbEntries; + } + if (nbEntries * menuItemSize >= bottom) + PopUpMenuItem = PopUpMenuSelect (theMenu, LToG.v, LToG.h, popUpItem); + else + PopUpMenuItem = PopUpMenuSelect (theMenu, bottom - menuHeight - menuItemSize, LToG.h, popUpItem); + } + else + PopUpMenuItem = PopUpMenuSelect (theMenu, LToG.v, LToG.h, popUpItem); + + //---Destroy the menu---- + removeItems (); + + // HiWord indicates MenuID, LoWord indicates the item index + short result = LoWord (PopUpMenuItem) - 1; + lastResult = result; + short menuIDResult = HiWord (PopUpMenuItem); + if (menuIDResult != 0 || bgWhenClick) + { + // to force the redraw + if (bgWhenClick) + setDirty (); + + if (!pContext && menuIDResult != 0) + { + pContext = getFrame ()->createDrawContext (); + } + else if (pContext) + pContext->remember (); + + if (menuIDResult != 0) + { + long idx = 0; + offIdx = menuIDResult; + COptionMenu *menu = getItemMenu (result, idx, offIdx); + if (menu) + { + lastMenu = menu; + menu->setValue (result); + if (listener) + listener->valueChanged (pContext, menu); + } + } + + if (pContext) + pContext->forget (); + } + +#elif MOTIF + Arg args[10]; + int n = 0; + + // get the position of the pParent + CRect rect; + getFrame ()->getSize (&rect); + + if (pContext) + { + rect.left += pContext->offset.h; + rect.top += pContext->offset.v; + } + + // create a popup menu + int offset; + if (style & kPopupStyle) + offset = (int)(rect.top + size.top); + else + offset = (int)(rect.top + size.bottom); + + XtSetArg (args[n], XmNx, rect.left + size.left); n++; + XtSetArg (args[n], XmNy, offset); n++; + XtSetArg (args[n], XmNmenuHistory, currentIndex); n++; + XtSetArg (args[n], XmNtraversalOn, true); n++; + + platformControl = (void*)XmCreatePopupMenu ((Widget)(getFrame ()->getSystemWindow ()), + "popup", args, n); + + XtAddCallback ((Widget)platformControl, XmNunmapCallback, _unmapCallback, this); + + // insert the menu items + for (long i = 0; i < nbEntries; i++) + { + if (!strcmp (entry[i], kMenuSeparator)) + { + itemWidget[i] = (void*)XtCreateManagedWidget ("separator", + xmSeparatorGadgetClass, (Widget)platformControl, 0, 0); + } + else + { + if (multipleCheck) + { + itemWidget[i] = (void*)XtVaCreateManagedWidget (entry[i], + xmToggleButtonWidgetClass, (Widget)platformControl, + XmNset, check[i], XmNvisibleWhenOff, false, 0); + XtAddCallback ((Widget)itemWidget[i], XmNvalueChangedCallback, _activateCallback, this); + } + else if (style & kCheckStyle) + { + itemWidget[i] = (void*)XtVaCreateManagedWidget (entry[i], + xmToggleButtonWidgetClass, (Widget)platformControl, + XmNset, (i == currentIndex) ? true : false, XmNvisibleWhenOff, false, 0); + XtAddCallback ((Widget)itemWidget[i], XmNvalueChangedCallback, _activateCallback, this); + } + else + { + itemWidget[i] = (void*)XtVaCreateManagedWidget (entry[i], + xmPushButtonWidgetClass, (Widget)platformControl, 0); + XtAddCallback ((Widget)itemWidget[i], XmNactivateCallback, _activateCallback, this); + } + } + } + + XtManageChild ((Widget)platformControl); + +#elif BEOS + BPopUpMenu* popup = new BPopUpMenu ("popup", false, false); + BMessage* message; + BMenuItem* item; + for (long i = 0; i < nbEntries; i++) + { + if (strcmp (entry[i], kMenuSeparator) == 0) + popup->AddSeparatorItem (); + else + { + message = new BMessage (i); + item = new BMenuItem (entry[i], message); + popup->AddItem (item); + if (multipleCheck) + { + if (check[i]) + item->SetMarked (true); + } + else if ((style & kCheckStyle) && currentIndex == i) + item->SetMarked (true); + } + } + CRect rect; + getFrame ()->getSize (&rect); + if (pContext) + { + rect.left += pContext->offset.h; + rect.top += pContext->offset.v; + } + long offset; + if (style & kPopupStyle) + offset = (int)(rect.top + size.top); + else + offset = (int)(rect.top + size.bottom); + BPoint where (rect.left + size.left, offset); + BView* plugView = (BView*) getFrame ()->getSystemWindow (); + plugView->ConvertToScreen (&where); + item = popup->Go (where); + if (item) + { + message = item->Message (); + if (message) + { + CDrawContext *pContextTemp = pContext; + // create a local context + if (!pContextTemp) + pContextTemp = new CDrawContext (getFrame (), plugView, NULL); + + setValue (message->what); + + if (listener) + listener->valueChanged (pContextTemp, this); + + // redraw the display + draw (pContextTemp); + + if (!pContext && pContextTemp) + delete pContextTemp; + } + } + delete popup; +#endif + + getFrame ()->setFocusView (0); + endEdit(); +} + +//------------------------------------------------------------------------ +void COptionMenu::looseFocus (CDrawContext *pContext) +{ + if (platformControl == 0) + return; + +#if WINDOWS +#elif MAC +#elif MOTIF + for (long i = 0; i < nbEntries; i++) + if (itemWidget[i]) + XtDestroyWidget ((Widget)itemWidget[i]); + + if (platformControl) + { + XtUnmanageChild ((Widget)platformControl); + XtDestroyWidget ((Widget)platformControl); + } +#endif + + platformControl = 0; +} + +#if MOTIF +//------------------------------------------------------------------------ +void COptionMenu::setCurrentSelected (void *itemSelected) +{ + // retrieve the current index + if (itemSelected != 0) + { + for (long i = 0; i < nbEntries; i++) + if (itemWidget[i] == itemSelected) + { + currentIndex = i; + break; + } + } + + // update dependency + CDrawContext *pContext = new CDrawContext (getFrame (), (void*)getFrame ()->getGC (), (void*)getFrame ()->getWindow ()); + + setValue (currentIndex); + + if (listener) + listener->valueChanged (pContext, this); + delete pContext; +} +#endif + + +//------------------------------------------------------------------------ +// CAnimKnob +//------------------------------------------------------------------------ +/*! @class CAnimKnob +Such as a CKnob control object, but there is a unique pixmap which contains different views (subpixmaps) of this knob. +According to the value, a specific subpixmap is displayed. The different subpixmaps are stacked in the pixmap object. +*/ +CAnimKnob::CAnimKnob (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) +: CKnob (size, listener, tag, background, 0, offset), bInverseBitmap (false) +{ + heightOfOneImage = size.height (); + subPixmaps = (short)(background->getHeight () / heightOfOneImage); + inset = 0; +} + +//------------------------------------------------------------------------ +CAnimKnob::CAnimKnob (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset) +: CKnob (size, listener, tag, background, 0, offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage), bInverseBitmap (false) +{ + inset = 0; +} + +//------------------------------------------------------------------------ +CAnimKnob::~CAnimKnob () +{} + +//----------------------------------------------------------------------------------------------- +bool CAnimKnob::isDirty () const +{ + if (!bDirty) + { + CPoint p; + valueToPoint (p); + if (p == lastDrawnPoint) + return false; + } + return CKnob::isDirty (); +} + +//------------------------------------------------------------------------ +void CAnimKnob::draw (CDrawContext *pContext) +{ + CPoint where (0, 0); + if (value >= 0.f) + { + CCoord tmp = heightOfOneImage * (subPixmaps - 1); + if (bInverseBitmap) + where.v = (long)((1 - value) * (float)tmp); + else + where.v = (long)(value * (float)tmp); + for (CCoord realY = 0; realY <= tmp; realY += heightOfOneImage) + { + if (where.v < realY) + { + where.v = realY - heightOfOneImage; + if (where.v < 0) + where.v = 0; + break; + } + } + } + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + valueToPoint (lastDrawnPoint); + setDirty (false); +} + +//------------------------------------------------------------------------ +// CVerticalSwitch +//------------------------------------------------------------------------ +/*! @class CVerticalSwitch +Define a switch with a given number of positions, the current position is defined by the position +of the last click on this object (the object is divided in its height by the number of position). +Each position has its subpixmap, each subpixmap is stacked in the given handle pixmap. +By clicking Alt+Left Mouse the default value is used. +*/ +CVerticalSwitch::CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset) +{ + heightOfOneImage = size.height (); + subPixmaps = (long)(background->getHeight () / heightOfOneImage); + iMaxPositions = subPixmaps; + + setDefaultValue (0.f); +} + +//------------------------------------------------------------------------ +CVerticalSwitch::CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // height of one image in pixel + long iMaxPositions, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage), + iMaxPositions (iMaxPositions) +{ + setDefaultValue (0.f); +} + +//------------------------------------------------------------------------ +CVerticalSwitch::~CVerticalSwitch () +{} + +//------------------------------------------------------------------------ +void CVerticalSwitch::draw (CDrawContext *pContext) +{ + if (pBackground) + { + // source position in bitmap + CPoint where (0, heightOfOneImage * ((long)(value * (iMaxPositions - 1) + 0.5f))); + + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void CVerticalSwitch::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + if (!(button & kLButton)) + return; + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + // check if default value wanted + if (checkDefaultValue (pContext, button)) + return; + + double coef = (double)heightOfOneImage / (double)iMaxPositions; + + // begin of edit parameter + beginEdit (); + do + { + value = (long)((where.v - size.top) / coef) / (float)(iMaxPositions - 1); + if (value > 1.f) + value = 1.f; + else if (value < 0.f) + value = 0.f; + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + while (pContext->getMouseButtons () == button); + + // end of edit parameter + endEdit (); +} + + +//------------------------------------------------------------------------ +// CHorizontalSwitch +//------------------------------------------------------------------------ +/*! @class CHorizontalSwitch +Same as the CVerticalSwitch but horizontal. +*/ +CHorizontalSwitch::CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset) +{ + heightOfOneImage = size.width (); + subPixmaps = (long)(background->getWidth () / heightOfOneImage); + iMaxPositions = subPixmaps; + + setDefaultValue (0.f); +} + +//------------------------------------------------------------------------ +CHorizontalSwitch::CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // height of one image in pixel + long iMaxPositions, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage), + iMaxPositions (iMaxPositions) +{ + setDefaultValue (0.f); +} + +//------------------------------------------------------------------------ +CHorizontalSwitch::~CHorizontalSwitch () +{} + +//------------------------------------------------------------------------ +void CHorizontalSwitch::draw (CDrawContext *pContext) +{ + if (pBackground) + { + // source position in bitmap + CPoint where (0, heightOfOneImage * ((long)(value * (iMaxPositions - 1) + 0.5f))); + + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void CHorizontalSwitch::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + // check if default value wanted + if (checkDefaultValue (pContext, button)) + return; + + double coef = (double)pBackground->getWidth () / (double)iMaxPositions; + + // begin of edit parameter + beginEdit (); + do + { + value = (long)((where.h - size.left) / coef) / (float)(iMaxPositions - 1); + if (value > 1.f) + value = 1.f; + else if (value < 0.f) + value = 0.f; + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + while (pContext->getMouseButtons () == button); + + // end of edit parameter + endEdit (); +} + + +//------------------------------------------------------------------------ +// CRockerSwitch +//------------------------------------------------------------------------ +/*! @class CRockerSwitch +Define a rocker switch with 3 states using 3 subpixmaps. +One click on its leftside, then the first subpixmap is displayed. +One click on its rightside, then the third subpixmap is displayed. +When the mouse button is relaxed, the second subpixmap is framed. +*/ +CRockerSwitch::CRockerSwitch (const CRect &size, CControlListener *listener, long tag, // identifier tag (ID) + CBitmap *background, CPoint &offset, const long style) +: CControl (size, listener, tag, background), offset (offset), style (style) +{ + heightOfOneImage = size.width (); +} + +//------------------------------------------------------------------------ +CRockerSwitch::CRockerSwitch (const CRect &size, CControlListener *listener, long tag, // identifier tag (ID) + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset, const long style) +: CControl (size, listener, tag, background), offset (offset), + heightOfOneImage (heightOfOneImage), style (style) +{} + +//------------------------------------------------------------------------ +CRockerSwitch::~CRockerSwitch () +{} + +//------------------------------------------------------------------------ +void CRockerSwitch::draw (CDrawContext *pContext) +{ + CPoint where (offset.h, offset.v); + + if (value == 1.f) + where.v += 2 * heightOfOneImage; + else if (value == 0.f) + where.v += heightOfOneImage; + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void CRockerSwitch::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + float fEntryState = value; + + CCoord width_2 = size.width () / 2; + CCoord height_2 = size.height () / 2; + + // begin of edit parameter + beginEdit (); + + if (button) + { + do + { + if (style & kHorizontal) + { + if (where.h >= size.left && where.v >= size.top && + where.h <= (size.left + width_2) && where.v <= size.bottom) + value = -1.0f; + else if (where.h >= (size.left + width_2) && where.v >= size.top && + where.h <= size.right && where.v <= size.bottom) + value = 1.0f; + else + value = fEntryState; + } + else + { + if (where.h >= size.left && where.v >= size.top && + where.h <= size.right && where.v <= (size.top + height_2)) + value = -1.0f; + else if (where.h >= size.left && where.v >= (size.top + height_2) && + where.h <= size.right && where.v <= size.bottom) + value = 1.0f; + else + value = fEntryState; + } + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + while (pContext->getMouseButtons ()); + } + else + { + if (where.h >= size.left && where.v >= size.top && + where.h <= (size.left + width_2) && where.v <= size.bottom) + value = -1.0f; + else if (where.h >= (size.left + width_2) && where.v >= size.top && + where.h <= size.right && where.v <= size.bottom) + value = 1.0f; + + if (listener) + listener->valueChanged (pContext, this); + } + + value = 0.f; // set button to UNSELECTED state + if (listener) + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); +} + +//------------------------------------------------------------------------ +bool CRockerSwitch::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + if (!bMouseEnabled) + return false; + + if (distance > 0) + value = -1.0f; + else + value = 1.0f; + + // begin of edit parameter + beginEdit (); + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + value = 0.0f; // set button to UNSELECTED state + if (listener) + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + + return true; +} + + +//------------------------------------------------------------------------ +// CMovieBitmap +//------------------------------------------------------------------------ +/*! @class CMovieBitmap +A movie pixmap allows to display different subpixmaps according to its current value. +*/ +CMovieBitmap::CMovieBitmap (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) + : CControl (size, listener, tag, background), offset (offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage) +{ + heightOfOneImage = size.height (); + subPixmaps = (long)(background->getHeight () / heightOfOneImage); +} + +//------------------------------------------------------------------------ +CMovieBitmap::CMovieBitmap (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset) + : CControl (size, listener, tag, background), offset (offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage) +{} + +//------------------------------------------------------------------------ +CMovieBitmap::~CMovieBitmap () +{} + +//------------------------------------------------------------------------ +void CMovieBitmap::draw (CDrawContext *pContext) +{ + CPoint where (offset.h, offset.v); + + if (value > 1.0f) + value = 1.0f; + + if (value > 0.0f) + where.v += heightOfOneImage * (int)(value * (subPixmaps - 1) + 0.5); + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + setDirty (false); +} + + +//------------------------------------------------------------------------ +// CMovieButton +//------------------------------------------------------------------------ +/*! @class CMovieButton +A movie button is a bi-states button with 2 subpixmaps. These subpixmaps are stacked in the pixmap. +*/ +CMovieButton::CMovieButton (const CRect &size, CControlListener *listener, long tag, // identifier tag (ID) + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), buttonState (value) +{ + heightOfOneImage = size.height (); +} + +//------------------------------------------------------------------------ +CMovieButton::CMovieButton (const CRect &size, CControlListener *listener, long tag, + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset) + : CControl (size, listener, tag, background), offset (offset), + heightOfOneImage (heightOfOneImage), buttonState (value) +{} + +//------------------------------------------------------------------------ +CMovieButton::~CMovieButton () +{} + +//------------------------------------------------------------------------ +void CMovieButton::draw (CDrawContext *pContext) +{ + CPoint where; + + where.h = 0; + + bounceValue (); + + if (value) + where.v = heightOfOneImage; + else + where.v = 0; + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + buttonState = value; + + setDirty (false); +} + +//------------------------------------------------------------------------ +void CMovieButton::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + // this simulates a real windows button + float fEntryState = value; + + // begin of edit parameter + beginEdit (); + + if (pContext->getMouseButtons ()) + { + do + { + if (where.h >= size.left && + where.v >= size.top && + where.h <= size.right && + where.v <= size.bottom) + value = !fEntryState; + else + value = fEntryState; + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + while (pContext->getMouseButtons () == button); + } + else + { + value = !value; + if (listener) + listener->valueChanged (pContext, this); + } + + // end of edit parameter + endEdit (); + + buttonState = value; +} + + +//------------------------------------------------------------------------ +// CAutoAnimation +//------------------------------------------------------------------------ +/*! @class CAutoAnimation +An auto-animation control contains a given number of subpixmap which can be displayed in loop. +Two functions allows to get the previous or the next subpixmap (these functions increase or decrease the current value of this control). +*/ +// displays bitmaps within a (child-) window +CAutoAnimation::CAutoAnimation (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), bWindowOpened (false) +{ + heightOfOneImage = size.height (); + subPixmaps = (long)(background->getHeight () / heightOfOneImage); + + totalHeightOfBitmap = heightOfOneImage * subPixmaps; +} + +//------------------------------------------------------------------------ +CAutoAnimation::CAutoAnimation (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps... + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset) + : CControl (size, listener, tag, background), offset (offset), + subPixmaps (subPixmaps), heightOfOneImage (heightOfOneImage), + bWindowOpened (false) +{ + totalHeightOfBitmap = heightOfOneImage * subPixmaps; +} + +//------------------------------------------------------------------------ +CAutoAnimation::~CAutoAnimation () +{} + +//------------------------------------------------------------------------ +void CAutoAnimation::draw (CDrawContext *pContext) +{ + if (isWindowOpened ()) + { + CPoint where; + where.v = (long)value + offset.v; + where.h = offset.h; + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void CAutoAnimation::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + if (!isWindowOpened ()) + { + value = 0; + openWindow (); + setDirty (); // force to redraw + if (listener) + listener->valueChanged (pContext, this); + } + else + { + // stop info animation + value = 0; // draw first pic of bitmap + setDirty (); + closeWindow (); + } +} + +//------------------------------------------------------------------------ +void CAutoAnimation::openWindow () +{ + bWindowOpened = true; +} + +//------------------------------------------------------------------------ +void CAutoAnimation::closeWindow () +{ + bWindowOpened = false; +} + +//------------------------------------------------------------------------ +void CAutoAnimation::nextPixmap () +{ + value += heightOfOneImage; + if (value >= (totalHeightOfBitmap - heightOfOneImage)) + value = 0; +} + +//------------------------------------------------------------------------ +void CAutoAnimation::previousPixmap () +{ + value -= heightOfOneImage; + if (value < 0.f) + value = (float)(totalHeightOfBitmap - heightOfOneImage - 1); +} + + +//------------------------------------------------------------------------ +// CSlider +//------------------------------------------------------------------------ +/*! @class CSlider +Define a slider with a given background and handle. +The range of variation of the handle should be defined. +By default the handler is drawn with transparency (white color). +By clicking Alt+Left Mouse the default value is used. +*/ +CSlider::CSlider (const CRect &rect, CControlListener *listener, long tag, + long iMinPos, // min position in pixel + long iMaxPos, // max position in pixel + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kBottom,kRight,kTop,kLeft,kHorizontal,kVertical) + : CControl (rect, listener, tag, background), offset (offset), pHandle (handle), + pOScreen (0), style (style), bFreeClick (true) +{ + setDrawTransparentHandle (true); + + if (pHandle) + { + pHandle->remember (); + widthOfSlider = pHandle->getWidth (); + heightOfSlider = pHandle->getHeight (); + } + else + { + widthOfSlider = 1; + heightOfSlider = 1; + } + + widthControl = size.width (); + heightControl = size.height (); + + if (style & kHorizontal) + { + minPos = iMinPos - size.left; + rangeHandle = iMaxPos - iMinPos; + CPoint p (0, 0); + setOffsetHandle (p); + } + else + { + minPos = iMinPos - size.top; + rangeHandle = iMaxPos - iMinPos; + CPoint p (0, 0); + setOffsetHandle (p); + } + + zoomFactor = 10.f; + + setWantsFocus (true); +} + +//------------------------------------------------------------------------ +CSlider::CSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long _rangeHandle, // size of handle range + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kBottom,kRight,kTop,kLeft,kHorizontal,kVertical) +: CControl (rect, listener, tag, background), offset (offset), pHandle (handle), + pOScreen (0), style (style), minPos (0), bFreeClick (true) +{ + setDrawTransparentHandle (true); + + if (pHandle) + { + pHandle->remember (); + widthOfSlider = pHandle->getWidth (); + heightOfSlider = pHandle->getHeight (); + } + else + { + widthOfSlider = 1; + heightOfSlider = 1; + } + + widthControl = size.width (); + heightControl = size.height (); + if (style & kHorizontal) + rangeHandle = _rangeHandle - widthOfSlider; + else + rangeHandle = _rangeHandle - heightOfSlider; + + setOffsetHandle (offsetHandle); + + zoomFactor = 10.f; + + setWantsFocus (true); +} + +//------------------------------------------------------------------------ +CSlider::~CSlider () +{ + if (pHandle) + pHandle->forget (); +} + +//------------------------------------------------------------------------ +void CSlider::setOffsetHandle (CPoint &val) +{ + offsetHandle = val; + + if (style & kHorizontal) + { + minTmp = offsetHandle.h + minPos; + maxTmp = minTmp + rangeHandle + widthOfSlider; + } + else + { + minTmp = offsetHandle.v + minPos; + maxTmp = minTmp + rangeHandle + heightOfSlider; + } +} + +//----------------------------------------------------------------------------- +bool CSlider::attached (CView *parent) +{ + if (pOScreen) + delete pOScreen; + #if !MACX + pOScreen = new COffscreenContext (getFrame (), widthControl, heightControl, kBlackCColor); + #endif + return CControl::attached (parent); +} + +//----------------------------------------------------------------------------- +bool CSlider::removed (CView *parent) +{ + if (pOScreen) + { + delete pOScreen; + pOScreen = 0; + } + return CControl::removed (parent); +} + +//------------------------------------------------------------------------ +void CSlider::draw (CDrawContext *pContext) +{ + CDrawContext* drawContext = pOScreen ? pOScreen : pContext; + + #if 1 + if (pOScreen && bTransparencyEnabled) + pOScreen->copyTo (pContext, size); + #endif + float fValue; + if (style & kLeft || style & kTop) + fValue = value; + else + fValue = 1.f - value; + + // (re)draw background + CRect rect (0, 0, widthControl, heightControl); + if (!pOScreen) + rect.offset (size.left, size.top); + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (drawContext, rect, offset); + else + pBackground->draw (drawContext, rect, offset); + } + + // calc new coords of slider + CRect rectNew; + if (style & kHorizontal) + { + rectNew.top = offsetHandle.v; + rectNew.bottom = rectNew.top + heightOfSlider; + + rectNew.left = offsetHandle.h + (int)(fValue * rangeHandle); + rectNew.left = (rectNew.left < minTmp) ? minTmp : rectNew.left; + + rectNew.right = rectNew.left + widthOfSlider; + rectNew.right = (rectNew.right > maxTmp) ? maxTmp : rectNew.right; + } + else + { + rectNew.left = offsetHandle.h; + rectNew.right = rectNew.left + widthOfSlider; + + rectNew.top = offsetHandle.v + (int)(fValue * rangeHandle); + rectNew.top = (rectNew.top < minTmp) ? minTmp : rectNew.top; + + rectNew.bottom = rectNew.top + heightOfSlider; + rectNew.bottom = (rectNew.bottom > maxTmp) ? maxTmp : rectNew.bottom; + } + if (!pOScreen) + rectNew.offset (size.left, size.top); + + // draw slider at new position + if (pHandle) + { + if (bDrawTransparentEnabled) + pHandle->drawTransparent (drawContext, rectNew); + else + pHandle->draw (drawContext, rectNew); + } + + if (pOScreen) + pOScreen->copyFrom (pContext, size); + + setDirty (false); +} + +//------------------------------------------------------------------------ +void CSlider::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + // check if default value wanted + if (checkDefaultValue (pContext, button)) + return; + + // allow left mousebutton only + if (!(button & kLButton)) + return; + + CCoord delta; + if (style & kHorizontal) + delta = size.left + offsetHandle.h; + else + delta = size.top + offsetHandle.v; + if (!bFreeClick) + { + float fValue; + if (style & kLeft || style & kTop) + fValue = value; + else + fValue = 1.f - value; + CCoord actualPos; + CRect rect; + + if (style & kHorizontal) + { + actualPos = offsetHandle.h + (int)(fValue * rangeHandle) + size.left; + + rect.left = actualPos; + rect.top = size.top + offsetHandle.v; + rect.right = rect.left + widthOfSlider; + rect.bottom = rect.top + heightOfSlider; + + if (!where.isInside (rect)) + return; + else + delta += where.h - actualPos; + } + else + { + actualPos = offsetHandle.v + (int)(fValue * rangeHandle) + size.top; + + rect.left = size.left + offsetHandle.h; + rect.top = actualPos; + rect.right = rect.left + widthOfSlider; + rect.bottom = rect.top + heightOfSlider; + + if (!where.isInside (rect)) + return; + else + delta += where.v - actualPos; + } + } + else + { + if (style & kHorizontal) + delta += widthOfSlider / 2 - 1; + else + delta += heightOfSlider / 2 - 1; + } + + float oldVal = value; + long oldButton = button; + + // begin of edit parameter + beginEdit (); + + while (1) + { + button = pContext->getMouseButtons (); + if (!(button & kLButton)) + break; + + if ((oldButton != button) && (button & kShift)) + { + oldVal = value; + oldButton = button; + } + else if (!(button & kShift)) + oldVal = value; + + if (style & kHorizontal) + value = (float)(where.h - delta) / (float)rangeHandle; + else + value = (float)(where.v - delta) / (float)rangeHandle; + + if (style & kRight || style & kBottom) + value = 1.f - value; + + if (button & kShift) + value = oldVal + ((value - oldVal) / zoomFactor); + bounceValue (); + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + + // end of edit parameter + endEdit (); +} + +//------------------------------------------------------------------------ +bool CSlider::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + if (!bMouseEnabled) + return false; + + long buttons = pContext->getMouseButtons (); + if (buttons & kShift) + value += 0.1f * distance * wheelInc; + else + value += distance * wheelInc; + bounceValue (); + + if (isDirty () && listener) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); + } + + return true; +} + +//------------------------------------------------------------------------ +long CSlider::onKeyDown (VstKeyCode& keyCode) +{ + switch (keyCode.virt) + { + case VKEY_UP : + case VKEY_RIGHT : + case VKEY_DOWN : + case VKEY_LEFT : + { + float distance = 1.f; + if (keyCode.virt == VKEY_DOWN || keyCode.virt == VKEY_LEFT) + distance = -distance; + + if (keyCode.modifier & MODIFIER_SHIFT) + value += 0.1f * distance * wheelInc; + else + value += distance * wheelInc; + bounceValue (); + + if (isDirty () && listener) + { + // begin of edit parameter + beginEdit (); + + listener->valueChanged (0, this); + + // end of edit parameter + endEdit (); + } + } return 1; + } + return -1; +} + +//------------------------------------------------------------------------ +void CSlider::setHandle (CBitmap *_pHandle) +{ + if (pHandle) + pHandle->forget (); + pHandle = _pHandle; + if (pHandle) + { + pHandle->remember (); + widthOfSlider = pHandle->getWidth (); + heightOfSlider = pHandle->getHeight (); + } +} + + +//------------------------------------------------------------------------ +// CVerticalSlider +//------------------------------------------------------------------------ +/*! @class CVerticalSlider +This is the vertical slider. See CSlider. +*/ +CVerticalSlider::CVerticalSlider (const CRect &rect, CControlListener *listener, long tag, + long iMinPos, // min position in pixel + long iMaxPos, // max position in pixel + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kLeft, kRight) + : CSlider (rect, listener, tag, iMinPos, iMaxPos, handle, background, offset, style|kVertical) +{} + +//------------------------------------------------------------------------ +CVerticalSlider::CVerticalSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long rangeHandle, // size of handle range + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kLeft, kRight) +: CSlider (rect, listener, tag, offsetHandle, rangeHandle, handle, background, offset, style|kVertical) +{} + + +//------------------------------------------------------------------------ +// CHorizontalSlider +//------------------------------------------------------------------------ +/*! @class CHorizontalSlider +This is the horizontal slider. See CSlider. +*/ +CHorizontalSlider::CHorizontalSlider (const CRect &rect, CControlListener *listener, long tag, + long iMinPos, // min Y position in pixel + long iMaxPos, // max Y position in pixel + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kLeft, kRight) + : CSlider (rect, listener, tag, iMinPos, iMaxPos, handle, background, offset, style|kHorizontal) +{} + +//------------------------------------------------------------------------ +CHorizontalSlider::CHorizontalSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long rangeHandle, // size of handle range + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style) // style (kLeft, kRight) +: CSlider (rect, listener, tag, offsetHandle, rangeHandle, handle, background, offset, style|kHorizontal) +{} + + +//------------------------------------------------------------------------ +// CSpecialDigit +//------------------------------------------------------------------------ +/*! @class CSpecialDigit +Can be used to display a counter with maximum 7 digits. +All digit have the same size and are stacked in height in the pixmap. +*/ +CSpecialDigit::CSpecialDigit (const CRect &size, + CControlListener *listener, + long tag, // tag identifier + long dwPos, // actual value + long iNumbers, // amount of numbers (max 7) + long *xpos, // array of all XPOS + long *ypos, // array of all YPOS + long width, // width of ONE number + long height, // height of ONE number + CBitmap *background) // bitmap numbers + : CControl (size, listener, tag, background), + iNumbers (iNumbers), width (width), height (height) +{ + setValue ((float)dwPos); // actual value + + if (iNumbers > 7) + iNumbers = 7; + + if (xpos == NULL) + { + // automatically init xpos/ypos if not provided by caller + const int numw = (const int)background->getWidth(); + int x = (int)size.left; + for (long i = 0; i < iNumbers; i++) + { + this->xpos[i] = x; + this->ypos[i] = (long)size.top; + x += numw; + } + } + else + { + // store coordinates of x/y pos of each digit + for (long i = 0; i < iNumbers; i++) + { + this->xpos[i] = xpos[i]; + this->ypos[i] = ypos[i]; + } + } + + setMax ((float)pow (10., (double)iNumbers) - 1.0f); + setMin (0.0f); +} + +//------------------------------------------------------------------------ +CSpecialDigit::~CSpecialDigit () +{} + +//------------------------------------------------------------------------ +void CSpecialDigit::draw (CDrawContext *pContext) +{ + CPoint where; + CRect rectDest; + long i, j; + long dwValue; + long one_digit[16]; + + if ((long)value >= getMax ()) + dwValue = (long)getMax (); + else if ((long)value < getMin ()) + dwValue = (long)getMin (); + else + dwValue = (long)value; + + for (i = 0, j = ((long)getMax () + 1) / 10; i < iNumbers; i++, j /= 10) + { + one_digit[i] = dwValue / j; + dwValue -= (one_digit[i] * j); + } + + where.h = 0; + for (i = 0; i < iNumbers; i++) + { + j = one_digit[i]; + if (j > 9) + j = 9; + + rectDest.left = xpos[i]; + rectDest.top = ypos[i]; + + rectDest.right = rectDest.left + width; + rectDest.bottom = rectDest.top + height; + + // where = src from bitmap + where.v = j * height; + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, rectDest, where); + else + pBackground->draw (pContext, rectDest, where); + } + } + + setDirty (false); +} + +//------------------------------------------------------------------------ +float CSpecialDigit::getNormValue () const +{ + float fTemp; + fTemp = value / getMax (); + if (fTemp > 1.0f) + fTemp = 1.0f; + else if (fTemp < 0.0f) + fTemp = 0.0f; + + return fTemp; +} + + +//------------------------------------------------------------------------ +// CKickButton +//------------------------------------------------------------------------ +/*! @class CKickButton +Define a button with 2 states using 2 subpixmaps. +One click on it, then the second subpixmap is displayed. +When the mouse button is relaxed, the first subpixmap is framed. +*/ +CKickButton::CKickButton (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset) +{ + heightOfOneImage = size.height (); +} + +//------------------------------------------------------------------------ +CKickButton::CKickButton (const CRect &size, CControlListener *listener, long tag, + CCoord heightOfOneImage, // height of one image in pixel + CBitmap *background, CPoint &offset) +: CControl (size, listener, tag, background), offset (offset), + heightOfOneImage (heightOfOneImage) +{} + +//------------------------------------------------------------------------ +CKickButton::~CKickButton () +{} + +//------------------------------------------------------------------------ +void CKickButton::draw (CDrawContext *pContext) +{ + CPoint where (offset.h, offset.v); + + bounceValue (); + + if (value) + where.v += heightOfOneImage; + + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size, where); + else + pBackground->draw (pContext, size, where); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +void CKickButton::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + // this simulates a real windows button + float fEntryState = value; + + // begin of edit parameter + beginEdit (); + + if (pContext->getMouseButtons () == kLButton) + { + do + { + if (where.h >= size.left && where.v >= size.top && + where.h <= size.right && where.v <= size.bottom) + value = !fEntryState; + else + value = fEntryState; + + if (isDirty () && listener) + listener->valueChanged (pContext, this); + + getMouseLocation (pContext, where); + + doIdleStuff (); + } + while (pContext->getMouseButtons () == kLButton); + } + else + { + value = !value; + if (listener) + listener->valueChanged (pContext, this); + } + + value = 0.0f; // set button to UNSELECTED state + if (listener) + listener->valueChanged (pContext, this); + + // end of edit parameter + endEdit (); +} + + +//------------------------------------------------------------------------ +class CSplashScreenView : public CView +{ +public: + CSplashScreenView (const CRect& size, CSplashScreen* splashScreen) + : CView (size) + , splashScreen (splashScreen) + { + setTransparency (splashScreen->getTransparency ()); + setBackground (splashScreen->getBackground ()); + } + + void draw (CDrawContext *pContext) + { + if (bTransparencyEnabled) + { + if (splashScreen->getBitmapTransparency ()) + pBackground->drawAlphaBlend (pContext, size, splashScreen->getOffset (), splashScreen->getBitmapTransparency ()); + else + pBackground->drawTransparent (pContext, size, splashScreen->getOffset ()); + } + else + pBackground->draw (pContext, size, splashScreen->getOffset ()); + setDirty (false); + } + + void mouse (CDrawContext *pContext, CPoint &where, long button) + { + if (button & kLButton) + { + splashScreen->unSplash (pContext); + getFrame ()->setDirty (true); + getFrame ()->setModalView (0); + forget (); + } + } + +protected: + CSplashScreen* splashScreen; +}; + +//------------------------------------------------------------------------ +// CSplashScreen +//------------------------------------------------------------------------ +/*! @class CSplashScreen +One click on its activated region and its pixmap is displayed, in this state the other control can not be used, +an another click on the displayed area reinstalls the normal frame. +This can be used to display a help view over the other views. +*/ +// one click draw its pixmap, an another click redraw its parent +CSplashScreen::CSplashScreen (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, + CRect &toDisplay, + CPoint &offset) +: CControl (size, listener, tag, background), + toDisplay (toDisplay), offset (offset), bitmapTransparency (255) +{} + +//------------------------------------------------------------------------ +CSplashScreen::~CSplashScreen () +{} + +//------------------------------------------------------------------------ +void CSplashScreen::setBitmapTransparency (unsigned char transparency) +{ + bitmapTransparency = transparency; + setTransparency (bitmapTransparency != 255); +} + +//------------------------------------------------------------------------ +void CSplashScreen::draw (CDrawContext *pContext) +{ + if (value && pBackground) + { + if (bTransparencyEnabled) + { + if (bitmapTransparency) + pBackground->drawAlphaBlend (pContext, toDisplay, offset, bitmapTransparency); + else + pBackground->drawTransparent (pContext, toDisplay, offset); + } + else + pBackground->draw (pContext, toDisplay, offset); + } + setDirty (false); +} + +//------------------------------------------------------------------------ +bool CSplashScreen::hitTest (const CPoint& where, const long buttons) +{ + bool result = CView::hitTest (where, buttons); + if (result && !(buttons & kLButton)) + return false; + return result; +} + +//------------------------------------------------------------------------ +void CSplashScreen::mouse (CDrawContext *pContext, CPoint &where, long button) +{ + if (!bMouseEnabled) + return; + + if (button == -1) button = pContext->getMouseButtons (); + + if (listener && button & (kAlt | kShift | kControl | kApple)) + { + if (listener->controlModifierClicked (pContext, this, button) != 0) + return; + } + + if (!(button & kLButton)) + return; + + value = !value; + if (value) + { + CSplashScreenView* ssv = new CSplashScreenView (toDisplay, this); + if (getFrame () && getFrame ()->setModalView (ssv)) + { +// keepSize = size; +// size = toDisplay; +// mouseableArea = size; + if (listener) + listener->valueChanged (pContext, this); + } + setDirty (); + } +// else +// { +// size = keepSize; +// mouseableArea = size; +// if (listener) +// listener->valueChanged (pContext, this); +// if (getFrame ()) +// { +// getFrame ()->setDirty (true); +// getFrame ()->setModalView (NULL); +// } +// } +} + +//------------------------------------------------------------------------ +void CSplashScreen::unSplash (CDrawContext* pContext) +{ +// setDirty (); +// value = 0.f; +// +// size = keepSize; +// if (getFrame ()) +// { +// if (getFrame ()->getModalView () == this) +// { +// getFrame ()->setModalView (NULL); +// getFrame ()->redraw (); +// } +// } + if (value) + { + value = 0; + if (listener) + listener->valueChanged (pContext, this); + } +} + +//------------------------------------------------------------------------ +// CVuMeter +//------------------------------------------------------------------------ +CVuMeter::CVuMeter (const CRect &size, CBitmap *onBitmap, CBitmap *offBitmap, + long nbLed, const long style) + : CControl (size, 0, 0), + onBitmap (onBitmap), offBitmap (offBitmap), pOScreen (0), + nbLed (nbLed), style (style) +{ + setDecreaseStepValue (0.1f); + +#if WINDOWS && !USE_LIBPNG + setUseOffscreen (true); +#endif + + if (onBitmap) + onBitmap->remember (); + if (offBitmap) + offBitmap->remember (); + + rectOn (size.left, size.top, size.right, size.bottom); + rectOff (size.left, size.top, size.right, size.bottom); +} + +//------------------------------------------------------------------------ +CVuMeter::~CVuMeter () +{ + if (onBitmap) + onBitmap->forget (); + if (offBitmap) + offBitmap->forget (); +} + +//------------------------------------------------------------------------ +void CVuMeter::setDirty (const bool val) +{ + CView::setDirty (val); +} + +//----------------------------------------------------------------------------- +bool CVuMeter::attached (CView *parent) +{ + if (pOScreen) + delete pOScreen; + + if (bUseOffscreen) + { + pOScreen = new COffscreenContext (getFrame (), (long)size.width (), (long)size.height (), kBlackCColor); + rectOn (0, 0, size.width (), size.height ()); + rectOff (0, 0, size.width (), size.height ()); + } + else + { + rectOn (size.left, size.top, size.right, size.bottom); + rectOff (size.left, size.top, size.right, size.bottom); + } + + return CControl::attached (parent); +} + +//------------------------------------------------------------------------ +void CVuMeter::setUseOffscreen (bool val) +{ + bUseOffscreen = val; +} + +//----------------------------------------------------------------------------- +bool CVuMeter::removed (CView *parent) +{ + if (pOScreen) + { + delete pOScreen; + pOScreen = 0; + } + return CControl::removed (parent); +} + +//------------------------------------------------------------------------ +void CVuMeter::draw (CDrawContext *_pContext) +{ + if (!onBitmap) + return; + + CPoint pointOn; + CPoint pointOff; + CDrawContext *pContext = _pContext; + + bounceValue (); + + float newValue = oldValue - decreaseValue; + if (newValue < value) + newValue = value; + oldValue = newValue; + + if (bUseOffscreen) + { + if (!pOScreen) + { + pOScreen = new COffscreenContext (getFrame (), (long)size.width (), (long)size.height (), kBlackCColor); + rectOn (0, 0, size.width (), size.height ()); + rectOff (0, 0, size.width (), size.height ()); + } + pContext = pOScreen; + } + + if (style & kHorizontal) + { + CCoord tmp = (long)(((long)(nbLed * newValue + 0.5f) / (float)nbLed) * onBitmap->getWidth ()); + pointOff (tmp, 0); + if (!bUseOffscreen) + tmp += size.left; + + rectOff.left = tmp; + rectOn.right = tmp; + } + else + { + CCoord tmp = (long)(((long)(nbLed * (getMax () - newValue) + 0.5f) / (float)nbLed) * onBitmap->getHeight ()); + pointOn (0, tmp); + if (!bUseOffscreen) + tmp += size.top; + + rectOff.bottom = tmp; + rectOn.top = tmp; + } + + if (offBitmap) + { + if (bTransparencyEnabled) + offBitmap->drawTransparent (pContext, rectOff, pointOff); + else + offBitmap->draw (pContext, rectOff, pointOff); + } + + if (bTransparencyEnabled) + onBitmap->drawTransparent (pContext, rectOn, pointOn); + else + onBitmap->draw (pContext, rectOn, pointOn); + + if (pOScreen) + pOScreen->copyFrom (_pContext, size); + setDirty (false); +} + +END_NAMESPACE_VSTGUI +//------------------------------------------------------------------------ +// END. +//------------------------------------------------------------------------ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.h new file mode 100644 index 0000000..515cafc --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstcontrols.h @@ -0,0 +1,996 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// Standard Control Objects +// +// Version 3.0 $Date: 2006/02/08 17:29:59 $ +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __vstcontrols__ +#define __vstcontrols__ + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +//------------------ +// defines +//------------------ +#ifndef kPI +#define kPI 3.14159265358979323846 +#endif + +#ifndef k2PI +#define k2PI 6.28318530717958647692 +#endif + +#ifndef kPI_2 +#define kPI_2 1.57079632679489661923f +#endif + +#ifndef kPI_4 +#define kPI_4 0.78539816339744830962 +#endif + +#ifndef kE +#define kE 2.7182818284590452354 +#endif + +#ifndef kLN2 +#define kLN2 0.69314718055994530942 +#endif + +#ifndef kSQRT2 +#define kSQRT2 1.41421356237309504880 +#endif + +//------------------ +// CControlEnum type +//------------------ +enum CControlEnum +{ + kHorizontal = 1 << 0, + kVertical = 1 << 1, + kShadowText = 1 << 2, + kLeft = 1 << 3, + kRight = 1 << 4, + kTop = 1 << 5, + kBottom = 1 << 6, + k3DIn = 1 << 7, + k3DOut = 1 << 8, + kPopupStyle = 1 << 9, + kCheckStyle = 1 << 10, + kMultipleCheckStyle, + kNoTextStyle = 1 << 11, + kNoDrawStyle = 1 << 12, + kDoubleClickStyle = 1 << 13, + kNoFrame = 1 << 14 +}; + +//--------------------------- +// Some defines for Menu item +//--------------------------- +#define kMenuTitle "-T" +#define kMenuSeparator "-" +#define kMenuDisable "-G" +#define kMenuSubMenu "-M" + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +class CControlListener +{ +public: + #if USE_NAMESPACE + virtual void valueChanged (VSTGUI::CDrawContext *pContext, VSTGUI::CControl *pControl) = 0; + virtual long controlModifierClicked (VSTGUI::CDrawContext *pContext, VSTGUI::CControl *pControl, long button) { return 0; } // return 1 if you want the control to not handle it, otherwise 0 + #else + virtual void valueChanged (CDrawContext *pContext, CControl *pControl) = 0; + virtual long controlModifierClicked (CDrawContext *pContext, CControl *pControl, long button) { return 0; } // return 1 if you want the control to not handle it, otherwise 0 + #endif +}; + +class AudioEffectX; + +//----------------------------------------------------------------------------- +BEGIN_NAMESPACE_VSTGUI +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// CControl Declaration +//! base class of all VSTGUI controls +//----------------------------------------------------------------------------- +class CControl : public CView +{ +public: + CControl (const CRect &size, CControlListener *listener = 0, long tag = 0, + CBitmap *pBackground = 0); + virtual ~CControl (); + + virtual void draw (CDrawContext *pContext) = 0; + virtual void doIdleStuff () { if (pParentFrame) pParentFrame->doIdleStuff (); } + + virtual void setValue (float val) { value = val; } + virtual float getValue () const { return value; }; + + virtual void setMin (float val) { vmin = val; } + virtual float getMin () const { return vmin; } + virtual void setMax (float val) { vmax = val; } + virtual float getMax () const { return vmax; } + + virtual void setOldValue (float val) { oldValue = val; } + virtual float getOldValue (void) const { return oldValue; } + virtual void setDefaultValue (float val) { defaultValue = val; } + virtual float getDefaultValue (void) const { return defaultValue; } + + virtual void setTag (long val) { tag = val; } + virtual long getTag () const { return tag; } + + virtual bool isDirty () const; + virtual void setDirty (const bool val = true); + + virtual void beginEdit (); + virtual void endEdit (); + + virtual void setBackOffset (CPoint &offset); + virtual void copyBackOffset (); + + virtual void setWheelInc (float val) { wheelInc = val; } + virtual float getWheelInc () const { return wheelInc; } + + virtual void bounceValue (); + virtual bool checkDefaultValue (CDrawContext *pContext, long button); + + CControlListener* getListener () const { return listener; } + void setListener (CControlListener* l) { listener = l; } + bool isDoubleClick (); + + CLASS_METHODS(CControl, CView) + +protected: + CControlListener *listener; + long tag; + float oldValue; + float defaultValue; + float value; + float vmin; + float vmax; + float wheelInc; + + long lastTicks; + long delta; + + CPoint backOffset; +}; + + +//----------------------------------------------------------------------------- +// COnOffButton Declaration +//! a button control with 2 states +//----------------------------------------------------------------------------- +class COnOffButton : public CControl +{ +public: + COnOffButton (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, long style = kPreListenerUpdate); + virtual ~COnOffButton (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + virtual long getStyle () const { return style; } + virtual void setStyle (long newStyle) { style = newStyle; } + + enum { + kPreListenerUpdate, ///< listener will be called after doIdleStuff was called + kPostListenerUpdate, ///< listener will be called before doIdleStuff is called + }; + + CLASS_METHODS(COnOffButton, CControl) +protected: + long style; +}; + + +//----------------------------------------------------------------------------- +// CParamDisplay Declaration +//! a parameter display control +//----------------------------------------------------------------------------- +class CParamDisplay : public CControl +{ +public: + CParamDisplay (const CRect &size, CBitmap *background = 0, const long style = 0); + virtual ~CParamDisplay (); + + virtual void setFont (CFont fontID); + CFont getFont () const { return fontID; } + + virtual void setFontColor (CColor color); + CColor getFontColor () const { return fontColor; } + + virtual void setBackColor (CColor color); + CColor getBackColor () const { return backColor; } + + virtual void setFrameColor (CColor color); + CColor getFrameColor () const { return frameColor; } + + virtual void setShadowColor (CColor color); + CColor getShadowColor () const { return shadowColor; } + + virtual void setHoriAlign (CHoriTxtAlign hAlign); + + virtual void setStringConvert (void (*convert) (float value, char *string)); + virtual void setStringConvert (void (*convert) (float value, char *string, void *userDta), + void *userData); + virtual void setString2FloatConvert (void (*convert) (char *string, float &output)); + + virtual void setStyle (long val); + long getStyle () const { return style; } + + virtual void setTxtFace (CTxtFace val); + CTxtFace getTxtFace () const { return txtFace; } + + virtual void draw (CDrawContext *pContext); + + virtual void setTextTransparency (bool val) { bTextTransparencyEnabled = val; } + bool getTextTransparency () const { return bTextTransparencyEnabled; } + + CLASS_METHODS(CParamDisplay, CControl) + +protected: + void drawText (CDrawContext *pContext, char *string, CBitmap *newBack = 0); + + void (*stringConvert) (float value, char *string); + void (*stringConvert2) (float value, char *string, void *userData); + void (*string2FloatConvert) (char *string, float &output); + void *userData; + + CHoriTxtAlign horiTxtAlign; + long style; + + CFont fontID; + CTxtFace txtFace; + CColor fontColor; + CColor backColor; + CColor frameColor; + CColor shadowColor; + bool bTextTransparencyEnabled; +}; + + +//----------------------------------------------------------------------------- +// CLabel Declaration +//! a text label +//----------------------------------------------------------------------------- +class CTextLabel : public CParamDisplay +{ +public: + CTextLabel (const CRect& size, const char* txt = 0, CBitmap* background = 0, const long style = 0); + ~CTextLabel (); + + virtual void setText (const char* txt); + virtual const char* getText () const; + + virtual void draw (CDrawContext *pContext); + + CLASS_METHODS(CTextLabel, CParamDisplay) + +protected: + void freeText (); + char* text; +}; + +//----------------------------------------------------------------------------- +// CTextEdit Declaration +//! a text edit control +//----------------------------------------------------------------------------- +class CTextEdit : public CParamDisplay +{ +public: + CTextEdit (const CRect &size, CControlListener *listener, long tag, const char *txt = 0, + CBitmap *background = 0, const long style = 0); + virtual ~CTextEdit (); + + virtual void setText (char *txt); + virtual void getText (char *txt) const; + + virtual void draw (CDrawContext *pContext); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + virtual void setTextEditConvert (void (*editConvert) (char *input, char *string)); + virtual void setTextEditConvert (void (*editConvert2) (char *input, char *string, + void *userDta), void *userData); + + virtual void takeFocus (CDrawContext *pContext = 0); + virtual void looseFocus (CDrawContext *pContext = 0); + + void *platformFontColor; + void *platformControl; + bool bWasReturnPressed; + #if MAC + short pluginResID; + #if QUARTZ + HIViewRef textControl; + #endif + #endif + + CLASS_METHODS(CTextEdit, CParamDisplay) + +protected: + void *platformFont; + char text[256]; + +#if (MAC && !MACX) + void *text_edit; + bool bLoosefocusWanted; +#endif + + void (*editConvert) (char *input, char *string); + void (*editConvert2) (char *input, char *string, void *userData); +}; + + +//----------------------------------------------------------------------------- +// COptionMenuScheme Declaration +//----------------------------------------------------------------------------- +class COptionMenuScheme : public CReferenceCounter +{ +public: + COptionMenuScheme (); + virtual ~COptionMenuScheme (); + + enum { kChecked = 0x01, kDisabled = 0x02, kSelected = 0x04, kSubMenu = 0x08, kTitle = 0x10 }; + + virtual void getItemSize (const char* text, CDrawContext* pContext, CPoint& size); + virtual void drawItem (const char* text, long itemId, long state, CDrawContext* pContext, const CRect& rect); + + void setColors (CColor back, CColor select, CColor text, CColor htext, CColor dtext) + { backgroundColor = back; selectionColor = select; textColor = text; + hiliteTextColor = htext; disableTextColor = dtext;} + + void setFont (CFont f) { font = f; } +protected: + + CColor backgroundColor; + CColor selectionColor; + CColor textColor; + CColor hiliteTextColor; + CColor disableTextColor; + CFont font; + + virtual void drawItemBack (CDrawContext* pContext, const CRect& rect, bool hilite); + + #if MAC_ENABLE_MENU_SCHEME + static pascal OSStatus eventHandler (EventHandlerCallRef inCallRef, EventRef inEvent, void *inUserData); + void registerWithToolbox (); + void unregisterWithToolbox (); + #endif +}; + +//----------------------------------------------------------------------------- +extern COptionMenuScheme* gOptionMenuScheme; + +//----------------------------------------------------------------------------- +// COptionMenu Declaration +//! a popup menu control +//----------------------------------------------------------------------------- +class COptionMenu : public CParamDisplay +{ +public: + COptionMenu (const CRect &size, CControlListener *listener, long tag, + CBitmap *background = 0, CBitmap *bgWhenClick = 0, + const long style = 0); + virtual ~COptionMenu (); + + enum { MAX_ENTRY = 1024 }; + + virtual void setValue (float val); + virtual bool addEntry (COptionMenu *subMenu, char *txt); + virtual bool addEntry (char *txt, long index = -1); + virtual long getCurrent (char *txt = 0, bool countSeparator = true) const; + virtual bool setCurrent (long index, bool countSeparator = true); + virtual bool getEntry (long index, char *txt) const; + virtual bool setEntry (long index, char *txt); + virtual bool removeEntry (long index); + virtual bool removeAllEntry (); + virtual long getNbEntries () const { return nbEntries; } + virtual long getIndex (char *txt) const; + + virtual bool checkEntry (long index, bool state); + virtual bool checkEntryAlone (long index); + virtual bool isCheckEntry (long index) const; + + virtual void draw (CDrawContext *pContext); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + virtual void takeFocus (CDrawContext *pContext = 0); + virtual void looseFocus (CDrawContext *pContext = 0); + + virtual void setNbItemsPerColumn (long val) { nbItemsPerColumn = val; } + virtual long getNbItemsPerColumn () const { return nbItemsPerColumn; } + +#if MOTIF + void setCurrentSelected (void *itemSelected); +#elif MAC + short getMenuID () const { return menuID; } +#endif + + long getLastResult () const { return lastResult; } + COptionMenu *getLastItemMenu (long &idxInMenu) const; + + void setScheme (COptionMenuScheme* s) { scheme = s; } + virtual COptionMenuScheme* getScheme () const { return scheme; } + + virtual void setPrefixNumbers (long preCount); + + COptionMenu* getSubMenu (long idx) const; + + CLASS_METHODS(COptionMenu, CParamDisplay) + +protected: + COptionMenu *getItemMenu (long idx, long &idxInMenu, long &offsetIdx); + void removeItems (); + void *appendItems (long &offsetIdx); + + void *platformControl; + + bool allocateMenu (long nb); + bool allocateSubMenu (long nb); + + char **entry; + COptionMenu **submenuEntry; + bool *check; + +#if MOTIF + void *itemWidget[MAX_ENTRY]; +#elif MAC + short menuID; +#endif + + long nbEntries; + long nbSubMenus; + long currentIndex; + CBitmap *bgWhenClick; + long lastButton; + long nbItemsPerColumn; + long nbAllocated; + long nbSubMenuAllocated; + long lastResult; + long prefixNumbers; + COptionMenu *lastMenu; + COptionMenuScheme* scheme; +}; + + +//----------------------------------------------------------------------------- +// CKnob Declaration +//! a knob control +//----------------------------------------------------------------------------- +class CKnob : public CControl +{ +public: + CKnob (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CBitmap *handle, const CPoint &offset); + virtual ~CKnob (); + + virtual void draw (CDrawContext *pContext); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + virtual long onKeyDown (VstKeyCode& keyCode); + + virtual void drawHandle (CDrawContext *pContext); + + virtual void setStartAngle (float val); + virtual float getStartAngle () const { return startAngle; } + + virtual void setRangeAngle (float val); + virtual float getRangeAngle () const { return rangeAngle; } + + virtual void valueToPoint (CPoint &point) const; + virtual float valueFromPoint (CPoint &point) const; + + virtual void setInsetValue (long val) { inset = val; } + + virtual void setColorShadowHandle (CColor color); + virtual void setColorHandle (CColor color); + + virtual void setHandleBitmap (CBitmap *bitmap); + + virtual void setZoomFactor (float val) { zoomFactor = val; } + virtual float getZoomFactor () const { return zoomFactor; } + + CLASS_METHODS(CKnob, CControl) + +protected: + void compute (); + + CPoint offset; + CColor colorHandle, colorShadowHandle; + + CBitmap *pHandle; + long inset; + float startAngle, rangeAngle, halfAngle; + float aCoef, bCoef; + float radius; + float zoomFactor; +}; + +//----------------------------------------------------------------------------- +// CAnimKnob Declaration +//! a bitmap knob control +//----------------------------------------------------------------------------- +class CAnimKnob : public CKnob +{ +public: + CAnimKnob (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CAnimKnob (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset); + virtual ~CAnimKnob (); + + virtual bool isDirty () const; + + virtual void draw (CDrawContext* pContext); + + void setInverseBitmap (bool val) { bInverseBitmap = val; } + + CLASS_METHODS(CAnimKnob, CKnob) + +protected: + long subPixmaps; // number of subPixmaps + CCoord heightOfOneImage; + bool bInverseBitmap; + CPoint lastDrawnPoint; +}; + +//----------------------------------------------------------------------------- +// CVerticalSwitch Declaration +//! a vertical switch control +//----------------------------------------------------------------------------- +class CVerticalSwitch : public CControl +{ +public: + CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CVerticalSwitch (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // pixel + long iMaxPositions, + CBitmap *background, CPoint &offset); + virtual ~CVerticalSwitch (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + CLASS_METHODS(CVerticalSwitch, CControl) + +protected: + CPoint offset; + long subPixmaps; // number of subPixmaps + CCoord heightOfOneImage; + long iMaxPositions; +}; + + +//----------------------------------------------------------------------------- +// CHorizontalSwitch Declaration +//! a horizontal switch control +//----------------------------------------------------------------------------- +class CHorizontalSwitch : public CControl +{ +public: + CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CHorizontalSwitch (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // pixel + long iMaxPositions, + CBitmap *background, CPoint &offset); + virtual ~CHorizontalSwitch (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + CLASS_METHODS(CHorizontalSwitch, CControl) + +protected: + CPoint offset; + long subPixmaps; // number of subPixmaps + long iMaxPositions; + CCoord heightOfOneImage; +}; + + +//----------------------------------------------------------------------------- +// CRockerSwitch Declaration +//! a switch control with 3 sub bitmaps +//----------------------------------------------------------------------------- +class CRockerSwitch : public CControl +{ +public: + CRockerSwitch (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset, const long style = kHorizontal); + CRockerSwitch (const CRect &size, CControlListener *listener, long tag, + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset, const long style = kHorizontal); + virtual ~CRockerSwitch (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + + CLASS_METHODS(CRockerSwitch, CControl) + +protected: + CPoint offset; + CCoord heightOfOneImage; + long style; +}; + + +//----------------------------------------------------------------------------- +// CMovieBitmap Declaration +//! a bitmap control that displays different bitmaps according to its current value +//----------------------------------------------------------------------------- +class CMovieBitmap : public CControl +{ +public: + CMovieBitmap (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CMovieBitmap (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset); + virtual ~CMovieBitmap (); + + virtual void draw (CDrawContext*); + + CLASS_METHODS(CMovieBitmap, CControl) + +protected: + CPoint offset; + long subPixmaps; // number of subPixmaps + CCoord heightOfOneImage; +}; + + +//----------------------------------------------------------------------------- +// CMovieButton Declaration +//! a bi-states button with 2 subbitmaps +//----------------------------------------------------------------------------- +class CMovieButton : public CControl +{ +public: + CMovieButton (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CMovieButton (const CRect &size, CControlListener *listener, long tag, + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset); + virtual ~CMovieButton (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + CLASS_METHODS(CMovieButton, CControl) + +protected: + CPoint offset; + CCoord heightOfOneImage; + float buttonState; +}; + + +//----------------------------------------------------------------------------- +// CAutoAnimation Declaration +//! +//----------------------------------------------------------------------------- +class CAutoAnimation : public CControl +{ +public: + CAutoAnimation (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CAutoAnimation (const CRect &size, CControlListener *listener, long tag, + long subPixmaps, // number of subPixmaps... + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset); + virtual ~CAutoAnimation (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + virtual void openWindow (void); + virtual void closeWindow (void); + + virtual void nextPixmap (void); + virtual void previousPixmap (void); + + bool isWindowOpened () const { return bWindowOpened; } + + CLASS_METHODS(CAutoAnimation, CControl) + +protected: + CPoint offset; + + long subPixmaps; + CCoord heightOfOneImage; + CCoord totalHeightOfBitmap; + + bool bWindowOpened; +}; + + +//----------------------------------------------------------------------------- +// CSlider Declaration +//! a slider control +//----------------------------------------------------------------------------- +class CSlider : public CControl +{ +public: + CSlider (const CRect &size, CControlListener *listener, long tag, + long iMinPos, // min position in pixel + long iMaxPos, // max position in pixel + CBitmap *handle, // handle bitmap + CBitmap *background, // background bitmap + CPoint &offset, // offset in the background + const long style = kLeft|kHorizontal); // style (kBottom,kRight,kTop,kLeft,kHorizontal,kVertical) + + CSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long rangeHandle, // size of handle range + CBitmap *handle, // handle bitmap + CBitmap *background, // background bitmap + CPoint &offset, // offset in the background + const long style = kLeft|kHorizontal); // style (kBottom,kRight,kTop,kLeft,kHorizontal,kVertical) + + virtual ~CSlider (); + + virtual bool attached (CView *parent); + virtual bool removed (CView *parent); + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + virtual long onKeyDown (VstKeyCode& keyCode); + + virtual void setDrawTransparentHandle (bool val) { bDrawTransparentEnabled = val; } + virtual void setFreeClick (bool val) { bFreeClick = val; } + virtual bool getFreeClick () const { return bFreeClick; } + virtual void setOffsetHandle (CPoint &val); + + virtual void setHandle (CBitmap* pHandle); + virtual CBitmap *getHandle () const { return pHandle; } + + virtual void setZoomFactor (float val) { zoomFactor = val; } + virtual float getZoomFactor () const { return zoomFactor; } + + CLASS_METHODS(CSlider, CControl) + +protected: + CPoint offset; + CPoint offsetHandle; + + CBitmap *pHandle; + COffscreenContext *pOScreen; + + long style; + + CCoord widthOfSlider; // size of the handle-slider + CCoord heightOfSlider; + CCoord rangeHandle; + CCoord minTmp; + CCoord maxTmp; + CCoord minPos; + CCoord widthControl; + CCoord heightControl; + float zoomFactor; + + bool bDrawTransparentEnabled; + bool bFreeClick; +}; + +//----------------------------------------------------------------------------- +// CVerticalSlider Declaration +//! a vertical slider control +//----------------------------------------------------------------------------- +class CVerticalSlider : public CSlider +{ +public: + CVerticalSlider (const CRect &size, CControlListener *listener, long tag, + long iMinPos, // min Y position in pixel + long iMaxPos, // max Y position in pixel + CBitmap *handle, // bitmap slider + CBitmap *background, // bitmap background + CPoint &offset, // offset in the background + const long style = kBottom); // style (kBottom, kTop)) + + CVerticalSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long rangeHandle, // size of handle range + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style = kBottom); // style (kBottom, kTop) +}; + +//----------------------------------------------------------------------------- +// CHorizontalSlider Declaration +//! a horizontal slider control +//----------------------------------------------------------------------------- +class CHorizontalSlider : public CSlider +{ +public: + CHorizontalSlider (const CRect &size, CControlListener *listener, long tag, + long iMinPos, // min X position in pixel + long iMaxPos, // max X position in pixel + CBitmap *handle, // bitmap slider + CBitmap *background, // bitmap background + CPoint &offset, // offset in the background + const long style = kRight); // style (kRight, kLeft) + + CHorizontalSlider (const CRect &rect, CControlListener *listener, long tag, + CPoint &offsetHandle, // handle offset + long rangeHandle, // size of handle range + CBitmap *handle, // bitmap of slider + CBitmap *background, // bitmap of background + CPoint &offset, // offset in the background + const long style = kRight); // style (kRight, kLeft) +}; + + +//----------------------------------------------------------------------------- +// CSpecialDigit Declaration +//! special display with custom numbers (0...9) +//----------------------------------------------------------------------------- +class CSpecialDigit : public CControl +{ +public: + CSpecialDigit (const CRect &size, CControlListener *listener, long tag, // tag identifier + long dwPos, // actual value + long iNumbers, // amount of numbers (max 7) + long *xpos, // array of all XPOS + long *ypos, // array of all YPOS + long width, // width of ONE number + long height, // height of ONE number + CBitmap *background); // bitmap numbers + virtual ~CSpecialDigit (); + + virtual void draw (CDrawContext*); + + virtual float getNormValue (void) const; + + CLASS_METHODS(CSpecialDigit, CControl) + +protected: + long iNumbers; // amount of numbers + long xpos[7]; // array of all XPOS, max 7 possible + long ypos[7]; // array of all YPOS, max 7 possible + long width; // width of ONE number + long height; // height of ONE number +}; + + +//----------------------------------------------------------------------------- +// CKickButton Declaration +//! +//----------------------------------------------------------------------------- +class CKickButton : public CControl +{ +public: + CKickButton (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, CPoint &offset); + CKickButton (const CRect &size, CControlListener *listener, long tag, + CCoord heightOfOneImage, // pixel + CBitmap *background, CPoint &offset); + virtual ~CKickButton (); + + virtual void draw (CDrawContext*); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + + CLASS_METHODS(CKickButton, CControl) + +protected: + CPoint offset; + CCoord heightOfOneImage; +}; + + +//----------------------------------------------------------------------------- +// CSplashScreen Declaration +//! +//----------------------------------------------------------------------------- +class CSplashScreen : public CControl +{ +public: + CSplashScreen (const CRect &size, CControlListener *listener, long tag, + CBitmap *background, + CRect &toDisplay, + CPoint &offset); + virtual ~CSplashScreen (); + + virtual void draw (CDrawContext*); + virtual bool hitTest (const CPoint& where, const long buttons = -1); + virtual void mouse (CDrawContext *pContext, CPoint &where, long button = -1); + virtual void unSplash (CDrawContext *pContext = 0); + + void setBitmapTransparency (unsigned char transparency); + unsigned char getBitmapTransparency () const { return bitmapTransparency; } + + const CPoint& getOffset () const { return offset; } + + CLASS_METHODS(CSplashScreen, CControl) + +protected: + CRect toDisplay; + CRect keepSize; + CPoint offset; + unsigned char bitmapTransparency; +}; + + +//----------------------------------------------------------------------------- +// CVuMeter Declaration +//! +//----------------------------------------------------------------------------- +class CVuMeter : public CControl +{ +public: + CVuMeter (const CRect& size, CBitmap *onBitmap, CBitmap *offBitmap, + long nbLed, const long style = kVertical); + virtual ~CVuMeter (); + + virtual void setDecreaseStepValue (float value) { decreaseValue = value; } + + virtual bool attached (CView *parent); + virtual bool removed (CView *parent); + virtual void draw (CDrawContext *pContext); + virtual void setDirty (const bool val = true); + + void setUseOffscreen (bool val = true); + bool getUseOffscreen () const { return bUseOffscreen; } + + CLASS_METHODS(CVuMeter, CControl) + +protected: + CBitmap *onBitmap; + CBitmap *offBitmap; + COffscreenContext *pOScreen; + + long nbLed; + long style; + float decreaseValue; + bool bUseOffscreen; + + CRect rectOn; + CRect rectOff; +}; + +END_NAMESPACE_VSTGUI + +#endif // __vstcontrol__ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.cpp b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.cpp new file mode 100644 index 0000000..9375e6f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.cpp @@ -0,0 +1,9851 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// Version 3.0 $Date: 2006/02/08 17:31:19 $ +// +// Added Motif/Windows vers.: Yvan Grabit 01.98 +// Added Mac version : Charlie Steinberg 02.98 +// Added BeOS version : Georges-Edouard Berenger 05.99 +// Added new functions : Matthias Juwan 12.01 +// Added MacOSX version : Arne Scheffler 02.03 +// Added Quartz stuff : Arne Scheffler 08.03 +// Added Win Alpha Blending : Arne Scheffler 04.04 +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +#if !PLUGGUI +#ifndef __audioeffectx__ +#include "audioeffectx.h" +#endif +#endif + +#include "vstkeycode.h" + +#include +#include +#include +#include + +//---Some defines------------------------------------- +#define USE_ALPHA_BLEND QUARTZ || USE_LIBPNG +#define USE_CLIPPING_DRAWRECT 1 +#define MAC_OLD_DRAG 1 +#define NEW_UPDATE_MECHANISM 1 +#define USE_VST_WINDOW (!PLUGGUI && !VST_FORCE_DEPRECATED) + +#if !WINDOWS +// For OS which allows a lot of Drawing contexts +#define USE_GLOBAL_CONTEXT 1 +#endif + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#if USE_NAMESPACE +#define VSTGUI_CFrame VSTGUI::CFrame +#define VSTGUI_CPoint VSTGUI::CPoint +#define VSTGUI_CTextEdit VSTGUI::CTextEdit +#define VSTGUI_CColor VSTGUI::CColor +#define VSTGUI_CDrawContext VSTGUI::CDrawContext +#define VSTGUI_COffscreenContext VSTGUI::COffscreenContext +#define VSTGUI_COptionMenu VSTGUI::COptionMenu +#define VSTGUI_COptionMenuScheme VSTGUI::COptionMenuScheme +#define VSTGUI_CDragContainer VSTGUI::CDragContainer +#else +#define VSTGUI_CFrame CFrame +#define VSTGUI_CPoint CPoint +#define VSTGUI_CTextEdit CTextEdit +#define VSTGUI_CColor CColor +#define VSTGUI_CDrawContext CDrawContext +#define VSTGUI_COffscreenContext COffscreenContext +#define VSTGUI_COptionMenu COptionMenu +#define VSTGUI_COptionMenuScheme COptionMenuScheme +#define VSTGUI_CDragContainer CDragContainer +#endif + +static VSTGUI_CDragContainer* gDragContainer = 0; + +//---For Debugging------------------------ +#if DEBUG + +long gNbCBitmap = 0; +long gNbCView = 0; +long gNbCDrawContext = 0; +long gNbCOffscreenContext = 0; +long gBitmapAllocation = 0; +long gNbDC = 0; + +#include + +void DebugPrint (char *format, ...); +void DebugPrint (char *format, ...) +{ + char string[300]; + va_list marker; + va_start (marker, format); + vsprintf (string, format, marker); + if (!string) + strcpy (string, "Empty string\n"); + #if WINDOWS + OutputDebugString (string); + #elif MAC && !MACX + Str255 pStr; + c2pstrcpy (pStr, string); + DebugStr (pStr); + #else + fprintf (stderr, string); + #endif +} +#endif +//---End For Debugging------------------------ + +#if WINDOWS +static bool bSwapped_mouse_buttons = false; +OSVERSIONINFOEX gSystemVersion; + +// Alpha blending for Windows using library : msimg32.dll +#define DYNAMICALPHABLEND 1 + +#define WIN32_LEAN_AND_MEAN 1 +#include +#include +#include +#include +#include + +#if DYNAMICALPHABLEND +typedef BOOL (WINAPI *PFNALPHABLEND)( + HDC hdcDest, // handle to destination DC + int nXOriginDest, // x-coord of upper-left corner + int nYOriginDest, // y-coord of upper-left corner + int nWidthDest, // destination width + int nHeightDest, // destination height + HDC hdcSrc, // handle to source DC + int nXOriginSrc, // x-coord of upper-left corner + int nYOriginSrc, // y-coord of upper-left corner + int nWidthSrc, // source width + int nHeightSrc, // source height + BLENDFUNCTION blendFunction // alpha-blending function +); + +PFNALPHABLEND pfnAlphaBlend = NULL; + +typedef BOOL (WINAPI *PFNTRANSPARENTBLT)( + HDC hdcDest, // handle to destination DC + int nXOriginDest, // x-coord of destination upper-left corner + int nYOriginDest, // y-coord of destination upper-left corner + int nWidthDest, // width of destination rectangle + int hHeightDest, // height of destination rectangle + HDC hdcSrc, // handle to source DC + int nXOriginSrc, // x-coord of source upper-left corner + int nYOriginSrc, // y-coord of source upper-left corner + int nWidthSrc, // width of source rectangle + int nHeightSrc, // height of source rectangle + UINT crTransparent // color to make transparent +); + +PFNTRANSPARENTBLT pfnTransparentBlt = NULL; +#endif + +#if PLUGGUI + extern HINSTANCE ghInst; + inline HINSTANCE GetInstance () { return ghInst; } +#else + extern void* hInstance; + inline HINSTANCE GetInstance () { return (HINSTANCE)hInstance; } +#endif + +static long gUseCount = 0; +static char gClassName[100] = {0}; +static bool InitWindowClass (); +static void ExitWindowClass (); +LONG_PTR WINAPI WindowProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + +static HANDLE CreateMaskBitmap (CDrawContext* pContext, CRect& rect, CColor transparentColor); +static void DrawTransparent (CDrawContext* pContext, CRect& rect, const CPoint& offset, HDC hdcBitmap, POINT ptSize, HBITMAP pMask, COLORREF color); +static bool checkResolveLink (const char* nativePath, char* resolved); +static void *createDropTarget (VSTGUI_CFrame* pFrame); + +BEGIN_NAMESPACE_VSTGUI +long gStandardFontSize[] = { 12, 18, 14, 12, 11, 10, 9, 13 }; +const char* gStandardFontName[] = { + "Arial", "Arial", "Arial", + "Arial", "Arial", "Arial", + "Arial", "Symbol" }; +END_NAMESPACE_VSTGUI + +#if USE_LIBPNG +#include "png.h" +#endif + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#elif MOTIF + + #define USE_XPM 0 + #define TEST_REGION 0 + + #if USE_XPM + #include + #endif + + #include + #include + #include + #include + #include + #include + + #if SGI + #include + #elif SUN + #elif LINUX + #endif + + #define XDRAWPARAM pDisplay, (Window)pWindow, (GC)pSystemContext + #define XWINPARAM pDisplay, (Window)pWindow + #define XGCPARAM pDisplay, (GC)pSystemContext + +// init the static variable about font +bool gFontInit = false; +XFontStruct *gFontStructs[] = {0, 0, 0, 0, 0, 0, 0}; + +struct SFontTable {char* name; char* string;}; + +static SFontTable gFontTable[] = { + {"SystemFont", "-adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*"}, // kSystemFont + {"NormalFontVeryBig", "-adobe-helvetica-medium-r-*-*-18-*-*-*-*-*-*-*"}, // kNormalFontVeryBig + {"NormalFontBig", "-adobe-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*"}, // kNormalFontBig + {"NormalFont", "-adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"}, // kNormalFont + {"NormalFontSmall", "-adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*"}, // kNormalFontSmall + {"NormalFontSmaller", "-adobe-helvetica-medium-r-*-*-9-*-*-*-*-*-*-*"}, // kNormalFontSmaller + {"NormalFontVerySmall", "-adobe-helvetica-medium-r-*-*-8-*-*-*-*-*-*-*"}, // kNormalFontVerySmall + {"SymbolFont", "-adobe-symbol-medium-r-*-*-12-*-*-*-*-*-*-*"} // kSymbolFont +}; + +long gStandardFontSize[] = { 12, 16, 14, 12, 10, 9, 8, 10 }; + +//----------------------------------------------------------------------------- +// declaration of different local functions +long convertPoint2Angle (CPoint &pm, CPoint &pt); + +// callback for the frame +void _drawingAreaCallback (Widget widget, XtPointer clientData, XtPointer callData); +void _eventHandler (Widget w, XtPointer clientData, XEvent *event, char *p); +void _destroyCallback (Widget widget, XtPointer clientData, XtPointer callData); + +// stuff for color +long getIndexColor8Bit (CColor color, Display *pDisplay, Colormap colormap); +long CDrawContext::nbNewColor = 0; +static CColor paletteNewColor[256]; + +//------ our user-defined XPM functions +bool xpmGetValues (char **ppDataXpm, long *pWidth, long *pHeight, long *pNcolor, long *pCpp); + + #if !USE_XPM + #include "xpmloader.cpp" + #endif + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#elif MAC +BEGIN_NAMESPACE_VSTGUI + +long pSystemVersion; + +#if MACX +//----------------------------------------------------------------------------- +#include + +#if QUARTZ +const char* gMacXfontNames[] = { + "Helvetica", + "Helvetica", + "Helvetica", + "Helvetica", + "Helvetica", + "Helvetica", + "Helvetica", + "Symbol" +}; + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + +static inline void QuartzSetLineDash (CGContextRef context, CLineStyle style, CCoord lineWidth); +static inline void QuartzSetupClip (CGContextRef context, const CRect clipRect); +static inline double radians (double degrees) { return degrees * M_PI / 180; } +CGColorSpaceRef GetGenericRGBColorSpace (); + +typedef void (*CGContextStrokeLineSegmentsProc) (CGContextRef c, const CGPoint points[], size_t count); +typedef CGImageRef (*CGImageCreateWithImageInRectProc) (CGImageRef image, CGRect rect); +static CGImageCreateWithImageInRectProc _CGImageCreateWithImageInRect = NULL; +static CGContextStrokeLineSegmentsProc _CGContextStrokeLineSegments = NULL; + +// cache graphics importer +static ComponentInstance bmpGI = 0; +static ComponentInstance pngGI = 0; +static ComponentInstance jpgGI = 0; +static ComponentInstance pictGI = 0; + + +#else +const unsigned char* gMacXfontNames[] = { + "\pArial", + "\pArial", + "\pArial", + "\pArial", + "\pArial", + "\pArial", + "\pArial", + "\pSymbol" +}; +#endif + +//----------------------------------------------------------------------------- +#else +#include +#include +#include +#include +#endif + +long gStandardFontSize[] = { 12, 18, 14, 12, 10, 9, 9, 12 }; + +long convertPoint2Angle (CPoint &pm, CPoint &pt); +void RectNormalize (Rect& rect); +void CRect2Rect (const CRect &cr, Rect &rr); +void Rect2CRect (Rect &rr, CRect &cr); +void CColor2RGBColor (const CColor &cc, RGBColor &rgb); +void RGBColor2CColor (const RGBColor &rgb, CColor &cc); + +#if MAC_OLD_DRAG +static void install_drop (CFrame *frame); +static void remove_drop (CFrame *frame); +#endif + +//----------------------------------------------------------------------------- +void RectNormalize (Rect& rect) +{ + if (rect.left > rect.right) + { + long temp = rect.right; + rect.right = rect.left; + rect.left = temp; + } + if (rect.top > rect.bottom) + { + long temp = rect.bottom; + rect.bottom = rect.top; + rect.top = temp; + } +} + +//----------------------------------------------------------------------------- +void CRect2Rect (const CRect &cr, Rect &rr) +{ + rr.left = (short)cr.left; + rr.right = (short)cr.right; + rr.top = (short)cr.top; + rr.bottom = (short)cr.bottom; + RectNormalize (rr); +} + +//----------------------------------------------------------------------------- +void Rect2CRect (Rect &rr, CRect &cr) +{ + cr.left = rr.left; + cr.right = rr.right; + cr.top = rr.top; + cr.bottom = rr.bottom; +} + +//----------------------------------------------------------------------------- +void CColor2RGBColor (const CColor &cc, RGBColor &rgb) +{ + rgb.red = cc.red * 257; + rgb.green = cc.green * 257; + rgb.blue = cc.blue * 257; +} + +//----------------------------------------------------------------------------- +void RGBColor2CColor (const RGBColor &rgb, CColor &cc) +{ + cc.red = rgb.red / 257; + cc.green = rgb.green / 257; + cc.blue = rgb.blue / 257; +} + +END_NAMESPACE_VSTGUI +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#elif BEOS + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//-------------------------- +class PlugView: public BView +{ +public: + PlugView (BRect frame, CFrame* cframe); + void Draw (BRect updateRect); + void MouseDown (BPoint where); + void MessageReceived (BMessage *msg); +private: + CFrame* cframe; +}; + +long convertPoint2Angle (CPoint &pm, CPoint &pt); + +drawing_mode modeToPlatform [] = { +// kCopyMode kOrMode kXorMode + B_OP_COPY, B_OP_OVER, B_OP_INVERT +}; + +long gStandardFontSize[] = { 12, 18, 14, 12, 11, 10, 9, 12 }; +const char* standardFont = "Swis721 BT"; +const char* standardFontS = "Roman"; +const char* systemFont = "Swis721 BT"; +const char* systemFontS = "Bold"; +const char* gStandardFontName[] = { systemFont, + standardFont, standardFont, standardFont, standardFont, standardFont, + standardFont }; +const char* gStandardFontStyle[] = { systemFontS, + standardFontS, standardFontS, standardFontS, standardFontS, standardFontS, + standardFontS }; +#endif + +//----------------------------------------------------------------------------- +bool CRect::pointInside (const CPoint& where) const +{ + return where.h >= left && where.h < right && where.v >= top && where.v < bottom; +} + +//----------------------------------------------------------------------------- +bool CRect::isEmpty () const +{ + if (right <= left) + return true; + if (bottom <= top) + return true; + return false; +} + +//----------------------------------------------------------------------------- +void CRect::bound (const CRect& rect) +{ + if (left < rect.left) + left = rect.left; + if (top < rect.top) + top = rect.top; + if (right > rect.right) + right = rect.right; + if (bottom > rect.bottom) + bottom = rect.bottom; + if (bottom < top) + bottom = top; + if (right < left) + right = left; +} + +BEGIN_NAMESPACE_VSTGUI + +CColor kTransparentCColor = {255, 255, 255, 0}; +CColor kBlackCColor = {0, 0, 0, 255}; +CColor kWhiteCColor = {255, 255, 255, 255}; +CColor kGreyCColor = {127, 127, 127, 255}; +CColor kRedCColor = {255, 0, 0, 255}; +CColor kGreenCColor = {0 , 255, 0, 255}; +CColor kBlueCColor = {0 , 0, 255, 255}; +CColor kYellowCColor = {255, 255, 0, 255}; +CColor kMagentaCColor= {255, 0, 255, 255}; +CColor kCyanCColor = {0 , 255, 255, 255}; + +#define kDragDelay 0 + +//----------------------------------------------------------------------------- +// CDrawContext Implementation +//----------------------------------------------------------------------------- +/** + * CDrawContext constructor. + * @param inFrame the parent CFrame + * @param inSystemContext the platform system context, can be NULL + * @param inWindow the platform window object + */ +CDrawContext::CDrawContext (CFrame *inFrame, void *inSystemContext, void *inWindow) +: pSystemContext (inSystemContext) +, pWindow (inWindow) +, pFrame (inFrame) +, fontSize (-1) +, fontStyle (0) +, fontId (kNumStandardFonts) +, frameWidth (0) +, lineStyle (kLineOnOffDash) +, drawMode (kAntialias) +#if WINDOWS +, pBrush (0), pFont (0), pPen (0) +, pOldBrush (0), pOldFont (0), pOldPen (0) +#elif MAC && !QUARTZ +, bInitialized (false) +#endif +{ + #if DEBUG + gNbCDrawContext++; + #endif + + // initialize values + if (pFrame) + pFrame->getViewSize (clipRect); + else + clipRect (0, 0, 1000, 1000); + + const CColor notInitalized = {0, 0, 0, 0}; + frameColor = notInitalized; + fillColor = notInitalized; + fontColor = notInitalized; + + // offsets use by offscreen + offset (0, 0); + offsetScreen (0, 0); + +#if WINDOWS + pHDC = 0; + if (!pSystemContext && pWindow) + pSystemContext = pHDC = GetDC ((HWND)pWindow); + + if (pSystemContext) + { + pOldBrush = GetCurrentObject ((HDC)pSystemContext, OBJ_BRUSH); + pOldPen = GetCurrentObject ((HDC)pSystemContext, OBJ_PEN); + pOldFont = GetCurrentObject ((HDC)pSystemContext, OBJ_FONT); + SetBkMode ((HDC)pSystemContext, TRANSPARENT); + } + iPenStyle = PS_SOLID; + + // get position + if (pWindow) + { + RECT rctTempWnd; + GetWindowRect ((HWND)pWindow, &rctTempWnd); + offsetScreen.h = rctTempWnd.left; + offsetScreen.v = rctTempWnd.top; + } + +#elif MAC + #if QUARTZ + if (pFrame && (pSystemContext || pWindow)) + { + HIRect bounds; + HIViewGetFrame ((HIViewRef)pFrame->getPlatformControl (), &bounds); + if (pWindow || !pSystemContext) + { + WindowAttributes attr; + GetWindowAttributes ((WindowRef)pWindow, &attr); + if (attr & kWindowCompositingAttribute) + { + HIViewRef contentView; + HIViewFindByID (HIViewGetRoot ((WindowRef)pWindow), kHIViewWindowContentID, &contentView); + if (HIViewGetSuperview ((HIViewRef)pFrame->getPlatformControl ()) != contentView) + HIViewConvertRect (&bounds, (HIViewRef)pFrame->getPlatformControl (), contentView); + bounds.origin.x += pFrame->hiScrollOffset.x; + bounds.origin.y += pFrame->hiScrollOffset.y; + } + } + offsetScreen.x = (CCoord)bounds.origin.x; + offsetScreen.y = (CCoord)bounds.origin.y; + clipRect (0, 0, (CCoord)bounds.size.width, (CCoord)bounds.size.height); + clipRect.offset (pFrame->hiScrollOffset.x, pFrame->hiScrollOffset.y); + } + gCGContext = 0; + if (pSystemContext) + { + gCGContext = (CGContextRef) pSystemContext; + CGContextSaveGState (gCGContext); // save the original state + CGContextScaleCTM (gCGContext, 1, -1); + CGContextSetShouldAntialias (gCGContext, false); + CGContextSetFillColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGContextSetStrokeColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGContextSaveGState (gCGContext); + setClipRect (clipRect); + if (pFrame) + pFrame->setDrawContext (this); + } + else if (pWindow) + { + GrafPtr port = GetWindowPort ((WindowRef)pWindow); + OSStatus err = QDBeginCGContext (port, &gCGContext); + if (err == noErr) + { + CGContextSaveGState (gCGContext); // save the original state + SyncCGContextOriginWithPort (gCGContext, port); + Rect rect; + GetPortBounds (port, &rect); + CGContextTranslateCTM (gCGContext, 0, rect.bottom - rect.top); + CGContextTranslateCTM (gCGContext, offsetScreen.x, -offsetScreen.y); + CGContextTranslateCTM (gCGContext, -pFrame->hiScrollOffset.x, pFrame->hiScrollOffset.y); + CGContextSetShouldAntialias (gCGContext, false); + CGContextSetFillColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGContextSetStrokeColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGContextScaleCTM (gCGContext, 1, -1); + QuartzSetupClip (gCGContext, clipRect); + CGContextScaleCTM (gCGContext, 1, -1); + CGContextSaveGState (gCGContext); + setClipRect (clipRect); + if (pFrame) + pFrame->setDrawContext (this); + } + } + if (gCGContext) + { + CGAffineTransform cgCTM = CGAffineTransformMake (1.0, 0.0, 0.0, -1.0, 0.0, 0.0); + CGContextSetTextMatrix (gCGContext, cgCTM); + } + needToSynchronizeCGContext = false; + + #else + pSystemContext = pWindow; + + #endif + +#elif MOTIF + if (pFrame) + pDisplay = pFrame->getDisplay (); + + // set the current font + if (pSystemContext) + setFont (kNormalFont); + else + fprintf (stderr, "Error in CDrawContext::CDrawContext : pSystemContext must not be Null!!!\n"); + +#elif BEOS + pView = (BView*) pSystemContext; + if (pView) + pView->LockLooper (); + +#endif + + if (1 || pSystemContext) + { + // set the default values + setFrameColor (kWhiteCColor); + setLineStyle (kLineSolid); + setLineWidth (1); +#if !MOTIF + setFillColor (kBlackCColor); + setFontColor (kWhiteCColor); +#endif + setFont (kSystemFont); + setDrawMode (kCopyMode); + } +} + +//----------------------------------------------------------------------------- +CDrawContext::~CDrawContext () +{ + #if DEBUG + gNbCDrawContext--; + #endif + +#if WINDOWS + if (pOldBrush) + SelectObject ((HDC)pSystemContext, pOldBrush); + if (pOldPen) + SelectObject ((HDC)pSystemContext, pOldPen); + if (pOldFont) + SelectObject ((HDC)pSystemContext, pOldFont); + + if (pBrush) + DeleteObject (pBrush); + if (pPen) + DeleteObject (pPen); + if (pFont) + DeleteObject (pFont); + + if (pHDC) + { + ReleaseDC ((HWND)pWindow, pHDC); + #if DEBUG + gNbDC--; + #endif + } + +#elif (MAC && QUARTZ) + if (gCGContext) + { + CGContextRestoreGState (gCGContext); // restore the original state + CGContextRestoreGState (gCGContext); // we need to do it twice !!! + CGContextSynchronize (gCGContext); + if (!pSystemContext && pWindow) + QDEndCGContext (GetWindowPort ((WindowRef)pWindow), &gCGContext); + if (pFrame) + pFrame->setDrawContext (0); + } +#elif MOTIF +#elif BEOS + if (pView) + { + pView->Flush (); + pView->UnlockLooper (); + } +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setLineStyle (CLineStyle style) +{ + if (lineStyle == style) + return; + + lineStyle = style; + +#if WINDOWS + switch (lineStyle) + { + case kLineOnOffDash: + iPenStyle = PS_DOT; + break; + default: + iPenStyle = PS_SOLID; + break; + } + + LOGPEN logPen = {iPenStyle, {frameWidth, frameWidth}, + RGB (frameColor.red, frameColor.green, frameColor.blue)}; + + HANDLE newPen = CreatePenIndirect (&logPen); + SelectObject ((HDC)pSystemContext, newPen); + if (pPen) + DeleteObject (pPen); + pPen = newPen; + +#elif MAC + #if QUARTZ + + // nothing to do here + + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + PenState penState; + GetPenState (&penState); + switch (lineStyle) + { + case kLineOnOffDash: + StuffHex (&penState.pnPat, "\pF0F0F0F00F0F0F0F"); // dashed line 4 pixel + break; + default: + StuffHex (&penState.pnPat, "\pFFFFFFFFFFFFFFFF"); + break; + } + SetPenState (&penState); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + long line_width; + long line_style; + if (frameWidth == 1) + line_width = 0; + else + line_width = frameWidth; + + switch (lineStyle) + { + case kLineOnOffDash: + line_style = LineOnOffDash; + break; + default: + line_style = LineSolid; + break; + } + + XSetLineAttributes (XGCPARAM, line_width, line_style, CapNotLast, JoinRound); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setLineWidth (CCoord width) +{ + if (frameWidth == width) + return; + + frameWidth = width; + +#if WINDOWS + LOGPEN logPen = {iPenStyle, {frameWidth, frameWidth}, + RGB (frameColor.red, frameColor.green, frameColor.blue)}; + + HANDLE newPen = CreatePenIndirect (&logPen); + SelectObject ((HDC)pSystemContext, newPen); + if (pPen) + DeleteObject (pPen); + pPen = newPen; + +#elif MAC + #if QUARTZ + if (gCGContext) + CGContextSetLineWidth (gCGContext, width); + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + PenState penState; + GetPenState (&penState); + penState.pnSize.h = width; + penState.pnSize.v = width; + SetPenState (&penState); + SetGWorld (OrigPort, OrigDevice); + } + #endif +#elif MOTIF + setLineStyle (lineStyle); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setDrawMode (CDrawMode mode) +{ + if (drawMode == mode) + return; + + drawMode = mode; + +#if WINDOWS + long iMode = 0; + switch (drawMode) + { + case kXorMode : + iMode = R2_NOTXORPEN; // Pixel is the inverse of the R2_XORPEN color (final pixel = ~ (pen ^ screen pixel)). + break; + case kOrMode : + iMode = R2_MERGEPEN; // Pixel is a combination of the pen color and the screen color (final pixel = pen | screen pixel). + break; + default: + iMode = R2_COPYPEN; + break; + } + SetROP2 ((HDC)pSystemContext, iMode); + +#elif MAC + #if QUARTZ + // quartz only support antialias + if (gCGContext) + CGContextSetShouldAntialias (gCGContext, drawMode == kAntialias ? true : false); + + #else + if (pWindow) + { + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + long iMode = 0; + + switch (drawMode) + { + case kXorMode : + iMode = patXor; + break; + case kOrMode : + iMode = patOr; + break; + default: + iMode = patCopy; + } + PenMode (mode); + + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + long iMode = 0; + switch (drawMode) + { + case kXorMode : + iMode = GXinvert; + break; + case kOrMode : + iMode = GXor; + break; + default: + iMode = GXcopy; + } + ((XGCValues*)pSystemContext)->function = iMode; + XChangeGC (XGCPARAM, GCFunction, (XGCValues*)pSystemContext); +#endif +} + +//------------------------------------------------------------------------------ +void CDrawContext::setClipRect (const CRect &clip) +{ + CRect _clip (clip); + _clip.offset (offset.h, offset.v); + + if (clipRect == _clip) + return; + + clipRect = _clip; + +#if MAC + #if QUARTZ + if (0 && gCGContext) + { + CGContextRestoreGState (gCGContext); + CGContextSaveGState (gCGContext); + CGContextScaleCTM (gCGContext, 1, -1); + CGRect cgClipRect = CGRectMake (clipRect.left, clipRect.top, clipRect.width ()-1.f, clipRect.height ()-1.f); + CGContextClipToRect (gCGContext, cgClipRect); + CGContextScaleCTM (gCGContext, 1, -1); + setLineWidth (frameWidth); + setLineStyle (lineStyle); + setFrameColor (frameColor); + setFillColor (fillColor); + setFont (fontId, fontSize); + setDrawMode (drawMode); + } + + #else + Rect r; + CRect2Rect (_clip, r); + + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + ClipRect (&r); + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif WINDOWS + RECT r = {clipRect.left, clipRect.top, clipRect.right, clipRect.bottom}; + HRGN hRgn = CreateRectRgn (r.left, r.top, r.right, r.bottom); + SelectClipRgn ((HDC)pSystemContext, hRgn); + DeleteObject (hRgn); + +#elif MOTIF + XRectangle r; + r.x = 0; + r.y = 0; + r.width = clipRect.right - clipRect.left; + r.height = clipRect.bottom - clipRect.top; + XSetClipRectangles (XGCPARAM, clipRect.left, clipRect.top, &r, 1, Unsorted); + +#elif BEOS + clipping_rect r = {clipRect.left, clipRect.top, clipRect.right - 1, clipRect.bottom - 1}; + BRegion region; + region.Set (r); + pView->ConstrainClippingRegion (®ion); +#endif +} + +//------------------------------------------------------------------------------ +void CDrawContext::resetClipRect () +{ + CRect newClip; + if (pFrame) + pFrame->getViewSize (newClip); + else + newClip (0, 0, 1000, 1000); + +#if (MAC && QUARTZ) + if (0 && gCGContext) + { + CGContextRestoreGState (gCGContext); + CGContextScaleCTM (gCGContext, 1, -1); + CGRect cgClipRect = CGRectMake (newClip.left, newClip.top, newClip.width (), newClip.height ()); + CGContextClipToRect (gCGContext, cgClipRect); + CGContextScaleCTM (gCGContext, 1, -1); + CGContextSaveGState (gCGContext); + setLineWidth (frameWidth); + setLineStyle (lineStyle); + setFrameColor (frameColor); + setFillColor (fillColor); + setFont (fontId, fontSize); + setDrawMode (drawMode); + } + +#elif MAC || WINDOWS || MOTIF + setClipRect (newClip); + +#elif BEOS + pView->ConstrainClippingRegion (NULL); +#endif + + clipRect = newClip; +} + +//----------------------------------------------------------------------------- +void CDrawContext::moveTo (const CPoint &_point) +{ + CPoint point (_point); + point.offset (offset.h, offset.v); + +#if WINDOWS + MoveToEx ((HDC)pSystemContext, point.h, point.v, NULL); + +#elif MAC + #if QUARTZ + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); // get current GrafPort + SetGWorld (getPort (), NULL); // activate our GWorld + MoveTo (point.h, point.v); + SetGWorld (OrigPort, OrigDevice); + #endif + penLoc = point; + +#elif MOTIF || BEOS + penLoc = point; +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::lineTo (const CPoint& _point) +{ + CPoint point (_point); + point.offset (offset.h, offset.v); + +#if WINDOWS + LineTo ((HDC)pSystemContext, point.h, point.v); + +#elif MAC + #if QUARTZ + CGContextRef context = beginCGContext (true); + { + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + CGContextMoveToPoint (context, penLoc.h, penLoc.v); + CGContextAddLineToPoint (context, point.h, point.v); + CGContextDrawPath (context, kCGPathStroke); + releaseCGContext (context); + } + penLoc = point; + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); // get current GrafPort + SetGWorld (getPort (), NULL); // activate our GWorld + RGBColor col; + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + #if 1 + if (point.v == penLoc.v) + { + CPoint old = point; + if (point.h > penLoc.h) + point.h--; + else + point.h++; + penLoc = old; + LineTo (point.h, point.v); + MoveTo (penLoc.h, penLoc.v); + } + else if (point.h == penLoc.h) + { + CPoint old = point; + if (point.v > penLoc.v) + point.v--; + else + point.v++; + penLoc = old; + LineTo (point.h, point.v); + MoveTo (penLoc.h, penLoc.v); + } + else + { + penLoc = point; + LineTo (point.h, point.v); + } + #else + if (point.v > penLoc.v) + point.v--; + else if (point.v < penLoc.v) + point.v++; + if (point.h > penLoc.h) + point.h--; + else if (point.h < penLoc.h) + point.h++; + penLoc = point; + LineTo (point.h, point.v); + #endif + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + CPoint start (penLoc); + CPoint end (point); + if (start.h == end.h) + { + if (start.v < -5) + start.v = -5; + else if (start.v > 10000) + start.v = 10000; + + if (end.v < -5) + end.v = -5; + else if (end.v > 10000) + end.v = 10000; + } + if (start.v == end.v) + { + if (start.h < -5) + start.h = -5; + else if (start.h > 10000) + start.h = 10000; + + if (end.h < -5) + end.h = -5; + else if (end.h > 10000) + end.h = 10000; + } + XDrawLine (XDRAWPARAM, start.h, start.v, end.h, end.v); + + // keep trace of the new position + penLoc = point; + +#elif BEOS + rgb_color c = { frameColor.red, frameColor.green, frameColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + pView->SetPenSize (frameWidth); + lineFromTo (penLoc, point); + penLoc = point; +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawLines (const CPoint* points, const long& numLines) +{ + #if QUARTZ + CGContextRef context = beginCGContext (true); + if (context) + { + QuartzSetLineDash (context, lineStyle, frameWidth); + + #ifdef MAC_OS_X_VERSION_10_4 + if (_CGContextStrokeLineSegments) + { + CGPoint* cgPoints = new CGPoint[numLines*2]; + for (long i = 0; i < numLines * 2; i += 2) + { + cgPoints[i].x = points[i].x + offset.x; + cgPoints[i+1].x = points[i+1].x + offset.x; + cgPoints[i].y = points[i].y + offset.y; + cgPoints[i+1].y = points[i+1].y + offset.y; + } + _CGContextStrokeLineSegments (context, cgPoints, numLines*2); + delete [] cgPoints; + } + else + #endif + { + CGContextBeginPath (context); + for (long i = 0; i < numLines * 2; i += 2) + { + CGContextMoveToPoint (context, points[i].x + offset.x, points[i].y + offset.y); + CGContextAddLineToPoint (context, points[i+1].x + offset.x, points[i+1].y + offset.y); + } + CGContextDrawPath (context, kCGPathStroke); + } + releaseCGContext (context); + } + + #else + // default implementation, when no platform optimized code is implemented + for (long i = 0; i < numLines * 2; i+=2) + { + moveTo (points[i]); + lineTo (points[i+1]); + } + #endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawPolygon (const CPoint *pPoints, long numberOfPoints, const CDrawStyle drawStyle) +{ +#if MAC && QUARTZ + CGContextRef context = beginCGContext (true); + { + CGPathDrawingMode m; + switch (drawStyle) + { + case kDrawFilled : m = kCGPathFill; break; + case kDrawFilledAndStroked : m = kCGPathFillStroke; break; + default : m = kCGPathStroke; break; + } + + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + CGContextMoveToPoint (context, pPoints[0].h + offset.h, pPoints[0].v + offset.v); + for (long i = 1; i < numberOfPoints; i++) + CGContextAddLineToPoint (context, pPoints[i].h + offset.h, pPoints[i].v + offset.v); + CGContextDrawPath (context, m); + releaseCGContext (context); + } +#else + if (drawStyle == kDrawFilled || drawStyle == kDrawFilledAndStroked) + fillPolygon (pPoints, numberOfPoints); + if (drawStyle == kDrawStroked || drawStyle == kDrawFilledAndStroked) + polyLine (pPoints, numberOfPoints); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::polyLine (const CPoint *pPoints, long numberOfPoints) +{ +#if WINDOWS + POINT points[30]; + POINT *polyPoints; + bool allocated = false; + + if (numberOfPoints > 30) + { + polyPoints = (POINT*)new char [numberOfPoints * sizeof (POINT)]; + if (!polyPoints) + return; + allocated = true; + } + else + polyPoints = points; + + for (long i = 0; i < numberOfPoints; i++) + { + polyPoints[i].x = pPoints[i].h + offset.h; + polyPoints[i].y = pPoints[i].v + offset.v; + } + + Polyline ((HDC)pSystemContext, polyPoints, numberOfPoints); + + if (allocated) + delete[] polyPoints; + +#elif MAC + #if QUARTZ + drawPolygon (pPoints, numberOfPoints); + + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor col; + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + MoveTo (pPoints[0].h, pPoints[0].v); + for (long i = 1; i < numberOfPoints; i++) + LineTo (pPoints[i].h + offset.h, pPoints[i].v + offset.v); + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + XPoint* pt = (XPoint*)malloc (numberOfPoints * sizeof (XPoint)); + if (!pt) + return; + for (long i = 0; i < numberOfPoints; i++) + { + pt[i].x = (short)pPoints[i].h + offset.h; + pt[i].y = (short)pPoints[i].v + offset.v; + } + + XDrawLines (XDRAWPARAM, pt, numberOfPoints, CoordModeOrigin); + + free (pt); + +#elif BEOS + rgb_color c = { frameColor.red, frameColor.green, frameColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + pView->SetPenSize (frameWidth); + + CPoint begin (pPoints[0]); + begin.offset (offset.h, offset.v); + CPoint end; + for (long i = 1; i < numberOfPoints; i++) + { + end = pPoints[i]; + end.offset (offset.h, offset.v); + lineFromTo (begin, end); + begin = end; + } +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::fillPolygon (const CPoint *pPoints, long numberOfPoints) +{ + // Don't draw boundary +#if WINDOWS + POINT points[30]; + POINT *polyPoints; + bool allocated = false; + + if (numberOfPoints > 30) + { + polyPoints = (POINT*)new char [numberOfPoints * sizeof (POINT)]; + if (!polyPoints) + return; + allocated = true; + } + else + polyPoints = points; + + for (long i = 0; i < numberOfPoints; i++) + { + polyPoints[i].x = pPoints[i].h + offset.h; + polyPoints[i].y = pPoints[i].v + offset.v; + } + + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + Polygon ((HDC)pSystemContext, polyPoints, numberOfPoints); + SelectObject ((HDC)pSystemContext, oldPen); + + if (allocated) + delete[] polyPoints; + +#elif MAC + #if QUARTZ + drawPolygon (pPoints, numberOfPoints, kDrawFilled); + + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + PolyHandle thePoly; + RGBColor col; + + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + thePoly = OpenPoly (); // start recording + polyLine (pPoints, numberOfPoints); // draw polygon + LineTo (pPoints[0].h + offset.h, pPoints[0].v + offset.v); // close the boundary + ClosePoly (); // stop recording + + PixPatHandle pixPatHandle = NewPixPat (); + CColor2RGBColor (fillColor, col); + MakeRGBPat (pixPatHandle, &col); // create pixel pattern with fill color + + FillCPoly (thePoly, pixPatHandle); // fill inside + KillPoly (thePoly); // deallocate all memory used here + DisposePixPat (pixPatHandle); + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + // convert the points + XPoint* pt = (XPoint*)malloc (numberOfPoints * sizeof (XPoint)); + for (long i = 0; i < numberOfPoints; i++) + { + pt[i].x = (short)pPoints[i].h + offset.h; + pt[i].y = (short)pPoints[i].v + offset.v; + } + + XFillPolygon (XDRAWPARAM, pt, numberOfPoints, Convex, CoordModeOrigin); + + free (pt); + +#elif BEOS + BPoint bpoints[30]; + BPoint* polyPoints; + bool allocated = false; + + if (numberOfPoints > 30) + { + polyPoints = new BPoint [numberOfPoints]; + if (!polyPoints) + return; + allocated = true; + } + else + polyPoints = bpoints; + + for (long i = 0; i < numberOfPoints; i++) + polyPoints[i].Set (pPoints[i].h + offset.h, pPoints[i].v + offset.v); + + rgb_color c = { fillColor.red, fillColor.green, fillColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + pView->FillPolygon (polyPoints, numberOfPoints); + + if (allocated) + delete[] polyPoints; +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawRect (const CRect &_rect, const CDrawStyle drawStyle) +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + +#if WINDOWS + if (drawStyle == kDrawFilled || drawStyle == kDrawFilledAndStroked) + { + RECT wr = {rect.left, rect.top, rect.right, rect.bottom}; + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + FillRect ((HDC)pSystemContext, &wr, (HBRUSH)pBrush); + SelectObject ((HDC)pSystemContext, oldPen); + } + if (drawStyle == kDrawStroked || drawStyle == kDrawFilledAndStroked) + { + MoveToEx ((HDC)pSystemContext, rect.left, rect.top, NULL); + LineTo ((HDC)pSystemContext, rect.right-1, rect.top); + LineTo ((HDC)pSystemContext, rect.right-1, rect.bottom-1); + LineTo ((HDC)pSystemContext, rect.left, rect.bottom-1); + LineTo ((HDC)pSystemContext, rect.left, rect.top); + } + +#elif MAC + #if QUARTZ + CGContextRef context = beginCGContext (true); + { + CGPathDrawingMode m; + switch (drawStyle) + { + case kDrawFilled : m = kCGPathFill; break; + case kDrawFilledAndStroked : m = kCGPathFillStroke; break; + default : m = kCGPathStroke; break; + } + + CGRect r = CGRectMake (rect.left, rect.top+1, rect.width () - 1, rect.height () - 1); + + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + CGContextMoveToPoint (context, r.origin.x, r.origin.y); + CGContextAddLineToPoint (context, r.origin.x + r.size.width, r.origin.y); + CGContextAddLineToPoint (context, r.origin.x + r.size.width, r.origin.y + r.size.height); + CGContextAddLineToPoint (context, r.origin.x, r.origin.y + r.size.height); + CGContextClosePath (context); + + CGContextDrawPath (context, m); + + releaseCGContext (context); + } + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); // get current GrafPort + SetGWorld (getPort (), NULL); // activate our GWorld + + if (drawStyle == kDrawFilled || drawStyle == kDrawFilledAndStroked) + { + Rect rr; + RGBColor col; + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + CRect2Rect (rect, rr); + FillRect (&rr, &fillPattern); + } + if (drawStyle == kDrawStroked || drawStyle == kDrawFilledAndStroked) + { + RGBColor col; + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + MoveTo (rect.left, rect.top); + LineTo (rect.right-1, rect.top); + LineTo (rect.right-1, rect.bottom-1); + LineTo (rect.left, rect.bottom-1); + LineTo (rect.left, rect.top); + } + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + XDrawRectangle (XDRAWPARAM, rect.left, rect.top, rect.width (), rect.height ()); + +#elif BEOS + rgb_color c = { frameColor.red, frameColor.green, frameColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + BRect r (rect.left, rect.top, rect.right, rect.bottom); + pView->SetPenSize (frameWidth); + pView->StrokeRect (r); + +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::fillRect (const CRect &_rect) +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + + // Don't draw boundary +#if WINDOWS + RECT wr = {rect.left + 1, rect.top + 1, rect.right, rect.bottom}; + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + FillRect ((HDC)pSystemContext, &wr, (HBRUSH)pBrush); + SelectObject ((HDC)pSystemContext, oldPen); + +#elif MAC + #if QUARTZ + CGContextRef context = beginCGContext (true); + { + CGRect r = CGRectMake (rect.left, rect.top, rect.width (), rect.height ()); + CGContextFillRect (context, r); + releaseCGContext (context); + } + #else + Rect rr; + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor col; + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + CRect2Rect (rect, rr); + rr.left++; + rr.top++; + FillRect (&rr, &fillPattern); + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + XFillRectangle (XDRAWPARAM, rect.left + 1, rect.top + 1, rect.width () - 1, rect.height () - 1); + +#elif BEOS + rgb_color c = { fillColor.red, fillColor.green, fillColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + BRect r (rect.left + 1, rect.top + 1, rect.right - 1, rect.bottom - 1); + pView->FillRect (r); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawEllipse (const CRect &_rect, const CDrawStyle drawStyle) +{ + #if QUARTZ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + + CGContextRef context = beginCGContext (true); + { + CGPathDrawingMode m; + switch (drawStyle) + { + case kDrawFilled : m = kCGPathFill; break; + case kDrawFilledAndStroked : m = kCGPathFillStroke; break; + default : m = kCGPathStroke; break; + } + if (rect.width () != rect.height ()) + { + CGContextSaveGState (context); + + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + + CGRect cgRect = CGRectMake (rect.left, rect.top, rect.width (), rect.height ()); + CGPoint center = CGPointMake (CGRectGetMidX (cgRect), CGRectGetMidY (cgRect)); + float a = CGRectGetWidth (cgRect) / 2; + float b = CGRectGetHeight (cgRect) / 2; + + CGContextTranslateCTM (context, center.x, center.y); + CGContextScaleCTM (context, a, b); + CGContextMoveToPoint (context, 1, 0); + CGContextAddArc (context, 0, 0, 1, radians (0), radians (360), 0); + + CGContextClosePath (context); + CGContextRestoreGState (context); + CGContextDrawPath (context, m); + } + else + { + float radius = rect.width () * 0.5f; + CGContextBeginPath (context); + CGContextAddArc (context, rect.left + radius, rect.top + radius, radius, radians (0), radians (360), 0); + CGContextClosePath (context); + CGContextDrawPath (context, m); + } + releaseCGContext (context); + } + + #else + CPoint point (_rect.left + (_rect.right - _rect.left) / 2, _rect.top); + drawArc (_rect, point, point); + #endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::fillEllipse (const CRect &_rect) +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + + // Don't draw boundary +#if WINDOWS + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + Ellipse ((HDC)pSystemContext, rect.left + 1, rect.top + 1, rect.right + 1, rect.bottom + 1); + SelectObject ((HDC)pSystemContext, oldPen); + +#elif QUARTZ + CGContextRef context = beginCGContext (true); + { + CGContextSaveGState (context); + CGContextBeginPath (context); + + CGRect cgRect = CGRectMake (rect.left, rect.top, rect.width (), rect.height ()); + CGPoint center = CGPointMake (CGRectGetMidX (cgRect), CGRectGetMidY (cgRect)); + float a = CGRectGetWidth (cgRect) / 2; + float b = CGRectGetHeight (cgRect) / 2; + + CGContextTranslateCTM (context, center.x, center.y); + CGContextScaleCTM (context, a, b); + CGContextMoveToPoint (context, 1, 0); + CGContextAddArc (context, 0, 0, 1, radians (0), radians (360), 0); + + CGContextClosePath (context); + CGContextRestoreGState (context); + CGContextDrawPath (context, kCGPathFill); + releaseCGContext (context); + } + +#else + CPoint point (_rect.left + ((_rect.right - _rect.left) / 2), _rect.top); + fillArc (_rect, point, point); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawPoint (const CPoint &_point, CColor color) +{ + CPoint point (_point); + +#if WINDOWS + point.offset (offset.h, offset.v); + SetPixel ((HDC)pSystemContext, point.h, point.v, RGB(color.red, color.green, color.blue)); + +#elif MOTIF + CColor oldframecolor = frameColor; + setFrameColor (color); + XDrawPoint (XDRAWPARAM, point.h, point.v); + setFrameColor (oldframecolor); + +#elif MAC + CCoord oldframeWidth = frameWidth; + CColor oldframecolor = frameColor; + setLineWidth (1); + setFrameColor (color); + CPoint point2 (point); + point2.h++; + moveTo (point); + lineTo (point2); + + setFrameColor (oldframecolor); + setLineWidth (oldframeWidth); + +#else + int oldframeWidth = frameWidth; + CColor oldframecolor = frameColor; + setLineWidth (1); + setFrameColor (color); + moveTo (point); + lineTo (point); + + setFrameColor (oldframecolor); + setLineWidth (oldframeWidth); +#endif +} + +//----------------------------------------------------------------------------- +CColor CDrawContext::getPoint (const CPoint& _point) +{ + CPoint point (_point); + point.offset (offset.h, offset.v); + CColor color = kBlackCColor; + + #if WINDOWS + COLORREF c = GetPixel ((HDC)pSystemContext, point.h, point.v); + color.red = GetRValue (c); + color.green = GetGValue (c); + color.blue = GetBValue (c); + + #elif MAC + #if QUARTZ + // no quartz equivalent + + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor cPix; + GetCPixel (point.h, point.v, &cPix); + RGBColor2CColor (cPix, color); + SetGWorld (OrigPort, OrigDevice); + #endif + #endif + + return color; +} + +//----------------------------------------------------------------------------- +void CDrawContext::floodFill (const CPoint& _start) +{ + CPoint start (_start); + start.offset (offset.h, offset.v); + + #if WINDOWS + COLORREF c = GetPixel ((HDC)pSystemContext, start.h, start.v); + ExtFloodFill ((HDC)pSystemContext, start.h, start.v, c, FLOODFILLSURFACE); + + #elif MAC + #if QUARTZ + // no quartz equivalent + + #else + CGrafPtr oldPort; + GDHandle oldDevice; + GetGWorld (&oldPort, &oldDevice); + SetGWorld (getPort (), 0); + + Rect r; + GetPortBounds (getPort (), &r); + GWorldPtr pMask; + OSErr err = NewGWorld ((GWorldPtr*)&pMask, 1, &r, 0, 0, 0); // create monochrome GWorld + if (!err) + { + // generate fill mask + PixMapHandle srcBits = GetGWorldPixMap (getPort ()); + PixMapHandle dstBits = GetGWorldPixMap (pMask); + if (srcBits && dstBits) + { + LockPixels (srcBits); + LockPixels (dstBits); + + SeedCFill ((BitMapPtr)*srcBits, (BitMapPtr)*dstBits, &r, &r, start.h, start.v, 0, 0); + + // fill destination + RGBColor oldForeColor, oldBackColor; + GetForeColor (&oldForeColor); + GetBackColor (&oldBackColor); + + ::BackColor (whiteColor); + + RGBColor col; + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + + CopyMask ((BitMapPtr)*dstBits, (BitMapPtr)*dstBits, (BitMapPtr)*srcBits, &r, &r, &r); + + RGBForeColor (&oldForeColor); + RGBBackColor (&oldBackColor); + + // cleanup + UnlockPixels (srcBits); + UnlockPixels (dstBits); + } + + DisposeGWorld (pMask); + } + + SetGWorld (oldPort, oldDevice); + #endif + #endif +} + +#if QUARTZ +void addOvalToPath(CGContextRef c, CPoint center, float a, float b, float start_angle, float end_angle) +{ + CGContextSaveGState (c); + CGContextTranslateCTM (c, center.x, center.y); + CGContextScaleCTM (c, a, b); + + CGContextMoveToPoint (c, cos (radians (start_angle)), sin (radians (start_angle))); + + CGContextAddArc(c, 0, 0, 1, radians (start_angle), radians (end_angle), 1); + + CGContextRestoreGState(c); +} +#endif + +//----------------------------------------------------------------------------- +void CDrawContext::drawArc (const CRect &_rect, const float _startAngle, const float _endAngle, const CDrawStyle drawStyle) // in degree +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + + #if WINDOWS + float startRad = (float)(k2PI * _startAngle / 360.f); + float endRad = (float)(k2PI * _endAngle / 360.f); + + CPoint point1, point2; + long midX = _rect.width () / 2; + long midY = _rect.height () / 2; + + point1.x = (long)(midX + midX * cosf (startRad)); + point1.y = (long)(midY - midY * sinf (startRad)); + point2.x = (long)(midX + midX * cosf (endRad)); + point2.y = (long)(midY - midY * sinf (endRad)); + point1.offset (offset.h, offset.v); + point2.offset (offset.h, offset.v); + + if (drawStyle == kDrawFilled || drawStyle == kDrawFilledAndStroked) + { + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + Pie ((HDC)pSystemContext, rect.left, rect.top, rect.right + 1, rect.bottom + 1, + point1.h, point1.v, point2.h, point2.v); + SelectObject ((HDC)pSystemContext, oldPen); + } + if (drawStyle == kDrawStroked || drawStyle == kDrawFilledAndStroked) + { + Arc ((HDC)pSystemContext, rect.left, rect.top, rect.right + 1, rect.bottom + 1, + point1.h, point1.v, point2.h, point2.v); + } + + #elif MOTIF + + XDrawArc (XDRAWPARAM, rect.left, rect.top, rect.width (), rect.height (), + _startAngle * 64, _endAngle * 64); + + #elif MAC + + #if QUARTZ + CGContextRef context = beginCGContext (true); + { + CGPathDrawingMode m; + switch (drawStyle) + { + case kDrawFilled : m = kCGPathFill; break; + case kDrawFilledAndStroked : m = kCGPathFillStroke; break; + default : m = kCGPathStroke; break; + } + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + addOvalToPath (context, CPoint (rect.left + rect.width () / 2, rect.top + rect.height () / 2), rect.width () / 2, rect.height () / 2, -_startAngle, -_endAngle); + + CGContextDrawPath (context, m); + releaseCGContext (context); + } + #else + Rect rr; + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor col; + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + CRect2Rect (rect, rr); + FrameArc (&rr, 90 - _startAngle, -_endAngle); + SetGWorld (OrigPort, OrigDevice); + #endif + + #elif BEOS + rgb_color c = { frameColor.red, frameColor.green, frameColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + BRect r (rect.left, rect.top, rect.right, rect.bottom); + pView->SetPenSize (frameWidth); + pView->StrokeArc (r, _startAngle, _endAngle); + + #endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawArc (const CRect &_rect, const CPoint &_point1, const CPoint &_point2) +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + CPoint point1 (_point1); + point1.offset (offset.h, offset.v); + CPoint point2 (_point2); + point2.offset (offset.h, offset.v); + + // draws from point1 to point2 counterclockwise +#if WINDOWS + Arc ((HDC)pSystemContext, rect.left, rect.top, rect.right + 1, rect.bottom + 1, + point1.h, point1.v, point2.h, point2.v); + +#elif MAC || MOTIF || BEOS + + int angle1, angle2; + if ((point1.v == point2.v) && (point1.h == point2.h)) + { + angle1 = 0; + angle2 = 23040; // 360 * 64 + } + else + { + CPoint pm ((rect.left + rect.right) / 2, (rect.top + rect.bottom) / 2); + angle1 = convertPoint2Angle (pm, point1); + angle2 = convertPoint2Angle (pm, point2) - angle1; + if (angle2 < 0) + angle2 += 23040; // 360 * 64 + } + +#if MAC + + #if QUARTZ + angle1 /= 64; + angle2 /= 64; + CGContextRef context = beginCGContext (true); + { + QuartzSetLineDash (context, lineStyle, frameWidth); + + CGContextBeginPath (context); + addOvalToPath (context, CPoint (rect.left + rect.width () / 2, rect.top + rect.height () / 2), rect.width () / 2, rect.height () / 2, 90-angle1, (90-angle1)-angle2); + CGContextDrawPath (context, kCGPathStroke); + releaseCGContext (context); + } + #else + Rect rr; + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor col; + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + CRect2Rect (rect, rr); + FrameArc (&rr, 90 - (angle1 / 64), -angle2 / 64); + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + XDrawArc (XDRAWPARAM, rect.left, rect.top, rect.width (), rect.height (), + angle1, angle2); + +#elif BEOS + rgb_color c = { frameColor.red, frameColor.green, frameColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + BRect r (rect.left, rect.top, rect.right, rect.bottom); + pView->SetPenSize (frameWidth); + pView->StrokeArc (r, angle1 / 64, angle2 / 64); +#endif + +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::fillArc (const CRect &_rect, const CPoint &_point1, const CPoint &_point2) +{ + CRect rect (_rect); + rect.offset (offset.h, offset.v); + CPoint point1 (_point1); + point1.offset (offset.h, offset.v); + CPoint point2 (_point2); + point2.offset (offset.h, offset.v); + + // Don't draw boundary +#if WINDOWS + HANDLE nullPen = GetStockObject (NULL_PEN); + HANDLE oldPen = SelectObject ((HDC)pSystemContext, nullPen); + Pie ((HDC)pSystemContext, offset.h + rect.left + 1, offset.v + rect.top + 1, offset.h + rect.right, offset.v + rect.bottom, + point1.h, point1.v, point2.h, point2.v); + SelectObject ((HDC)pSystemContext, oldPen); + +#elif MAC || MOTIF || BEOS + + int angle1, angle2; + if ((point1.v == point2.v) && (point1.h == point2.h)) + { + angle1 = 0; + angle2 = 23040; // 360 * 64 + } + else + { + CPoint pm ((rect.left + rect.right) / 2, (rect.top + rect.bottom) / 2); + angle1 = convertPoint2Angle (pm, point1); + angle2 = convertPoint2Angle (pm, point2); + } + +#if MAC + #if QUARTZ + angle1 /= 64; + angle2 /= 64; + CGContextRef context = beginCGContext (true); + { + CGContextBeginPath (context); + addOvalToPath (context, CPoint (rect.left + rect.width () / 2, rect.top + rect.height () / 2), rect.width () / 2, rect.height () / 2, -angle1, -angle2); + CGContextClosePath (context); + CGContextDrawPath (context, kCGPathFill); + releaseCGContext (context); + } + + #else + Rect rr; + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + RGBColor col; + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + CRect2Rect (rect, rr); + + angle2 = angle2 - angle1; + if (angle2 < 0) + angle2 = -angle2; + FillArc (&rr, 90 - (angle1 / 64), -angle2 / 64, &fillPattern); + + SetGWorld (OrigPort, OrigDevice); + #endif + +#elif MOTIF + XFillArc (XDRAWPARAM, rect.left, rect.top, rect.width (), rect.height (), + angle1, angle2); + +#elif BEOS + rgb_color c = { fillColor.red, fillColor.green, fillColor.blue, 255 }; + pView->SetHighColor (c); + pView->SetDrawingMode (modeToPlatform [drawMode]); + BRect r (rect.left + 1, rect.top + 1, rect.right - 1, rect.bottom - 1); + pView->FillArc (r, angle1 / 64, angle2 / 64); + +#endif +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setFontColor (const CColor color) +{ + fontColor = color; + +#if WINDOWS + SetTextColor ((HDC)pSystemContext, RGB (fontColor.red, fontColor.green, fontColor.blue)); + +#elif MAC + #if QUARTZ + // on quartz the fill color is the font color + + #else + RGBColor col; + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + CColor2RGBColor (fontColor, col); + RGBForeColor (&col); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + setFrameColor (fontColor); + +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setFrameColor (const CColor color) +{ + if (frameColor == color) + return; + + frameColor = color; + +#if WINDOWS + LOGPEN logPen = {iPenStyle, {frameWidth, frameWidth}, + RGB (frameColor.red, frameColor.green, frameColor.blue)}; + + HANDLE newPen = CreatePenIndirect (&logPen); + SelectObject ((HDC)pSystemContext, newPen); + if (pPen) + DeleteObject (pPen); + pPen = newPen; + +#elif MAC + #if QUARTZ + if (gCGContext) + CGContextSetRGBStrokeColor (gCGContext, color.red/255.f, color.green/255.f, color.blue/255.f, color.alpha/255.f); + #else + RGBColor col; + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + CColor2RGBColor (frameColor, col); + RGBForeColor (&col); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + XSetForeground (XGCPARAM, getIndexColor (frameColor)); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setFillColor (const CColor color) +{ + if (fillColor == color) + return; + + fillColor = color; + +#if WINDOWS + SetBkColor ((HDC)pSystemContext, RGB (color.red, color.green, color.blue)); + LOGBRUSH logBrush = {BS_SOLID, RGB (color.red, color.green, color.blue), 0 }; + HANDLE newBrush = CreateBrushIndirect (&logBrush); + if (newBrush == 0) + { + DWORD err = GetLastError (); + return; + } + SelectObject ((HDC)pSystemContext, newBrush); + if (pBrush) + DeleteObject (pBrush); + pBrush = newBrush; + +#elif MAC + #if QUARTZ + if (gCGContext) + CGContextSetRGBFillColor (gCGContext, color.red/255.f, color.green/255.f, color.blue/255.f, color.alpha/255.f); + #else + RGBColor col; + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + CColor2RGBColor (fillColor, col); + RGBForeColor (&col); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + // set the background for the text + XSetBackground (XGCPARAM, getIndexColor (fillColor)); + + // set the foreground for the fill + setFrameColor (fillColor); +#endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::setFont (CFont fontID, const long size, long style) +{ + if (fontID < 0 || fontID >= kNumStandardFonts) + fontID = kSystemFont; + + if (fontId == fontID && fontSize == (size != 0 ? size : gStandardFontSize[fontID]) && fontStyle == style) + return; + + fontStyle = style; + fontId = fontID; + if (size != 0) + fontSize = size; + else + fontSize = gStandardFontSize[fontID]; + +#if WINDOWS + LOGFONT logfont = {0}; + + if (style & kBoldFace) + logfont.lfWeight = FW_BOLD; + else + logfont.lfWeight = FW_NORMAL; + if (style & kItalicFace) + logfont.lfItalic = true; + if (style & kUnderlineFace) + logfont.lfUnderline = true; + + logfont.lfHeight = -fontSize; + logfont.lfPitchAndFamily = VARIABLE_PITCH | FF_SWISS; + strcpy (logfont.lfFaceName, gStandardFontName[fontID]); + + if (fontID == kSymbolFont) + logfont.lfPitchAndFamily = DEFAULT_PITCH | FF_DECORATIVE; + else if (fontID == kSystemFont) + logfont.lfWeight = FW_BOLD; + + logfont.lfClipPrecision = CLIP_STROKE_PRECIS; + logfont.lfOutPrecision = OUT_STRING_PRECIS; + logfont.lfQuality = DEFAULT_QUALITY; + logfont.lfCharSet = ANSI_CHARSET; + + HANDLE newFont = CreateFontIndirect (&logfont); + SelectObject ((HDC)pSystemContext, newFont); + if (pFont) + DeleteObject (pFont); + pFont = newFont; + +#elif MAC + #if QUARTZ + char myMacXFontName[255]; + strcpy(myMacXFontName, gMacXfontNames[fontId]); + if (style & kBoldFace) + strcat(myMacXFontName, " Bold"); + if (style & kItalicFace) + strcat(myMacXFontName, " Italic"); + if (style & kUnderlineFace) + strcat(myMacXFontName, " Underline"); + + if (gCGContext) + CGContextSelectFont (gCGContext, (const char*)myMacXFontName, fontSize, kCGEncodingMacRoman); + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + if (pWindow) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + + TextFace (style); // normal, bold, italic, underline... + TextMode (0); + TextSize (fontSize); + + #if MACX + short familyID; + + GetFNum (gMacXfontNames[fontID], &familyID); + + TextFont (familyID); + + #else + if (fontID == kSymbolFont) + TextFont (kFontIDSymbol); + else if (fontID == kSystemFont) + TextFont (0); // system + else if (fontID == kNormalFontSmaller) + TextFont (kFontIDGeneva); // Geneva + else + TextFont (kFontIDHelvetica); + #endif + + GetFontInfo (&fontInfoStruct); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + XSetFont (XGCPARAM, gFontStructs[fontID]->fid); + + // keep trace of the current font + pFontInfoStruct = gFontStructs[fontID]; + +#elif BEOS + font.SetFamilyAndStyle (gStandardFontName[fontID], gStandardFontStyle[fontID]); + font.SetSize (fontSize); + pView->SetFont (&font, B_FONT_FAMILY_AND_STYLE | B_FONT_SIZE); +#endif +} + +//------------------------------------------------------------------------------ +CCoord CDrawContext::getStringWidth (const char *pStr) +{ + CCoord result = 0; + + #if MAC + #if QUARTZ + CGContextRef context = beginCGContext (true); + if (context) + { + CGContextSetTextDrawingMode (context, kCGTextInvisible); + CGContextSetTextPosition (context, 0.f, 0.f); + CGContextShowText (context, pStr, strlen (pStr)); + CGPoint p = CGContextGetTextPosition (context); + result = (CCoord)p.x; + releaseCGContext (context); + } + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + + result = (long)TextWidth (pStr, 0, strlen (pStr)); + + SetGWorld (OrigPort, OrigDevice); + #endif + + #elif WINDOWS + SIZE size; + GetTextExtentPoint32 ((HDC)pSystemContext, pStr, (int)strlen (pStr), &size); + result = (long)size.cx; + + #elif MOTIF + result = (long)XTextWidth (pFontInfoStruct, pStr, strlen (pStr)); + + #elif BEOS + result = (long)(ceil (pView->StringWidth (pStr))); + #endif + + return result; +} + +//----------------------------------------------------------------------------- +void CDrawContext::drawString (const char *string, const CRect &_rect, + const short opaque, const CHoriTxtAlign hAlign) +{ + if (!string) + return; + + CRect rect (_rect); + rect.offset (offset.h, offset.v); + +#if WINDOWS + // set the visibility mask + SetBkMode ((HDC)pSystemContext, opaque ? OPAQUE : TRANSPARENT); + + RECT Rect = {rect.left, rect.top, rect.right, rect.bottom}; + UINT flag = DT_VCENTER + DT_SINGLELINE + DT_NOPREFIX; + switch (hAlign) + { + case kCenterText: + // without DT_SINGLELINE no vertical center alignment here + DrawText ((HDC)pSystemContext, string, (int)strlen (string), &Rect, flag + DT_CENTER); + break; + + case kRightText: + DrawText ((HDC)pSystemContext, string, (int)strlen (string), &Rect, flag + DT_RIGHT); + break; + + default : // left adjust + Rect.left++; + DrawText ((HDC)pSystemContext, string, (int)strlen (string), &Rect, flag + DT_LEFT); + } + + SetBkMode ((HDC)pSystemContext, TRANSPARENT); + +#elif MAC + #if QUARTZ + CGContextRef context = beginCGContext (true); + if (context) + { + CCoord strWidth = getStringWidth (string); + rect.bottom -= rect.height ()/2 - fontSize / 2 + 1; + switch (hAlign) + { + case kCenterText: + { + rect.left += rect.width () / 2 - strWidth/2; + break; + } + case kRightText: + rect.left = rect.right - strWidth; + break; + default : // left adjust + rect.left++; + } + + CGContextSetShouldAntialias (context, true); + CGContextSetTextDrawingMode (context, kCGTextFill); + CGContextSetRGBFillColor (context, fontColor.red/255.f, fontColor.green/255.f, fontColor.blue/255.f, fontColor.alpha/255.f); + CGContextSetTextPosition (context, rect.left, rect.bottom); + CGContextShowText (context, string, strlen (string)); + releaseCGContext (context); + } + + #else + CGrafPtr OrigPort; + GDHandle OrigDevice; + int width; + int xPos, yPos; + int fontHeight; + int rectHeight; + int stringLength; + + Rect stringsRect; + Rect contextsClip; + Rect compositeClip; + + CRect2Rect (rect, stringsRect); + CRect2Rect (clipRect, contextsClip); + + if (SectRect (&stringsRect, &contextsClip, &compositeClip)) + { + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld (getPort (), NULL); + + if (opaque) + TextMode (srcCopy); + else + TextMode (srcOr); + + RGBColor col; + CColor2RGBColor (fontColor, col); + RGBForeColor (&col); + + CColor2RGBColor (fillColor, col); + RGBBackColor (&col); + + rectHeight = rect.height (); + fontHeight = fontInfoStruct.ascent + fontInfoStruct.descent; + yPos = rect.bottom - fontInfoStruct.descent; + if (rectHeight >= fontHeight) + yPos -= (rectHeight - fontHeight) / 2; + + stringLength = strlen (string); + width = TextWidth ((Ptr)string, 0, stringLength); + + switch (hAlign) + { + case kCenterText: + xPos = (rect.right + rect.left - width) / 2; + break; + + case kRightText: + xPos = rect.right - width; + break; + + default: // left adjust + xPos = rect.left; + } + + RgnHandle saveRgn = NewRgn (); + GetClip (saveRgn); + + ClipRect (&compositeClip); + + #if TARGET_API_MAC_CARBON + CFStringRef str; + + // Create a unicode string + str = CFStringCreateWithCString(NULL, string, kCFStringEncodingMacRoman); + + // Initialize proper text box options + TXNTextBoxOptionsData myOptions; + myOptions.optionTags = kTXNSetJustificationMask; + myOptions.justification = kTXNFlushLeft; + + // Determine the vertical alignment of the text box. + // It is centered vertically. + // Somehow, the yPos calculation above doesn't work here + // or I am too stupid to understand it. Therefore I calculate + // the text position in the surrounding control rect myself. + long myHeight = (rect.height () - fontHeight) / 2; + if (myHeight>0) + { + stringsRect.top += myHeight; + stringsRect.bottom += myHeight; + } + stringsRect.left = xPos; + stringsRect.right = xPos + width;//rect.width (); + + // Draw the unicode string + TXNDrawCFStringTextBox (str, &stringsRect, NULL, &myOptions); + + // Release the unicode string + CFRelease (str); + #else + MoveTo (xPos, yPos); + DrawText ((Ptr)string, 0, stringLength); + #endif + + SetClip (saveRgn); + DisposeRgn (saveRgn); + TextMode (srcOr); + SetGWorld (OrigPort, OrigDevice); + } + #endif + +#elif MOTIF + int width; + int fontHeight = pFontInfoStruct->ascent + pFontInfoStruct->descent; + int xPos; + int yPos; + int rectHeight = rect.height (); + + if (rectHeight >= fontHeight) + yPos = rect.bottom - (rectHeight - fontHeight) / 2; + else + yPos = rect.bottom; + yPos -= pFontInfoStruct->descent; + + switch (hAlign) + { + case kCenterText: + width = XTextWidth (pFontInfoStruct, string, strlen (string)); + xPos = (rect.right + rect.left - width) / 2; + break; + + case kRightText: + width = XTextWidth (pFontInfoStruct, string, strlen (string)); + xPos = rect.right - width; + break; + + default: // left adjust + xPos = rect.left + 1; + } + + if (opaque) + XDrawImageString (XDRAWPARAM, xPos, yPos, string, strlen (string)); + else + XDrawString (XDRAWPARAM, xPos, yPos, string, strlen (string)); + +#elif BEOS + BRect r (rect.left, rect.top, rect.right - 1, rect.bottom - 1); + BRegion LocalRegion (r); + pView->ConstrainClippingRegion (&LocalRegion); + pView->SetFontSize (fontSize); + float width = -1; + if (opaque) + { + width = ceil (pView->StringWidth (string)); + CRect cr (rect.left, rect.top, rect.left + width, rect.bottom); + fillRect (cr); + } + rgb_color c = { fontColor.red, fontColor.green, fontColor.blue, 255 }; + pView->SetHighColor (c); + if (drawMode == kXorMode) + pView->SetDrawingMode (B_OP_INVERT); + else + pView->SetDrawingMode (B_OP_OVER); + BPoint p; + font_height height; + pView->GetFontHeight (&height); + p.y = r.bottom - (rect.height () - height.ascent) / 2; + if (hAlign == kCenterText || hAlign == kRightText) + { + if (width < 0) + width = ceil (pView->StringWidth (string)); + if (hAlign == kCenterText) + p.x = rect.left + (rect.right - rect.left - width) / 2; + else + p.x = rect.right - width - 1; + } + else + p.x = rect.left + 1; + pView->DrawString (string, p); + pView->ConstrainClippingRegion (NULL); +#endif +} + +//----------------------------------------------------------------------------- +long CDrawContext::getMouseButtons () +{ + long buttons = 0; + +#if WINDOWS + if (GetAsyncKeyState (VK_LBUTTON) < 0) + buttons |= (bSwapped_mouse_buttons ? kRButton : kLButton); + if (GetAsyncKeyState (VK_MBUTTON) < 0) + buttons |= kMButton; + if (GetAsyncKeyState (VK_RBUTTON) < 0) + buttons |= (bSwapped_mouse_buttons ? kLButton : kRButton); + + if (GetAsyncKeyState (VK_SHIFT) < 0) + buttons |= kShift; + if (GetAsyncKeyState (VK_CONTROL) < 0) + buttons |= kControl; + if (GetAsyncKeyState (VK_MENU) < 0) + buttons |= kAlt; + +#elif MAC + #if MACX // this works for MacOSX 10.2 and later + UInt32 state = GetCurrentButtonState (); + if (state & kEventMouseButtonPrimary) + buttons |= kLButton; + if (state & kEventMouseButtonSecondary) + buttons |= kRButton; + if (state & 4)//kEventMouseButtonTertiary) this define is false...Apple ? + buttons |= kMButton; + + state = GetCurrentKeyModifiers (); + if (state & cmdKey) + buttons |= kControl; + if (state & shiftKey) + buttons |= kShift; + if (state & optionKey) + buttons |= kAlt; + if (state & controlKey) + buttons |= kApple; + // for the one buttons + if (buttons & kApple && buttons & kLButton) + { + buttons &= ~(kApple | kLButton); + buttons |= kRButton; + } + #else + if (Button ()) + buttons |= kLButton; + + KeyMap Keys; + unsigned char *BytePtr = (unsigned char*)Keys; + GetKeys (Keys); + + if (BytePtr[7] & 1) // Shift 0x38 == 56 = (7 * 8) + 0 + buttons |= kShift; + if (BytePtr[7] & 8) // Control (extra Mac) 0x3B == 59 = (7 * 8) + 3 + buttons |= kApple; + if (BytePtr[7] & 4) // Alt 0x3A == 58 = (7 * 8) + 2 + buttons |= kAlt; + if (BytePtr[6] & 128) // Apple => ctrl (PC) 0x37 == 55 = (6 * 8) + 7 + buttons |= kControl; + #endif + +#elif MOTIF + Window root, child; + long rootX, rootY, childX, childY; + unsigned int mask; + int result = XQueryPointer (XWINPARAM, &root, &child, &rootX, &rootY, + &childX, &childY, &mask); + if (mask & Button1Mask) + buttons |= kLButton; + if (mask & Button2Mask) + buttons |= kMButton; + if (mask & Button3Mask) + buttons |= kRButton; + + if (mask & ShiftMask) + buttons |= kShift; + if (mask & ControlMask) + buttons |= kControl; + if (mask & Mod1Mask) + buttons |= kAlt; + +#elif BEOS + BPoint where; + uint32 b; + pView->GetMouse (&where, &b); + if (b & B_PRIMARY_MOUSE_BUTTON) + buttons |= kLButton; + if (b & B_SECONDARY_MOUSE_BUTTON) + buttons |= kRButton; + if (b & B_TERTIARY_MOUSE_BUTTON) + buttons |= kMButton; + int32 m = modifiers (); + if (m & B_SHIFT_KEY) + buttons |= kShift; + if (m & B_COMMAND_KEY) + buttons |= kControl; + if (m & B_OPTION_KEY) + buttons |= kApple; + if (m & B_CONTROL_KEY) + buttons |= kAlt; +#endif + + return buttons; +} + +//----------------------------------------------------------------------------- +void CDrawContext::getMouseLocation (CPoint &point) +{ +#if WINDOWS + POINT where; + GetCursorPos (&where); + point (where.x, where.y); + +#elif MACX + #if 0 // QUARTZ // does not work sic! + Point where; + UInt32 mod; + MouseTrackingResult result; + if (TrackMouseLocationWithOptions ((CGrafPtr)-1, 0, kEventDurationNoWait, &where, &mod, &result) == noErr) + { + QDGlobalToLocalPoint (getPort (), &where); + point (where.h, where.v); + } + #else + Point where; + CGrafPtr savedPort; + Boolean portChanged = QDSwapPort (getPort (), &savedPort); + GetMouse (&where); + if (portChanged) + QDSwapPort (savedPort, NULL); + point (where.h, where.v); + #endif + #if QUARTZ + point.offset (pFrame->hiScrollOffset.x,pFrame->hiScrollOffset.y); + #endif +#elif MAC + Point where; + GetMouse (&where); + point (where.h, where.v); + +#elif MOTIF + Window root, child; + int rootX, rootY, childX, childY; + unsigned int mask; + int result = XQueryPointer (XWINPARAM, &root, &child, &rootX, &rootY, + &childX, &childY, &mask); + point (childX, childY); + +#elif BEOS + BPoint where; + uint32 b; + pView->GetMouse (&where, &b); + point (where.x, where.y); +#endif + + point.offset (-offsetScreen.h, -offsetScreen.v); +} + +//----------------------------------------------------------------------------- +bool CDrawContext::waitDoubleClick () +{ + bool doubleClick = false; + +#if WINDOWS + CPoint mouseLoc; + getMouseLocation (mouseLoc); + CRect observe (mouseLoc.h - 2, mouseLoc.v - 2, mouseLoc.h + 2, mouseLoc.v + 2); + + DWORD currentTime = GetTickCount (); + DWORD clickTime = GetMessageTime () + (DWORD)GetDoubleClickTime (); + + MSG message; + while (currentTime < clickTime) + { + getMouseLocation (mouseLoc); + if (!observe.pointInside (mouseLoc)) + break; + + if (PeekMessage (&message, 0, WM_LBUTTONDOWN, WM_LBUTTONDOWN, PM_REMOVE | PM_NOYIELD)) + { + doubleClick = true; + break; + } + + currentTime = GetTickCount (); + } + +#elif MAC + #if MACX + #if QUARTZ + EventTimeout timeout = GetDblTime () * kEventDurationSecond / 60; + const EventTypeSpec eventTypes[] = { { kEventClassMouse, kEventMouseDown }, { kEventClassMouse, kEventMouseDragged } }; + EventRef event; + if (ReceiveNextEvent (GetEventTypeCount (eventTypes), eventTypes, timeout, true, &event) == noErr) + { + if (GetEventKind (event) == kEventMouseDown) + { + doubleClick = true; + } + ReleaseEvent (event); + } + + #else + unsigned long clickTime, doubletime; + EventRecord downEvent; + + doubletime = GetDblTime (); + clickTime = TickCount () + doubletime; + while (TickCount () < clickTime) + { + if (GetNextEvent (mDownMask, &downEvent)) + { + doubleClick = true; + break; + } + } + #endif // !QUARTZ + + #else + long clickTime, doubleTime; + EventRecord downEvent; + + #define MOUSE_IS_DOWN ((* (char*)0x172) >= 0) + + doubleTime = GetDblTime () / 2; + clickTime = TickCount () + doubleTime; + + while (TickCount () < clickTime) + if (!MOUSE_IS_DOWN) break; /* look for mouse up! */ + + if (GetNextEvent (mUpMask, &downEvent)) + { + clickTime += doubleTime; + while (TickCount () < clickTime) + if (MOUSE_IS_DOWN) break; /* look for mouse down! */ + if (GetNextEvent (mDownMask, &downEvent)) + doubleClick = true; + } + #endif +#elif MOTIF + long currentTime = _getTicks (); + long clickTime = currentTime + XtGetMultiClickTime (pDisplay); + + XEvent e; + while (currentTime < clickTime) + { + if (XCheckTypedEvent (pDisplay, ButtonPress, &e)) + { + doubleClick = true; + break; + } + + currentTime = _getTicks (); + } + +#elif BEOS + const bigtime_t snoozeTime = 5000; + bigtime_t latest = system_time (); + bigtime_t doubleclicktime; + get_click_speed (&doubleclicktime); + latest += doubleclicktime; + BPoint location; + uint32 buttons; + pView->GetMouse (&location, &buttons); + while (buttons) // user should release the mouse button + { + if (system_time () > latest) + return false; + + snooze (snoozeTime); + pView->GetMouse (&location, &buttons); + } + + while (!buttons) + { + if (system_time () > latest) + return false; + + snooze (snoozeTime); + pView->GetMouse (&location, &buttons); + } + + doubleClick = true; + +#endif + + return doubleClick; +} + +//----------------------------------------------------------------------------- +bool CDrawContext::waitDrag () +{ + #if MACX && QUARTZ + bool dragged = false; + if (GetCurrentEventButtonState () & kEventMouseButtonPrimary) + { + const EventTypeSpec eventTypes[] = { { kEventClassMouse, kEventMouseUp }, { kEventClassMouse, kEventMouseDown }, { kEventClassMouse, kEventMouseDragged } }; + EventRef event; + if (ReceiveNextEvent (GetEventTypeCount (eventTypes), eventTypes, kEventDurationForever, true, &event) == noErr) + { + if (GetEventKind (event) == kEventMouseDragged) + { + dragged = true; + } + ReleaseEvent (event); + } + } + return dragged; + + #else + if (!pFrame) + return false; + + CPoint mouseLoc; + getMouseLocation (mouseLoc); + CRect observe (mouseLoc.h - 2, mouseLoc.v - 2, mouseLoc.h + 2, mouseLoc.v + 2); + + long currentTime = pFrame->getTicks (); + bool wasOutside = false; + + while (((getMouseButtons () & ~(kMButton|kRButton)) & kLButton) != 0) + { + pFrame->doIdleStuff (); + if (!wasOutside) + { + getMouseLocation (mouseLoc); + if (!observe.pointInside (mouseLoc)) + { + if (kDragDelay <= 0) + return true; + wasOutside = true; + } + } + + if (wasOutside && (pFrame->getTicks () - currentTime > kDragDelay)) + return true; + } + return false; + #endif +} + +//----------------------------------------------------------------------------- +void CDrawContext::forget () +{ + #if QUARTZ + synchronizeCGContext (); + #endif + CReferenceCounter::forget (); +} + +//----------------------------------------------------------------------------- +#if MOTIF +//----------------------------------------------------------------------------- +long CDrawContext::getIndexColor (CColor color) +{ + // 24bit visual ? + if (pFrame->getDepth () == 24) + return (unsigned int)color.blue << 16 | (unsigned int)color.green << 8 | (unsigned int)color.red; + + // 8bit stuff + return getIndexColor8Bit (color, pDisplay, pFrame->getColormap ()); +} + +//----------------------------------------------------------------------------- +Colormap CDrawContext::getColormap () +{ + if (pFrame) + return pFrame->getColormap (); + else + return NULL; +} + +//----------------------------------------------------------------------------- +Visual* CDrawContext::getVisual () +{ + if (pFrame) + return pFrame->getVisual (); + else + return NULL; +} + +//----------------------------------------------------------------------------- +unsigned int CDrawContext::getDepth () +{ + if (pFrame) + return pFrame->getDepth (); + else + return NULL; +} + +//----------------------------------------------------------------------------- +#elif BEOS +//----------------------------------------------------------------------------- +void CDrawContext::lineFromTo (CPoint& cstart, CPoint& cend) +{ + BPoint start (cstart.h, cstart.v); + BPoint end (cend.h, cend.v); + if (start.x == end.x) + { + if (start.y < end.y) + end.y--; + else if (end.y < start.y) + start.y--; + } + else if (start.y == end.y) + { + if (start.x < end.x) + end.x--; + else if (end.x < start.x) + start.x--; + } + else + { + if (start.x > end.x) + { + BPoint t = end; + end = start; + start = t; + } + end.x--; + if (end.y > start.y) + end.y--; + else + end.y++; + } + + pView->MovePenTo (start); + if (lineStyle == kLineSolid) + pView->StrokeLine (end); + else + { + pattern stripes = { {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} }; + pView->StrokeLine (end, stripes); + } +} + +//----------------------------------------------------------------------------- +#elif MAC +#if QUARTZ +//----------------------------------------------------------------------------- +CGContextRef CDrawContext::beginCGContext (bool swapYAxis) +{ + if (gCGContext) + { + CGContextSaveGState (gCGContext); + CGContextScaleCTM (gCGContext, 1, -1); + QuartzSetupClip (gCGContext, clipRect); + if (!swapYAxis) + CGContextScaleCTM (gCGContext, 1, -1); + return gCGContext; + } + return 0; +} + +//----------------------------------------------------------------------------- +void CDrawContext::releaseCGContext (CGContextRef context) +{ + if (context) + { + CGContextRestoreGState (context); + needToSynchronizeCGContext = true; + } +} + +//----------------------------------------------------------------------------- +void CDrawContext::synchronizeCGContext () +{ + if (needToSynchronizeCGContext && gCGContext) + { + CGContextSynchronize (gCGContext); + needToSynchronizeCGContext = false; + } +} + +//----------------------------------------------------------------------------- +CGImageRef CDrawContext::getCGImage () const +{ + return 0; +} + +//----------------------------------------------------------------------------- +void QuartzSetupClip (CGContextRef context, const CRect clipRect) +{ + CGRect cgClipRect = CGRectMake (clipRect.left, clipRect.top, clipRect.width (), clipRect.height ()); + CGContextClipToRect (context, cgClipRect); +} + +//----------------------------------------------------------------------------- +void QuartzSetLineDash (CGContextRef context, CLineStyle style, CCoord lineWidth) +{ + if (style == kLineOnOffDash) + { + float offset = 0; + float dotf[2] = { lineWidth, lineWidth }; + CGContextSetLineDash (context, offset, dotf, 2); + } +} +#endif + +//----------------------------------------------------------------------------- +BitMapPtr CDrawContext::getBitmap () +{ + #if QUARTZ + return (BitMapPtr)GetPortBitMapForCopyBits (GetWindowPort ((WindowRef)pWindow)); + #else + PixMapHandle pixMap = GetPortPixMap (GetWindowPort ((WindowRef)pWindow)); + if (pixMap) + { + LockPixels (pixMap); + return (BitMapPtr)*pixMap; + } + #endif + return 0; +} + +//----------------------------------------------------------------------------- +void CDrawContext::releaseBitmap () +{ + #if !QUARTZ + PixMapHandle pixMap = GetPortPixMap (GetWindowPort ((WindowRef)pWindow)); + UnlockPixels (pixMap); + #endif +} + +//----------------------------------------------------------------------------- +CGrafPtr CDrawContext::getPort () +{ + #if QUARTZ + if (pWindow) + return (CGrafPtr)GetWindowPort ((WindowRef)pWindow); + return 0; + #else + if (!bInitialized) + { + CGrafPtr OrigPort; + GDHandle OrigDevice; + GetGWorld (&OrigPort, &OrigDevice); + SetGWorld ((CGrafPtr)GetWindowPort ((WindowRef)pWindow), NULL); + + TextMode (srcOr); + PenMode (patCopy); + StuffHex (&fillPattern, "\pFFFFFFFFFFFFFFFF"); + + SetGWorld (OrigPort, OrigDevice); + + bInitialized = true; + } + return (CGrafPtr)GetWindowPort ((WindowRef)pWindow); + #endif +} + +#endif + + +//----------------------------------------------------------------------------- +// COffscreenContext Implementation +//----------------------------------------------------------------------------- +COffscreenContext::COffscreenContext (CDrawContext *pContext, CBitmap *pBitmapBg, bool drawInBitmap) +: CDrawContext (pContext->pFrame, NULL, NULL) +, pBitmap (0) +, pBitmapBg (pBitmapBg) +, height (20) +, width (20) +{ + if (pBitmapBg) + { + height = pBitmapBg->getHeight (); + width = pBitmapBg->getWidth (); + + clipRect (0, 0, width, height); + } + + #if DEBUG + gNbCOffscreenContext++; + gBitmapAllocation += (long)height * (long)width; + #endif + + bDestroyPixmap = false; + +#if WINDOWS + if (pOldBrush) + SelectObject ((HDC)getSystemContext (), pOldBrush); + if (pOldPen) + SelectObject ((HDC)getSystemContext (), pOldPen); + if (pOldFont) + SelectObject ((HDC)getSystemContext (), pOldFont); + pOldBrush = pOldPen = pOldFont = 0; + + pSystemContext = CreateCompatibleDC ((HDC)pContext->getSystemContext ()); + + if (drawInBitmap) + pWindow = pBitmapBg->getHandle (); + else // create bitmap if no bitmap handle exists + { + bDestroyPixmap = true; + pWindow = CreateCompatibleBitmap ((HDC)pContext->getSystemContext (), width, height); + } + oldBitmap = SelectObject ((HDC)pSystemContext, pWindow); + +#elif MAC + #if QUARTZ + offscreenBitmap = 0; + if (drawInBitmap) + { + if (pBitmapBg->getHandle ()) + { + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)pBitmapBg->getHandle ()); + LockPixels (pixMap); + size_t pixDepth = GetPixDepth (pixMap) / 4; + size_t rowBytes = GetPixRowBytes (pixMap); + gCGContext = CGBitmapContextCreate (GetPixBaseAddr (pixMap), (size_t)width, (size_t)height, pixDepth, rowBytes, GetGenericRGBColorSpace (), kCGImageAlphaPremultipliedFirst); + if (gCGContext) + { + CGContextTranslateCTM (gCGContext, 0, (float)height); + CGContextSetFillColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGContextSetStrokeColorSpace (gCGContext, GetGenericRGBColorSpace ()); + CGAffineTransform cgCTM = CGAffineTransformMake (1.0, 0.0, 0.0, -1.0, 0.0, 0.0); + CGContextSetTextMatrix (gCGContext, cgCTM); + CGContextSaveGState (gCGContext); + } + } + } + else + { // todo !!! + } + + #else + + if (drawInBitmap) + pWindow = pBitmapBg->getHandle (); + else + { + Rect GWRect; + GWRect.top = 0; + GWRect.left = 0; + GWRect.right = width; + GWRect.bottom = height; + NewGWorld ((GWorldPtr*)&pWindow, 0, &GWRect, NULL, NULL, 0); + bDestroyPixmap = true; + } + + StuffHex (&fillPattern, "\pFFFFFFFFFFFFFFFF"); + #endif + +#elif MOTIF + // if no bitmap handle => create one + if (!pWindow) + { + Drawable dWindow = pContext->pFrame->getWindow (); + pWindow = (void*)XCreatePixmap (pDisplay, dWindow, width, height, pFrame->getDepth ()); + bDestroyPixmap = true; + } + + // set the current font + if (pSystemContext) + setFont (kNormalFont); + +#elif BEOS + bDestroyPixmap = true; + offscreenBitmap = new BBitmap (BRect (0, 0, width - 1, height - 1), B_RGB16, true, false); + pView = new BView (BRect (0, 0, width - 1, height - 1), NULL, 0, 0); + offscreenBitmap->Lock (); + offscreenBitmap->AddChild (pView); + +#endif + + if (!drawInBitmap) + { + // draw bitmap to Offscreen + CRect r (0, 0, width, height); + if (pBitmapBg) + pBitmapBg->draw (this, r); + else + { + setFillColor (kBlackCColor); + fillRect (r); + } + } +} + +//----------------------------------------------------------------------------- +COffscreenContext::COffscreenContext (CFrame *pFrame, long width, long height, const CColor backgroundColor) +: CDrawContext (pFrame, NULL, NULL) +, pBitmap (0) +, pBitmapBg (0) +, height (height) +, width (width) +, backgroundColor (backgroundColor) +{ + clipRect (0, 0, width, height); + + #if DEBUG + gNbCOffscreenContext++; + gBitmapAllocation += height * width; + #endif + + bDestroyPixmap = true; + +#if WINDOWS + void *SystemWindow = pFrame->getSystemWindow (); + void *SystemContext = GetDC ((HWND)SystemWindow); + + pSystemContext = CreateCompatibleDC ((HDC)SystemContext); + #if DEBUG + gNbDC++; + #endif + pWindow = CreateCompatibleBitmap ((HDC)SystemContext, width, height); + + oldBitmap = SelectObject ((HDC)pSystemContext, pWindow); + ReleaseDC ((HWND)SystemWindow, (HDC)SystemContext); + + CRect r (0, 0, width, height); + setFillColor (backgroundColor); + setFrameColor (backgroundColor); + fillRect (r); + drawRect (r); + +#elif MAC + #if QUARTZ + CGContextRef context = NULL; + int bitmapByteCount; + int bitmapBytesPerRow; + + // each pixel is represented by four bytes + // (8 bits each of alpha, R, G, B) + bitmapBytesPerRow = width * 4; + bitmapByteCount = bitmapBytesPerRow * height; + + // create the bitmap + offscreenBitmap = malloc (bitmapByteCount); + if (offscreenBitmap != NULL) + { + memset (offscreenBitmap, 0, bitmapByteCount); + // create the context + context = CGBitmapContextCreate (offscreenBitmap, + width, + height, + 8, // bits per component + bitmapBytesPerRow, + GetGenericRGBColorSpace (), + kCGImageAlphaPremultipliedFirst); + + if (context == NULL) + { + // the context couldn't be created for some reason, + // and we have no use for the bitmap without the context + free (offscreenBitmap); + offscreenBitmap = 0; + } + else + { + CGContextTranslateCTM (context, 0, (float)height); + CGContextSetFillColorSpace (context, GetGenericRGBColorSpace ()); + CGContextSetStrokeColorSpace (context, GetGenericRGBColorSpace ()); + CGAffineTransform cgCTM = CGAffineTransformMake (1.0, 0.0, 0.0, -1.0, 0.0, 0.0); + CGContextSetTextMatrix (context, cgCTM); + CGContextSaveGState (context); + CGRect r = CGRectMake (0, 0, width, height); + CGContextClearRect (context, r); + } + } + gCGContext = context; + + CRect r (0, 0, width, height); + setFillColor (backgroundColor); + setFrameColor (backgroundColor); + fillRect (r); + drawRect (r); + + + #else + QDErr err; + Rect GWRect; + + GWRect.top = GWRect.left = 0; + GWRect.right = width; + GWRect.bottom = height; + err = NewGWorld ((GWorldPtr*) &pWindow, 0, &GWRect, NULL, NULL, 0); + if (err) + pWindow = NULL; + + StuffHex (&fillPattern, "\pFFFFFFFFFFFFFFFF"); + + CRect r (0, 0, width, height); + setFillColor (backgroundColor); + setFrameColor (backgroundColor); + fillRect (r); + drawRect (r); + #endif + +#elif MOTIF + Drawable dWindow = pFrame->getWindow (); + + pWindow = (void*)XCreatePixmap (pDisplay, dWindow, width, height, pFrame->getDepth ()); + + // clear the pixmap + XGCValues values; + values.foreground = getIndexColor (backgroundColor); + GC gc = XCreateGC (pDisplay, (Drawable)pWindow, GCForeground, &values); + XFillRectangle (pDisplay, (Drawable)pWindow, gc, 0, 0, width, height); + XFreeGC (pDisplay, gc); + + // set the current font + if (pSystemContext) + setFont (kNormalFont); + +#elif BEOS + BRect frame (0, 0, width - 1, height - 1); + offscreenBitmap = new BBitmap (frame, B_RGB16, true, false); + pView = new BView (BRect (0, 0, width - 1, height - 1), NULL, 0, 0); + offscreenBitmap->Lock (); + offscreenBitmap->AddChild (pView); + if (backgroundColor.red != 255 || backgroundColor.green != 255 || backgroundColor.blue != 255) + { + rgb_color c = { backgroundColor.red, backgroundColor.green, backgroundColor.blue, 255 }; + pView->SetHighColor (c); + pView->FillRect (frame); + } +#endif +} + +//----------------------------------------------------------------------------- +COffscreenContext::~COffscreenContext () +{ + #if DEBUG + gNbCOffscreenContext--; + gBitmapAllocation -= (long)height * (long)width; + #endif + + if (pBitmap) + pBitmap->forget (); + +#if WINDOWS + if (pSystemContext) + { + DeleteDC ((HDC)pSystemContext); + pSystemContext = 0; + #if DEBUG + gNbDC--; + #endif + } + if (bDestroyPixmap && pWindow) + DeleteObject (pWindow); + +#elif MAC + #if QUARTZ + if (gCGContext) + { + CGContextRestoreGState (gCGContext); + CGContextRelease (gCGContext); + } + gCGContext = 0; + if (offscreenBitmap) + free (offscreenBitmap); + else if (pBitmapBg && pBitmapBg->getHandle ()) + { + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)pBitmapBg->getHandle ()); + UnlockPixels (pixMap); + } + #else + if (bDestroyPixmap && pWindow) + DisposeGWorld ((GWorldPtr)pWindow); + #endif + +#elif MOTIF + if (bDestroyPixmap && pWindow) + XFreePixmap (pDisplay, (Pixmap)pWindow); + +#elif BEOS + delete offscreenBitmap; + pView = 0; // deleted because attached to the offscreen +#endif +} + +//----------------------------------------------------------------------------- +void COffscreenContext::copyTo (CDrawContext* pContext, CRect& srcRect, CPoint destOffset) +{ +#if WINDOWS + BitBlt ((HDC)pSystemContext, + destOffset.h, + destOffset.v, + srcRect.width (), + srcRect.height (), + (HDC)pContext->getSystemContext (), + srcRect.left + pContext->offset.h, + srcRect.top + pContext->offset.v, + SRCCOPY); + +#elif MAC + #if QUARTZ + if (!pBitmapBg) + return; + #else + if (!pWindow) + return; + #endif + + Rect source, dest; + RGBColor savedForeColor, savedBackColor; + + source.left = (short)(srcRect.left + pContext->offset.h + pContext->offsetScreen.h); + source.top = (short)(srcRect.top + pContext->offset.v + pContext->offsetScreen.v); + source.right = (short)(source.left + srcRect.right - srcRect.left); + source.bottom = (short)(source.top + srcRect.bottom - srcRect.top); + + dest.left = (short)destOffset.h; + dest.top = (short)destOffset.v; + dest.right = (short)(dest.left + srcRect.right - srcRect.left); + dest.bottom = (short)(dest.top + srcRect.bottom - srcRect.top); + + GetForeColor (&savedForeColor); + GetBackColor (&savedBackColor); + ::BackColor (whiteColor); + ::ForeColor (blackColor); + + CopyBits (pContext->getBitmap (), getBitmap (), &source, &dest, srcCopy, 0L); + releaseBitmap (); + pContext->releaseBitmap (); + + RGBForeColor (&savedForeColor); + RGBBackColor (&savedBackColor); +#endif +} + +//----------------------------------------------------------------------------- +void COffscreenContext::copyFrom (CDrawContext *pContext, CRect destRect, CPoint srcOffset) +{ +#if WINDOWS + BitBlt ((HDC)pContext->getSystemContext (), // hdcDest + destRect.left + pContext->offset.h, // xDest + destRect.top + pContext->offset.v, // yDest + destRect.right - destRect.left, // xWidth, + destRect.bottom - destRect.top, // yHeight + + (HDC)pSystemContext, // hdcSrc + srcOffset.h, // xSrc + srcOffset.v, // ySrc + SRCCOPY); // dwROP + +#elif MAC + #if QUARTZ + if (!gCGContext) + return; + CGContextRef context = pContext->beginCGContext (); + if (context) + { + size_t pixRowBytes = CGBitmapContextGetBytesPerRow (gCGContext); + short pixDepth = CGBitmapContextGetBitsPerPixel (gCGContext); + size_t size = pixRowBytes * CGBitmapContextGetHeight (gCGContext); + + CGImageRef image = 0; + CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, CGBitmapContextGetData (gCGContext), size, NULL); + CGImageAlphaInfo alphaInfo = CGBitmapContextGetAlphaInfo (gCGContext); + image = CGImageCreate (CGBitmapContextGetWidth (gCGContext), CGBitmapContextGetHeight (gCGContext), 8 , pixDepth, pixRowBytes, GetGenericRGBColorSpace (), alphaInfo, provider, NULL, 0, kCGRenderingIntentDefault); + if (image) + { + CGRect dest; + dest.origin.x = destRect.left - srcOffset.h + pContext->offset.h; + dest.origin.y = (destRect.top + pContext->offset.v) * -1 - (getHeight () - srcOffset.v); + dest.size.width = getWidth (); + dest.size.height = getHeight (); + + CGRect clipRect; + clipRect.origin.x = destRect.left + pContext->offset.h; + clipRect.origin.y = (destRect.top + pContext->offset.v) * -1 - destRect.height (); + clipRect.size.width = destRect.width (); + clipRect.size.height = destRect.height (); + + CGContextClipToRect (context, clipRect); + + CGContextDrawImage (context, dest, image); + + CGImageRelease (image); + } + CGDataProviderRelease (provider); + + pContext->releaseCGContext (context); + } + #else + if (!pWindow) + return; + + Rect source, dest; + RGBColor savedForeColor, savedBackColor; + + source.left = srcOffset.h; + source.top = srcOffset.v; + source.right = source.left + destRect.right - destRect.left; + source.bottom = source.top + destRect.bottom - destRect.top; + + dest.top = destRect.top + pContext->offset.v; + dest.left = destRect.left + pContext->offset.h; + dest.bottom = destRect.bottom + pContext->offset.v; + dest.right = destRect.right + pContext->offset.h; + + GetForeColor (&savedForeColor); + GetBackColor (&savedBackColor); + ::BackColor (whiteColor); + ::ForeColor (blackColor); + + CopyBits (getBitmap (), pContext->getBitmap (), &source, &dest, srcCopy, 0L); + #if MACX + QDAddRectToDirtyRegion (pContext->getPort (), &dest); + #endif + releaseBitmap (); + pContext->releaseBitmap (); + + RGBForeColor (&savedForeColor); + RGBBackColor (&savedBackColor); + #endif + +#elif MOTIF + XCopyArea (pDisplay, (Drawable)pWindow, (Drawable)pContext->getWindow (), + (GC)pSystemContext, srcOffset.h, srcOffset.v, + destRect.width (), destRect.height (), + destRect.left, destRect.top); + +#elif BEOS + pContext->pView->SetDrawingMode (B_OP_COPY); + BRect destination (destRect.left, destRect.top, destRect.right - 1, destRect.bottom - 1); + BRect source = destination; + source.OffsetTo (srcOffset.h, srcOffset.v); + pView->Sync (); + pContext->pView->DrawBitmap (offscreenBitmap, source, destination); +#endif +} + +//----------------------------------------------------------------------------- +#if MAC +#if QUARTZ +//----------------------------------------------------------------------------- +CGImageRef COffscreenContext::getCGImage () const +{ + #ifdef MAC_OS_X_VERSION_10_4 + if (CGBitmapContextCreateImage && gCGContext) + { + return CGBitmapContextCreateImage (gCGContext); + } + #endif + return 0; +} + +#endif + +//----------------------------------------------------------------------------- +BitMapPtr COffscreenContext::getBitmap () +{ + #if QUARTZ + return pBitmapBg ? (BitMapPtr)GetPortBitMapForCopyBits ((GWorldPtr)pBitmapBg->getHandle ()) : 0; + #else + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)pWindow); + if (pixMap) + { + LockPixels (pixMap); + return (BitMapPtr)*pixMap; + } + return 0; + #endif +} + +//----------------------------------------------------------------------------- +void COffscreenContext::releaseBitmap () +{ + #if QUARTZ + #else + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)pWindow); + UnlockPixels (pixMap); + #endif +} + +#if !QUARTZ +//----------------------------------------------------------------------------- +CGrafPtr COffscreenContext::getPort () +{ + if (!bInitialized) + bInitialized = true; + + return (CGrafPtr)pWindow; +} +#endif // QUARTZ +#endif // MAC + +//----------------------------------------------------------------------------- +class CAttributeListEntry +{ +public: + CAttributeListEntry (long size, CViewAttributeID id) + : nextEntry (0) + , pointer (0) + , sizeOfPointer (size) + , id (id) + { + pointer = malloc (size); + } + + ~CAttributeListEntry () + { + if (pointer) + free (pointer); + } + + const CViewAttributeID getID () const { return id; } + const long getSize () const { return sizeOfPointer; } + void* getPointer () const { return pointer; } + CAttributeListEntry* getNext () const { return nextEntry; } + + void setNext (CAttributeListEntry* entry) { nextEntry = entry; } + +protected: + CAttributeListEntry () : nextEntry (0), pointer (0), sizeOfPointer (0), id (0) {} + + CAttributeListEntry* nextEntry; + void* pointer; + long sizeOfPointer; + CViewAttributeID id; +}; + +//----------------------------------------------------------------------------- +char* kMsgCheckIfViewContainer = "kMsgCheckIfViewContainer"; + +//----------------------------------------------------------------------------- +// CView +//----------------------------------------------------------------------------- +/*! @class CView +base class of all view objects +*/ +//----------------------------------------------------------------------------- +CView::CView (const CRect& size) +: size (size) +, mouseableArea (size) +, pParentFrame (0) +, pParentView (0) +, bDirty (false) +, bMouseEnabled (true) +, bTransparencyEnabled (false) +, bWantsFocus (false) +, pBackground (0) +, pAttributeList (0) +{ + #if DEBUG + gNbCView++; + #endif +} + +//----------------------------------------------------------------------------- +CView::~CView () +{ + if (pBackground) + pBackground->forget (); + + if (pAttributeList) + { + CAttributeListEntry* entry = pAttributeList; + while (entry) + { + CAttributeListEntry* nextEntry = entry->getNext (); + delete entry; + entry = nextEntry; + } + } + #if DEBUG + gNbCView--; + #endif +} + +//----------------------------------------------------------------------------- +void CView::getMouseLocation (CDrawContext* context, CPoint &point) +{ + if (context) + { + if (pParentView && pParentView->notify (this, kMsgCheckIfViewContainer) == kMessageNotified) + { + CCoord save[4]; + ((CViewContainer*)pParentView)->modifyDrawContext (save, context); + pParentView->getMouseLocation (context, point); + ((CViewContainer*)pParentView)->restoreDrawContext (context, save); + } + else + context->getMouseLocation (point); + } +} + +#if ENABLE_DEPRECATED_METHODS +//----------------------------------------------------------------------------- +void CView::getFrameTopLeftPos (CPoint& topLeft) const +{ + topLeft.h += size.left; + topLeft.v += size.top; + if (pParentView && pParentView->notify (0, kMsgCheckIfViewContainer) == kMessageNotified) + pParentView->getFrameTopLeftPos (topLeft); +} +#endif + +//----------------------------------------------------------------------------- +CPoint& CView::frameToLocal (CPoint& point) const +{ + if (pParentView && pParentView->isTypeOf ("CViewContainer")) + return pParentView->frameToLocal (point); + return point; +} + +//----------------------------------------------------------------------------- +CPoint& CView::localToFrame (CPoint& point) const +{ + if (pParentView && pParentView->isTypeOf ("CViewContainer")) + return pParentView->localToFrame (point); + return point; +} + +//----------------------------------------------------------------------------- +void CView::redraw () +{ + if (pParentFrame) + pParentFrame->draw (this); +} + +//----------------------------------------------------------------------------- +void CView::redrawRect (CDrawContext* context, const CRect& rect) +{ + // we always pass it on to the parent view as it knows what else must be drawn (needed for nested view containers) + if (pParentView) + pParentView->redrawRect (context, rect); + else if (pParentFrame) + pParentFrame->drawRect (context, rect); +} + +//----------------------------------------------------------------------------- +void CView::draw (CDrawContext *pContext) +{ + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, size); + else + pBackground->draw (pContext, size); + } + setDirty (false); +} + +//----------------------------------------------------------------------------- +void CView::mouse (CDrawContext *pContext, CPoint &where, long buttons) +{} + +//----------------------------------------------------------------------------- +bool CView::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + return false; +} + +//------------------------------------------------------------------------ +bool CView::onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance) +{ + return onWheel (pContext, where, distance); +} + +//------------------------------------------------------------------------ +void CView::update (CDrawContext *pContext) +{ + if (isDirty ()) + { + #if NEW_UPDATE_MECHANISM + if (pContext) + redrawRect (pContext, size); + else + redraw (); + #else + #if USE_ALPHA_BLEND + if (pContext) + { + if (bTransparencyEnabled) + getFrame ()->drawRect (pContext, size); + else + draw (pContext); + } + #else + if (pContext) + draw (pContext); + #endif + else + redraw (); + #endif // !NEW_UPDATE_MECHANISM + setDirty (false); + } +} + +//------------------------------------------------------------------------------ +long CView::onKeyDown (VstKeyCode& keyCode) +{ + return -1; +} + +//------------------------------------------------------------------------------ +long CView::onKeyUp (VstKeyCode& keyCode) +{ + return -1; +} + +//------------------------------------------------------------------------------ +long CView::notify (CView* sender, const char* message) +{ + return kMessageUnknown; +} + +//------------------------------------------------------------------------------ +void CView::looseFocus (CDrawContext *pContext) +{} + +//------------------------------------------------------------------------------ +void CView::takeFocus (CDrawContext *pContext) +{} + +//------------------------------------------------------------------------------ +void CView::setViewSize (CRect &rect) +{ + size = rect; + setDirty (); +} + +//----------------------------------------------------------------------------- +void *CView::getEditor () const +{ + return pParentFrame ? pParentFrame->getEditor () : 0; +} + +//----------------------------------------------------------------------------- +void CView::setBackground (CBitmap *background) +{ + if (pBackground) + pBackground->forget (); + pBackground = background; + if (pBackground) + pBackground->remember (); + setDirty (true); +} + +//----------------------------------------------------------------------------- +const CViewAttributeID kCViewAttributeReferencePointer = 'cvrp'; + +//----------------------------------------------------------------------------- +/** + * @param id the ID of the Attribute + * @param outSize on return the size of the attribute + */ +bool CView::getAttributeSize (const CViewAttributeID id, long& outSize) const +{ + if (pAttributeList) + { + CAttributeListEntry* entry = pAttributeList; + while (entry) + { + if (entry->getID () == id) + break; + entry = entry->getNext (); + } + if (entry) + { + outSize = entry->getSize (); + return true; + } + } + return false; +} + +//----------------------------------------------------------------------------- +/** + * @param id the ID of the Attribute + * @param inSize the size of the outData pointer + * @param outData a pointer where to copy the attribute data + * @param outSize the size in bytes which was copied into outData + */ +bool CView::getAttribute (const CViewAttributeID id, const long inSize, void* outData, long& outSize) const +{ + if (pAttributeList) + { + CAttributeListEntry* entry = pAttributeList; + while (entry) + { + if (entry->getID () == id) + break; + entry = entry->getNext (); + } + if (entry && inSize >= entry->getSize ()) + { + outSize = entry->getSize (); + memcpy (outData, entry->getPointer (), outSize); + return true; + } + } + return false; +} + +//----------------------------------------------------------------------------- +/** + * copies data into the attribute. If it does not exist, creates a new attribute. + * @param id the ID of the Attribute + * @param inSize the size of the outData pointer + * @param inData a pointer to the data + */ +bool CView::setAttribute (const CViewAttributeID id, const long inSize, void* inData) +{ + CAttributeListEntry* lastEntry = 0; + if (pAttributeList) + { + CAttributeListEntry* entry = pAttributeList; + while (entry) + { + if (entry->getID () == id) + break; + if (entry->getNext () == 0) + lastEntry = entry; + entry = entry->getNext (); + } + if (entry) + { + if (entry->getSize () >= inSize) + { + memcpy (entry->getPointer (), inData, inSize); + return true; + } + else + return false; + } + } + + // create a new attribute + CAttributeListEntry* newEntry = new CAttributeListEntry (inSize, id); + memcpy (newEntry->getPointer (), inData, inSize); + if (lastEntry) + lastEntry->setNext (newEntry); + else if (!pAttributeList) + pAttributeList = newEntry; + else + { + delete newEntry; + return false; + } + return true; +} + +#if DEBUG +//----------------------------------------------------------------------------- +void CView::dumpInfo () +{ + CRect viewRect = getViewSize (viewRect); + DebugPrint ("left:%4d, top:%4d, width:%4d, height:%4d ", viewRect.left, viewRect.top, viewRect.getWidth (), viewRect.getHeight ()); + if (getMouseEnabled ()) + DebugPrint ("(Mouse Enabled) "); + if (getTransparency ()) + DebugPrint ("(Transparent) "); + CRect mouseRect = getMouseableArea (mouseRect); + if (mouseRect != viewRect) + DebugPrint (" (Mouseable Area: left:%4d, top:%4d, width:%4d, height:%4d ", mouseRect.left, mouseRect.top, mouseRect.getWidth (), mouseRect.getHeight ()); +} +#endif + +#define FOREACHSUBVIEW for (CCView *pSv = pFirstView; pSv; pSv = pSv->pNext) {CView *pV = pSv->pView; +#define FOREACHSUBVIEW_REVERSE(reverse) for (CCView *pSv = reverse ? pLastView : pFirstView; pSv; pSv = reverse ? pSv->pPrevious : pSv->pNext) {CView *pV = pSv->pView; +#define ENDFOR } + +//----------------------------------------------------------------------------- +// CFrame Implementation +//----------------------------------------------------------------------------- +/*! @class CFrame +It creates a platform dependend view object. +On classic Mac OS it just draws into the provided window. +On Mac OS X it is a ControlRef. +On Windows it's a WS_CHILD Window. +*/ +CFrame::CFrame (const CRect &inSize, void *inSystemWindow, void *inEditor) +: CViewContainer (inSize, 0, 0) +, pEditor (inEditor) +, pSystemWindow (inSystemWindow) +, pModalView (0) +, pFocusView (0) +, bFirstDraw (true) +, bDropActive (false) +, bUpdatesDisabled (false) +, pFrameContext (0) +, bAddedWindow (false) +, pVstWindow (0) +, defaultCursor (0) +{ + setOpenFlag (true); + + pParentFrame = this; + +#if WINDOWS + pHwnd = 0; + dropTarget = 0; + backBuffer = 0; + OleInitialize (0); + + #if DYNAMICALPHABLEND + pfnAlphaBlend = 0; + pfnTransparentBlt = 0; + + hInstMsimg32dll = LoadLibrary ("msimg32.dll"); + if (hInstMsimg32dll) + { + pfnAlphaBlend = (PFNALPHABLEND)GetProcAddress (hInstMsimg32dll, "AlphaBlend"); + + // get OS version + memset (&gSystemVersion, 0, sizeof (gSystemVersion)); + gSystemVersion.dwOSVersionInfoSize = sizeof (gSystemVersion); + + if (GetVersionEx ((OSVERSIONINFO *)&gSystemVersion)) + { + // Is this win NT or better? + if (gSystemVersion.dwPlatformId >= VER_PLATFORM_WIN32_NT) + { + // Yes, then TransparentBlt doesn't have the memory-leak and can be safely used + pfnTransparentBlt = (PFNTRANSPARENTBLT)GetProcAddress (hInstMsimg32dll, "TransparentBlt"); + } + } + } + #endif // DYNAMICALPHABLEND + +#elif MOTIF + gc = 0; + depth = 0; + pDisplay = 0; + pVisual = 0; + window = 0; + +#elif BEOS + pPlugView = NULL; +#endif + + initFrame (pSystemWindow); + +#if WINDOWS + #if USE_GLOBAL_CONTEXT + pFrameContext = new CDrawContext (this, 0, getSystemWindow ()); + #endif + +#elif MAC + Gestalt (gestaltSystemVersion, &pSystemVersion); + #if QUARTZ + pFrameContext = 0; + #else + pFrameContext = new CDrawContext (this, getSystemWindow (), getSystemWindow ()); + pFrameContext->offset.h = size.left; + pFrameContext->offset.v = size.top; + #endif + +#elif MOTIF + pFrameContext = new CDrawContext (this, gc, (void*)window); +#endif +} + +//----------------------------------------------------------------------------- +CFrame::CFrame (const CRect& inSize, const char* inTitle, void* inEditor, const long inStyle) +: CViewContainer (inSize, 0, 0) +, pEditor (inEditor) +, pSystemWindow (0) +, pModalView (0) +, pFocusView (0) +, bFirstDraw (true) +, bDropActive (false) +, bUpdatesDisabled (false) +, pFrameContext (0) +, pVstWindow (0) +, defaultCursor (0) +{ + bAddedWindow = true; + setOpenFlag (false); + pParentFrame = this; + +#if WINDOWS + pHwnd = 0; + dropTarget = 0; + backBuffer = 0; + OleInitialize (0); + + #if DYNAMICALPHABLEND + pfnAlphaBlend = 0; + pfnTransparentBlt = 0; + + hInstMsimg32dll = LoadLibrary ("msimg32.dll"); + if (hInstMsimg32dll) + { + pfnAlphaBlend = (PFNALPHABLEND)GetProcAddress (hInstMsimg32dll, "AlphaBlend"); + + // get OS version + OSVERSIONINFOEX osvi; + + memset (&osvi, 0, sizeof (osvi)); + osvi.dwOSVersionInfoSize = sizeof (osvi); + + if (GetVersionEx ((OSVERSIONINFO *)&osvi)) + { + // Is this win NT or better? + if (osvi.dwPlatformId >= VER_PLATFORM_WIN32_NT) + { + // Yes, then TransparentBlt doesn't have the memory-leak and can be safely used + pfnTransparentBlt = (PFNTRANSPARENTBLT)GetProcAddress (hInstMsimg32dll, "TransparentBlt"); + } + } + } + #endif + +#elif MOTIF + gc = 0; + depth = 0; + pDisplay = 0; + pVisual = 0; + window = 0; + +#elif BEOS + pPlugView = NULL; + +#endif + + #if USE_VST_WINDOW + pVstWindow = (VstWindow*)malloc (sizeof (VstWindow)); + strcpy (((VstWindow*)pVstWindow)->title, inTitle); + ((VstWindow*)pVstWindow)->xPos = (short)size.left; + ((VstWindow*)pVstWindow)->yPos = (short)size.top; + ((VstWindow*)pVstWindow)->width = (short)size.width (); + ((VstWindow*)pVstWindow)->height = (short)size.height (); + ((VstWindow*)pVstWindow)->style = inStyle; + ((VstWindow*)pVstWindow)->parent = 0; + ((VstWindow*)pVstWindow)->userHandle = 0; + ((VstWindow*)pVstWindow)->winHandle = 0; + #endif +} + +//----------------------------------------------------------------------------- +CFrame::~CFrame () +{ + if (pModalView) + removeView (pModalView, false); + + setCursor (kCursorDefault); + + setDropActive (false); + + if (pFrameContext) + pFrameContext->forget (); + +#if WINDOWS + OleUninitialize (); + + if (backBuffer) + backBuffer->forget (); + + #if DYNAMICALPHABLEND + if (hInstMsimg32dll) + FreeLibrary (hInstMsimg32dll); + #endif + + if (pHwnd) + { + SetWindowLongPtr ((HWND)pHwnd, GWLP_USERDATA, (long)NULL); + DestroyWindow ((HWND)pHwnd); + + ExitWindowClass (); + } + +#elif MOTIF + #if TEST_REGION + XDestroyRegion (region); + #endif + + // remove callbacks to avoid undesirable update + if (pSystemWindow) + { + XtRemoveCallback ((Widget)pSystemWindow, XmNexposeCallback, _drawingAreaCallback, this); + XtRemoveCallback ((Widget)pSystemWindow, XmNinputCallback, _drawingAreaCallback, this); + XtRemoveCallback ((Widget)pSystemWindow, XmNdestroyCallback, _destroyCallback, this); + + freeGc (); + } +#endif + + if (bAddedWindow) + close (); + if (pVstWindow) + free (pVstWindow); + +#if BEOS + CBitmap::closeResource (); // must be done only once at the end of the story. +#endif + +#if MAC && QUARTZ + if (controlRef) + DisposeControl (controlRef); + if (controlSpec.u.classRef) + { + OSStatus status = UnregisterToolboxObjectClass ((ToolboxObjectClassRef)controlSpec.u.classRef); + if (status != noErr) + fprintf (stderr, "UnregisterToolboxObjectClass failed : %d\n", (int)status); + } +#endif +} + +//----------------------------------------------------------------------------- +bool CFrame::open (CPoint *point) +{ +#if PLUGGUI + return false; +#else + if (!bAddedWindow) + return false; + if (getOpenFlag ()) + { +#if WINDOWS + BringWindowToTop (GetParent (GetParent ((HWND)getSystemWindow ()))); + +#elif MOTIF + Widget widget = (Widget)getSystemWindow (); + while (widget && !XtIsTopLevelShell (widget)) + widget = XtParent (widget); + if (widget) + XRaiseWindow (getDisplay (), XtWindow (widget)); + +#elif BEOS + pPlugView->Window ()->Activate (true); +#endif + return false; + } + +#if USE_VST_WINDOW + if (pVstWindow) + { + if (point) + { + ((VstWindow*)pVstWindow)->xPos = (short)point->h; + ((VstWindow*)pVstWindow)->yPos = (short)point->v; + } + AudioEffectX *pAudioEffectX = (AudioEffectX*)(((AEffGUIEditor*)pEditor)->getEffect ()); + pSystemWindow = pAudioEffectX->openWindow ((VstWindow*)pVstWindow); + } +#endif + + if (pSystemWindow) + { + if (initFrame (pSystemWindow)) + setOpenFlag (true); + } + + return getOpenFlag (); +#endif +} + +//----------------------------------------------------------------------------- +bool CFrame::close () +{ +#if PLUGGUI + return false; +#else + if (!bAddedWindow || !getOpenFlag () || !pSystemWindow) + return false; + +#if USE_VST_WINDOW + AudioEffectX *pAudioEffectX = (AudioEffectX*)(((AEffGUIEditor*)pEditor)->getEffect ()); + pAudioEffectX->closeWindow ((VstWindow*)pVstWindow); +#endif + + pSystemWindow = 0; + + return true; +#endif +} + +//----------------------------------------------------------------------------- +bool CFrame::initFrame (void *systemWin) +{ + if (!systemWin) + return false; + +#if WINDOWS + + InitWindowClass (); + pHwnd = CreateWindowEx (0, gClassName, "Window", + WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, + 0, 0, size.width (), size.height (), + (HWND)pSystemWindow, NULL, GetInstance (), NULL); + + SetWindowLongPtr ((HWND)pHwnd, GWLP_USERDATA, (LONG_PTR)this); + +#elif MAC + + #if QUARTZ + dragEventHandler = 0; + if (!registerWithToolbox ()) + return false; + + hasFocus = false; + Rect r = {(short)size.top, (short)size.left, (short)size.bottom, (short)size.right}; + OSStatus status = CreateCustomControl (NULL, &r, &controlSpec, NULL, &controlRef); + if (status != noErr) + { + fprintf (stderr, "Could not create Control : %d\n", (int)status); + return false; + } + EventTypeSpec keyWorkaroundEvents[] = { + { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } + }; + InstallWindowEventHandler ((WindowRef)systemWin, carbonEventHandler, GetEventTypeCount (keyWorkaroundEvents), keyWorkaroundEvents, this, NULL); + + SetControlDragTrackingEnabled (controlRef, true); + SetAutomaticControlDragTrackingEnabledForWindow ((WindowRef)systemWin, true); + #if !AU // for AudioUnits define AU and embed the controlRef at your AUCarbonViewBase + WindowAttributes attributes; + GetWindowAttributes ((WindowRef)systemWin, &attributes); + if (attributes & kWindowCompositingAttribute) + { + HIViewRef contentView; + HIViewRef rootView = HIViewGetRoot ((WindowRef)systemWin); + if (HIViewFindByID (rootView, kHIViewWindowContentID, &contentView) != noErr) + contentView = rootView; + HIViewAddSubview (contentView, controlRef); + } + else + { + ControlRef rootControl; + GetRootControl ((WindowRef)systemWin, &rootControl); + if (rootControl == NULL) + CreateRootControl ((WindowRef)systemWin, &rootControl); + EmbedControl(controlRef, rootControl); + } + #endif + size.offset (-size.left, -size.top); + mouseableArea.offset (-size.left, -size.top); + #endif + +#elif MOTIF + // attach the callbacks + XtAddCallback ((Widget)systemWin, XmNexposeCallback, _drawingAreaCallback, this); + XtAddCallback ((Widget)systemWin, XmNinputCallback, _drawingAreaCallback, this); + XtAddCallback ((Widget)systemWin, XmNdestroyCallback, _destroyCallback, this); + XtAddEventHandler ((Widget)systemWin, LeaveWindowMask, true, _eventHandler, this); + + // init a default gc + window = XtWindow ((Widget)systemWin); + pDisplay = XtDisplay ((Widget)systemWin); + XGCValues values; + values.foreground = 1; + gc = XCreateGC (pDisplay, (Drawable)window, GCForeground, &values); + +#if TEST_REGION + region = XCreateRegion (); +#endif + + // get the std colormap + XWindowAttributes attr; + XGetWindowAttributes (pDisplay, window, &attr); + colormap = attr.colormap; + pVisual = attr.visual; + depth = attr.depth; + + // init and load the fonts + if (!gFontInit) + { + for (long i = 0; i < kNumStandardFonts; i++) + { + gFontStructs[i] = XLoadQueryFont (pDisplay, gFontTable[i].string); + assert (gFontStructs[i] != 0); + } + gFontInit = true; + } + +#elif BEOS + BView* parentView = (BView*) pSystemWindow; + BRect frame = parentView->Frame (); + frame.OffsetTo (B_ORIGIN); + pPlugView = new PlugView (frame, this); + parentView->AddChild (pPlugView); +#endif + + setDropActive (true); + + return true; +} + +//----------------------------------------------------------------------------- +bool CFrame::setDropActive (bool val) +{ + if (!bDropActive && !val) + return true; + +#if WINDOWS + if (!pHwnd) + return false; + if (dropTarget) + { + RevokeDragDrop ((HWND)pHwnd); + dropTarget = 0; + } + if (val) + { + dropTarget = createDropTarget (this); + RegisterDragDrop ((HWND)pHwnd, (IDropTarget*)dropTarget); + } + +#elif MAC +#if MAC_OLD_DRAG + if (val) + install_drop (this); + else + remove_drop (this); +#endif +#endif + + bDropActive = val; + return true; +} + +#if MOTIF +//----------------------------------------------------------------------------- +void CFrame::freeGc () +{ + if (gc) + XFreeGC (pDisplay, gc); + gc = 0; +} +#endif + +//----------------------------------------------------------------------------- +CDrawContext* CFrame::createDrawContext () +{ + if (pFrameContext) + { + pFrameContext->remember (); + return pFrameContext; + } + + CDrawContext* pContext = 0; + #if WINDOWS || MAC + pContext = new CDrawContext (this, NULL, getSystemWindow ()); + + #elif MOTIF + pContext = new CDrawContext (this, gc, (void*)window); + + #elif BEOS + pContext = new CDrawContext (this, pPlugView, 0); + #endif + + return pContext; +} + +//----------------------------------------------------------------------------- +void CFrame::draw (CDrawContext *pContext) +{ + if (bFirstDraw) + bFirstDraw = false; + + if (!pContext) + pContext = pFrameContext; + + // draw the background and the children + CViewContainer::draw (pContext); +} + +//----------------------------------------------------------------------------- +void CFrame::drawRect (CDrawContext *pContext, const CRect& updateRect) +{ + if (bFirstDraw) + bFirstDraw = false; + + bool localContext = false; + if (!pContext) + { + localContext = true; + pContext = createDrawContext (); + } + + #if USE_CLIPPING_DRAWRECT + CRect oldClip; + pContext->getClipRect (oldClip); + CRect newClip (updateRect); + newClip.bound (oldClip); + pContext->setClipRect (newClip); + #endif + + // draw the background and the children + if (updateRect.getWidth () > 0 && updateRect.getHeight () > 0) + CViewContainer::drawRect (pContext, updateRect); + + #if USE_CLIPPING_DRAWRECT + pContext->setClipRect (oldClip); + #endif + + if (localContext) + pContext->forget (); +} + +//----------------------------------------------------------------------------- +void CFrame::draw (CView *pView) +{ + CView *pViewToDraw = 0; + + // Search it in the view list + if (pView && isChild(pView)) + pViewToDraw = pView; + + CDrawContext *pContext = createDrawContext (); + if (pContext) + { + if (pViewToDraw) + pViewToDraw->draw (pContext); + else + draw (pContext); + + pContext->forget (); + } +} + +//----------------------------------------------------------------------------- +void CFrame::mouse (CDrawContext *pContext, CPoint &where, long buttons) +{ + if (!pContext) + pContext = pFrameContext; + + if (pFocusView) + setFocusView (NULL); + + if (buttons == -1 && pContext) + buttons = pContext->getMouseButtons (); + + if (pModalView) + { + if (pModalView->hitTest (where, buttons)) + pModalView->mouse (pContext, where, buttons); + } + else + { + CViewContainer::mouse (pContext, where, buttons); + } +} + +//----------------------------------------------------------------------------- +long CFrame::onKeyDown (VstKeyCode& keyCode) +{ + long result = -1; + + if (pFocusView) + result = pFocusView->onKeyDown (keyCode); + + if (result == -1 && pModalView) + result = pModalView->onKeyDown (keyCode); + + if (result == -1 && keyCode.virt == VKEY_TAB) + result = advanceNextFocusView (pFocusView, (keyCode.modifier & MODIFIER_SHIFT) ? true : false) ? 1 : -1; + + return result; +} + +//----------------------------------------------------------------------------- +long CFrame::onKeyUp (VstKeyCode& keyCode) +{ + long result = -1; + + if (pFocusView) + result = pFocusView->onKeyUp (keyCode); + + if (result == -1 && pModalView) + result = pModalView->onKeyUp (keyCode); + + return result; +} + +//------------------------------------------------------------------------ +bool CFrame::onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance) +{ + bool result = false; + + CView *view = pModalView ? pModalView : getViewAt (where); + if (view) + { + bool localContext = false; + if (!pContext) + { + localContext = true; + pContext = createDrawContext (); + } + + result = view->onWheel (pContext, where, axis, distance); + + if (localContext) + pContext->forget (); + + #if BEOS + pPlugView->UnlockLooper (); + #endif + } + return result; +} + +//----------------------------------------------------------------------------- +bool CFrame::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + return onWheel (pContext, where, kMouseWheelAxisY, distance); +} + +//----------------------------------------------------------------------------- +void CFrame::update (CDrawContext *pContext) +{ + if (!getOpenFlag () || updatesDisabled ()) + return; + + #if WINDOWS && USE_ALPHA_BLEND + CDrawContext* oldFrameContext = pFrameContext; + CDrawContext* dc = pFrameContext = getBackBuffer (); + #else + CDrawContext* dc = pContext; + #endif + + if (bDirty) + { + draw (dc); + setDirty (false); + } + else + { + #if USE_CLIPPING_DRAWRECT + CRect oldClipRect; + dc->getClipRect (oldClipRect); + #endif + #if NEW_UPDATE_MECHANISM + if (pModalView && pModalView->isDirty ()) + pModalView->update (dc); + #endif + FOREACHSUBVIEW + #if USE_CLIPPING_DRAWRECT + CRect viewSize (pV->size); + viewSize.bound (oldClipRect); + dc->setClipRect (viewSize); + #endif + pV->update (dc); + ENDFOR + #if USE_CLIPPING_DRAWRECT + dc->setClipRect (oldClipRect); + #endif + } + + #if MACX && !QUARTZ + if (QDIsPortBufferDirty (GetWindowPort ((WindowRef)pSystemWindow))) + { + QDFlushPortBuffer (GetWindowPort ((WindowRef)pSystemWindow), NULL); + } + #endif + #if WINDOWS && USE_ALPHA_BLEND + backBuffer->copyFrom (pContext, size); + pFrameContext = oldFrameContext; + #endif +} + +//----------------------------------------------------------------------------- +void CFrame::idle () +{ + if (!getOpenFlag ()) + return; + + #if MAC + // if the window is collapsed, we don't need to draw anything + if (pSystemWindow && IsWindowCollapsed ((WindowRef)pSystemWindow)) + return; + #endif + + // don't do an idle before a draw + if (bFirstDraw) + return; + + if (!isDirty ()) + return; + + #if BEOS + if (pPlugView->LockLooperWithTimeout (0) != B_OK) + return; + #endif + + CDrawContext *pContext = createDrawContext (); + + update (pContext); + + pContext->forget (); + + #if BEOS + pPlugView->UnlockLooper (); + #endif +} + +//----------------------------------------------------------------------------- +void CFrame::doIdleStuff () +{ +#if PLUGGUI + if (pEditor) + ((PluginGUIEditor*)pEditor)->doIdleStuff (); +#else + if (pEditor) + ((AEffGUIEditor*)pEditor)->doIdleStuff (); +#endif +#if (MAC && QUARTZ) + if (pFrameContext) + pFrameContext->synchronizeCGContext (); +#endif +} + +//----------------------------------------------------------------------------- +unsigned long CFrame::getTicks () const +{ +#if PLUGGUI + if (pEditor) + return ((PluginGUIEditor*)pEditor)->getTicks (); +#else + if (pEditor) + return ((AEffGUIEditor*)pEditor)->getTicks (); +#endif + return 0; +} + +//----------------------------------------------------------------------------- +long CFrame::getKnobMode () const +{ +#if PLUGGUI + return PluginGUIEditor::getKnobMode (); +#else + return AEffGUIEditor::getKnobMode (); +#endif +} + +//----------------------------------------------------------------------------- +#if WINDOWS +COffscreenContext* CFrame::getBackBuffer () +{ + #if WINDOWS && USE_ALPHA_BLEND + if (!backBuffer) + backBuffer = new COffscreenContext (this, size.width (), size.height ()); + #endif + + return backBuffer; +} + +HWND CFrame::getOuterWindow () const +{ + int diffWidth, diffHeight; + RECT rctTempWnd, rctPluginWnd; + HWND hTempWnd = (HWND)pHwnd; + GetWindowRect (hTempWnd, &rctPluginWnd); + + while (hTempWnd != NULL) + { + // Looking for caption bar + if (GetWindowLong (hTempWnd, GWL_STYLE) & WS_CAPTION) + return hTempWnd; + + // Looking for last parent + if (!GetParent (hTempWnd)) + return hTempWnd; + + // get difference between plugin-window and current parent + GetWindowRect (GetParent (hTempWnd), &rctTempWnd); + + diffWidth = (rctTempWnd.right - rctTempWnd.left) - (rctPluginWnd.right - rctPluginWnd.left); + diffHeight = (rctTempWnd.bottom - rctTempWnd.top) - (rctPluginWnd.bottom - rctPluginWnd.top); + + // Looking for size mismatch + if ((abs (diffWidth) > 60) || (abs (diffHeight) > 60)) // parent belongs to host + return (hTempWnd); + + if (diffWidth < 0) + diffWidth = 0; + if (diffHeight < 0) + diffHeight = 0; + + // get the next parent window + hTempWnd = GetParent (hTempWnd); + } + + return NULL; +} +#endif + +//----------------------------------------------------------------------------- +bool CFrame::setPosition (CCoord x, CCoord y) +{ + if (!getOpenFlag ()) + return false; +#if MAC + #if QUARTZ + if (controlRef) + { + HIRect r; + if (HIViewGetFrame (controlRef, &r) != noErr) + return false; + if (HIViewMoveBy (controlRef, x - r.origin.x, y - r.origin.y) != noErr) + return false; + return true; + } + #else + return false; + #endif +#elif WINDOWS + // not implemented yet + +#else + // not implemented yet + +#endif + return false; +} + +//----------------------------------------------------------------------------- +bool CFrame::getPosition (CCoord &x, CCoord &y) const +{ + if (!getOpenFlag ()) + return false; + + // get the position of the Window including this frame in the main pWindow +#if WINDOWS + HWND wnd = (HWND)getOuterWindow (); + HWND wndParent = GetParent (wnd); + + RECT rctTempWnd; + GetWindowRect (wnd, &rctTempWnd); + + POINT point; + point.x = rctTempWnd.left; + point.y = rctTempWnd.top; + + MapWindowPoints (HWND_DESKTOP, wndParent, &point, 1); + + x = point.x; + y = point.y; + +#elif MAC + Rect bounds; + GetWindowBounds ((WindowRef)pSystemWindow, kWindowContentRgn, &bounds); + + x = bounds.left; + y = bounds.top; + + #if QUARTZ + WindowAttributes attr; + GetWindowAttributes ((WindowRef)pSystemWindow, &attr); + if (attr & kWindowCompositingAttribute) + { +/* HIPoint hip = { 0.f, 0.f }; + HIViewRef contentView; + HIViewFindByID (HIViewGetRoot ((WindowRef)pSystemWindow), kHIViewWindowContentID, &contentView); + if (HIViewGetSuperview ((HIViewRef)controlRef) != contentView) + HIViewConvertPoint (&hip, controlRef, contentView); + x += hip.x; + y += hip.y;*/ + } + else + { + HIRect hirect; + HIViewGetFrame ((HIViewRef)controlRef, &hirect); + x += (CCoord)hirect.origin.x; + y += (CCoord)hirect.origin.y; + } + x -= hiScrollOffset.x; + y -= hiScrollOffset.y; + #endif + +#elif MOTIF + Position xWin, yWin; + + // get the topLevelShell of the pSystemWindow + Widget parent = (Widget)getSystemWindow (); + Widget parentOld = parent; + while (parent != 0 && !XtIsTopLevelShell (parent)) + { + parentOld = parent; + parent = XtParent (parent); + } + + if (parent == 0) + parent = parentOld; + + if (parent) + { + XtVaGetValues (parent, XtNx, &xWin, XtNy, &yWin, NULL); + x = xWin - 8; + y = yWin - 30; + } + +#elif BEOS + BRect frame = pPlugView->Window ()->Frame (); + x = (long) frame.left; + y = (long) frame.top; +#endif + return true; +} + +//----------------------------------------------------------------------------- +void CFrame::setViewSize (CRect& inRect) +{ + setSize (inRect.width (), inRect.height ()); +} + +//----------------------------------------------------------------------------- +bool CFrame::setSize (CCoord width, CCoord height) +{ + if (!getOpenFlag ()) + return false; + + if ((width == size.width ()) && (height == size.height ())) + return false; + +#if WINDOWS + if (backBuffer) + backBuffer->forget (); + backBuffer = 0; +#endif +#if !PLUGGUI + if (pEditor) + { + AudioEffectX* effect = (AudioEffectX*)((AEffGUIEditor*)pEditor)->getEffect (); + if (effect && effect->canHostDo ("sizeWindow")) + { + if (effect->sizeWindow ((long)width, (long)height)) + { + size.right = size.left + width; + size.bottom = size.top + height; + + #if WINDOWS + SetWindowPos ((HWND)pHwnd, HWND_TOP, 0, 0, width, height, SWP_NOMOVE); + + #elif (MAC && QUARTZ) + Rect bounds; + CRect2Rect (size, bounds); + SetControlBounds (controlRef, &bounds); + #endif + + return true; + } + } + } +#endif + + // keep old values + CCoord oldWidth = size.width (); + CCoord oldHeight = size.height (); + + // set the new size + size.right = size.left + width; + size.bottom = size.top + height; + +#if WINDOWS + RECT rctTempWnd, rctParentWnd; + HWND hTempWnd; + long iFrame = (2 * GetSystemMetrics (SM_CYFIXEDFRAME)); + + long diffWidth = 0; + long diffHeight = 0; + + hTempWnd = (HWND)pHwnd; + + while ((diffWidth != iFrame) && (hTempWnd != NULL)) // look for FrameWindow + { + HWND hTempParentWnd = GetParent (hTempWnd); + char buffer[1024]; + GetClassName (hTempParentWnd, buffer, 1024); + if (!hTempParentWnd || !strcmp (buffer, "MDIClient")) + break; + GetWindowRect (hTempWnd, &rctTempWnd); + GetWindowRect (hTempParentWnd, &rctParentWnd); + + SetWindowPos (hTempWnd, HWND_TOP, 0, 0, width + diffWidth, height + diffHeight, SWP_NOMOVE); + + diffWidth += (rctParentWnd.right - rctParentWnd.left) - (rctTempWnd.right - rctTempWnd.left); + diffHeight += (rctParentWnd.bottom - rctParentWnd.top) - (rctTempWnd.bottom - rctTempWnd.top); + + if ((diffWidth > 80) || (diffHeight > 80)) // parent belongs to host + return true; + + if (diffWidth < 0) + diffWidth = 0; + if (diffHeight < 0) + diffHeight = 0; + + hTempWnd = hTempParentWnd; + } + + if (hTempWnd) + SetWindowPos (hTempWnd, HWND_TOP, 0, 0, width + diffWidth, height + diffHeight, SWP_NOMOVE); + +#elif MAC + #if QUARTZ + if (getSystemWindow ()) + { + WindowAttributes windowAttributes; + GetWindowAttributes ((WindowRef)getSystemWindow (), &windowAttributes); + if (!(windowAttributes & kWindowCompositingAttribute)) + { + Rect bounds; + GetPortBounds (GetWindowPort ((WindowRef)getSystemWindow ()), &bounds); + SizeWindow ((WindowRef)getSystemWindow (), (short)((bounds.right - bounds.left) - oldWidth + width), + (short)((bounds.bottom - bounds.top) - oldHeight + height), true); + } + } + if (controlRef) + { + HIRect frameRect; + HIViewGetFrame (controlRef, &frameRect); + frameRect.size.width = width; + frameRect.size.height = height; + HIViewSetFrame (controlRef, &frameRect); + } + + #else + if (getSystemWindow ()) + { + Rect bounds; + GetPortBounds (GetWindowPort ((WindowRef)getSystemWindow ()), &bounds); + SizeWindow ((WindowRef)getSystemWindow (), (bounds.right - bounds.left) - oldWidth + width, + (bounds.bottom - bounds.top) - oldHeight + height, true); + #if MACX && !QUARTZ + SetPort (GetWindowPort ((WindowRef)getSystemWindow ())); + #endif + #if QUARTZ + CRect2Rect (size, bounds); + SetControlBounds (controlRef, &bounds); + #endif + } + #endif + +#elif MOTIF + Dimension heightWin, widthWin; + + // get the topLevelShell of the pSystemWindow + Widget parent = (Widget)getSystemWindow (); + Widget parentOld = parent; + while (parent != 0 && !XtIsTopLevelShell (parent)) + { + parentOld = parent; + parent = XtParent (parent); + } + + if (parent == 0) + parent = parentOld; + if (parent) + { + XtVaGetValues (parent, XtNwidth, &widthWin, XtNheight, &heightWin, NULL); + long diffWidth = widthWin - oldWidth; + long diffHeight = heightWin - oldHeight; + XtVaSetValues (parent, XmNwidth, width + diffWidth, + XmNheight, height + diffHeight, NULL); + } + +#elif BEOS + BView* parent = pPlugView->Parent (); + parent->SetResizingMode (B_FOLLOW_ALL_SIDES); + BRect frame = pPlugView->Frame (); + pPlugView->Window ()->ResizeBy (width - frame.Width () - 1, height - frame.Height () - 1); + parent->SetResizingMode (B_FOLLOW_NONE); +#endif + + CRect myViewSize (0, 0, size.width (), size.height ()); + CViewContainer::setViewSize (myViewSize); + + return true; +} + +//----------------------------------------------------------------------------- +bool CFrame::getSize (CRect *pRect) const +{ + if (!getOpenFlag ()) + return false; + +#if WINDOWS + // return the size relative to the client rect of this window + // get the main window + HWND wnd = GetParent ((HWND)getSystemWindow ()); + HWND wndParent = GetParent (wnd); + HWND wndParentParent = GetParent (wndParent); + + RECT rctTempWnd; + GetWindowRect (wnd, &rctTempWnd); + + POINT point; + point.x = rctTempWnd.left; + point.y = rctTempWnd.top; + + MapWindowPoints (HWND_DESKTOP, wndParentParent, &point, 1); + + pRect->left = point.x; + pRect->top = point.y; + pRect->right = pRect->left + rctTempWnd.right - rctTempWnd.left; + pRect->bottom = pRect->top + rctTempWnd.bottom - rctTempWnd.top; + +#elif MAC + #if QUARTZ + HIRect hiRect; + if (HIViewGetFrame (controlRef, &hiRect) == noErr) + { + pRect->left = (CCoord)hiRect.origin.x; + pRect->top = (CCoord)hiRect.origin.y; + pRect->setWidth ((CCoord)hiRect.size.width); + pRect->setHeight ((CCoord)hiRect.size.height); + return true; + } + #endif + + Rect bounds; + GetPortBounds (GetWindowPort ((WindowRef)getSystemWindow ()), &bounds); + + pRect->left = bounds.left; + pRect->top = bounds.top; + pRect->right = bounds.right; + pRect->bottom = bounds.bottom; + +#elif MOTIF + Dimension height, width; + XtVaGetValues ((Widget)getSystemWindow (), + XtNwidth, &width, XtNheight, &height, NULL); + + Position x, y; + Position xTotal = 0, yTotal = 0; + Widget parent = (Widget)getSystemWindow (); + while (parent != 0 && !XtIsTopLevelShell (parent) && !XmIsDialogShell (parent)) + { + XtVaGetValues (parent, XtNx, &x, XtNy, &y, NULL); + xTotal += x; + yTotal += y; + parent = XtParent (parent); + } + + pRect->left = xTotal; + pRect->top = yTotal; + pRect->right = width + pRect->left; + pRect->bottom = height + pRect->top; + +#elif BEOS + BRect v = pPlugView->Frame (); + (*pRect) (v.left, v.top, v.right + 1, v.bottom + 1); +#endif + return true; +} + +//----------------------------------------------------------------------------- +bool CFrame::getSize (CRect& outSize) const +{ + return getSize (&outSize); +} + +//----------------------------------------------------------------------------- +long CFrame::setModalView (CView *pView) +{ + // There's already a modal view so we get out + if (pView && pModalView) + return 0; + + if (pModalView) + removeView (pModalView, false); + + pModalView = pView; + if (pModalView) + addView (pModalView); + + return 1; +} + +//----------------------------------------------------------------------------- +void CFrame::beginEdit (long index) +{ +#if PLUGGUI + #if AU + if (pEditor) + ((PluginGUIEditor*)pEditor)->beginEdit (index); + #endif +#else + if (pEditor) + ((AEffGUIEditor*)pEditor)->beginEdit (index); +#endif +} + +//----------------------------------------------------------------------------- +void CFrame::endEdit (long index) +{ +#if PLUGGUI + #if AU + if (pEditor) + ((PluginGUIEditor*)pEditor)->endEdit (index); + #endif +#else + if (pEditor) + ((AEffGUIEditor*)pEditor)->endEdit (index); +#endif +} + +//----------------------------------------------------------------------------- +CView *CFrame::getCurrentView () const +{ + if (pModalView) + return pModalView; + + return CViewContainer::getCurrentView (); +} + +//----------------------------------------------------------------------------- +bool CFrame::getCurrentLocation (CPoint &where) +{ +#if WINDOWS + HWND hwnd = (HWND)this->getSystemWindow (); + POINT _where; + GetCursorPos (&_where); + where (_where.x, _where.y); + if (hwnd) + { + RECT rctTempWnd; + GetWindowRect (hwnd, &rctTempWnd); + where.offset (-rctTempWnd.left, -rctTempWnd.top); + } + return true; +#endif + + // create a local context + CDrawContext *pContext = createDrawContext (); + if (pContext) + { + // get the current position + pContext->getMouseLocation (where); + pContext->forget (); + } + return true; +} + +#if MACX +#define kThemeResizeUpDownCursor 21 +#define kThemeNotAllowedCursor 18 +#endif + +//----------------------------------------------------------------------------- +void CFrame::setCursor (CCursorType type) +{ + #if WINDOWS + if (!defaultCursor) + defaultCursor = GetCursor (); + switch (type) + { + case kCursorWait: + SetCursor (LoadCursor (0, IDC_WAIT)); + break; + case kCursorHSize: + SetCursor (LoadCursor (0, IDC_SIZEWE)); + break; + case kCursorVSize: + SetCursor (LoadCursor (0, IDC_SIZENS)); + break; + case kCursorNESWSize: + SetCursor (LoadCursor (0, IDC_SIZENESW)); + break; + case kCursorNWSESize: + SetCursor (LoadCursor (0, IDC_SIZENWSE)); + break; + case kCursorSizeAll: + SetCursor (LoadCursor (0, IDC_SIZEALL)); + break; + case kCursorNotAllowed: + SetCursor (LoadCursor (0, IDC_NO)); + break; + case kCursorHand: + SetCursor (LoadCursor (0, IDC_HAND)); + break; + default: + SetCursor ((HCURSOR)defaultCursor); + break; + } + #elif MAC + #if MACX + switch (type) + { + case kCursorWait: + SetThemeCursor (kThemeWatchCursor); + break; + case kCursorHSize: + SetThemeCursor (pSystemVersion < 0x1030 ? kThemeCrossCursor : kThemeResizeLeftRightCursor); + break; + case kCursorVSize: + SetThemeCursor (pSystemVersion < 0x1030 ? kThemeCrossCursor : kThemeResizeUpDownCursor); + break; + case kCursorNESWSize: + SetThemeCursor (kThemeCrossCursor); + break; + case kCursorNWSESize: + SetThemeCursor (kThemeCrossCursor); + break; + case kCursorSizeAll: + SetThemeCursor (kThemeCrossCursor); + break; + case kCursorCopy: + SetThemeCursor (kThemeCopyArrowCursor); + break; + case kCursorNotAllowed: + SetThemeCursor (pSystemVersion < 0x1020 ? kThemeArrowCursor : kThemeNotAllowedCursor); + break; + case kCursorHand: + SetThemeCursor (kThemeOpenHandCursor); + break; + default: + SetThemeCursor (kThemeArrowCursor); + break; + } + #else + //if (!defaultCursor) + // defaultCursor = GetCursor (0); + switch (type) + { + case kCursorWait: + SetCursor (*GetCursor (watchCursor)); + break; + case kCursorHSize: + SetCursor (*GetCursor (crossCursor)); + break; + case kCursorVSize: + SetCursor (*GetCursor (crossCursor)); + break; + case kCursorNESWSize: + SetCursor (*GetCursor (crossCursor)); + break; + case kCursorNWSESize: + SetCursor (*GetCursor (crossCursor)); + break; + case kCursorSizeAll: + SetCursor (*GetCursor (plusCursor)); + break; + default: + InitCursor (); + break; + } + #endif + #endif +} + +//----------------------------------------------------------------------------- +void CFrame::setFocusView (CView *pView) +{ + CView *pOldFocusView = pFocusView; + pFocusView = pView; + if (pFocusView && pFocusView->wantsFocus ()) + pFocusView->setDirty (); + + if (pOldFocusView) + { + pOldFocusView->looseFocus (); + if (pOldFocusView->wantsFocus ()) + pOldFocusView->setDirty (); + } +} + +//----------------------------------------------------------------------------- +bool CFrame::advanceNextFocusView (CView* oldFocus, bool reverse) +{ + if (pModalView) + return false; // currently not supported, but should be done sometime + if (oldFocus == 0) + { + if (pFocusView == 0) + return CViewContainer::advanceNextFocusView (0, reverse); + oldFocus = pFocusView; + } + if (isChild (oldFocus)) + { + if (CViewContainer::advanceNextFocusView (oldFocus, reverse)) + return true; + else + { + setFocusView (NULL); + return false; + } + } + CView* parentView = oldFocus->getParentView (); + if (parentView && parentView->isTypeOf ("CViewContainer")) + { + CView* tempOldFocus = oldFocus; + CViewContainer* vc = (CViewContainer*)parentView; + while (vc) + { + if (vc->advanceNextFocusView (tempOldFocus, reverse)) + return true; + else + { + tempOldFocus = vc; + if (vc->getParentView () && vc->getParentView ()->isTypeOf ("CViewContainer")) + vc = (CViewContainer*)vc->getParentView (); + else + vc = 0; + } + } + } + return CViewContainer::advanceNextFocusView (oldFocus, reverse); +} + +//----------------------------------------------------------------------------- +void CFrame::invalidate (const CRect &rect) +{ + CRect rectView; + FOREACHSUBVIEW + if (pV) + { + pV->getViewSize (rectView); + if (rect.rectOverlap (rectView)) + pV->setDirty (true); + } + ENDFOR +} + +#if DEBUG +//----------------------------------------------------------------------------- +void CFrame::dumpHierarchy () +{ + dumpInfo (); + DebugPrint ("\n"); + CViewContainer::dumpHierarchy (); +} +#endif + +//----------------------------------------------------------------------------- +// CCView Implementation +//----------------------------------------------------------------------------- +CCView::CCView (CView *pView) + : pView (pView), pNext (0), pPrevious (0) +{ + if (pView) + pView->remember (); +} + +//----------------------------------------------------------------------------- +CCView::~CCView () +{ + if (pView) + pView->forget (); +} + +//----------------------------------------------------------------------------- +// CViewContainer Implementation +//----------------------------------------------------------------------------- +/** + * CViewContainer constructor. + * @param rect the size of the container + * @param pParent the parent CFrame + * @param pBackground the background bitmap, can be NULL + */ +CViewContainer::CViewContainer (const CRect &rect, CFrame *pParent, CBitmap *pBackground) +: CView (rect), pFirstView (0), pLastView (0), + mode (kNormalUpdate), pOffscreenContext (0), bDrawInOffscreen (true), currentDragView (0) +{ + #if MACX || USE_ALPHA_BLEND + bDrawInOffscreen = false; + #endif + backgroundOffset (0, 0); + this->pParentFrame = pParent; + setBackground (pBackground); + backgroundColor = kBlackCColor; + #if NEW_UPDATE_MECHANISM + mode = kOnlyDirtyUpdate; + #endif +} + +//----------------------------------------------------------------------------- +CViewContainer::~CViewContainer () +{ + // remove all views + removeAll (true); + + #if !BEOS + if (pOffscreenContext) + pOffscreenContext->forget (); + pOffscreenContext = 0; + #endif +} + +//----------------------------------------------------------------------------- +/** + * @param rect the new size of the container + */ +void CViewContainer::setViewSize (CRect &rect) +{ + CView::setViewSize (rect); + + #if !BEOS + if (pOffscreenContext && bDrawInOffscreen) + { + pOffscreenContext->forget (); + pOffscreenContext = new COffscreenContext (pParentFrame, (long)size.width (), (long)size.height (), kBlackCColor); + } + #endif +} + +//----------------------------------------------------------------------------- +/** + * @param color the new background color of the container + */ +void CViewContainer::setBackgroundColor (CColor color) +{ + backgroundColor = color; + setDirty (true); +} + +//------------------------------------------------------------------------------ +long CViewContainer::notify (CView* sender, const char* message) +{ + if (message == kMsgCheckIfViewContainer) + return kMessageNotified; + return kMessageUnknown; +} + +//----------------------------------------------------------------------------- +/** + * @param pView the view object to add to this container + */ +void CViewContainer::addView (CView *pView) +{ + if (!pView) + return; + + CCView *pSv = new CCView (pView); + + pView->pParentFrame = pParentFrame; + pView->pParentView = this; + + CCView *pV = pFirstView; + if (!pV) + { + pLastView = pFirstView = pSv; + } + else + { + while (pV->pNext) + pV = pV->pNext; + pV->pNext = pSv; + pSv->pPrevious = pV; + pLastView = pSv; + } + pView->attached (this); + pView->setDirty (); +} + +//----------------------------------------------------------------------------- +/** + * @param pView the view object to add to this container + * @param mouseableArea the view area in where the view will get mouse events + * @param mouseEnabled bool to set if view will get mouse events + */ +void CViewContainer::addView (CView *pView, CRect &mouseableArea, bool mouseEnabled) +{ + if (!pView) + return; + + pView->setMouseEnabled (mouseEnabled); + pView->setMouseableArea (mouseableArea); + + addView (pView); +} + +//----------------------------------------------------------------------------- +/** + * @param withForget bool to indicate if the view's reference counter should be decreased after removed from the container + */ +void CViewContainer::removeAll (const bool &withForget) +{ + CCView *pV = pFirstView; + while (pV) + { + CCView *pNext = pV->pNext; + if (pV->pView) + { + pV->pView->removed (this); + if (withForget) + pV->pView->forget (); + } + + delete pV; + + pV = pNext; + } + pFirstView = 0; + pLastView = 0; +} + +//----------------------------------------------------------------------------- +/** + * @param pView the view which should be removed from the container + * @param withForget bool to indicate if the view's reference counter should be decreased after removed from the container + */ +void CViewContainer::removeView (CView *pView, const bool &withForget) +{ + if (pParentFrame && pParentFrame->getFocusView () == pView) + pParentFrame->setFocusView (0); + CCView *pV = pFirstView; + while (pV) + { + if (pView == pV->pView) + { + CCView *pNext = pV->pNext; + CCView *pPrevious = pV->pPrevious; + if (pV->pView) + { + pV->pView->removed (this); + if (withForget) + pV->pView->forget (); + } + delete pV; + if (pPrevious) + { + pPrevious->pNext = pNext; + if (pNext) + pNext->pPrevious = pPrevious; + else + pLastView = pPrevious; + } + else + { + pFirstView = pNext; + if (pNext) + pNext->pPrevious = 0; + else + pLastView = 0; + } + break; + } + else + pV = pV->pNext; + } +} + +//----------------------------------------------------------------------------- +/** + * @param pView the view which should be checked if it is a child of this container + */ +bool CViewContainer::isChild (CView *pView) const +{ + bool found = false; + + CCView *pV = pFirstView; + while (pV) + { + if (pView == pV->pView) + { + found = true; + break; + } + pV = pV->pNext; + } + return found; +} + +//----------------------------------------------------------------------------- +long CViewContainer::getNbViews () const +{ + long nb = 0; + CCView *pV = pFirstView; + while (pV) + { + pV = pV->pNext; + nb++; + } + return nb; +} + +//----------------------------------------------------------------------------- +/** + * @param index the index of the view to return + */ +CView *CViewContainer::getView (long index) const +{ + long nb = 0; + CCView *pV = pFirstView; + while (pV) + { + if (nb == index) + return pV->pView; + pV = pV->pNext; + nb++; + } + return 0; +} + +//----------------------------------------------------------------------------- +/** + * @param pContext the context which to use to draw this container and its subviews + */ +void CViewContainer::draw (CDrawContext *pContext) +{ + CDrawContext *pC; + CCoord save[4]; + + #if BEOS + // create offscreen + if (pBackground) + pC = new COffscreenContext (pContext, pBackground); + else + pC = new COffscreenContext (pParentFrame, size.width (), size.height (), backgroundColor); + + #else + if (!pOffscreenContext && bDrawInOffscreen) + pOffscreenContext = new COffscreenContext (pParentFrame, (long)size.width (), (long)size.height (), kBlackCColor); + #if USE_ALPHA_BLEND + if (pOffscreenContext && bTransparencyEnabled) + pOffscreenContext->copyTo (pContext, size); + #endif + + if (bDrawInOffscreen) + pC = pOffscreenContext; + else + { + pC = pContext; + modifyDrawContext (save, pContext); + } + + CRect r (0, 0, size.width (), size.height ()); + + #if USE_CLIPPING_DRAWRECT + CRect oldClip; + pContext->getClipRect (oldClip); + CRect oldClip2 (oldClip); + if (bDrawInOffscreen && getFrame () != this) + oldClip.offset (-oldClip.left, -oldClip.top); + + CRect newClip (r); + newClip.bound (oldClip); + pC->setClipRect (newClip); + #endif + + // draw the background + if (pBackground) + { + if (bTransparencyEnabled) + pBackground->drawTransparent (pC, r, backgroundOffset); + else + pBackground->draw (pC, r, backgroundOffset); + } + else if (!bTransparencyEnabled) + { + pC->setFillColor (backgroundColor); + pC->fillRect (r); + } + #endif + + // draw each view + FOREACHSUBVIEW + #if USE_CLIPPING_DRAWRECT + CRect vSize (pV->size); + vSize.bound (oldClip); + pC->setClipRect (vSize); + #endif + pV->draw (pC); + ENDFOR + + #if USE_CLIPPING_DRAWRECT + pC->setClipRect (oldClip2); + #endif + + // transfert offscreen + if (bDrawInOffscreen) + ((COffscreenContext*)pC)->copyFrom (pContext, size); + else + restoreDrawContext (pContext, save); + + #if BEOS + delete pC; + #endif + + setDirty (false); +} + +//----------------------------------------------------------------------------- +/** + * @param pContext the context which to use to draw the background + * @param _updateRect the area which to draw + */ +void CViewContainer::drawBackgroundRect (CDrawContext *pContext, CRect& _updateRect) +{ + if (pBackground) + { + CRect oldClip; + pContext->getClipRect (oldClip); + CRect newClip (_updateRect); + newClip.bound (oldClip); + pContext->setClipRect (newClip); + CRect tr (0, 0, pBackground->getWidth (), pBackground->getHeight ()); + if (bTransparencyEnabled) + pBackground->drawTransparent (pContext, tr, backgroundOffset); + else + pBackground->draw (pContext, tr, backgroundOffset); + pContext->setClipRect (oldClip); + } + else if (!bTransparencyEnabled) + { + pContext->setFillColor (backgroundColor); + pContext->fillRect (_updateRect); + } +} + +//----------------------------------------------------------------------------- +/** + * @param pContext the context which to use to draw + * @param _updateRect the area which to draw + */ +void CViewContainer::drawRect (CDrawContext *pContext, const CRect& _updateRect) +{ + CDrawContext *pC; + CCoord save[4]; + + #if BEOS + // create offscreen + if (pBackground) + pC = new COffscreenContext (pContext, pBackground); + else + pC = new COffscreenContext (pParentFrame, size.width (), size.height (), backgroundColor); + + #else + if (!pOffscreenContext && bDrawInOffscreen) + pOffscreenContext = new COffscreenContext (pParentFrame, (long)size.width (), (long)size.height (), kBlackCColor); + #if USE_ALPHA_BLEND + if (pOffscreenContext && bTransparencyEnabled) + pOffscreenContext->copyTo (pContext, size); + #endif + + if (bDrawInOffscreen) + pC = pOffscreenContext; + else + { + pC = pContext; + modifyDrawContext (save, pContext); + } + + CRect updateRect (_updateRect); + updateRect.bound (size); + + CRect clientRect (updateRect); + clientRect.offset (-size.left, -size.top); + + #if USE_CLIPPING_DRAWRECT + CRect oldClip; + pContext->getClipRect (oldClip); + CRect oldClip2 (oldClip); + if (bDrawInOffscreen && getFrame () != this) + oldClip.offset (-oldClip.left, -oldClip.top); + + CRect newClip (clientRect); + newClip.bound (oldClip); + pC->setClipRect (newClip); + #endif + + // draw the background + drawBackgroundRect (pC, clientRect); + #endif + + // draw each view + FOREACHSUBVIEW + if (pV->checkUpdate (clientRect)) + { + #if USE_CLIPPING_DRAWRECT + CRect viewSize (pV->size); + viewSize.bound (newClip); + if (viewSize.getWidth () == 0 || viewSize.getHeight () == 0) + continue; + pC->setClipRect (viewSize); + #endif + + bool wasDirty = pV->isDirty (); + pV->drawRect (pC, clientRect); + + #if DEBUG_FOCUS_DRAWING + if (getFrame ()->getFocusView() == pV && pV->wantsFocus ()) + { + pC->setDrawMode (kCopyMode); + pC->setFrameColor (kRedCColor); + pC->drawRect (pV->size); + } + #endif + if (wasDirty && pV->size != viewSize && !isTypeOf ("CScrollContainer")) + { + pV->setDirty (true); + } + } + ENDFOR + + #if USE_CLIPPING_DRAWRECT + pC->setClipRect (oldClip2); + #endif + + // transfer offscreen + if (bDrawInOffscreen) + ((COffscreenContext*)pC)->copyFrom (pContext, updateRect, CPoint (clientRect.left, clientRect.top)); + else + restoreDrawContext (pContext, save); + + #if BEOS + delete pC; + #endif + +#if EVENT_DRAW_FIX + if (bDirty && newClip == size) +#endif + setDirty (false); +} + +//----------------------------------------------------------------------------- +/** + * @param context the context which to use to redraw this container + * @param rect the area which to redraw + */ +void CViewContainer::redrawRect (CDrawContext* context, const CRect& rect) +{ + CRect _rect (rect); + _rect.offset (size.left, size.top); + if (bTransparencyEnabled) + { + // as this is transparent, we call the parentview to redraw this area. + if (pParentView) + pParentView->redrawRect (context, _rect); + else if (pParentFrame) + pParentFrame->drawRect (context, _rect); + } + else + { + CCoord save[4]; + if (pParentView) + { + CPoint off; + pParentView->localToFrame (off); + // store + save[0] = context->offsetScreen.h; + save[1] = context->offsetScreen.v; + save[2] = context->offset.h; + save[3] = context->offset.v; + + context->offsetScreen.h += off.x; + context->offsetScreen.v += off.y; + context->offset.h += off.x; + context->offset.v += off.y; + } + + drawRect (context, _rect); + + if (pParentView) + { + // restore + context->offsetScreen.h = save[0]; + context->offsetScreen.v = save[1]; + context->offset.h = save[2]; + context->offset.v = save[3]; + } + } +} + +//----------------------------------------------------------------------------- +bool CViewContainer::hitTestSubViews (const CPoint& where, const long buttons) +{ + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + CCView *pSv = pLastView; + while (pSv) + { + CView *pV = pSv->pView; + if (pV && pV->getMouseEnabled () && pV->hitTest (where2, buttons)) + return true; + pSv = pSv->pPrevious; + } + return false; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::hitTest (const CPoint& where, const long buttons) +{ + //return hitTestSubViews (where); would change default behavior + return CView::hitTest (where, buttons); +} + +//----------------------------------------------------------------------------- +void CViewContainer::mouse (CDrawContext *pContext, CPoint &where, long buttons) +{ + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + if (buttons == -1 && pContext) + buttons = pContext->getMouseButtons (); + + CCView *pSv = pLastView; + while (pSv) + { + CView *pV = pSv->pView; + if (pV && pV->getMouseEnabled () && pV->hitTest (where2, buttons)) + { + pV->mouse (pContext, where2, buttons); + break; + } + pSv = pSv->pPrevious; + } +} + +//----------------------------------------------------------------------------- +long CViewContainer::onKeyDown (VstKeyCode& keyCode) +{ + long result = -1; + + CCView* pSv = pLastView; + while (pSv) + { + long result = pSv->pView->onKeyDown (keyCode); + if (result != -1) + break; + + pSv = pSv->pPrevious; + } + + return result; +} + +//----------------------------------------------------------------------------- +long CViewContainer::onKeyUp (VstKeyCode& keyCode) +{ + long result = -1; + + CCView* pSv = pLastView; + while (pSv) + { + long result = pSv->pView->onKeyUp (keyCode); + if (result != -1) + break; + + pSv = pSv->pPrevious; + } + + return result; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance) +{ + bool result = false; + CView *view = getViewAt (where); + if (view) + { + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + CCoord save[4]; + modifyDrawContext (save, pContext); + + result = view->onWheel (pContext, where2, axis, distance); + + restoreDrawContext (pContext, save); + } + return result; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::onWheel (CDrawContext *pContext, const CPoint &where, float distance) +{ + return onWheel (pContext, where, kMouseWheelAxisY, distance); +} + +//----------------------------------------------------------------------------- +bool CViewContainer::onDrop (CDrawContext* context, CDragContainer* drag, const CPoint& where) +{ + if (!pParentFrame) + return false; + + bool result = false; + + CCoord save[4]; + modifyDrawContext (save, context); + + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + CView* view = getViewAt (where); + if (view != currentDragView) + { + if (currentDragView) + currentDragView->onDragLeave (context, drag, where2); + currentDragView = view; + } + if (currentDragView) + { + result = currentDragView->onDrop (context, drag, where2); + currentDragView->onDragLeave (context, drag, where2); + } + currentDragView = 0; + + restoreDrawContext (context, save); + + return result; +} + +//----------------------------------------------------------------------------- +void CViewContainer::onDragEnter (CDrawContext* context, CDragContainer* drag, const CPoint& where) +{ + if (!pParentFrame) + return; + + CCoord save[4]; + modifyDrawContext (save, context); + + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + if (currentDragView) + currentDragView->onDragLeave (context, drag, where2); + CView* view = getViewAt (where); + currentDragView = view; + if (view) + view->onDragEnter (context, drag, where2); + + restoreDrawContext (context, save); +} + +//----------------------------------------------------------------------------- +void CViewContainer::onDragLeave (CDrawContext* context, CDragContainer* drag, const CPoint& where) +{ + if (!pParentFrame) + return; + + CCoord save[4]; + modifyDrawContext (save, context); + + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + if (currentDragView) + currentDragView->onDragLeave (context, drag, where2); + currentDragView = 0; + + restoreDrawContext (context, save); +} + +//----------------------------------------------------------------------------- +void CViewContainer::onDragMove (CDrawContext* context, CDragContainer* drag, const CPoint& where) +{ + if (!pParentFrame) + return; + + CCoord save[4]; + modifyDrawContext (save, context); + + // convert to relativ pos + CPoint where2 (where); + where2.offset (-size.left, -size.top); + + CView* view = getViewAt (where); + if (view != currentDragView) + { + if (currentDragView) + currentDragView->onDragLeave (context, drag, where2); + if (view) + view->onDragEnter (context, drag, where2); + currentDragView = view; + } + else if (currentDragView) + currentDragView->onDragMove (context, drag, where2); + + restoreDrawContext (context, save); +} + +//----------------------------------------------------------------------------- +void CViewContainer::update (CDrawContext *pContext) +{ + switch (mode) + { + //---Normal : redraw all... + case kNormalUpdate: + if (isDirty ()) + { + #if NEW_UPDATE_MECHANISM + CRect ur (0, 0, size.width (), size.height ()); + redrawRect (pContext, ur); + #else + #if USE_ALPHA_BLEND + if (bTransparencyEnabled) + { + CRect updateRect (size); + CPoint offset (0,0); + localToFrame (offset); + updateRect.offset (offset.x, offset.y); + getFrame ()->drawRect (pContext, updateRect); + } + else + #endif + draw (pContext); + #endif // !NEW_UPDATE_MECHANISM + setDirty (false); + } + break; + + //---Redraw only dirty controls----- + case kOnlyDirtyUpdate: + { + #if NEW_UPDATE_MECHANISM + if (bDirty) + { + CRect ur (0, 0, size.width (), size.height ()); + redrawRect (pContext, ur); + } + else + { + CRect updateRect (size); + updateRect.offset (-size.left, -size.top); + FOREACHSUBVIEW + if (pV->isDirty () && pV->checkUpdate (updateRect)) + { + if (pV->notify (this, kMsgCheckIfViewContainer)) + pV->update (pContext); + else + { + CRect drawSize (pV->size); + drawSize.bound (updateRect); + pV->redrawRect (pContext, drawSize); + } + } + ENDFOR + } + #else + #if USE_ALPHA_BLEND + if (bTransparencyEnabled) + { + if (bDirty) + { + CRect updateRect (size); + CPoint offset (0,0); + localToFrame (offset); + updateRect.offset (offset.x, offset.y); + getFrame ()->drawRect (pContext, updateRect); + } + else + { + CRect updateRect (size); + updateRect.offset (-size.left, -size.top); + FOREACHSUBVIEW + if (pV->isDirty () && pV->checkUpdate (updateRect)) + { + if (pV->notify (this, kMsgCheckIfViewContainer)) + { + pV->update (pContext); + } + else + { + CPoint offset; + CRect viewSize (pV->size); + pV->localToFrame (offset); + viewSize.offset (offset.x, offset.y); + getFrame ()->drawRect (pContext, viewSize); + } + } + ENDFOR + } + setDirty (false); + return; + } + #endif + if (bDirty) + draw (pContext); + else if (bDrawInOffscreen && pOffscreenContext) + { + bool doCopy = false; + if (isDirty ()) + doCopy = true; + + FOREACHSUBVIEW + pV->update (pOffscreenContext); + ENDFOR + + // transfert offscreen + if (doCopy) + pOffscreenContext->copyFrom (pContext, size); + } + else + { + long save[4]; + modifyDrawContext (save, pContext); + + FOREACHSUBVIEW + if (pV->isDirty ()) + { + long oldMode = 0; + CViewContainer* child = 0; + if (pV->notify (this, kMsgCheckIfViewContainer)) + { + child = (CViewContainer*)pV; + oldMode = child->getMode (); + child->setMode (kNormalUpdate); + } + CRect viewSize (pV->size); + drawBackgroundRect (pContext, viewSize); + pV->update (pContext); + if (child) + child->setMode (oldMode); + } + ENDFOR + + restoreDrawContext (pContext, save); + } + #endif // !NEW_UPDATE_MECHANISM + setDirty (false); + break; + } + } +} + +//----------------------------------------------------------------------------- +void CViewContainer::looseFocus (CDrawContext *pContext) +{ + FOREACHSUBVIEW + pV->looseFocus (pContext); + ENDFOR +} + +//----------------------------------------------------------------------------- +void CViewContainer::takeFocus (CDrawContext *pContext) +{ + FOREACHSUBVIEW + pV->takeFocus (pContext); + ENDFOR +} + +//----------------------------------------------------------------------------- +bool CViewContainer::advanceNextFocusView (CView* oldFocus, bool reverse) +{ + bool foundOld = false; + FOREACHSUBVIEW_REVERSE(reverse) + if (oldFocus && !foundOld) + { + if (oldFocus == pV) + { + foundOld = true; + continue; + } + } + else + { + if (pV->wantsFocus ()) + { + getFrame ()->setFocusView (pV); + return true; + } + else if (pV->isTypeOf ("CViewContainer")) + { + if (((CViewContainer*)pV)->advanceNextFocusView (0, reverse)) + return true; + } + } + ENDFOR + return false; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::isDirty () const +{ + if (bDirty) + return true; + + CRect viewSize (size); + viewSize.offset (-size.left, -size.top); + + FOREACHSUBVIEW + if (pV->isDirty ()) + { + CRect r (pV->size); + r.bound (viewSize); + if (r.getWidth () > 0 && r.getHeight () > 0) + return true; + } + ENDFOR + return false; +} + +//----------------------------------------------------------------------------- +CView *CViewContainer::getCurrentView () const +{ + if (!pParentFrame) + return 0; + + // get the current position + CPoint where; + pParentFrame->getCurrentLocation (where); + + frameToLocal (where); + + CCView *pSv = pLastView; + while (pSv) + { + CView *pV = pSv->pView; + if (pV && where.isInside (pV->mouseableArea)) + return pV; + pSv = pSv->pPrevious; + } + + return 0; +} + +//----------------------------------------------------------------------------- +CView *CViewContainer::getViewAt (const CPoint& p, bool deep) const +{ + if (!pParentFrame) + return 0; + + CPoint where (p); + + // convert to relativ pos + where.offset (-size.left, -size.top); + + CCView *pSv = pLastView; + while (pSv) + { + CView *pV = pSv->pView; + if (pV && where.isInside (pV->mouseableArea)) + { + if (deep) + { + if (pV->isTypeOf ("CViewContainer")) + return ((CViewContainer*)pV)->getViewAt (where, deep); + } + return pV; + } + pSv = pSv->pPrevious; + } + + return 0; +} + +//----------------------------------------------------------------------------- +CPoint& CViewContainer::frameToLocal (CPoint& point) const +{ + point.offset (-size.left, -size.top); + if (pParentView && pParentView->isTypeOf ("CViewContainer")) + return pParentView->frameToLocal (point); + return point; +} + +//----------------------------------------------------------------------------- +CPoint& CViewContainer::localToFrame (CPoint& point) const +{ + point.offset (size.left, size.top); + if (pParentView && pParentView->isTypeOf ("CViewContainer")) + return pParentView->localToFrame (point); + return point; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::removed (CView* parent) +{ + #if !BEOS + if (pOffscreenContext) + pOffscreenContext->forget (); + pOffscreenContext = 0; + #endif + + return true; +} + +//----------------------------------------------------------------------------- +bool CViewContainer::attached (CView* view) +{ + #if !BEOS + // create offscreen bitmap + if (!pOffscreenContext && bDrawInOffscreen) + pOffscreenContext = new COffscreenContext (pParentFrame, (long)size.width (), (long)size.height (), kBlackCColor); + #endif + + return true; +} + +//----------------------------------------------------------------------------- +void CViewContainer::useOffscreen (bool b) +{ + bDrawInOffscreen = b; + + #if !BEOS + if (!bDrawInOffscreen && pOffscreenContext) + { + pOffscreenContext->forget (); + pOffscreenContext = 0; + } + #endif +} + +//----------------------------------------------------------------------------- +void CViewContainer::modifyDrawContext (CCoord save[4], CDrawContext* pContext) +{ + // store + save[0] = pContext->offsetScreen.h; + save[1] = pContext->offsetScreen.v; + save[2] = pContext->offset.h; + save[3] = pContext->offset.v; + + pContext->offsetScreen.h += size.left; + pContext->offsetScreen.v += size.top; + pContext->offset.h += size.left; + pContext->offset.v += size.top; +} + +//----------------------------------------------------------------------------- +void CViewContainer::restoreDrawContext (CDrawContext* pContext, CCoord save[4]) +{ + // restore + pContext->offsetScreen.h = save[0]; + pContext->offsetScreen.v = save[1]; + pContext->offset.h = save[2]; + pContext->offset.v = save[3]; +} + +#if DEBUG +static long _debugDumpLevel = 0; +//----------------------------------------------------------------------------- +void CViewContainer::dumpInfo () +{ + static const char* modeString[] = { "Normal Update Mode", "Only Dirty Update Mode"}; + DebugPrint ("CViewContainer: Mode: %s, Offscreen:%s ", modeString[mode], bDrawInOffscreen ? "Yes" : "No"); + CView::dumpInfo (); +} + +//----------------------------------------------------------------------------- +void CViewContainer::dumpHierarchy () +{ + _debugDumpLevel++; + FOREACHSUBVIEW + for (long i = 0; i < _debugDumpLevel; i++) + DebugPrint ("\t"); + pV->dumpInfo (); + DebugPrint ("\n"); + if (pV->isTypeOf ("CViewContainer")) + ((CViewContainer*)pV)->dumpHierarchy (); + ENDFOR + _debugDumpLevel--; +} + +#endif + +#if WINDOWS && USE_LIBPNG +class PNGResourceStream +{ +public: + PNGResourceStream () + : streamPos (0) + , resData (0) + , resSize (0) + { + } + + ~PNGResourceStream () + { + } + + bool open (long resourceID) + { + HRSRC rsrc = FindResource (GetInstance (), MAKEINTRESOURCE (resourceID), "PNG"); + if (rsrc) + { + resSize = SizeofResource (GetInstance (), rsrc); + HGLOBAL resDataLoad = LoadResource (GetInstance (), rsrc); + if (resDataLoad) + { + resData = LockResource (resDataLoad); + return true; + } + } + return false; + } + + void read (unsigned char* ptr, size_t size) + { + if (streamPos + size <= resSize) + { + memcpy (ptr, ((unsigned char*)resData+streamPos), size); + streamPos += (unsigned long)size; + } + } + + static void readCallback (png_struct* pngPtr, unsigned char* ptr, size_t size) + { + void* obj = png_get_io_ptr (pngPtr); + if (obj) + ((PNGResourceStream*)obj)->read (ptr, size); + } +protected: + HGLOBAL resData; + unsigned long streamPos; + unsigned long resSize; +}; +#endif + +//----------------------------------------------------------------------------- +// CBitmap Implementation +//----------------------------------------------------------------------------- +/*! @class CBitmap +@section cbitmap_alphablend Alpha Blend and Transparency +With Version 3.0 of VSTGUI it is possible to use alpha blended bitmaps. This comes free on Mac OS X and with Windows you need to include libpng. +Per default PNG images will be rendered alpha blended. If you want to use a transparency color with PNG Bitmaps, you need to call setNoAlpha(true) on the bitmap and set the transparency color. +@section cbitmap_macos Classic Apple Mac OS +The Bitmaps are PICTs and stored inside the resource fork. +@section cbitmap_macosx Apple Mac OS X +The Bitmaps can be of type PNG, JPEG, PICT, BMP and are stored in the Resources folder of the plugin bundle. +They must be named bmp00100.png (or bmp00100.jpg, etc). The number is the resource id. +@section cbitmap_windows Microsoft Windows +The Bitmaps are .bmp files and must be included in the plug (usually using a .rc file). +It's also possible to use png as of version 3.0 if you define the macro USE_LIBPNG and include the libpng and zlib libraries/sources to your project. +*/ +CBitmap::CBitmap (long resourceID) + : resourceID (resourceID), width (0), height (0), noAlpha (true) +{ + #if DEBUG + gNbCBitmap++; + #endif + +#if WINDOWS || MAC + pMask = 0; + pHandle = 0; + #if QUARTZ + cgImage = 0; + #endif + + loadFromResource (resourceID); + +#elif MOTIF + bool found = false; + long i = 0; + long ncolors, cpp; + + pHandle = 0; + pMask = 0; + + // find the good pixmap resource + while (xpmResources[i].id != 0) + { + if (xpmResources[i].id == resourceID) + { + if (xpmResources[i].xpm != NULL) + { + found = true; + ppDataXpm = xpmResources[i].xpm; + + xpmGetValues (ppDataXpm, &width, &height, &ncolors, &cpp); + break; + } + } + i++; + } + + if (!found) + ppDataXpm = 0; + +#elif BEOS + bbitmap = 0; + transparencySet = false; + if (resourceFile == 0) + { + // this is a hack to find the plug-in on the disk to access resources. + const char* locate_me = ""; + int32 cookie = 0; + image_info iinfo; + uint32 here = uint32 (locate_me); + while (get_next_image_info (0, &cookie, &iinfo) == B_OK) + { + uint32 begin = uint32 (iinfo.text); + if (begin <= here && here <= begin + iinfo.text_size) + break; + } + BFile resource (iinfo.name, B_READ_ONLY); + resourceFile = new BResources (&resource); + resourceFile->PreloadResourceType (); + } + size_t outSize; + const char* res = (const char*) resourceFile->LoadResource ('RAWT', resourceID, &outSize); + if (res) + { + BMemoryIO memoryIO (res, outSize); + bbitmap = BTranslationUtils::GetBitmap (&memoryIO); + if (bbitmap) + { + BRect rect = bbitmap->Bounds (); + width = (long) rect.Width () + 1; + height = (long) rect.Height () + 1; + } + } + if (!bbitmap) + fprintf (stderr, "********* Resource %d could NOT be loaded!\n", (int)resourceID); +#endif + + setTransparentColor (kTransparentCColor); + + #if DEBUG + gBitmapAllocation += (long)height * (long)width; + #endif +} + +//----------------------------------------------------------------------------- +CBitmap::CBitmap (CFrame &frame, CCoord width, CCoord height) + : width (width), height (height), noAlpha (true) +{ + #if DEBUG + gNbCBitmap++; + #endif + +#if WINDOWS + HDC hScreen = GetDC (0); + pHandle = CreateCompatibleBitmap (hScreen, width, height); + ReleaseDC (0, hScreen); + pMask = 0; + +#elif MAC + pHandle = 0; + pMask = 0; + + Rect r; + r.left = r.top = 0; + r.right = (short)width; + r.bottom = (short)height; + + #if QUARTZ + NewGWorld ((GWorldPtr*)&pHandle, 32, &r, 0, 0, 0); + cgImage = 0; + #else + NewGWorld ((GWorldPtr*)&pHandle, 0, &r, 0, 0, 0); + + #endif + +#elif MOTIF + pXdisplay = frame.getDisplay (); + Drawable pWindow = frame.getWindow (); + + pMask = 0; + pHandle = (void*)XCreatePixmap (pXdisplay, (Drawable)pWindow, width, height, frame.getDepth ()); + +#elif BEOS + bbitmap = 0; + transparencySet = false; +#endif + + setTransparentColor (kTransparentCColor); +} + +//----------------------------------------------------------------------------- +CBitmap::CBitmap () +: resourceID (0) +, width (0) +, height (0) +, noAlpha (true) +{ + #if WINDOWS + pHandle = 0; + pMask = 0; + + #elif MAC + pHandle = 0; + pMask = 0; + #if QUARTZ + cgImage = 0; + #endif + + #elif MOTIF + pMask = 0; + pHandle = 0; + + #elif BEOS + bbitmap = 0; + + #endif +} + +//----------------------------------------------------------------------------- +CBitmap::~CBitmap () +{ + dispose (); +} + +//----------------------------------------------------------------------------- +void CBitmap::dispose () +{ + #if DEBUG + gNbCBitmap--; + gBitmapAllocation -= (long)height * (long)width; + #endif + + #if WINDOWS + if (pHandle) + DeleteObject (pHandle); + if (pMask) + DeleteObject (pMask); + + pHandle = 0; + pMask = 0; + noAlpha = false; + + #elif MAC + #if QUARTZ + if (cgImage) + CGImageRelease ((CGImageRef)cgImage); + cgImage = 0; + #endif + if (pHandle) + DisposeGWorld ((GWorldPtr)pHandle); + if (pMask) + DisposeGWorld ((GWorldPtr)pMask); + + pHandle = 0; + pMask = 0; + + #elif MOTIF + if (pHandle) + XFreePixmap (pXdisplay, (Pixmap)pHandle); + if (pMask) + XFreePixmap (pXdisplay, (Pixmap)pMask); + + pHandle = 0; + pMask = 0; + + #elif BEOS + if (bbitmap) + delete bbitmap; + + bbitmap = 0; + + #endif + + width = 0; + height = 0; + +} + +//----------------------------------------------------------------------------- +void *CBitmap::getHandle () const + { + #if WINDOWS||MOTIF + return pHandle; + + #elif MAC + return pHandle; + + #elif BEOS + return bbitmap; + #endif +} + +//----------------------------------------------------------------------------- +bool CBitmap::loadFromResource (long resourceID) +{ + bool result = false; + + dispose (); + + //--------------------------------------------------------------------------------------------- + #if WINDOWS + //--------------------------------------------------------------------------------------------- + #if USE_LIBPNG + PNGResourceStream resStream; + if (resStream.open (resourceID)) + { + // setup libpng + png_structp png_ptr; + png_infop info_ptr; + png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (png_ptr) + { + info_ptr = png_create_info_struct (png_ptr); + if (info_ptr) + { + if (setjmp (png_jmpbuf (png_ptr)) == 0) + { + int bit_depth, color_type; + png_set_read_fn (png_ptr, (void *)&resStream, PNGResourceStream::readCallback); + png_read_info (png_ptr, info_ptr); + png_get_IHDR (png_ptr, info_ptr, (png_uint_32*)&width, (png_uint_32*)&height, &bit_depth, &color_type, 0, 0, 0); + long bytesPerRow = width * (32 / 8); + while (bytesPerRow & 0x03) + bytesPerRow++; + // create BITMAP + BITMAPINFO* bmInfo = new BITMAPINFO; + BITMAPINFOHEADER* header = (BITMAPINFOHEADER*)bmInfo; + memset (header, 0, sizeof(BITMAPINFOHEADER)); + header->biSize = sizeof(BITMAPINFOHEADER); + header->biWidth = width; + header->biHeight = height; + header->biPlanes = 1; + header->biBitCount = 32; + header->biCompression = BI_RGB; + header->biClrUsed = 0; + void* bits; + HDC dstDC = 0; //CreateCompatibleDC (0); + pHandle = CreateDIBSection (dstDC, bmInfo, DIB_RGB_COLORS, &bits, NULL, 0); + delete bmInfo; + if (pHandle) + { + if (color_type == PNG_COLOR_TYPE_PALETTE) + png_set_palette_to_rgb (png_ptr); + if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); + if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) + png_set_gray_1_2_4_to_8 (png_ptr); + if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha (png_ptr); + else + png_set_filler (png_ptr, 0xFF, PNG_FILLER_AFTER); + if (bit_depth == 16) + { + png_set_swap (png_ptr); + png_set_strip_16 (png_ptr); + } + if (color_type == PNG_COLOR_TYPE_RGB || color_type == PNG_COLOR_TYPE_RGB_ALPHA) + png_set_bgr (png_ptr); + png_read_update_info (png_ptr, info_ptr); + + unsigned char** rows = new unsigned char*[1]; + rows[0] = (unsigned char*)bits + (height-1) * bytesPerRow; + for (long i = 0; i < height; i++) + { + png_read_rows (png_ptr, rows, NULL, 1); + rows[0] -= bytesPerRow; + } + delete [] rows; + png_read_end (png_ptr, 0); + // premultiply alpha + unsigned long* pixelPtr = (unsigned long*)bits; + for (int y = 0; y > 8); + pixel[1] = ((pixel[1] * pixel[3]) >> 8); + pixel[2] = ((pixel[2] * pixel[3]) >> 8); + } + else + *pixelPtr = 0UL; + pixelPtr++; + } + } + if (dstDC) + DeleteDC (dstDC); +#if 0 + HDC srcDC = CreateCompatibleDC (0); + SelectObject (srcDC, pHandle); + + HDC dstDC = CreateCompatibleDC (0); + this->pHandle = CreateCompatibleBitmap (dstDC, width, height); + SelectObject (dstDC, this->pHandle); + + BLENDFUNCTION blendFunction; + blendFunction.BlendOp = AC_SRC_OVER; + blendFunction.BlendFlags = 0; + blendFunction.SourceConstantAlpha = 255; + #if USE_ALPHA_BLEND + if (noAlpha) + blendFunction.AlphaFormat = 0;//AC_SRC_NO_ALPHA; + else + blendFunction.AlphaFormat = AC_SRC_ALPHA; + #else + blendFunction.AlphaFormat = 0;//AC_SRC_NO_ALPHA; + #endif + #if DYNAMICALPHABLEND + (*pfnAlphaBlend) (dstDC, + 0, 0, + width, height, + srcDC, + 0, 0, + width, height, + blendFunction); + #else + #endif + + DeleteDC (srcDC); + DeleteDC (dstDC); + DeleteObject (pHandle); +#endif + } + } + } + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + } + noAlpha = false; + return true; + } + #endif + pHandle = LoadBitmap (GetInstance (), MAKEINTRESOURCE (resourceID)); + BITMAP bm; + if (pHandle && GetObject (pHandle, sizeof (bm), &bm)) + { + width = bm.bmWidth; + height = bm.bmHeight; + noAlpha = true; + return true; + } + + //--------------------------------------------------------------------------------------------- + #elif MAC + //--------------------------------------------------------------------------------------------- + pHandle = 0; + pMask = 0; + #if QUARTZ + cgImage = 0; + #endif + #if MACX + if (gBundleRef) + { + // find the bitmap in our Bundle. It must be in the form of bmp00123.png, where the resource id would be 123. + char filename [PATH_MAX]; + sprintf (filename, "bmp%05d", (int)resourceID); + CFStringRef cfStr = CFStringCreateWithCString (NULL, filename, kCFStringEncodingASCII); + if (cfStr) + { + CFURLRef url = NULL; + int i = 0; + while (url == NULL) + { + static CFStringRef resTypes [] = { CFSTR("png"), CFSTR("bmp"), CFSTR("jpg"), CFSTR("pict"), NULL }; + url = CFBundleCopyResourceURL ((CFBundleRef)gBundleRef, cfStr, resTypes[i], NULL); + if (resTypes[++i] == NULL) + break; + } + CFRelease (cfStr); + if (url) + { + result = loadFromPath (url); + CFRelease (url); + } + else + { + #if DEVELOPMENT + fprintf (stderr, "Bitmap Nr.:%d not found.\n", resourceID); + #endif + } + } + } + #endif + + if (!result && pHandle == 0) + { + Handle picHandle = GetResource ('PICT', resourceID); + if (picHandle) + { + HLock (picHandle); + + PictInfo info; + GetPictInfo ((PicHandle)picHandle, &info, recordComments, 0, systemMethod, 0); + width = info.sourceRect.right; + height = info.sourceRect.bottom; + + OSErr err = NewGWorld ((GWorldPtr*)&pHandle, 32, &info.sourceRect, 0, 0, 0); + if (!err) + { + GWorldPtr oldPort; + GDHandle oldDevice; + GetGWorld (&oldPort, &oldDevice); + SetGWorld ((GWorldPtr)pHandle, 0); + + DrawPicture ((PicHandle)picHandle, &info.sourceRect); + + SetGWorld (oldPort, oldDevice); + result = true; + } + + HUnlock (picHandle); + ReleaseResource (picHandle); + } + } + + #else + // other platforms go here + #endif + return result; +} + +//----------------------------------------------------------------------------- +bool CBitmap::loadFromPath (const void* platformPath) +{ + bool result = false; + + dispose (); + + #if QUARTZ + CFURLRef url = (CFURLRef)platformPath; + + FSRef fsRef; + if (CFURLGetFSRef (url, &fsRef)) + { + FSSpec fsSpec; + FSCatalogInfoBitmap infoBitmap = kFSCatInfoNone; + if (FSGetCatalogInfo (&fsRef, infoBitmap, NULL, NULL, &fsSpec, NULL) == noErr) + { + ComponentInstance* gi = 0; + CFStringRef ext = CFURLCopyPathExtension (url); + if (ext == 0) + return false; + if (CFStringCompare (ext, CFSTR("bmp"), 0) == kCFCompareEqualTo) + gi = &bmpGI; + else if (CFStringCompare (ext, CFSTR("png"), 0) == kCFCompareEqualTo) + { + gi = &pngGI; + noAlpha = false; + } + else if (CFStringCompare (ext, CFSTR("jpg"), 0) == kCFCompareEqualTo) + gi = &jpgGI; + else if (CFStringCompare (ext, CFSTR("pict"), 0) == kCFCompareEqualTo) + gi = &pictGI; + CFRelease (ext); + + if (*gi == 0) + GetGraphicsImporterForFile (&fsSpec, gi); + else + if (GraphicsImportSetDataFile (*gi, &fsSpec) != noErr) + return false; + if (*gi) + { + #ifdef MAC_OS_X_VERSION_10_3 + if (!noAlpha && GraphicsImportCreateCGImage) + { + if (GraphicsImportCreateCGImage (*gi, (CGImageRef*)&cgImage, 0) == noErr) + { + width = CGImageGetWidth ((CGImageRef)cgImage); + height = CGImageGetHeight ((CGImageRef)cgImage); + result = true; + } + } + else + #endif + { + Rect r; + GraphicsImportGetSourceRect (*gi, &r); + OSErr err = NewGWorld ((GWorldPtr*)&pHandle, 32, &r, 0, 0, 0); + if (!err) + { + width = r.right; + height = r.bottom; + GraphicsImportSetGWorld (*gi, (GWorldPtr)pHandle, 0); + GraphicsImportDraw (*gi); + result = true; + } + } + } + } + } + #elif WINDOWS + // todo + + #endif + + return result; +} + +//----------------------------------------------------------------------------- +bool CBitmap::isLoaded () const +{ + #if MOTIF + if (ppDataXpm) + return true; + + #elif QUARTZ + if (cgImage || getHandle ()) + return true; + #else + if (getHandle ()) + return true; + #endif + + return false; +} + +#if QUARTZ +class CDataProvider +{ +public: + CDataProvider (CBitmap* bitmap) : bmp (bitmap) + { + pos = 0; + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)bmp->getHandle ()); + ptr = (unsigned char*)GetPixBaseAddr (pixMap); + color = bmp->getTransparentColor (); + } + + static size_t getBytes (void *info, void *buffer, size_t count) + { // this could be optimized ;-) + CDataProvider* p = (CDataProvider*)info; + unsigned char* dst = (unsigned char*)buffer; + unsigned char* src = p->ptr + p->pos; + for (unsigned long i = 0; i < count / 4; i++) + { + if (src[1] == p->color.red && src[2] == p->color.green && src[3] == p->color.blue) + { + *dst++ = 0; + src++; + } + else + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + } + p->pos += count; + return count; + } + + static void skipBytes (void *info, size_t count) + { + CDataProvider* p = (CDataProvider*)info; + p->pos += count; + } + + static void rewind (void *info) + { + CDataProvider* p = (CDataProvider*)info; + p->pos = 0; + } + + static void releaseProvider (void *info) + { + CDataProvider* p = (CDataProvider*)info; + delete p; + } + + unsigned long pos; + CBitmap* bmp; + unsigned char* ptr; + CColor color; +}; + +//----------------------------------------------------------------------------- +CGImageRef CBitmap::createCGImage (bool transparent) +{ + if (cgImage) + { + CGImageRetain ((CGImageRef)cgImage); + return (CGImageRef)cgImage; + } + if (!pHandle) + return NULL; + + PixMapHandle pixMap = GetGWorldPixMap ((GWorldPtr)pHandle); + + Rect bounds; + GetPixBounds (pixMap, &bounds); + + size_t pixRowBytes = GetPixRowBytes (pixMap); + short pixDepth = GetPixDepth (pixMap); + size_t size = pixRowBytes * (bounds.bottom - bounds.top); + + CGImageRef image = 0; + CGDataProviderRef provider = 0; + static CGDataProviderCallbacks callbacks = { CDataProvider::getBytes, CDataProvider::skipBytes, CDataProvider::rewind, CDataProvider::releaseProvider }; + if (transparent) + provider = CGDataProviderCreate (new CDataProvider (this), &callbacks); + else + provider = CGDataProviderCreateWithData (NULL, GetPixBaseAddr (pixMap), size, NULL); + CGImageAlphaInfo alphaInfo = kCGImageAlphaFirst; + if (GetPixDepth (pixMap) != 32) + alphaInfo = kCGImageAlphaNone; + image = CGImageCreate (bounds.right - bounds.left, bounds.bottom - bounds.top, 8 , pixDepth, pixRowBytes, GetGenericRGBColorSpace (), alphaInfo, provider, NULL, false, kCGRenderingIntentDefault); + CGDataProviderRelease (provider); + + cgImage = image; + CGImageRetain (image); + return image; +} +#endif + +//----------------------------------------------------------------------------- +void CBitmap::draw (CDrawContext *pContext, CRect &rect, const CPoint &offset) +{ +#if WINDOWS + #if USE_ALPHA_BLEND + if (!noAlpha) + { + drawAlphaBlend (pContext, rect, offset, 255); + return; + } + #endif + + if (pHandle) + { + HGDIOBJ hOldObj; + HDC hdcMemory = CreateCompatibleDC ((HDC)pContext->pSystemContext); + hOldObj = SelectObject (hdcMemory, pHandle); + BitBlt ((HDC)pContext->pSystemContext, + rect.left + pContext->offset.h, rect.top + pContext->offset.v, rect.width (), rect.height (), + (HDC)hdcMemory, offset.h, offset.v, SRCCOPY); + SelectObject (hdcMemory, hOldObj); + DeleteDC (hdcMemory); + } + +#elif MAC + + #if QUARTZ + drawAlphaBlend (pContext, rect, offset, 255); + + #else + Rect source, dest; + dest.top = rect.top + pContext->offset.v; + dest.left = rect.left + pContext->offset.h; + dest.bottom = dest.top + rect.height (); + dest.right = dest.left + rect.width (); + + source.top = offset.v; + source.left = offset.h; + source.bottom = source.top + rect.height (); + source.right = source.left + rect.width (); + + pContext->getPort (); + BitMapPtr bitmapPtr = pContext->getBitmap (); + + if (pHandle && bitmapPtr) + { + PixMapHandle pmHandle = GetGWorldPixMap ((GWorldPtr)pHandle); + if (pmHandle && LockPixels (pmHandle)) + { + RGBColor oldForeColor, oldBackColor; + GetForeColor (&oldForeColor); + GetBackColor (&oldBackColor); + ::BackColor (whiteColor); + ::ForeColor (blackColor); + + CopyBits ((BitMapPtr)*pmHandle, bitmapPtr, &source, &dest, srcCopy, 0L); + #if MACX + QDAddRectToDirtyRegion (pContext->getPort (), &dest); + #endif + + RGBForeColor (&oldForeColor); + RGBBackColor (&oldBackColor); + + UnlockPixels (pmHandle); + } + } + + pContext->releaseBitmap (); + #endif + +#elif MOTIF + if (!pHandle) + { + // the first time try to decode the pixmap + pHandle = createPixmapFromXpm (pContext); + if (!pHandle) + return; + + // keep a trace of the display for deletion + pXdisplay = pContext->pDisplay; + } + +#if DEVELOPMENT + if (!(offset.h >= 0 && offset.v >= 0 && + rect.width () <= (getWidth () - offset.h) && + rect.height () <= (getHeight () - offset.v))) + { + fprintf (stderr, "%s(%d) -> Assert failed: try to display outside from the bitmap\n", __FILE__, __LINE__); + return; + } +#endif + + XCopyArea (pContext->pDisplay, (Drawable)pHandle, + (Drawable)pContext->pWindow, + (GC)pContext->pSystemContext, offset.h, offset.v, + rect.width (), rect.height (), rect.left, rect.top); + +#elif BEOS + BRect brect (rect.left, rect.top, rect.right - 1, rect.bottom - 1); + BRect drect = brect; + brect.OffsetTo (offset.h, offset.v); + drect.OffsetBy (pContext->offset.h, pContext->offset.v); + pContext->pView->SetDrawingMode (B_OP_COPY); + pContext->pView->DrawBitmap (bbitmap, brect, drect); +#endif +} + +//----------------------------------------------------------------------------- +void CBitmap::drawTransparent (CDrawContext *pContext, CRect &rect, const CPoint &offset) +{ +#if WINDOWS + #if USE_ALPHA_BLEND + if (!noAlpha) + { + drawAlphaBlend (pContext, rect, offset, 255); + return; + } + #endif + + BITMAP bm; + HDC hdcBitmap; + POINT ptSize; + + hdcBitmap = CreateCompatibleDC ((HDC)pContext->pSystemContext); + SelectObject (hdcBitmap, pHandle); // Select the bitmap + + GetObject (pHandle, sizeof (BITMAP), (LPSTR)&bm); + ptSize.x = bm.bmWidth; // Get width of bitmap + ptSize.y = bm.bmHeight; // Get height of bitmap + DPtoLP (hdcBitmap, &ptSize, 1); // Convert from device to logical points + + DrawTransparent (pContext, rect, offset, hdcBitmap, ptSize, (HBITMAP)pMask, RGB(transparentCColor.red, transparentCColor.green, transparentCColor.blue)); + + DeleteDC (hdcBitmap); + +#elif MAC + + #if QUARTZ + if (noAlpha) + { + CGImageRef image = createCGImage (true); + if (image) + { + drawAlphaBlend (pContext, rect, offset, 255); + CGImageRelease (image); + } + } + else + drawAlphaBlend (pContext, rect, offset, 255); + + #else + Rect source, dest; + dest.top = rect.top + pContext->offset.v; + dest.left = rect.left + pContext->offset.h; + dest.bottom = dest.top + rect.height (); + dest.right = dest.left + rect.width (); + + source.top = offset.v; + source.left = offset.h; + source.bottom = source.top + rect.height (); + source.right = source.left + rect.width (); + + pContext->getPort (); + BitMapPtr bitmapPtr = pContext->getBitmap (); + + if (pHandle && bitmapPtr) + { + PixMapHandle pmHandle = GetGWorldPixMap ((GWorldPtr)pHandle); + if (pmHandle && LockPixels (pmHandle)) + { + RGBColor oldForeColor, oldBackColor; + GetForeColor (&oldForeColor); + GetBackColor (&oldBackColor); + + RGBColor col; + CColor2RGBColor (transparentCColor, col); + RGBBackColor (&col); + ::ForeColor (blackColor); + + if (pMask) + { + PixMapHandle pmHandleMask = GetGWorldPixMap ((GWorldPtr)pMask); + if (pmHandleMask && LockPixels (pmHandleMask)) + { + CopyMask ((BitMapPtr)*pmHandle, (BitMapPtr)*pmHandleMask, bitmapPtr, + &source, &source, &dest); + + UnlockPixels (pmHandleMask); + } + } + else + CopyBits ((BitMapPtr)*pmHandle, bitmapPtr, &source, &dest, transparent, 0L); + + RGBForeColor (&oldForeColor); + RGBBackColor (&oldBackColor); + + #if MACX + QDAddRectToDirtyRegion (pContext->getPort (), &dest); + #endif + + UnlockPixels (pmHandle); + } + } + + pContext->releaseBitmap (); + #endif + +#elif MOTIF + if (!pHandle) + { + // the first time try to decode the pixmap + pHandle = createPixmapFromXpm (pContext); + if (!pHandle) + return; + + // keep a trace of the display for deletion + pXdisplay = pContext->pDisplay; + } + + if (pMask == 0) + { + // get image from the pixmap + XImage* image = XGetImage (pContext->pDisplay, (Drawable)pHandle, + 0, 0, width, height, AllPlanes, ZPixmap); + assert (image); + + // create the bitmap mask + pMask = (void*)XCreatePixmap (pContext->pDisplay, (Drawable)pContext->pWindow, + width, height, 1); + assert (pMask); + + // create a associated GC + XGCValues values; + values.foreground = 1; + GC gc = XCreateGC (pContext->pDisplay, (Drawable)pMask, GCForeground, &values); + + // clear the mask + XFillRectangle (pContext->pDisplay, (Drawable)pMask, gc, 0, 0, width, height); + + // get the transparent color index + int color = pContext->getIndexColor (transparentCColor); + + // inverse the color + values.foreground = 0; + XChangeGC (pContext->pDisplay, gc, GCForeground, &values); + + // compute the mask + XPoint *points = new XPoint [height * width]; + int x, y, nbPoints = 0; + switch (image->depth) + { + case 8: + for (y = 0; y < height; y++) + { + char* src = image->data + (y * image->bytes_per_line); + + for (x = 0; x < width; x++) + { + if (src[x] == color) + { + points[nbPoints].x = x; + points[nbPoints].y = y; + nbPoints++; + } + } + } + break; + + case 24: { + int bytesPerPixel = image->bits_per_pixel >> 3; + char *lp = image->data; + for (y = 0; y < height; y++) + { + char* cp = lp; + for (x = 0; x < width; x++) + { + if (*(int*)cp == color) + { + points[nbPoints].x = x; + points[nbPoints].y = y; + nbPoints++; + } + cp += bytesPerPixel; + } + lp += image->bytes_per_line; + } + } break; + + default : + break; + } + + XDrawPoints (pContext->pDisplay, (Drawable)pMask, gc, + points, nbPoints, CoordModeOrigin); + + // free + XFreeGC (pContext->pDisplay, gc); + delete []points; + + // delete + XDestroyImage (image); + } + + // set the new clipmask + XGCValues value; + value.clip_mask = (Pixmap)pMask; + value.clip_x_origin = rect.left - offset.h; + value.clip_y_origin = rect.top - offset.v; + XChangeGC (pContext->pDisplay, (GC)pContext->pSystemContext, + GCClipMask|GCClipXOrigin|GCClipYOrigin, &value); + + XCopyArea (pContext->pDisplay, (Drawable)pHandle, (Drawable)pContext->pWindow, + (GC)pContext->pSystemContext, offset.h, offset.v, + rect.width (), rect.height (), rect.left, rect.top); + + // unset the clipmask + XSetClipMask (pContext->pDisplay, (GC)pContext->pSystemContext, None); + + +#elif BEOS + if (!transparencySet) + { + uint32 c32 = transparentCColor.red | (transparentCColor.green << 8) | (transparentCColor.blue << 16); + uint32 *pix = (uint32*) bbitmap->Bits (); + uint32 ctr = B_TRANSPARENT_32_BIT.red | (B_TRANSPARENT_32_BIT.green << 8) | (B_TRANSPARENT_32_BIT.blue << 16) | (B_TRANSPARENT_32_BIT.alpha << 24); + + for (int32 z = 0, count = bbitmap->BitsLength () / 4; z < count; z++) + { + if ((pix[z] & 0xffffff) == c32) + pix[z] = ctr; + } + transparencySet = true; + } + BRect brect (rect.left, rect.top, rect.right - 1, rect.bottom - 1); + BRect drect = brect; + brect.OffsetTo (offset.h, offset.v); + drect.OffsetBy (pContext->offset.h, pContext->offset.v); + pContext->pView->SetDrawingMode (B_OP_OVER); + pContext->pView->DrawBitmap (bbitmap, brect, drect); + +#endif +} + +//----------------------------------------------------------------------------- +void CBitmap::drawAlphaBlend (CDrawContext *pContext, CRect &rect, const CPoint &offset, unsigned char alpha) +{ +#if WINDOWS + if (pHandle) + { + HGDIOBJ hOldObj; + HDC hdcMemory = CreateCompatibleDC ((HDC)pContext->pSystemContext); + hOldObj = SelectObject (hdcMemory, pHandle); + + BLENDFUNCTION blendFunction; + blendFunction.BlendOp = AC_SRC_OVER; + blendFunction.BlendFlags = 0; + blendFunction.SourceConstantAlpha = alpha; + #if USE_ALPHA_BLEND + if (noAlpha) + blendFunction.AlphaFormat = 0;//AC_SRC_NO_ALPHA; + else + blendFunction.AlphaFormat = AC_SRC_ALPHA; + #else + blendFunction.AlphaFormat = 0;//AC_SRC_NO_ALPHA; + #endif + #if DYNAMICALPHABLEND + // check for Win98 as it has a bug in AlphaBlend + if (gSystemVersion.dwMajorVersion == 4 && gSystemVersion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS && gSystemVersion.dwMinorVersion == 10) + { + HGDIOBJ hOldObj1; + HDC hdcMemory1 = CreateCompatibleDC ((HDC)pContext->pSystemContext); + HBITMAP hbmp = CreateCompatibleBitmap(hdcMemory, rect.width(), rect.height()); + //this does NOT work: + //HBITMAP hbmp = CreateCompatibleBitmap(hdcMemory1, rect.width(), rect.height()); + hOldObj1 = SelectObject (hdcMemory1, hbmp); + + //copy contents of original picture in hdcMemory + //from the offset to hdcMemory1 (0,0) + long res = BitBlt((HDC)hdcMemory1, + 0, 0, + rect.width(), rect.height(), + (HDC)hdcMemory, offset.h, offset.v, SRCCOPY); + + //Copy the resulting image with alpha blending: + (*pfnAlphaBlend) ((HDC)pContext->pSystemContext, + rect.left + pContext->offset.h, rect.top + pContext->offset.v, + rect.width (), rect.height (), + hdcMemory1, + 0, 0,//the offset is done in BitBlt + rect.width (), rect.height (), + blendFunction); + SelectObject (hdcMemory1, hOldObj1); + DeleteDC(hdcMemory1); + DeleteObject(hbmp); + } + else + { + (*pfnAlphaBlend) ((HDC)pContext->pSystemContext, + rect.left + pContext->offset.h, rect.top + pContext->offset.v, + rect.width (), rect.height (), + (HDC)hdcMemory, + offset.h, offset.v, + rect.width (), rect.height (), + blendFunction); + } + #else + AlphaBlend ((HDC)pContext->pSystemContext, + rect.left + pContext->offset.h, rect.top + pContext->offset.v, + rect.width (), rect.height (), + (HDC)hdcMemory, + offset.h, offset.v, + rect.width (), rect.height (), + blendFunction); + #endif + SelectObject (hdcMemory, hOldObj); + DeleteDC (hdcMemory); + } + +#elif MAC + + #if QUARTZ + if (_CGImageCreateWithImageInRect) // this is much faster on Mac OS X 10.4 and above + { + if (pHandle || cgImage) + { + CGContextRef context = pContext->beginCGContext (); + if (context) + { + if (alpha != 255) + CGContextSetAlpha (context, (float)alpha / 255.f); + + CGImageRef image = createCGImage (); + + if (image) + { + CRect ccr; + pContext->getClipRect (ccr); + CGRect clipRect = CGRectMake (ccr.left - rect.left + offset.h, ccr.top - rect.top + offset.v, ccr.width (), ccr.height ()); + CGRect subRect = CGRectMake (offset.h, offset.v, rect.getWidth (), rect.getHeight ()); + subRect = CGRectIntersection (clipRect, subRect); + if (subRect.size.width && subRect.size.height) + { + CGImageRef subImage = _CGImageCreateWithImageInRect (image, subRect); + if (subImage) + { + CGRect dest; + dest.origin.x = subRect.origin.x + pContext->offset.h - offset.h + rect.left; + dest.origin.y = subRect.origin.y + pContext->offset.v - offset.v + rect.top; + dest.size.width = subRect.size.width; + dest.size.height = subRect.size.height; + CGContextScaleCTM (context, 1, -1); + HIViewDrawCGImage (context, &dest, subImage); + CGImageRelease (subImage); + } + } + CGImageRelease (image); + } + pContext->releaseCGContext (context); + } + } + return; + } + if (pHandle || cgImage) + { + CGContextRef context = pContext->beginCGContext (); + if (context) + { + if (alpha != 255) + CGContextSetAlpha (context, (float)alpha / 255.f); + + CGImageRef image = createCGImage (); + + if (image) + { + CGRect dest; + dest.origin.x = rect.left - offset.h + pContext->offset.h; + dest.origin.y = (rect.top + pContext->offset.v) * -1 - (getHeight () - offset.v); + dest.size.width = getWidth (); + dest.size.height = getHeight (); + + CRect ccr; + pContext->getClipRect (ccr); + CGRect cgClipRect = CGRectMake (ccr.left + pContext->offset.h, (ccr.top + pContext->offset.v) * -1 - ccr.height (), ccr.width (), ccr.height ()); + CGContextClipToRect (context, cgClipRect); + + CGRect clipRect; + clipRect.origin.x = rect.left + pContext->offset.h; + clipRect.origin.y = (rect.top + pContext->offset.v) * -1 - rect.height (); + clipRect.size.width = rect.width (); + clipRect.size.height = rect.height (); + + CGContextClipToRect (context, clipRect); + + CGContextDrawImage (context, dest, image); + CGImageRelease (image); + } + pContext->releaseCGContext (context); + } + } + + #else + Rect source, dest; + dest.top = rect.top + pContext->offset.v; + dest.left = rect.left + pContext->offset.h; + dest.bottom = dest.top + rect.height (); + dest.right = dest.left + rect.width (); + + source.top = offset.v; + source.left = offset.h; + source.bottom = source.top + rect.height (); + source.right = source.left + rect.width (); + + pContext->getPort (); + BitMapPtr bitmapPtr = pContext->getBitmap (); + if (bitmapPtr) + { + RGBColor col; + CColor color = {alpha, alpha, alpha, 0}; + CColor2RGBColor (color, col); + OpColor (&col); + + if (pHandle) + { + PixMapHandle pmHandle = GetGWorldPixMap ((GWorldPtr)pHandle); + if (pmHandle && LockPixels (pmHandle)) + { + RGBColor oldForeColor, oldBackColor; + GetForeColor (&oldForeColor); + GetBackColor (&oldBackColor); + ::BackColor (whiteColor); + ::ForeColor (blackColor); + + CopyBits ((BitMapPtr)*pmHandle, bitmapPtr, &source, &dest, blend, 0L); + #if MACX + QDAddRectToDirtyRegion (pContext->getPort (), &dest); + #endif + + RGBForeColor (&oldForeColor); + RGBBackColor (&oldBackColor); + + UnlockPixels (pmHandle); + } + } + } + + pContext->releaseBitmap (); + #endif +#endif +} +//----------------------------------------------------------------------------- +void CBitmap::setTransparentColor (const CColor color) +{ + transparentCColor = color; +#if QUARTZ + if (noAlpha) + { + if (cgImage) + CGImageRelease ((CGImageRef)cgImage); + cgImage = 0; + } +#endif +} + +//----------------------------------------------------------------------------- +void CBitmap::setTransparencyMask (CDrawContext* pContext, const CPoint& offset) +{ +#if WINDOWS + if (pMask) + DeleteObject (pMask); + + CRect r (0, 0, width, height); + r.offset (offset.h, offset.v); + pMask = CreateMaskBitmap (pContext, r, transparentCColor); + +#elif MAC + #if QUARTZ + #else + if (pMask) + DisposeGWorld ((GWorldPtr)pMask); + pMask = 0; + + Rect r; + r.left = r.top = 0; + r.right = width; + r.bottom = height; + OSErr err = NewGWorld ((GWorldPtr*)&pMask, 1, &r, 0, 0, 0); // create monochrome GWorld + if (!err) + { + GWorldPtr oldPort; + GDHandle oldDevice; + GetGWorld (&oldPort, &oldDevice); + SetGWorld ((GWorldPtr)pMask, 0); + + PixMapHandle pmHandle = GetGWorldPixMap ((GWorldPtr)pMask); + BitMapPtr sourcePtr = pContext->getBitmap (); + + if (sourcePtr && pmHandle && LockPixels (pmHandle)) + { + RGBColor oldForeColor, oldBackColor; + GetForeColor (&oldForeColor); + GetBackColor (&oldBackColor); + + RGBColor col; + CColor2RGBColor (transparentCColor, col); + RGBBackColor (&col); + + ::ForeColor (blackColor); + + Rect src = r; + src.left += offset.h; + src.right += offset.h; + src.top += offset.v; + src.bottom += offset.v; + + CopyBits (sourcePtr, (BitMapPtr)*pmHandle, &src, &r, srcCopy, 0L); + + RGBForeColor (&oldForeColor); + RGBBackColor (&oldBackColor); + + UnlockPixels (pmHandle); + } + + pContext->releaseBitmap (); + + SetGWorld (oldPort, oldDevice); + } + #endif + +#else + // todo: implement me! +#endif +} + +//----------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +#if MOTIF +//----------------------------------------------------------------------------- +void* CBitmap::createPixmapFromXpm (CDrawContext *pContext) +{ + if (!ppDataXpm) + return NULL; + + Pixmap pixmap = 0; + XpmAttributes attributes; + + attributes.valuemask = XpmCloseness|XpmColormap|XpmVisual|XpmDepth; + attributes.closeness = 100000; + attributes.visual = pContext->getVisual (); + attributes.depth = pContext->getDepth (); + + // use the pContext colormap instead of the DefaultColormapOfScreen + attributes.colormap = pContext->getColormap (); + + int status; + if (attributes.depth == 8 || attributes.depth == 24) + { +#if USE_XPM + status = XpmCreatePixmapFromData (pContext->pDisplay, + (Drawable)pContext->pWindow, ppDataXpm, &pixmap, NULL, &attributes); + if (status != XpmSuccess) + { + fprintf (stderr, "createPixmapFromXpm-> XpmError: %s\n", XpmGetErrorString(status)); + return NULL; + } +#else + status = createPixmapFromData (pContext->pDisplay, + (Drawable)pContext->pWindow, ppDataXpm, &pixmap, &attributes); + if (!status) + { + fprintf (stderr, "createPixmapFromXpm-> Error\n"); + return NULL; + } +#endif + } + else + { + fprintf (stderr, "createPixmapFromXpm-> Depth %d not supported\n", attributes.depth); + return NULL; + } + +#if DEVELOPMENT + fprintf (stderr, "createPixmapFromXpm-> There are %d requested colors\n", attributes.ncolors); +#endif + + return (void*)pixmap; +} +#endif + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +#if BEOS +//---------------------------------------------------------------------------- + +BResources* CBitmap::resourceFile = 0; + +//---------------------------------------------------------------------------- + +void CBitmap::closeResource () +{ + if (resourceFile) + { + delete resourceFile; + resourceFile = 0; + } +} + +//---------------------------------------------------------------------------- +#endif + + +//----------------------------------------------------------------------------- +// CDragContainer Implementation +//----------------------------------------------------------------------------- +CDragContainer::CDragContainer (void* platformDrag) +: platformDrag (platformDrag) +, nbItems (0) +, iterator (0) +, lastItem (0) +{ + #if MAC + DragRef dragRef = (DragRef)platformDrag; + UInt16 numItems; + CountDragItems (dragRef, &numItems); + nbItems = numItems; + + #elif WINDOWS + + IDataObject* dataObject = (IDataObject*)platformDrag; + STGMEDIUM medium; + FORMATETC formatTEXTDrop = {CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + FORMATETC formatHDrop = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + + long type = 0; // 0 = file, 1 = text + + HRESULT hr = dataObject->GetData (&formatTEXTDrop, &medium); + if (hr != S_OK) + hr = dataObject->GetData (&formatHDrop, &medium); + else + type = 1; + + if (type == 0) + nbItems = (long)DragQueryFile ((HDROP)medium.hGlobal, 0xFFFFFFFFL, 0, 0); + else + nbItems = 1; + + #else + #endif +} + +//----------------------------------------------------------------------------- +CDragContainer::~CDragContainer () +{ + if (lastItem) + { + free (lastItem); + lastItem = 0; + } +} + +//----------------------------------------------------------------------------- +long CDragContainer::getType (long idx) const +{ + #if MACX + DragItemRef itemRef; + if (GetDragItemReferenceNumber ((DragRef)platformDrag, idx+1, &itemRef) == noErr) + { + FlavorType type; + if (GetFlavorType ((DragRef)platformDrag, itemRef, 1, &type) == noErr) + { + if (type == flavorTypeHFS || type == typeFileURL) + return kFile; + else if (type == 'TEXT' || type == 'XML ') + return kText; + } + } + #elif WINDOWS + IDataObject* dataObject = (IDataObject*)platformDrag; + STGMEDIUM medium; + FORMATETC formatTEXTDrop = {CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + FORMATETC formatHDrop = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + + long type = 0; // 0 = file, 1 = text + + HRESULT hr = dataObject->GetData (&formatTEXTDrop, &medium); + if (hr != S_OK) + hr = dataObject->GetData (&formatHDrop, &medium); + else + type = 1; + if (type == 0) + return kFile; + else + return kText; + + #else + // not implemented + #endif + return kUnknown; +} + +//----------------------------------------------------------------------------- +void* CDragContainer::first (long& size, long& type) +{ + iterator = 0; + return next (size, type); +} + +//----------------------------------------------------------------------------- +void* CDragContainer::next (long& size, long& type) +{ + if (lastItem) + { + free (lastItem); + lastItem = 0; + } + size = 0; + type = kUnknown; + #if MACX + long flavorSize; + DragItemRef itemRef; + if (GetDragItemReferenceNumber ((DragRef)platformDrag, ++iterator, &itemRef) == noErr) + { + FlavorType flavorType; + if (GetFlavorType ((DragRef)platformDrag, itemRef, 1, &flavorType) == noErr) + { + if (flavorType == flavorTypeHFS) + { + HFSFlavor hfs; + if (GetFlavorDataSize ((DragRef)platformDrag, itemRef, flavorTypeHFS, &flavorSize) == noErr) + { + GetFlavorData ((DragRef)platformDrag, itemRef, flavorTypeHFS, &hfs, &flavorSize, 0L); + + FSRef fsRef; + if (FSpMakeFSRef (&hfs.fileSpec, &fsRef) == noErr) + { + lastItem = malloc (PATH_MAX); + if (FSRefMakePath (&fsRef, (unsigned char*)lastItem, PATH_MAX) == noErr) + { + size = strlen ((const char*)lastItem); + type = kFile; + return lastItem; + } + } + } + } + else if (flavorType == typeFileURL) + { + if (GetFlavorDataSize ((DragRef)platformDrag, itemRef, typeFileURL, &flavorSize) == noErr) + { + void* bytes = malloc (flavorSize); + if (GetFlavorData ((DragRef)platformDrag, itemRef, typeFileURL, bytes, &flavorSize, 0L) == noErr) + { + CFURLRef url = CFURLCreateWithBytes (NULL, (const unsigned char*)bytes, flavorSize, kCFStringEncodingUTF8, NULL); + lastItem = malloc (PATH_MAX); + CFURLGetFileSystemRepresentation (url, false, (unsigned char*)lastItem, PATH_MAX); + CFRelease (url); + type = kFile; + } + free (bytes); + return lastItem; + } + } + else + { + if (GetFlavorDataSize ((DragRef)platformDrag, itemRef, flavorType, &flavorSize) == noErr) + { + lastItem = malloc (flavorSize + 1); + ((char*)lastItem)[0] = 0; + if (GetFlavorData ((DragRef)platformDrag, itemRef, flavorType, lastItem, &flavorSize, 0) == noErr) + { + ((char*)lastItem)[flavorSize] = 0; + size = flavorSize; + if (flavorType == 'TEXT' || flavorType == 'XML ') + type = kText; + return lastItem; + } + } + else + { + if (GetFlavorDataSize ((DragRef)platformDrag, itemRef, 'TEXT', &flavorSize) == noErr) + { + lastItem = malloc (flavorSize + 1); + ((char*)lastItem)[0] = 0; + if (GetFlavorData ((DragRef)platformDrag, itemRef, 'TEXT', lastItem, &flavorSize, 0) == noErr) + { + ((char*)lastItem)[flavorSize] = 0; + size = flavorSize; + type = kText; + return lastItem; + } + } + } + + } + } + } + #elif WINDOWS + IDataObject* dataObject = (IDataObject*)platformDrag; + void* hDrop = 0; + STGMEDIUM medium; + FORMATETC formatTEXTDrop = {CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + FORMATETC formatHDrop = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + + long wintype = 0; // 0 = file, 1 = text + + HRESULT hr = dataObject->GetData (&formatTEXTDrop, &medium); + if (hr != S_OK) + hr = dataObject->GetData (&formatHDrop, &medium); + else + wintype = 1; + if (hr == S_OK) + hDrop = medium.hGlobal; + + if (hDrop) + { + if (wintype == 0) + { + char fileDropped[1024]; + + long nbRealItems = 0; + if (DragQueryFile ((HDROP)hDrop, iterator++, fileDropped, sizeof (fileDropped))) + { + // resolve link + checkResolveLink (fileDropped, fileDropped); + lastItem = malloc (strlen (fileDropped)+1); + strcpy ((char*)lastItem, fileDropped); + size = (long)strlen ((const char*)lastItem); + type = kFile; + return lastItem; + } + } + else if (iterator++ == 0) + //---TEXT---------------------------- + { + void* data = GlobalLock (medium.hGlobal); + long dataSize = (long)GlobalSize (medium.hGlobal); + if (data && dataSize) + { + lastItem = malloc (dataSize+1); + memcpy (lastItem, data, dataSize); + size = dataSize; + type = kText; + } + + GlobalUnlock (medium.hGlobal); + if (medium.pUnkForRelease) + medium.pUnkForRelease->Release (); + else + GlobalFree (medium.hGlobal); + return lastItem; + } + } + #else + // not implemented + #endif + return NULL; +} + +END_NAMESPACE_VSTGUI + + +#if WINDOWS + +#if USE_MOUSE_HOOK +HHOOK MouseHook = 0L; + +LRESULT CALLBACK MouseProc (int nCode, WPARAM wParam, LPARAM lParam) +{ + if (nCode < 0) + return CallNextHookEx (MouseHook, nCode, wParam, lParam); + + if (wParam == 522) + { + MOUSEHOOKSTRUCT* struct2 = (MOUSEHOOKSTRUCT*) lParam; + if (struct2->hwnd == ???) + { + return -1; + } + } + return CallNextHookEx (MouseHook, nCode, wParam, lParam); +} +#endif + +//----------------------------------------------------------------------------- +bool InitWindowClass () +{ + gUseCount++; + if (gUseCount == 1) + { + sprintf (gClassName, "Plugin%p", GetInstance ()); + + WNDCLASS windowClass; + windowClass.style = CS_GLOBALCLASS;//|CS_OWNDC; // add Private-DC constant + + windowClass.lpfnWndProc = WindowProc; + windowClass.cbClsExtra = 0; + windowClass.cbWndExtra = 0; + windowClass.hInstance = GetInstance (); + windowClass.hIcon = 0; + + windowClass.hCursor = LoadCursor (NULL, IDC_ARROW); + windowClass.hbrBackground = GetSysColorBrush (COLOR_BTNFACE); + windowClass.lpszMenuName = 0; + windowClass.lpszClassName = gClassName; + RegisterClass (&windowClass); + + #if USE_MOUSE_HOOK + MouseHook = SetWindowsHookEx (WH_MOUSE, MouseProc, GetInstance (), 0); + #endif + + bSwapped_mouse_buttons = GetSystemMetrics (SM_SWAPBUTTON) > 0; + } + return true; +} + +//----------------------------------------------------------------------------- +void ExitWindowClass () +{ + gUseCount--; + if (gUseCount == 0) + { + UnregisterClass (gClassName, GetInstance ()); + + #if USE_MOUSE_HOOK + if (MouseHook) + { + UnhookWindowsHookEx (MouseHook); + MouseHook = 0L; + } + #endif + } +} + +//----------------------------------------------------------------------------- +LONG_PTR WINAPI WindowProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + USING_NAMESPACE_VSTGUI + CFrame* pFrame = (CFrame*)GetWindowLongPtr (hwnd, GWLP_USERDATA); + + switch (message) + { + case WM_MOUSEWHEEL: + { + if (pFrame) + { + VSTGUI_CDrawContext context (pFrame, 0, hwnd); + VSTGUI_CPoint where (LOWORD (lParam), HIWORD (lParam)); + short zDelta = (short) HIWORD(wParam); + pFrame->onWheel (&context, where, (float)zDelta / WHEEL_DELTA); + } + break; + } + case WM_CTLCOLOREDIT: + { + if (pFrame) + { + VSTGUI_CTextEdit *textEdit = (VSTGUI_CTextEdit*)pFrame->getFocusView (); + if (textEdit) + { + VSTGUI_CColor fontColor = textEdit->getFontColor (); + SetTextColor ((HDC) wParam, RGB (fontColor.red, fontColor.green, fontColor.blue)); + + VSTGUI_CColor backColor = textEdit->getBackColor (); + SetBkColor ((HDC) wParam, RGB (backColor.red, backColor.green, backColor.blue)); + + if (textEdit->platformFontColor) + DeleteObject (textEdit->platformFontColor); + textEdit->platformFontColor = CreateSolidBrush (RGB (backColor.red, backColor.green, backColor.blue)); + return (LRESULT)(textEdit->platformFontColor); + } + } + } + break; + + case WM_PAINT: + { + RECT r; + if (pFrame && GetUpdateRect (hwnd, &r, false)) + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint (hwnd, &ps); + + VSTGUI_CDrawContext* context = pFrame->getBackBuffer (); + if (!context) + context = new VSTGUI_CDrawContext (pFrame, hdc, hwnd); + + CRect updateRect (ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right, ps.rcPaint.bottom); + pFrame->drawRect (context, updateRect); + + if (pFrame->getBackBuffer ()) + { + VSTGUI_CDrawContext localContext (pFrame, hdc, hwnd); + pFrame->getBackBuffer ()->copyFrom (&localContext, updateRect, CPoint (ps.rcPaint.left, ps.rcPaint.top)); + } + else + context->forget (); + + EndPaint (hwnd, &ps); + return 0; + } + } + break; + + case WM_MEASUREITEM : + { + MEASUREITEMSTRUCT* ms = (MEASUREITEMSTRUCT*)lParam; + if (pFrame && ms && ms->CtlType == ODT_MENU && ms->itemData) + { + VSTGUI_COptionMenu* optMenu = (VSTGUI_COptionMenu*)pFrame->getFocusView (); + if (optMenu && optMenu->getScheme ()) + { + VSTGUI_CPoint size; + + VSTGUI_CDrawContext context (pFrame, 0, hwnd); + optMenu->getScheme ()->getItemSize ((const char*)ms->itemData, &context, size); + + ms->itemWidth = size.h; + ms->itemHeight = size.v; + return TRUE; + } + } + } + break; + + case WM_DRAWITEM : + { + DRAWITEMSTRUCT* ds = (DRAWITEMSTRUCT*)lParam; + if (pFrame && ds && ds->CtlType == ODT_MENU && ds->itemData) + { + VSTGUI_COptionMenu* optMenu = (VSTGUI_COptionMenu*)pFrame->getFocusView (); + if (optMenu && optMenu->getScheme ()) + { + long state = 0; + if (ds->itemState & ODS_CHECKED) + state |= VSTGUI_COptionMenuScheme::kChecked; + if (ds->itemState & ODS_DISABLED) // ODS_GRAYED? + state |= VSTGUI_COptionMenuScheme::kDisabled; + if (ds->itemState & ODS_SELECTED) + state |= VSTGUI_COptionMenuScheme::kSelected; + + CRect r (ds->rcItem.left, ds->rcItem.top, ds->rcItem.right, ds->rcItem.bottom); + r.bottom++; + + VSTGUI_CDrawContext* pContext = new VSTGUI_CDrawContext (pFrame, ds->hDC, 0); + optMenu->getScheme ()->drawItem ((const char*)ds->itemData, ds->itemID, state, pContext, r); + delete pContext; + return TRUE; + } + } + } + break; + + case WM_RBUTTONDOWN: + case WM_MBUTTONDOWN: + case WM_LBUTTONDOWN: + if (pFrame) + { + #if 1 + VSTGUI_CDrawContext context (pFrame, 0, hwnd); + VSTGUI_CPoint where (LOWORD (lParam), HIWORD (lParam)); + pFrame->mouse (&context, where); + #else + VSTGUI_CPoint where (LOWORD (lParam), HIWORD (lParam)); + pFrame->mouse ((VSTGUI_CDrawContext*)0, where); + #endif + + return 0; + } + break; + + case WM_DESTROY: + if (pFrame) + { + pFrame->setOpenFlag (false); + pFrame->setParentSystemWindow (0); + } + break; + } + return DefWindowProc (hwnd, message, wParam, lParam); +} + +//----------------------------------------------------------------------------- +HANDLE CreateMaskBitmap (CDrawContext* pContext, CRect& rect, CColor transparentColor) +{ + HBITMAP pMask = CreateBitmap (rect.width (), rect.height (), 1, 1, 0); + + HDC hSrcDC = (HDC)pContext->getSystemContext (); + HDC hDstDC = CreateCompatibleDC (hSrcDC); + SelectObject (hDstDC, pMask); + + COLORREF oldBkColor = SetBkColor (hSrcDC, RGB (transparentColor.red, transparentColor.green, transparentColor.blue)); + + BitBlt (hDstDC, 0, 0, rect.width (), rect.height (), hSrcDC, rect.left, rect.top, SRCCOPY); + + SetBkColor (hSrcDC, oldBkColor); + DeleteDC (hDstDC); + + return pMask; +} + +//----------------------------------------------------------------------------- +void DrawTransparent (CDrawContext* pContext, CRect& rect, const CPoint& offset, + HDC hdcBitmap, POINT ptSize, HBITMAP pMask, COLORREF color) +{ + if (pMask == NULL) + { + if (pfnTransparentBlt) + { + HDC hdcSystemContext = (HDC)pContext->getSystemContext (); + long x, y; + long width = rect.width (); + long height = rect.height (); + + x = rect.x + pContext->offset.x; + y = rect.y + pContext->offset.y; + + pfnTransparentBlt (hdcSystemContext, x, y, width, height, hdcBitmap, offset.x, offset.y, width, height, color); + } + else + { + // OPTIMIZATION: we only do four instead of EIGHT blits + HDC hdcSystemContext = (HDC)pContext->getSystemContext (); + HDC hdcMask = CreateCompatibleDC (hdcSystemContext); + + COLORREF crOldBack = SetBkColor (hdcSystemContext, 0xFFFFFF); + COLORREF crOldText = SetTextColor (hdcSystemContext, 0x000000); + HBITMAP bmMaskOld, maskMap; + + long x, y; + long width = rect.width (); + long height = rect.height (); + + x = rect.x + pContext->offset.x; + y = rect.y + pContext->offset.y; + + // Create mask-bitmap in memory + maskMap = CreateBitmap (width, height, 1, 1, NULL); + bmMaskOld = (HBITMAP)SelectObject (hdcMask, maskMap); + + // Copy bitmap into mask-bitmap and converting it into a black'n'white mask + SetBkColor (hdcBitmap, color); + BitBlt (hdcMask, 0, 0, width, height, hdcBitmap, offset.x, offset.y, SRCCOPY); + + // Copy image masked to screen + BitBlt (hdcSystemContext, x, y, width, height, hdcBitmap, offset.x, offset.y, SRCINVERT); + BitBlt (hdcSystemContext, x, y, width, height, hdcMask, 0, 0, SRCAND); + BitBlt (hdcSystemContext, x, y, width, height, hdcBitmap, offset.x, offset.y, SRCINVERT); + + DeleteObject (SelectObject (hdcMask, bmMaskOld)); + DeleteDC (hdcMask); + + SetBkColor (hdcSystemContext, crOldBack); + SetTextColor (hdcSystemContext, crOldText); + } + } + else + { + // OPTIMIZATION: we only do five instead of EIGHT blits + HDC hdcSystemContext = (HDC)pContext->getSystemContext (); + HDC hdcMask = CreateCompatibleDC (hdcSystemContext); + HDC hdcMem = CreateCompatibleDC (hdcSystemContext); + HBITMAP bmAndMem; + HBITMAP bmMemOld, bmMaskOld; + + long x, y; + long width = rect.width (); + long height = rect.height (); + + x = rect.x + pContext->offset.x; + y = rect.y + pContext->offset.y; + + bmAndMem = CreateCompatibleBitmap(hdcSystemContext, width, height); + + bmMaskOld = (HBITMAP)SelectObject (hdcMask, pMask); + bmMemOld = (HBITMAP)SelectObject (hdcMem, bmAndMem); + + BitBlt (hdcMem, 0, 0, width, height, hdcSystemContext, x, y, SRCCOPY); + BitBlt (hdcMem, 0, 0, width, height, hdcBitmap, offset.x, offset.y, SRCINVERT); + BitBlt (hdcMem, 0, 0, width, height, hdcMask, offset.x, offset.y, SRCAND); + BitBlt (hdcMem, 0, 0, width, height, hdcBitmap, offset.x, offset.y, SRCINVERT); + BitBlt (hdcSystemContext, x, y, width, height, hdcMem, 0, 0, SRCCOPY); + + DeleteObject (SelectObject (hdcMem, bmMemOld)); + SelectObject (hdcMask, bmMaskOld); + + DeleteDC (hdcMem); + DeleteDC(hdcMask); + } +} +#endif + +//----------------------------------------------------------------------------- +#if MAC || MOTIF || BEOS +BEGIN_NAMESPACE_VSTGUI +// return a degre value between [0, 360 * 64[ +long convertPoint2Angle (CPoint &pm, CPoint &pt) +{ + long angle; + if (pt.h == pm.h) + { + if (pt.v < pm.v) + angle = 5760; // 90 * 64 + else + angle = 17280; // 270 * 64 + } + else if (pt.v == pm.v) + { + if (pt.h < pm.h) + angle = 11520; // 180 * 64 + else + angle = 0; + } + else + { + // 3666.9299 = 180 * 64 / pi + angle = (long)(3666.9298 * atan ((double)(pm.v - pt.v) / (double)(pt.h - pm.h))); + + if (pt.v < pm.v) + { + if (pt.h < pm.h) + angle += 11520; // 180 * 64 + } + else + { + if (pt.h < pm.h) + angle += 11520; // 180 * 64 + else + angle += 23040; // 360 * 64 + } + } + return angle; +} +END_NAMESPACE_VSTGUI +#endif + + +//----------------------------------------------------------------------------- +#if MOTIF +XRectangle rect; +static bool first = true; + +//----------------------------------------------------------------------------- +void _destroyCallback (Widget widget, XtPointer clientData, XtPointer callData) +{ + CFrame* pFrame = (CFrame*)clientData; + if (pFrame) + { + pFrame->freeGc (); + pFrame->setOpenFlag (false); + pFrame->pSystemWindow = 0; + } +} + +//----------------------------------------------------------------------------- +void _drawingAreaCallback (Widget widget, XtPointer clientData, XtPointer callData) +{ + CFrame* pFrame = (CFrame*)clientData; + XmDrawingAreaCallbackStruct *cbs = (XmDrawingAreaCallbackStruct *)callData; + XEvent *event = cbs->event; + + //------------------------------------- + if (cbs->reason == XmCR_INPUT) + { + if (event->xbutton.type == ButtonRelease) + return; + + if (event->xbutton.type != ButtonPress && + event->xbutton.type != KeyPress) + return; + + Window pWindow = pFrame->getWindow (); + CDrawContext context (pFrame, pFrame->getGC (), (void*)pWindow); + + CPoint where (event->xbutton.x, event->xbutton.y); + pFrame->mouse (&context, where); + } + //------------------------------------ + else if (cbs->reason == XmCR_EXPOSE) + { + XExposeEvent *expose = (XExposeEvent*)event; +#if TEST_REGION + rect.x = expose->x; + rect.y = expose->y; + rect.width = expose->width; + rect.height = expose->height; + if (first) + { + pFrame->region = XCreateRegion (); + first = false; + } + + XUnionRectWithRegion (&rect, pFrame->region, pFrame->region); +#endif + if (expose->count == 0) + { +#if TEST_REGION + XSetRegion (expose->pDisplay, pFrame->getGC (), pFrame->region); + + // add processus of static first to set the region to max after a total draw and destroy it the first time... +#endif + pFrame->draw (); + +#if TEST_REGION + rect.x = 0; + rect.y = 0; + rect.width = pFrame->getWidth (); + rect.height = pFrame->getHeight (); + XUnionRectWithRegion (&rect, pFrame->region, pFrame->region); + XSetRegion (expose->pDisplay, pFrame->getGC (), pFrame->region); + XDestroyRegion (pFrame->region); + first = true; +#endif + } + } +} + +//----------------------------------------------------------------------------- +void _eventHandler (Widget w, XtPointer clientData, XEvent *event, char *p) +{ + switch (event->type) + { + case EnterNotify: + break; + + case LeaveNotify: + XCrossingEvent *xevent = (XCrossingEvent*)event; + + CFrame* pFrame = (CFrame*)clientData; + if (pFrame && pFrame->getFocusView ()) + { + if (xevent->x < 0 || xevent->x >= pFrame->getWidth () || + xevent->y < 0 || xevent->y >= pFrame->getHeight ()) + { + // if button pressed => don't defocus + if (xevent->state & (Button1Mask|Button2Mask|Button3Mask)) + break; + pFrame->getFocusView ()->looseFocus (); + pFrame->setFocusView (0); + } + } + break; + } +} + +//----------------------------------------------------------------------------- +long getIndexColor8Bit (CColor color, Display *pDisplay, Colormap colormap) +{ + long i; + + // search in pre-loaded color + for (i = 0; i < CDrawContext::nbNewColor; i++) + { + if ((paletteNewColor[i].red == color.red) && + (paletteNewColor[i].green == color.green) && + (paletteNewColor[i].blue == color.blue)) + return paletteNewColor[i].alpha; + } + + // Allocate new color cell + XColor xcolor; + int red = color.red << 8; + int green = color.green << 8; + int blue = color.blue << 8; + xcolor.red = red; + xcolor.green = green; + xcolor.blue = blue; + if (XAllocColor (pDisplay, colormap, &xcolor)) + { + // store this new color + if (CDrawContext::nbNewColor < 255) + { + paletteNewColor[CDrawContext::nbNewColor].red = color.red; + paletteNewColor[CDrawContext::nbNewColor].green = color.green; + paletteNewColor[CDrawContext::nbNewColor].blue = color.blue; + paletteNewColor[CDrawContext::nbNewColor].alpha = xcolor.pixel; + CDrawContext::nbNewColor++; + } + return xcolor.pixel; + } + + // take the nearest color + int diff; + int min = 3 * 65536; + int index = 0; + + XColor xcolors[256]; + for (i = 0; i < 256; i++) + xcolors[i].pixel = i; + + XQueryColors (pDisplay, colormap, xcolors, 256); + + for (i = 0; i < 256; i++) + { + diff = fabs (xcolors[i].red - red) + fabs (xcolors[i].green - green) + fabs (xcolors[i].blue - blue); + if (diff < min) + { + min = diff; + index = i; + } + } + + // store this new color + if (CDrawContext::nbNewColor < 255) + { + paletteNewColor[CDrawContext::nbNewColor].red = color.red; + paletteNewColor[CDrawContext::nbNewColor].green = color.green; + paletteNewColor[CDrawContext::nbNewColor].blue = color.blue; + paletteNewColor[CDrawContext::nbNewColor].alpha = index; + CDrawContext::nbNewColor++; + } + return (index); +} + +//----------------------------------------------------------------------------- +bool xpmGetValues (char **ppDataXpm, long *pWidth, long *pHeight, long *pNcolor, long *pCpp) +{ + // get the size of the pixmap + sscanf (ppDataXpm[0], "%d %d %d %d", pWidth, pHeight, pNcolor, pCpp); + + return true; +} + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#elif BEOS +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +PlugView::PlugView (BRect frame, CFrame* cframe) + : BView (frame, NULL, B_FOLLOW_ALL, B_WILL_DRAW), cframe (cframe) +{ + SetViewColor (B_TRANSPARENT_COLOR); +} + +//----------------------------------------------------------------------------- +void PlugView::Draw (BRect updateRect) +{ + cframe->draw (); +} + +//----------------------------------------------------------------------------- +void PlugView::MouseDown (BPoint where) +{ + BMessage* m = Window ()->CurrentMessage (); + int32 buttons; + m->FindInt32 ("buttons", &buttons); + + if (buttons & B_SECONDARY_MOUSE_BUTTON && !Window ()->IsFront () && !Window ()->IsFloating ()) + { + Window ()->Activate (true); + return; + } + + CDrawContext context (cframe, this, NULL); + CPoint here (where.x, where.y); + cframe->mouse (&context, here); +} + +//----------------------------------------------------------------------------- +void PlugView::MessageReceived (BMessage *msg) +{ + if (msg->what == B_SIMPLE_DATA) + { + int32 countMax = 0; // max number of references. Possibly not all valid... + type_code typeFound; + msg->GetInfo ("refs", &typeFound, &countMax); + if (countMax > 0) + { + entry_ref item; + int nbRealItems = 0; + char ** ptrItems = new char* [countMax]; + for (int k = 0; k < countMax; k++) + if (msg->FindRef ("refs", k, &item) == B_OK) + { + BPath path (&item); + if (path.InitCheck () == B_OK) + ptrItems[nbRealItems++] = strdup (path.Path ()); + } + BPoint bwhere = msg->DropPoint (); + ConvertFromScreen (&bwhere); + CPoint where (bwhere.x, bwhere.y); + cframe->onDrop ((void**)ptrItems, nbRealItems, kDropFiles, where); + for (long i = 0; i < nbRealItems; i++) + free (ptrItems[i]); + delete []ptrItems; + } + } + else BView::MessageReceived (msg); +} + +#endif + + +//----------------------------------------------------------------------------- +#if WINDOWS +//----------------------------------------------------------------------------- +// Drop Implementation +//----------------------------------------------------------------------------- +class CDropTarget : public IDropTarget +{ +public: + CDropTarget (VSTGUI_CFrame* pFrame); + virtual ~CDropTarget (); + + // IUnknown + STDMETHOD (QueryInterface) (REFIID riid, void** object); + STDMETHOD_ (ULONG, AddRef) (void); + STDMETHOD_ (ULONG, Release) (void); + + // IDropTarget + STDMETHOD (DragEnter) (IDataObject *dataObject, DWORD keyState, POINTL pt, DWORD *effect); + STDMETHOD (DragOver) (DWORD keyState, POINTL pt, DWORD *effect); + STDMETHOD (DragLeave) (void); + STDMETHOD (Drop) (IDataObject *dataObject, DWORD keyState, POINTL pt, DWORD *effect); +private: + long refCount; + bool accept; + VSTGUI_CFrame* pFrame; +}; + +//----------------------------------------------------------------------------- +// CDropTarget +//----------------------------------------------------------------------------- +void* createDropTarget (VSTGUI_CFrame* pFrame) +{ + return new CDropTarget (pFrame); +} + +//----------------------------------------------------------------------------- +CDropTarget::CDropTarget (VSTGUI_CFrame* pFrame) +: refCount (0), pFrame (pFrame) +{ +} + +//----------------------------------------------------------------------------- +CDropTarget::~CDropTarget () +{ +} + +//----------------------------------------------------------------------------- +STDMETHODIMP CDropTarget::QueryInterface (REFIID riid, void** object) +{ + if (riid == IID_IDropTarget || riid == IID_IUnknown) + { + *object = this; + AddRef (); + return NOERROR; + } + *object = 0; + return E_NOINTERFACE; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP_(ULONG) CDropTarget::AddRef (void) +{ + return ++refCount; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP_(ULONG) CDropTarget::Release (void) +{ + refCount--; + if (refCount <= 0) + { + delete this; + return 0; + } + return refCount; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP CDropTarget::DragEnter (IDataObject *dataObject, DWORD keyState, POINTL pt, DWORD *effect) +{ + if (dataObject && pFrame) + { + gDragContainer = new CDragContainer (dataObject); + CDrawContext* context = pFrame->createDrawContext (); + VSTGUI_CPoint where; + pFrame->getMouseLocation (context, where); + pFrame->onDragEnter (context, gDragContainer, where); + context->forget (); + *effect = DROPEFFECT_MOVE; + } + else + *effect = DROPEFFECT_NONE; + return S_OK; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP CDropTarget::DragOver (DWORD keyState, POINTL pt, DWORD *effect) +{ + if (gDragContainer && pFrame) + { + CDrawContext* context = pFrame->createDrawContext (); + VSTGUI_CPoint where; + pFrame->getMouseLocation (context, where); + pFrame->onDragMove (context, gDragContainer, where); + context->forget (); + *effect = DROPEFFECT_MOVE; + } + return S_OK; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP CDropTarget::DragLeave (void) +{ + if (gDragContainer && pFrame) + { + CDrawContext* context = pFrame->createDrawContext (); + VSTGUI_CPoint where; + pFrame->getMouseLocation (context, where); + pFrame->onDragLeave (context, gDragContainer, where); + context->forget (); + gDragContainer->forget (); + gDragContainer = 0; + } + return S_OK; +} + +//----------------------------------------------------------------------------- +STDMETHODIMP CDropTarget::Drop (IDataObject *dataObject, DWORD keyState, POINTL pt, DWORD *effect) +{ + if (gDragContainer && pFrame) + { + CDrawContext* context = pFrame->createDrawContext (); + VSTGUI_CPoint where; + pFrame->getMouseLocation (context, where); + pFrame->onDrop (context, gDragContainer, where); + context->forget (); + gDragContainer->forget (); + gDragContainer = 0; + } + return S_OK; +} + +//----------------------------------------------------------------------------- +bool checkResolveLink (const char* nativePath, char* resolved) +{ + const char* ext = strrchr (nativePath, '.'); + if (ext && _stricmp (ext, ".lnk") == NULL) + { + IShellLink* psl; + IPersistFile* ppf; + WIN32_FIND_DATA wfd; + HRESULT hres; + WORD wsz[2048]; + + // Get a pointer to the IShellLink interface. + hres = CoCreateInstance (CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, + IID_IShellLink, (void**)&psl); + if (SUCCEEDED (hres)) + { + // Get a pointer to the IPersistFile interface. + hres = psl->QueryInterface (IID_IPersistFile, (void**)&ppf); + if (SUCCEEDED (hres)) + { + // Ensure string is Unicode. + MultiByteToWideChar (CP_ACP, 0, nativePath, -1, (LPWSTR)wsz, 2048); + // Load the shell link. + hres = ppf->Load ((LPWSTR)wsz, STGM_READ); + if (SUCCEEDED (hres)) + { + hres = psl->Resolve (0, MAKELONG (SLR_ANY_MATCH | SLR_NO_UI, 500)); + if (SUCCEEDED (hres)) + { + // Get the path to the link target. + hres = psl->GetPath (resolved, 2048, &wfd, SLGP_SHORTPATH); + } + } + // Release pointer to IPersistFile interface. + ppf->Release (); + } + // Release pointer to IShellLink interface. + psl->Release (); + } + return SUCCEEDED(hres); + } + return false; +} + +#elif MAC +BEGIN_NAMESPACE_VSTGUI + +#if MAC_OLD_DRAG +//----------------------------------------------------------------------------- +// Drop Implementation +//----------------------------------------------------------------------------- +#if !MACX +#include "Drag.h" +#endif + +pascal static short drag_receiver (WindowPtr w, void* ref, DragReference drag); +pascal static OSErr drag_tracker (DragTrackingMessage message, WindowRef theWindow, void *handlerRefCon, DragRef theDrag); + +static DragReceiveHandlerUPP drh; +static DragTrackingHandlerUPP dth; + +static bool gEventDragWorks = false; + +//------------------------------------------------------------------------------------------- +void install_drop (CFrame *frame) +{ + drh = NewDragReceiveHandlerUPP (drag_receiver); + dth = NewDragTrackingHandlerUPP (drag_tracker); +#if TARGET_API_MAC_CARBON + InstallReceiveHandler (drh, (WindowRef)(frame->getSystemWindow ()), (void*)frame); + InstallTrackingHandler (dth, (WindowRef)(frame->getSystemWindow ()), (void*)frame); +#else + InstallReceiveHandler (drh, (GrafPort*)(frame->getSystemWindow ()), (void*)frame); + InstallTrackingHandler (dth, (GrafPort*)(frame->getSystemWindow ()), (void*)frame); +#endif +} + +//------------------------------------------------------------------------------------------- +void remove_drop (CFrame *frame) +{ +#if TARGET_API_MAC_CARBON + RemoveReceiveHandler (drh, (WindowRef)(frame->getSystemWindow ())); + RemoveTrackingHandler (dth, (WindowRef)(frame->getSystemWindow ())); +#else + RemoveReceiveHandler (drh, (GrafPort*)(frame->getSystemWindow ())); + RemoveTrackingHandler (dth, (GrafPort*)(frame->getSystemWindow ())); +#endif + DisposeDragReceiveHandlerUPP (drh); + DisposeDragTrackingHandlerUPP (dth); +} + +// drag tracking for visual feedback +pascal OSErr drag_tracker (DragTrackingMessage message, WindowRef theWindow, void *handlerRefCon, DragRef dragRef) +{ + #if QUARTZ + if (gEventDragWorks) + return noErr; + #endif + + CFrame* frame = (CFrame*)handlerRefCon; + switch (message) + { + case kDragTrackingEnterWindow: + { + if (gDragContainer) + gDragContainer->forget (); + gDragContainer = new CDragContainer (dragRef); + + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->setCursor (kCursorNotAllowed); + frame->getMouseLocation (context, where); + frame->onDragEnter (context, gDragContainer, where); + context->forget (); + break; + } + case kDragTrackingLeaveWindow: + { + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDragLeave (context, gDragContainer, where); + frame->setCursor (kCursorDefault); + context->forget (); + gDragContainer->forget (); + gDragContainer = NULL; + break; + } + case kDragTrackingInWindow: + { + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDragMove (context, gDragContainer, where); + context->forget (); + + break; + } + } + return noErr; +} + +//------------------------------------------------------------------------------------------- +// Drop has happened in one of our's windows. +// The data is either of our own type (flavour type stCA), or comes from +// another app. The only data from outside that is currently accepted are +// HFS-files +//------------------------------------------------------------------------------------------- +pascal short drag_receiver (WindowPtr w, void* ref, DragReference drag) +{ + #if QUARTZ + if (gEventDragWorks) + return noErr; + #endif + + if (!gDragContainer) + return noErr; + + CFrame* frame = (CFrame*) ref; + + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDrop (context, gDragContainer, where); + frame->setCursor (kCursorDefault); + context->forget (); + + gDragContainer->forget (); + gDragContainer = NULL; + return noErr; +} +#endif // MAC_OLD_DRAG + +#if QUARTZ +#define defControlStringMask CFSTR ("net.sourceforge.vstgui.%d") + +bool CFrame::registerWithToolbox () +{ + CFStringRef defControlString = CFStringCreateWithFormat (NULL, NULL, defControlStringMask, this); + + controlSpec.defType = kControlDefObjectClass; + controlSpec.u.classRef = NULL; + + EventTypeSpec eventTypes[] = { {kEventClassControl, kEventControlDraw}, + {kEventClassControl, kEventControlHitTest}, + {kEventClassControl, kEventControlClick}, + {kEventClassControl, kEventControlTrack}, + {kEventClassControl, kEventControlContextualMenuClick}, + {kEventClassKeyboard, kEventRawKeyDown}, + {kEventClassKeyboard, kEventRawKeyRepeat}, + {kEventClassMouse, kEventMouseWheelMoved}, + {kEventClassControl, kEventControlDragEnter}, + {kEventClassControl, kEventControlDragWithin}, + {kEventClassControl, kEventControlDragLeave}, + {kEventClassControl, kEventControlDragReceive}, + {kEventClassControl, kEventControlInitialize}, + {kEventClassControl, kEventControlGetClickActivation}, + {kEventClassControl, kEventControlGetOptimalBounds}, + {kEventClassScrollable, kEventScrollableGetInfo}, + {kEventClassScrollable, kEventScrollableScrollTo}, + {kEventClassControl, kEventControlSetFocusPart}, + {kEventClassControl, kEventControlGetFocusPart}, + }; + + ToolboxObjectClassRef controlClass = NULL; + + OSStatus status = RegisterToolboxObjectClass ( defControlString, + NULL, + GetEventTypeCount (eventTypes), + eventTypes, + CFrame::carbonEventHandler, + this, + &controlClass); + if (status == noErr) + controlSpec.u.classRef = controlClass; + + CFRelease (defControlString); + + return (controlSpec.u.classRef != NULL); +} +//------------------------------------------------------------------------------ +static short keyTable[] = { + VKEY_BACK, 0x33, + VKEY_TAB, 0x30, + VKEY_RETURN, 0x24, + VKEY_PAUSE, 0x71, + VKEY_ESCAPE, 0x35, + VKEY_SPACE, 0x31, + + VKEY_END, 0x77, + VKEY_HOME, 0x73, + + VKEY_LEFT, 0x7B, + VKEY_UP, 0x7E, + VKEY_RIGHT, 0x7C, + VKEY_DOWN, 0x7D, + VKEY_PAGEUP, 0x74, + VKEY_PAGEDOWN, 0x79, + + VKEY_PRINT, 0x69, + VKEY_ENTER, 0x4C, + VKEY_HELP, 0x72, + VKEY_DELETE, 0x75, + VKEY_NUMPAD0, 0x52, + VKEY_NUMPAD1, 0x53, + VKEY_NUMPAD2, 0x54, + VKEY_NUMPAD3, 0x55, + VKEY_NUMPAD4, 0x56, + VKEY_NUMPAD5, 0x57, + VKEY_NUMPAD6, 0x58, + VKEY_NUMPAD7, 0x59, + VKEY_NUMPAD8, 0x5B, + VKEY_NUMPAD9, 0x5C, + VKEY_MULTIPLY, 0x43, + VKEY_ADD, 0x45, + VKEY_SUBTRACT, 0x4E, + VKEY_DECIMAL, 0x41, + VKEY_DIVIDE, 0x4B, + VKEY_F1, 0x7A, + VKEY_F2, 0x78, + VKEY_F3, 0x63, + VKEY_F4, 0x76, + VKEY_F5, 0x60, + VKEY_F6, 0x61, + VKEY_F7, 0x62, + VKEY_F8, 0x64, + VKEY_F9, 0x65, + VKEY_F10, 0x6D, + VKEY_F11, 0x67, + VKEY_F12, 0x6F, + VKEY_NUMLOCK, 0x47, + VKEY_EQUALS, 0x51 +}; + +#ifndef kHIViewFeatureGetsFocusOnClick +#define kHIViewFeatureGetsFocusOnClick (1 << 8) +#endif + +bool hiToolboxAllowFocusChange = false; + +//--------------------------------------------------------------------------------------- +pascal OSStatus CFrame::carbonEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData) +{ + OSStatus result = eventNotHandledErr; + CFrame* frame = (CFrame*)inUserData; + UInt32 eventClass = GetEventClass (inEvent); + UInt32 eventKind = GetEventKind (inEvent); + WindowRef window = (WindowRef)frame->getSystemWindow (); + + // WARNING : + // I've not implemented the old style resource file handling. + // Use the CFBundleCopyResourceURL... functions to get your resources. + + switch (eventClass) + { + case kEventClassScrollable: + { + switch (eventKind) + { + case kEventScrollableGetInfo: + { + HISize cs = {frame->getWidth (), frame->getHeight ()}; + SetEventParameter (inEvent, kEventParamImageSize, typeHISize, sizeof (HISize), &cs); + HIPoint origin = {frame->hiScrollOffset.x, frame->hiScrollOffset.y}; + SetEventParameter (inEvent, kEventParamOrigin, typeHIPoint, sizeof (HIPoint), &origin); + HISize lineSize = {50.0, 20.0}; + SetEventParameter(inEvent, kEventParamLineSize, typeHISize, sizeof(lineSize), &lineSize); + HIRect bounds; + HIViewGetBounds ((HIViewRef)frame->controlRef, &bounds); + SetEventParameter(inEvent, kEventParamViewSize, typeHISize, sizeof(bounds.size), &bounds.size); + result = noErr; + break; + } + case kEventScrollableScrollTo: + { + HIPoint where; + GetEventParameter(inEvent, kEventParamOrigin, typeHIPoint, NULL, sizeof(where), NULL, &where); + frame->hiScrollOffset.x = (CCoord)where.x; + frame->hiScrollOffset.y = (CCoord)where.y; + HIViewSetBoundsOrigin((HIViewRef)frame->controlRef, where.x, where.y); + HIViewSetNeedsDisplay((HIViewRef)frame->controlRef, true); + result = noErr; + break; + } + } + break; + } + case kEventClassControl: + { + switch (eventKind) + { + case kEventControlInitialize: + { + UInt32 controlFeatures = kControlSupportsDragAndDrop | kControlSupportsFocus | kControlHandlesTracking | kControlSupportsEmbedding | kHIViewFeatureGetsFocusOnClick; + SetEventParameter (inEvent, kEventParamControlFeatures, typeUInt32, sizeof (UInt32), &controlFeatures); + result = noErr; + break; + } + case kEventControlDraw: + { + CDrawContext* context = 0; + if (frame->pFrameContext) + { + context = frame->pFrameContext; + context->remember (); + } + else + { + CGContextRef cgcontext = 0; + OSStatus res = GetEventParameter (inEvent, kEventParamCGContextRef, typeCGContextRef, NULL, sizeof (cgcontext), NULL, &cgcontext); + context = new CDrawContext (frame, (res == noErr) ? cgcontext : NULL, window); + } + RgnHandle dirtyRegion; + if (GetEventParameter (inEvent, kEventParamRgnHandle, typeQDRgnHandle, NULL, sizeof (RgnHandle), NULL, &dirtyRegion) == noErr) + { + bool frameWasDirty = frame->bDirty; + Rect bounds; + GetRegionBounds (dirtyRegion, &bounds); + CRect updateRect; + Rect2CRect (bounds, updateRect); + WindowAttributes windowAttributes; + GetWindowAttributes (window, &windowAttributes); + if (!(windowAttributes & kWindowCompositingAttribute)) + updateRect.offset (-context->offsetScreen.x, -context->offsetScreen.y); + frame->drawRect (context, updateRect); + if (frameWasDirty && updateRect != frame->size) + frame->setDirty (true); + } + else + frame->draw (context); + context->forget (); + result = noErr; + break; + } + case kEventControlGetClickActivation: + { + ClickActivationResult activation = kActivateAndHandleClick; + SetEventParameter (inEvent, kEventParamClickActivation, typeClickActivationResult, sizeof (ClickActivationResult), &activation); + result = noErr; + break; + } + case kEventControlHitTest: + { + ControlPartCode code = kControlContentMetaPart; + SetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, sizeof (ControlPartCode), &code); + result = noErr; + break; + } + case kEventControlClick: + { + EventMouseButton buttonState; + GetEventParameter (inEvent, kEventParamMouseButton, typeMouseButton, NULL, sizeof (EventMouseButton), NULL, &buttonState); + if (buttonState == kEventMouseButtonPrimary) + { + result = CallNextEventHandler (inHandlerCallRef, inEvent); + break; + } + } + case kEventControlTrack: + case kEventControlContextualMenuClick: + { + long buttons = 0; + EventMouseButton buttonState; + HIPoint hipoint; + UInt32 modifiers; + GetEventParameter (inEvent, kEventParamMouseLocation, typeHIPoint, NULL, sizeof (HIPoint), NULL, &hipoint); + if (eventKind == kEventControlContextualMenuClick) + buttons = kRButton; + else if (eventKind == kEventControlTrack) + { + buttons = kLButton; + GetEventParameter (inEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof (UInt32), NULL, &modifiers); + if (modifiers & cmdKey) + buttons |= kControl; + if (modifiers & shiftKey) + buttons |= kShift; + if (modifiers & optionKey) + buttons |= kAlt; + if (modifiers & controlKey) + buttons |= kApple; + } + else + { + GetEventParameter (inEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof (UInt32), NULL, &modifiers); + GetEventParameter (inEvent, kEventParamMouseButton, typeMouseButton, NULL, sizeof (EventMouseButton), NULL, &buttonState); + if (buttonState == kEventMouseButtonPrimary) + buttons |= kLButton; + if (buttonState == kEventMouseButtonSecondary) + buttons |= kRButton; + if (buttonState == kEventMouseButtonTertiary) + buttons |= kMButton; + if (modifiers & cmdKey) + buttons |= kControl; + if (modifiers & shiftKey) + buttons |= kShift; + if (modifiers & optionKey) + buttons |= kAlt; + if (modifiers & controlKey) + buttons |= kApple; + } + //SetUserFocusWindow (window); + //AdvanceKeyboardFocus (window); + //SetKeyboardFocus (window, frame->controlRef, kControlFocusNextPart); + WindowAttributes windowAttributes; + GetWindowAttributes (window, &windowAttributes); + Point point = {(short)hipoint.y, (short)hipoint.x}; + if (eventKind == kEventControlClick && !(windowAttributes & kWindowCompositingAttribute)) + QDGlobalToLocalPoint (GetWindowPort (window), &point); + CDrawContext* context = frame->createDrawContext (); + CPoint p (point.h, point.v); + if (!(windowAttributes & kWindowCompositingAttribute)) + p.offset (-context->offsetScreen.x, -context->offsetScreen.y); + frame->mouse (context, p, buttons); + context->forget (); + result = noErr; + break; + } + case kEventControlGetOptimalBounds: + { + HIRect optimalBounds = { {0, 0}, { frame->getWidth (), frame->getHeight ()}}; + SetEventParameter (inEvent, kEventParamControlOptimalBounds, typeHIRect, sizeof (HIRect), &optimalBounds); + result = noErr; + break; + } + case kEventControlGetFocusPart: + { + if (hiToolboxAllowFocusChange) + { + ControlPartCode code = frame->hasFocus ? 127 : kControlFocusNoPart; + SetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, sizeof (ControlPartCode), &code); + result = noErr; + } + break; + } + case kEventControlSetFocusPart: + { + if (hiToolboxAllowFocusChange) + { + ControlPartCode code; + GetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, NULL, sizeof (ControlPartCode), NULL, &code); + if (code == kControlFocusNoPart) + { + frame->hasFocus = false; + frame->setFocusView (NULL); + } + else + { + bool anfResult = false; + if (code == kControlFocusNextPart) + anfResult = frame->advanceNextFocusView (frame->pFocusView); + else if (code == kControlFocusPrevPart) + anfResult = frame->advanceNextFocusView (frame->pFocusView, true); + if (anfResult) + { + frame->hasFocus = true; + code = 127; + } + else + { + frame->hasFocus = false; + code = kControlFocusNoPart; + } + } + SetEventParameter (inEvent, kEventParamControlPart, typeControlPartCode, sizeof (code), &code); + result = noErr; + } + break; + } + case kEventControlDragEnter: + { + #if MAC_OLD_DRAG + gEventDragWorks = true; + #endif + + DragRef dragRef; + if (GetEventParameter (inEvent, kEventParamDragRef, typeDragRef, NULL, sizeof (DragRef), NULL, &dragRef) == noErr) + { + gDragContainer = new CDragContainer (dragRef); + + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->setCursor (kCursorNotAllowed); + frame->getMouseLocation (context, where); + frame->onDragEnter (context, gDragContainer, where); + context->forget (); + + bool acceptDrop = true; + SetEventParameter (inEvent, kEventParamControlWouldAcceptDrop, typeBoolean, sizeof (bool), &acceptDrop); + } + result = noErr; + break; + } + case kEventControlDragWithin: + { + if (gDragContainer) + { + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDragMove (context, gDragContainer, where); + context->forget (); + } + result = noErr; + break; + } + case kEventControlDragLeave: + { + if (gDragContainer) + { + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDragLeave (context, gDragContainer, where); + frame->setCursor (kCursorDefault); + context->forget (); + } + result = noErr; + break; + } + case kEventControlDragReceive: + { + if (gDragContainer) + { + CDrawContext* context = frame->createDrawContext (); + VSTGUI_CPoint where; + frame->getMouseLocation (context, where); + frame->onDrop (context, gDragContainer, where); + frame->setCursor (kCursorDefault); + context->forget (); + gDragContainer->forget (); + gDragContainer = 0; + } + result = noErr; + break; + } + } + break; + } + case kEventClassMouse: + { + switch (eventKind) + { + case kEventMouseWheelMoved: + { + UInt32 modifiers; + HIPoint windowHIPoint; + SInt32 wheelDelta; + EventMouseWheelAxis wheelAxis; + WindowRef windowRef; + GetEventParameter (inEvent, kEventParamWindowRef, typeWindowRef, NULL, sizeof (WindowRef), NULL, &windowRef); + GetEventParameter (inEvent, kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL, sizeof (EventMouseWheelAxis), NULL, &wheelAxis); + GetEventParameter (inEvent, kEventParamMouseWheelDelta, typeLongInteger, NULL, sizeof (SInt32), NULL, &wheelDelta); + GetEventParameter (inEvent, kEventParamWindowMouseLocation, typeHIPoint, NULL, sizeof (HIPoint), NULL, &windowHIPoint); + GetEventParameter (inEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof (UInt32), NULL, &modifiers); + HIViewConvertPoint (&windowHIPoint, HIViewGetRoot (windowRef), frame->controlRef); + CPoint p ((CCoord)windowHIPoint.x, (CCoord)windowHIPoint.y); + CDrawContext* context = frame->createDrawContext (); + CMouseWheelAxis axis = kMouseWheelAxisX; + if (wheelAxis == kEventMouseWheelAxisY && !(modifiers & cmdKey)) + axis = kMouseWheelAxisY; + frame->onWheel (context, p, axis, wheelDelta); + context->forget (); + result = noErr; + break; + } + } + break; + } + case kEventClassTextInput: + { + switch (eventKind) + { + case kEventTextInputUnicodeForKeyEvent: + { + // The "Standard Event Handler" of a window would return noErr even though no one has handled the key event. + // This prevents the "Standard Handler" to be called for this event, with the exception of the tab key as it is used for control focus changes. + EventRef rawKeyEvent; + GetEventParameter (inEvent, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof (EventRef), NULL, &rawKeyEvent); + if (rawKeyEvent) + { + UInt32 keyCode = 0; + GetEventParameter (rawKeyEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof (UInt32), NULL, &keyCode); + if (keyCode == keyTable[VKEY_TAB+1]) + return result; + } + result = eventPassToNextTargetErr; + break; + } + } + break; + } + case kEventClassKeyboard: + { + if (frame->hasFocus) + { + switch (eventKind) + { + case kEventRawKeyDown: + case kEventRawKeyRepeat: + { + // todo: make this work + + char character = 0; + UInt32 keyCode = 0; + UInt32 modifiers = 0; + GetEventParameter (inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof (char), NULL, &character); + GetEventParameter (inEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof (UInt32), NULL, &keyCode); + GetEventParameter (inEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof (UInt32), NULL, &modifiers); + char scanCode = keyCode; + VstKeyCode vstKeyCode; + memset (&vstKeyCode, 0, sizeof (VstKeyCode)); + KeyboardLayoutRef layout; + if (KLGetCurrentKeyboardLayout (&layout) == noErr) + { + const void* pKCHR = 0; + KLGetKeyboardLayoutProperty (layout, kKLKCHRData, &pKCHR); + if (pKCHR) + { + static UInt32 keyTranslateState = 0; + vstKeyCode.character = KeyTranslate (pKCHR, keyCode, &keyTranslateState); + if (modifiers & shiftKey) + { + vstKeyCode.character = toupper (vstKeyCode.character); + } + } + } + short entries = sizeof (keyTable) / (sizeof (short)); + for (int i = 0; i < entries; i += 2) + { + if (keyTable[i + 1] == scanCode) + { + vstKeyCode.virt = keyTable[i]; + vstKeyCode.character = 0; + break; + } + } + if (modifiers & cmdKey) + vstKeyCode.modifier |= MODIFIER_CONTROL; + if (modifiers & shiftKey) + vstKeyCode.modifier |= MODIFIER_SHIFT; + if (modifiers & optionKey) + vstKeyCode.modifier |= MODIFIER_ALTERNATE; + if (modifiers & controlKey) + vstKeyCode.modifier |= MODIFIER_COMMAND; + if (frame->onKeyDown (vstKeyCode) != -1) + result = noErr; + + break; + } + } + } + break; + } + } + return result; +} + +// code from CarbonSketch Example Code +#define kGenericRGBProfilePathStr "/System/Library/ColorSync/Profiles/Generic RGB Profile.icc" + +class QuartzStatics +{ +public: + //----------------------------------------------------------------------------- + QuartzStatics () + : genericRGBColorSpace (0) + { + CreateGenericRGBColorSpace (); + CFBundleRef coregraphicsBundle = CFBundleGetBundleWithIdentifier (CFSTR("com.apple.CoreGraphics")); + if (coregraphicsBundle) + { + _CGImageCreateWithImageInRect = (CGImageCreateWithImageInRectProc)CFBundleGetFunctionPointerForName (coregraphicsBundle, CFSTR("CGImageCreateWithImageInRect")); + _CGContextStrokeLineSegments = (CGContextStrokeLineSegmentsProc)CFBundleGetFunctionPointerForName (coregraphicsBundle, CFSTR("CGContextStrokeLineSegments")); + } + } + + //----------------------------------------------------------------------------- + ~QuartzStatics () + { + // we don't want to leak ;-) + CGColorSpaceRelease (genericRGBColorSpace); + + if (bmpGI) + CloseComponent (bmpGI); + if (pngGI) + CloseComponent (pngGI); + if (jpgGI) + CloseComponent (jpgGI); + if (pictGI) + CloseComponent (pictGI); + bmpGI = 0; + pngGI = 0; + jpgGI = 0; + pictGI = 0; + } + + inline CGColorSpaceRef getGenericRGBColorSpace () { return genericRGBColorSpace; } + +protected: + //----------------------------------------------------------------------------- + CMProfileRef OpenGenericProfile(void) + { + CMProfileLocation loc; + CMProfileRef cmProfile; + + loc.locType = cmPathBasedProfile; + strcpy(loc.u.pathLoc.path, kGenericRGBProfilePathStr); + + if (CMOpenProfile(&cmProfile, &loc) != noErr) + cmProfile = NULL; + + return cmProfile; + } + + //----------------------------------------------------------------------------- + void CreateGenericRGBColorSpace(void) + { + CMProfileRef genericRGBProfile = OpenGenericProfile(); + + if (genericRGBProfile) + { + genericRGBColorSpace = CGColorSpaceCreateWithPlatformColorSpace(genericRGBProfile); + + // we opened the profile so it is up to us to close it + CMCloseProfile(genericRGBProfile); + } + if (genericRGBColorSpace == NULL) + genericRGBColorSpace = CGColorSpaceCreateDeviceRGB (); + } + + CGColorSpaceRef genericRGBColorSpace; +}; + +static QuartzStatics _gQuartzStatics; + +inline CGColorSpaceRef GetGenericRGBColorSpace () +{ + return _gQuartzStatics.getGenericRGBColorSpace (); +} + +END_NAMESPACE_VSTGUI +#endif + +#endif + diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.h new file mode 100644 index 0000000..c15b2ea --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstgui.h @@ -0,0 +1,1227 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework for VST plugins : +// +// Version 3.0 $Date: 2005/11/15 14:56:42 $ +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __vstgui__ +#define __vstgui__ + +// define global defines +#if WIN32 + #define WINDOWS 1 +#elif SGI | SUN + #define MOTIF 1 +#elif __MWERKS__ || __APPLE_CC__ + #define MAC 1 + #if __MACH__ + #define MACX 1 + #define QUARTZ 1 + #ifndef TARGET_API_MAC_CARBON + #define TARGET_API_MAC_CARBON 1 + #endif + #ifndef __CF_USE_FRAMEWORK_INCLUDES__ + #define __CF_USE_FRAMEWORK_INCLUDES__ 1 + #endif + #endif +#elif __BEOS__ + #define BEOS 1 +#endif + +#if WINDOWS + #define USE_NAMESPACE 1 +#endif + +#if USE_NAMESPACE + #define BEGIN_NAMESPACE_VSTGUI namespace VSTGUI { + #define END_NAMESPACE_VSTGUI } + #define USING_NAMESPACE_VSTGUI using namespace VSTGUI; +#else + #define BEGIN_NAMESPACE_VSTGUI + #define END_NAMESPACE_VSTGUI + #define USING_NAMESPACE_VSTGUI +#endif + +// VSTGUI Version +#define VSTGUI_VERSION_MAJOR 3 +#define VSTGUI_VERSION_MINOR 0 + +//---------------------------------------------------- +//---------------------------------------------------- +BEGIN_NAMESPACE_VSTGUI + +class CFrame; +class CDrawContext; +class COffscreenContext; +class CControl; +class CBitmap; + +END_NAMESPACE_VSTGUI + +#if PLUGGUI + #ifndef __plugguieditor__ + #include "plugguieditor.h" + #endif +#else + #ifndef __aeffguieditor__ + #include "aeffguieditor.h" + #endif +#endif + +//---------------------------------------------------- +#if WINDOWS + #include + +//---------------------------------------------------- +#elif MOTIF + #include + #include + #ifdef NOBOOL + #ifndef bool + typedef short bool; + #endif + #ifndef false + static const bool false = 0; + #endif + #ifndef true + static const bool true = 1; + #endif + #endif + + // definition of struct for XPixmap resources + struct CResTableEntry { + int id; + char **xpm; + }; + + typedef CResTableEntry CResTable[]; + extern CResTable xpmResources; + +//---------------------------------------------------- +#elif MAC + #if MACX + #include + //macho VST's set gBundleRef which is a CFBundleRef + BEGIN_NAMESPACE_VSTGUI + extern void* gBundleRef; + END_NAMESPACE_VSTGUI + #else + #include + #include + #include + #include + #include + #include + #include + #include + #endif +//---------------------------------------------------- +#elif BEOS + #include + class BView; + class PlugView; + class BBitmap; + class BResources; +#endif + +struct VstKeyCode; + +BEGIN_NAMESPACE_VSTGUI + +struct CPoint; + +#define CLASS_METHODS(name, parent) \ + virtual bool isTypeOf (const char* s) const \ + { return (!strcmp (s, (#name))) ? true : parent::isTypeOf (s); }\ + +#ifdef VSTGUI_FLOAT_COORDINATES +typedef float CCoord; +#else +typedef long CCoord; +#endif + +//----------------------------------------------------------------------------- +// Structure CRect +//----------------------------------------------------------------------------- +struct CRect +{ + CRect (CCoord left = 0, CCoord top = 0, CCoord right = 0, CCoord bottom = 0) + : left (left), top (top), right (right), bottom (bottom) {} + CRect (const CRect& r) + : left (r.left), top (r.top), right (r.right), bottom (r.bottom) {} + CRect& operator () (CCoord left, CCoord top, CCoord right, CCoord bottom) + { + if (left < right) + this->left = left, this->right = right; + else + this->left = right, this->right = left; + if (top < bottom) + this->top = top, this->bottom = bottom; + else + this->top = bottom, this->bottom = top; + return *this; + } + + bool operator != (const CRect& other) const + { return (left != other.left || right != other.right || + top != other.top || bottom != other.bottom); } + + bool operator == (const CRect& other) const + { return (left == other.left && right == other.right && + top == other.top && bottom == other.bottom); } + + inline CCoord width () const { return right - left; } + inline CCoord height () const { return bottom - top; } + + inline CCoord getWidth () const { return right - left; } + inline CCoord getHeight () const { return bottom - top; } + + inline void setWidth (CCoord width) { right = left + width; } + inline void setHeight (CCoord height) { bottom = top + height; } + + CRect &offset (CCoord x, CCoord y) + { left += x; right += x; top += y; bottom += y; return *this; } + + CRect &inset (CCoord deltaX, CCoord deltaY) + { left += deltaX; right -= deltaX; top += deltaY; bottom -= deltaY; + return *this; } + + CRect &moveTo (CCoord x, CCoord y) + { CCoord vDiff = y - top; CCoord hDiff = x - left; + top += vDiff; bottom += vDiff; left += hDiff; right += hDiff; + return *this; } + + bool pointInside (const CPoint& where) const; // Checks if point is inside this rect + bool isEmpty () const; + + bool rectOverlap (const CRect& rect) const + { + if (right < rect.left) return false; + if (left > rect.right) return false; + if (bottom < rect.top) return false; + if (top > rect.bottom) return false; + return true; + } + + void bound (const CRect& rect); + + union + { CCoord left; CCoord x;}; + + union + { CCoord top; CCoord y;}; + + union + { CCoord right; CCoord x2;}; + + union + { CCoord bottom; CCoord y2;}; +}; + +//----------------------------------------------------------------------------- +// Structure CPoint +//----------------------------------------------------------------------------- +struct CPoint +{ + CPoint (CCoord h = 0, CCoord v = 0) : h (h), v (v) {} + CPoint& operator () (CCoord h, CCoord v) + { this->h = h; this->v = v; return *this; } + + bool isInside (CRect& r) const + { return h >= r.left && h <= r.right && v >= r.top && v <= r.bottom; } + + bool operator != (const CPoint &other) const + { return (h != other.h || v != other.v); } + + bool operator == (const CPoint &other) const + { return (h == other.h && v == other.v); } + + CPoint &offset (CCoord h, CCoord v) + { this->h += h; this->v += v; return *this; } + + union + { CCoord h; CCoord x;}; + + union + { CCoord v; CCoord y;}; +}; + +//----------------------------------------------------------------------------- +// Structure CColor +//----------------------------------------------------------------------------- +struct CColor +{ + CColor& operator () (unsigned char red, + unsigned char green, + unsigned char blue, + unsigned char alpha) + { + this->red = red; + this->green = green; + this->blue = blue; + this->alpha = alpha; + return *this; + } + + CColor& operator = (const CColor& newColor) + { + red = newColor.red; + green = newColor.green; + blue = newColor.blue; + alpha = newColor.alpha; + return *this; + } + + CColor operator ~ () + { + CColor c; + c.red = ~red; + c.green = ~green; + c.blue = ~blue; + c.alpha = ~alpha; + return c; + } + + bool operator != (const CColor &other) const + { return (red != other.red || green != other.green || blue != other.blue || alpha != other.alpha); } + + bool operator == (const CColor &other) const + { return (red == other.red && green == other.green && blue == other.blue && alpha == other.alpha); } + + unsigned char red; + unsigned char green; + unsigned char blue; + unsigned char alpha; +}; + +// define some basic colors +extern CColor kTransparentCColor; +extern CColor kBlackCColor; +extern CColor kWhiteCColor; +extern CColor kGreyCColor; +extern CColor kRedCColor; +extern CColor kGreenCColor; +extern CColor kBlueCColor; +extern CColor kYellowCColor; +extern CColor kCyanCColor; +extern CColor kMagentaCColor; + + +//----------------------------------------------------------------------------- +// Definitions of special characters in a platform independent way + +#if WINDOWS || MOTIF +#define kDegreeSymbol "\xB0" +#define kInfiniteSymbol "oo" +#define kCopyrightSymbol "\xA9" +#define kTrademarkSymbol "\x99" +#define kRegisteredSymbol "\xAE" +#define kMicroSymbol "\x85" +#define kPerthousandSymbol "\x89" + +#elif BEOS +#define kDegreeSymbol "\xC2\xB0" +#define kInfiniteSymbol "\xE2\x88\x9E" +#define kCopyrightSymbol "\xC2\xA9" +#define kTrademarkSymbol "\xE2\x84\xA2" +#define kRegisteredSymbol "\xC2\xAE" +#define kMicroSymbol "\xC2\xB5" +#define kPerthousandSymbol "\xE2\x80\xB0" + +#elif MAC +#define kDegreeSymbol "\xA1" +#define kInfiniteSymbol "oo" +#define kCopyrightSymbol "\xA9" +#define kTrademarkSymbol "\xAA" +#define kRegisteredSymbol "\xA8" +#define kMicroSymbol "\xB5" +#define kPerthousandSymbol "\xE4" +#endif + +class CDragContainer; +class CCView; +class CAttributeListEntry; + +//----------------------------------------------------------------------------- +typedef unsigned long CViewAttributeID; +//----------------------------------------------------------------------------- +// Attributes +// all attributes where the first letter is lowercase are reserved for the vstgui lib + +extern const CViewAttributeID kCViewAttributeReferencePointer; // 'cvrp' + +//----------------------------------------------------------------------------- +//----------- +// Font Type +//----------- +enum CFont +{ + kSystemFont = 0, + kNormalFontVeryBig, + kNormalFontBig, + kNormalFont, + kNormalFontSmall, + kNormalFontSmaller, + kNormalFontVerySmall, + kSymbolFont, + + kNumStandardFonts +}; + +//----------- +// Text Face +//----------- +enum CTxtFace +{ + kNormalFace = 0, + kBoldFace = 1, + kItalicFace = 2, + kUnderlineFace = 4 +}; + +//----------- +// Line Style +//----------- +enum CLineStyle +{ + kLineSolid = 0, + kLineOnOffDash +}; + +//----------- +// Draw Mode +//----------- +enum CDrawMode +{ + kCopyMode = 0, + kOrMode, + kXorMode, + kAntialias +}; + +//---------------------------- +// Text Alignment (Horizontal) +//---------------------------- +enum CHoriTxtAlign +{ + kLeftText = 0, + kCenterText, + kRightText +}; + +//---------------------------- +// Buttons Type (+modifiers) +//---------------------------- +enum CButton +{ + kLButton = 1, + kMButton = 2, + kRButton = 4, + kShift = 8, + kControl = 16, + kAlt = 32, + kApple = 64 +}; + +//---------------------------- +// Cursor Type +//---------------------------- +enum CCursorType +{ + kCursorDefault = 0, + kCursorWait, + kCursorHSize, + kCursorVSize, + kCursorSizeAll, + kCursorNESWSize, + kCursorNWSESize, + kCursorCopy, + kCursorNotAllowed, + kCursorHand +}; + +//---------------------------- +// Knob Mode +//---------------------------- +enum CKnobMode +{ + kCircularMode = 0, + kRelativCircularMode, + kLinearMode +}; + +//---------------------------- +// Draw Style +//---------------------------- +enum CDrawStyle +{ + kDrawStroked = 0, + kDrawFilled, + kDrawFilledAndStroked +}; + +enum CMouseWheelAxis +{ + kMouseWheelAxisX = 0, + kMouseWheelAxisY +}; + +//----------------------------------------------------------------------------- +// CReferenceCounter Declaration (Reference Counting) +//----------------------------------------------------------------------------- +class CReferenceCounter +{ +public: + CReferenceCounter () : nbReference (1) {} + virtual ~CReferenceCounter () {} + + virtual void forget () { nbReference--; if (nbReference == 0) delete this; } + virtual void remember () { nbReference++; } + long getNbReference () const { return nbReference; } + +private: + long nbReference; +}; + +//----------------------------------------------------------------------------- +// CDrawContext Declaration +//! A drawing context encapsulates the drawing context of the underlying OS. It implements the drawing functions. +//----------------------------------------------------------------------------- +class CDrawContext : public CReferenceCounter +{ +public: + CDrawContext (CFrame *pFrame, void *pSystemContext, void *pWindow = 0); + virtual ~CDrawContext (); + + void moveTo (const CPoint &point); ///< move line position to point + void lineTo (const CPoint &point); ///< draw a line from current position to point + void drawLines (const CPoint* points, const long& numberOfLines); ///< draw multiple lines at once + + void drawPolygon (const CPoint *pPoints, long numberOfPoints, const CDrawStyle drawStyle = kDrawStroked); ///< draw a polygon + void polyLine (const CPoint *pPoint, long numberOfPoints); ///< draw a stroked polygon + void fillPolygon (const CPoint *pPoint, long numberOfPoints); ///< draw a filled polygon + + void drawRect (const CRect &rect, const CDrawStyle drawStyle = kDrawStroked); ///< draw a stroked rect + void fillRect (const CRect &rect); ///< draw a filled rect + + void drawArc (const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle = kDrawStroked); ///< draw a stroked arc, where the angles are in degree + void drawArc (const CRect &rect, const CPoint &point1, const CPoint &point2); ///< draw a stroked arc between point1 and point2 + void fillArc (const CRect &rect, const CPoint &point1, const CPoint &point2); ///< draw a filled arc between point1 and point2 + + void drawEllipse (const CRect &rect, const CDrawStyle drawStyle = kDrawStroked); ///< draw an ellipse + void fillEllipse (const CRect &rect); ///< draw a filled ellipse + + void drawPoint (const CPoint &point, CColor color); ///< draw a point + CColor getPoint (const CPoint& point); ///< \deprecated + + void floodFill (const CPoint& start); ///< \deprecated + + void setLineStyle (CLineStyle style); ///< set the current line style + CLineStyle getLineStyle () const { return lineStyle; } ///< get the current line style + + void setLineWidth (CCoord width); ///< set the current line width + CCoord getLineWidth () const { return frameWidth; } ///< get the current line width + + void setDrawMode (CDrawMode mode); ///< set the current draw mode, see CDrawMode + CDrawMode getDrawMode () const { return drawMode; } ///< get the current draw mode, see CDrawMode + + void setClipRect (const CRect &clip); ///< set the current clip + CRect &getClipRect (CRect &clip) const { clip = clipRect; clip.offset (-offset.h, -offset.v); return clip; } ///< get the current clip + void resetClipRect (); ///< reset the clip to the default state + + void setFillColor (const CColor color); ///< set current fill color + CColor getFillColor () const { return fillColor; } ///< get current fill color + + void setFrameColor (const CColor color); ///< set current stroke color + CColor getFrameColor () const { return frameColor; } ///< get current stroke color + + void setFontColor (const CColor color); ///< set current font color + CColor getFontColor () const { return fontColor; } ///< get current font color + void setFont (CFont fontID, const long size = 0, long style = 0); ///< set current font + CFont getFont () const { return fontId; } ///< get current font + long getFontSize () const { return fontSize; } ///< get current font size + + CCoord getStringWidth (const char* pStr); ///< get the width of a string + + void drawString (const char *pString, const CRect &rect, const short opaque = false, + const CHoriTxtAlign hAlign = kCenterText); ///< draw a string + + long getMouseButtons (); ///< get current mouse buttons + void getMouseLocation (CPoint &point); ///< get current mouse location. should not be used, see CView::getMouseLocation + bool waitDoubleClick (); ///< check if another mouse click occurs in the near future + bool waitDrag (); ///< check if the mouse will be dragged + +#if MOTIF + long getIndexColor (CColor color); + Colormap getColormap (); + Visual *getVisual (); + unsigned int getDepth (); + + static long nbNewColor; +#endif + + void *getWindow () { return pWindow; } + void setWindow (void *ptr) { pWindow = ptr; } + void getLoc (CPoint &where) const { where = penLoc; } + CFrame* getFrame () const { return pFrame; } + + CPoint offsetScreen; + CPoint offset; + + void *getSystemContext () const { return pSystemContext; } + + virtual void forget (); + + //------------------------------------------- +protected: + + friend class CBitmap; + friend class COffscreenContext; + + void *pSystemContext; + void *pWindow; + CFrame *pFrame; + + long fontSize; + long fontStyle; + CFont fontId; + CColor fontColor; + CPoint penLoc; + + CCoord frameWidth; + CColor frameColor; + CColor fillColor; + CLineStyle lineStyle; + CDrawMode drawMode; + CRect clipRect; + +#if WINDOWS + void *pBrush; + void *pPen; + void *pFont; + void *pOldBrush; + void *pOldPen; + void *pOldFont; + long iPenStyle; + HDC pHDC; + +#elif MAC + #if QUARTZ + CGContextRef gCGContext; + bool needToSynchronizeCGContext; + public: + CGContextRef getCGContext () const { return gCGContext; } + CGContextRef beginCGContext (bool swapYAxis = false); + void releaseCGContext (CGContextRef context); + void synchronizeCGContext (); + + virtual CGImageRef getCGImage () const; + protected: + #else + + FontInfo fontInfoStruct; + Pattern fillPattern; + bool bInitialized; + #endif + virtual BitMapPtr getBitmap (); + virtual void releaseBitmap (); + virtual CGrafPtr getPort (); + +#elif MOTIF + Display *pDisplay; + + XFontStruct *pFontInfoStruct; + +#elif BEOS + BView* pView; + BFont font; + void lineFromTo (CPoint& cstart, CPoint& cend); + +#endif +}; + + +//----------------------------------------------------------------------------- +// COffscreenContext Declaration +//! A drawing device which uses a pixmap as its drawing surface. +//----------------------------------------------------------------------------- +class COffscreenContext : public CDrawContext +{ +public: + COffscreenContext (CDrawContext *pContext, CBitmap *pBitmap, bool drawInBitmap = false); + COffscreenContext (CFrame *pFrame, long width, long height, const CColor backgroundColor = kBlackCColor); + + virtual ~COffscreenContext (); + + void copyFrom (CDrawContext *pContext, CRect destRect, CPoint srcOffset = CPoint (0, 0)); ///< copy from offscreen to pContext + void copyTo (CDrawContext* pContext, CRect& srcRect, CPoint destOffset = CPoint (0, 0)); ///< copy to offscreen from pContext + + inline CCoord getWidth () const { return width; } + inline CCoord getHeight () const { return height; } + + //------------------------------------------- +protected: + CBitmap *pBitmap; + CBitmap *pBitmapBg; + CCoord height; + CCoord width; + bool bDestroyPixmap; + + CColor backgroundColor; + +#if WINDOWS + void* oldBitmap; + +#elif MOTIF + Display *pXdisplay; + +#elif BEOS + BBitmap *offscreenBitmap; + +#elif MAC + #if QUARTZ + void* offscreenBitmap; + virtual CGImageRef getCGImage () const; + #else + CGrafPtr getPort (); + #endif + BitMapPtr getBitmap (); + void releaseBitmap (); +#endif +}; + + +//----------------------------------------------------------------------------- +// CBitmap Declaration +//! Encapsulates various platform depended kinds of bitmaps. +//----------------------------------------------------------------------------- +class CBitmap : public CReferenceCounter +{ +public: + CBitmap (long resourceID); ///< Create a pixmap from a resource identifier + CBitmap (CFrame &frame, CCoord width, CCoord height); ///< Create a pixmap with a given size. + virtual ~CBitmap (); + + virtual void draw (CDrawContext *pContext, CRect &rect, const CPoint &offset = CPoint (0, 0)); ///< Draw the pixmap using a given rect as output position and a given offset of its source pixmap. + virtual void drawTransparent (CDrawContext *pContext, CRect &rect, const CPoint &offset = CPoint (0, 0)); + virtual void drawAlphaBlend (CDrawContext *pContext, CRect &rect, const CPoint &offset = CPoint (0, 0), unsigned char alpha = 128); ///< Same as CBitmap::draw except that it uses the alpha value to draw the bitmap alpha blended. + + inline CCoord getWidth () const { return width; } + inline CCoord getHeight () const { return height; } + + bool isLoaded () const; + void *getHandle () const; + + void setTransparentColor (const CColor color); + CColor getTransparentColor () const { return transparentCColor; } + void setTransparencyMask (CDrawContext* pContext, const CPoint& offset = CPoint (0, 0)); + + void setNoAlpha (bool state) { noAlpha = state; } + bool getNoAlpha () const { return noAlpha; } + +#if BEOS + static void closeResource (); +#endif +#if MACX + #if QUARTZ + virtual CGImageRef createCGImage (bool transparent = false); + #endif +#endif + + //------------------------------------------- +protected: + CBitmap (); + + virtual void dispose (); + virtual bool loadFromResource (long resourceID); + virtual bool loadFromPath (const void* platformPath); // load from a platform path. On Windows it's a C string and on Mac OS X its a CFURLRef. + + long resourceID; + CCoord width; + CCoord height; + + CColor transparentCColor; + bool noAlpha; + +#if WINDOWS + void *pHandle; + void *pMask; + +#elif MOTIF + void *createPixmapFromXpm (CDrawContext *pContext); + + char **ppDataXpm; + Display *pXdisplay; + void *pHandle; + void *pMask; + +#elif MAC + void* pHandle; + void* pMask; + #if QUARTZ + void* cgImage; + #endif +#elif BEOS + static BResources *resourceFile; + BBitmap *bbitmap; + bool transparencySet; +#endif +}; + +enum { + kMessageUnknown = 0, + kMessageNotified = 1 +}; + +//----------------------------------------------------------------------------- +// CView Declaration +//----------------------------------------------------------------------------- +class CView : public CReferenceCounter +{ +public: + CView (const CRect &size); + virtual ~CView (); + + virtual void draw (CDrawContext *pContext); ///< called if the view should draw itself + virtual void drawRect (CDrawContext *pContext, const CRect& updateRect) { draw (pContext); } ///< called if the view should draw itself + virtual bool checkUpdate (CRect& updateRect) const { return updateRect.rectOverlap (size); } + virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons = -1); ///< called if a mouse click event occurs + + virtual void setBackground (CBitmap *background); ///< set the background image of this view + virtual CBitmap *getBackground () const { return pBackground; } ///< get the background image of this view + + virtual long onKeyDown (VstKeyCode& keyCode); ///< called if a key down event occurs and this view has focus + virtual long onKeyUp (VstKeyCode& keyCode); ///< called if a key up event occurs and this view has focus + + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); ///< called if a mouse wheel event is happening over this view + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance); ///< called if a mouse wheel event is happening over this view + + virtual bool onDrop (CDrawContext* context, CDragContainer* drag, const CPoint& where) { return false; } ///< called if a drag is dropped onto this view + virtual void onDragEnter (CDrawContext* context, CDragContainer* drag, const CPoint& where) {} ///< called if a drag is entering this view + virtual void onDragLeave (CDrawContext* context, CDragContainer* drag, const CPoint& where) {} ///< called if a drag is leaving this view + virtual void onDragMove (CDrawContext* context, CDragContainer* drag, const CPoint& where) {} ///< called if a drag is current moved over this view + + virtual void looseFocus (CDrawContext *pContext = 0); ///< called if view should loose focus + virtual void takeFocus (CDrawContext *pContext = 0); ///< called if view should take focus + + virtual bool isDirty () const { return bDirty; } ///< check if view is dirty + virtual void setDirty (const bool val = true) { bDirty = val; } ///< set the view to dirty so that it is redrawn in the next idle. Thread Safe ! + + virtual void setMouseEnabled (const bool bEnable = true) { bMouseEnabled = bEnable; } ///< turn on/off mouse usage for this view + virtual bool getMouseEnabled () const { return bMouseEnabled; } ///< get the state of wheather this view uses the mouse or not + + virtual void setMouseableArea (const CRect &rect) { mouseableArea = rect; } ///< set the area in which the view reacts to the mouse + virtual CRect &getMouseableArea (CRect &rect) const { rect = mouseableArea; return rect;} ///< get the area in which the view reacts to the mouse + + virtual bool hitTest (const CPoint& where, const long buttons = -1) { return where.isInside (mouseableArea); } ///< check if where hits this view + + virtual void setTransparency (bool val) { bTransparencyEnabled = val; } ///< set views transparent state + virtual bool getTransparency () const { return bTransparencyEnabled; } ///< is view transparent ? + + CCoord getHeight () const { return size.height (); } ///< get the height of the view + CCoord getWidth () const { return size.width (); } ///< get the width of the view + + virtual void setViewSize (CRect &rect); ///< set views size + virtual CRect &getViewSize (CRect &rect) const { rect = size; return rect; } ///< returns the current view size + + virtual bool removed (CView* parent) { return true; } ///< view is removed from parent view + virtual bool attached (CView* view) { return true; } ///< view is attached to a parent view + + virtual void getMouseLocation (CDrawContext* context, CPoint &point); ///< get current mouse location in local view coordinates + + virtual CPoint& frameToLocal (CPoint& point) const; ///< conversion from frame coordinates to local view coordinates + virtual CPoint& localToFrame (CPoint& point) const; ///< conversion from local view coordinates to frame coordinates + + bool getAttributeSize (const CViewAttributeID id, long& outSize) const; ///< get the size of an attribute + bool getAttribute (const CViewAttributeID id, const long inSize, void* outData, long& outSize) const; ///< get an attribute + bool setAttribute (const CViewAttributeID id, const long inSize, void* inData); ///< set an attribute + + CView *getParentView () const { return pParentView; } + CFrame *getFrame () const { return pParentFrame; } + virtual void *getEditor () const; + + virtual long notify (CView* sender, const char* message); + void redraw (); + virtual void redrawRect (CDrawContext* context, const CRect& rect); + + virtual bool wantsFocus () const { return bWantsFocus; } ///< check if view supports focus + virtual void setWantsFocus (bool state) { bWantsFocus = state; } ///< set focus support on/off + + #if DEBUG + virtual void dumpInfo (); + #endif + + virtual bool isTypeOf (const char* s) const + { return (!strcmp (s, "CView")); } + +#if ENABLE_DEPRECATED_METHODS + // deprecated methods will be placed here, so that people who really need them can turn the macro on + + virtual void setParentView (CView *pParentView) { this->pParentView = pParentView; } ///< \deprecated + virtual void setFrame (CFrame *pParent) { this->pParentFrame = pParent; } ///< \deprecated + virtual void getFrameTopLeftPos (CPoint& topLeft) const; ///< \deprecated +#endif + //------------------------------------------- +protected: + friend class CControl; + friend class CFrame; + friend class CViewContainer; + + CRect size; + CRect mouseableArea; + + CFrame *pParentFrame; + CView *pParentView; + + bool bDirty; + bool bMouseEnabled; + bool bTransparencyEnabled; + bool bWantsFocus; + + CBitmap* pBackground; + CAttributeListEntry* pAttributeList; + + virtual void update (CDrawContext *pContext); // don't call this !!! +}; + +// Message to check if View is a CViewContainer +extern char* kMsgCheckIfViewContainer; + +//----------------------------------------------------------------------------- +// CViewContainer Declaration +//! Container Class of CView objects. +//----------------------------------------------------------------------------- +class CViewContainer : public CView +{ +public: + CViewContainer (const CRect &size, CFrame *pParent, CBitmap *pBackground = 0); + virtual ~CViewContainer (); + + virtual void addView (CView *pView); ///< add a child view + virtual void addView (CView *pView, CRect &mouseableArea, bool mouseEnabled = true); ///< add a child view + virtual void removeView (CView *pView, const bool &withForget = true); ///< remove a child view + virtual void removeAll (const bool &withForget = true); ///< remove all child views + virtual bool isChild (CView *pView) const; ///< check if pView is a child view of this container + virtual long getNbViews () const; ///< get the number of child views + virtual CView *getView (long index) const; ///< get the child view at index + + virtual void setBackgroundColor (const CColor color); ///< set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap) + virtual CColor getBackgroundColor () const { return backgroundColor; } ///< get the background color + virtual void setBackgroundOffset (const CPoint &p) { backgroundOffset = p; } ///< set the offset of the background bitmap + virtual const CPoint& getBackgroundOffset () const { return backgroundOffset; } ///< get the offset of the background bitmap + + virtual void drawBackgroundRect (CDrawContext *pContext, CRect& _updateRect); ///< draw the background + + enum { + kNormalUpdate = 0, ///< this mode redraws the whole container if something is dirty + kOnlyDirtyUpdate ///< this mode only redraws the views which are dirty + }; + + virtual void setMode (long val) { mode = val; } ///< set the update mode + virtual long getMode () const { return mode; } ///< get the update mode + + virtual void useOffscreen (bool b); ///< turn on/off using an offscreen + + virtual CView *getCurrentView () const; ///< get the current view under the mouse + virtual CView *getViewAt (const CPoint& where, bool deep = false) const; ///< get the view at point where + + void modifyDrawContext (CCoord save[4], CDrawContext* pContext); + void restoreDrawContext (CDrawContext* pContext, CCoord save[4]); + + // CView + virtual void draw (CDrawContext *pContext); + virtual void drawRect (CDrawContext *pContext, const CRect& updateRect); + virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance); + virtual void update (CDrawContext *pContext); + virtual bool hitTest (const CPoint& where, const long buttons = -1); + virtual long onKeyDown (VstKeyCode& keyCode); + virtual long onKeyUp (VstKeyCode& keyCode); + virtual long notify (CView* sender, const char* message); + + virtual bool onDrop (CDrawContext* context, CDragContainer* drag, const CPoint& where); + virtual void onDragEnter (CDrawContext* context, CDragContainer* drag, const CPoint& where); + virtual void onDragLeave (CDrawContext* context, CDragContainer* drag, const CPoint& where); + virtual void onDragMove (CDrawContext* context, CDragContainer* drag, const CPoint& where); + + virtual void looseFocus (CDrawContext *pContext = 0); + virtual void takeFocus (CDrawContext *pContext = 0); + virtual bool advanceNextFocusView (CView* oldFocus, bool reverse = false); + + virtual bool isDirty () const; + + virtual void setViewSize (CRect &rect); + + virtual bool removed (CView* parent); + virtual bool attached (CView* view); + + virtual CPoint& frameToLocal (CPoint& point) const; + virtual CPoint& localToFrame (CPoint& point) const; + + virtual void redrawRect (CDrawContext* context, const CRect& rect); + + CLASS_METHODS(CViewContainer, CView) + + #if DEBUG + virtual void dumpInfo (); + virtual void dumpHierarchy (); + #endif + + //------------------------------------------- +protected: + bool hitTestSubViews (const CPoint& where, const long buttons = -1); + + CCView *pFirstView; + CCView *pLastView; + long mode; + COffscreenContext *pOffscreenContext; + CColor backgroundColor; + CPoint backgroundOffset; + bool bDrawInOffscreen; + + CView* currentDragView; +}; + +//----------------------------------------------------------------------------- +// CFrame Declaration +//! The CFrame is the parent container of all views. +//----------------------------------------------------------------------------- +class CFrame : public CViewContainer +{ +public: + CFrame (const CRect &size, void *pSystemWindow, void *pEditor); + CFrame (const CRect &size, const char *pTitle, void *pEditor, const long style = 0); + + virtual ~CFrame (); + + virtual bool open (CPoint *pPoint = 0); + virtual bool close (); + virtual bool isOpen () const { return bOpenFlag; } + + virtual void idle (); + virtual void doIdleStuff (); + + virtual unsigned long getTicks () const; ///< get the current time (in ms) + virtual long getKnobMode () const; ///< get hosts knob mode + + virtual bool setPosition (CCoord x, CCoord y); + virtual bool getPosition (CCoord &x, CCoord &y) const; + + virtual bool setSize (CCoord width, CCoord height); + virtual bool getSize (CRect *pSize) const; + virtual bool getSize (CRect &pSize) const; + + virtual long setModalView (CView *pView); + virtual CView *getModalView () const { return pModalView; } + + virtual void beginEdit (long index); + virtual void endEdit (long index); + + virtual bool getCurrentLocation (CPoint &where); + virtual void setCursor (CCursorType type); + + virtual void setFocusView (CView *pView); + virtual CView *getFocusView () const { return pFocusView; } + virtual bool advanceNextFocusView (CView* oldFocus, bool reverse = false); + + virtual bool setDropActive (bool val); + virtual bool isDropActive () const { return bDropActive; }; + + CDrawContext* createDrawContext (); + + virtual void setOpenFlag (bool val) { bOpenFlag = val;}; + virtual bool getOpenFlag () const { return bOpenFlag; }; + + virtual void invalidate (const CRect &rect); + + virtual bool updatesDisabled () const { return bUpdatesDisabled; } + virtual bool updatesDisabled (bool state) { bool before = bUpdatesDisabled; bUpdatesDisabled = state; return before; } + + #if WINDOWS + HWND getOuterWindow () const; + void *getSystemWindow () const { return pHwnd; } + COffscreenContext* getBackBuffer (); + #elif BEOS + void *getSystemWindow () const { return pPlugView; } + #else + void *getSystemWindow () const { return pSystemWindow; } + #endif + void *getParentSystemWindow () const { return pSystemWindow; } + void setParentSystemWindow (void *val) { pSystemWindow = val; } + + // CView + virtual void draw (CDrawContext *pContext); + virtual void drawRect (CDrawContext *pContext, const CRect& updateRect); + virtual void draw (CView *pView = 0); + virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons = -1); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, float distance); + virtual bool onWheel (CDrawContext *pContext, const CPoint &where, const CMouseWheelAxis axis, float distance); + virtual long onKeyDown (VstKeyCode& keyCode); + virtual long onKeyUp (VstKeyCode& keyCode); + virtual void update (CDrawContext *pContext); + virtual void setViewSize (CRect& inRect); + virtual CView *getCurrentView () const; + + virtual void *getEditor () const { return pEditor; } + +#if MOTIF + Colormap getColormap () const { return colormap; } + Visual *getVisual () const { return pVisual; } + unsigned int getDepth () const { return depth; } + Display *getDisplay () const { return pDisplay; } + Window getWindow () const { return window; } + void freeGc (); + + Region region; + + GC gc; + GC getGC () const { return gc; } +#endif + + #if DEBUG + virtual void dumpHierarchy (); + #endif + + CLASS_METHODS(CFrame, CViewContainer) + + //------------------------------------------- +protected: + bool initFrame (void *pSystemWin); + + void *pEditor; + + void *pSystemWindow; + CView *pModalView; + CView *pFocusView; + + bool bFirstDraw; + bool bOpenFlag; + bool bDropActive; + bool bUpdatesDisabled; + +#if WINDOWS + void *pHwnd; + HINSTANCE hInstMsimg32dll; + void* dropTarget; + COffscreenContext* backBuffer; + +#elif MOTIF + Colormap colormap; + Display *pDisplay; + Visual *pVisual; + Window window; + unsigned int depth; + + friend void _destroyCallback (Widget, XtPointer, XtPointer); + +#elif BEOS + PlugView *pPlugView; +#endif +#if QUARTZ + void setDrawContext (CDrawContext* context) { pFrameContext = context; } + friend class CDrawContext; + + static pascal OSStatus carbonEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData); + bool registerWithToolbox (); + + ControlDefSpec controlSpec; + ControlRef controlRef; + bool hasFocus; + EventHandlerRef dragEventHandler; + public: + void* getPlatformControl () const { return controlRef; } + CPoint hiScrollOffset; + protected: +#endif + //------------------------------------------- +private: + CDrawContext *pFrameContext; + bool bAddedWindow; + void *pVstWindow; + void *defaultCursor; +}; + +//----------------------------------------------------------------------------- +// CDragContainer Declaration +//----------------------------------------------------------------------------- +class CDragContainer : public CReferenceCounter +{ +public: + CDragContainer (void* platformDrag); + ~CDragContainer (); + + void* first (long& size, long& type); ///< returns pointer on a char array if type is known + void* next (long& size, long& type); ///< returns pointer on a char array if type is known + + long getType (long idx) const; + long getCount () const { return nbItems; } + + enum { + kFile = 0, + kText, + + kUnknown = -1 + }; + +protected: + void* platformDrag; + long nbItems; + + long iterator; + void* lastItem; +}; + +//----------------------------------------------------------------------------- +// CCView Declaration +//----------------------------------------------------------------------------- +class CCView +{ +public: + CCView (CView *pView); + ~CCView (); + + CView *pView; + CCView *pNext; + CCView *pPrevious; +}; + +END_NAMESPACE_VSTGUI + +// include the control objects +#ifndef __vstcontrols__ +#include "vstcontrols.h" +#endif + +USING_NAMESPACE_VSTGUI + +//-End VSTGUI.H-------------------------------------- +#endif // __vstgui__ diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstkeycode.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstkeycode.h new file mode 100644 index 0000000..8a817bd --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstkeycode.h @@ -0,0 +1,91 @@ +#ifndef __vstkeycode__ +#define __vstkeycode__ + +#ifndef __aeffectx__ +// define VstKeyCode for non VST useage + +//---Structure and enum used for keyUp/keyDown----- +struct VstKeyCode +{ + long character; + unsigned char virt; // see enum VstVirtualKey + unsigned char modifier; // see enum VstModifierKey +}; + +//---Used by member virt of VstKeyCode------------- +enum VstVirtualKey +{ + VKEY_BACK = 1, + VKEY_TAB, + VKEY_CLEAR, + VKEY_RETURN, + VKEY_PAUSE, + VKEY_ESCAPE, + VKEY_SPACE, + VKEY_NEXT, + VKEY_END, + VKEY_HOME, + + VKEY_LEFT, + VKEY_UP, + VKEY_RIGHT, + VKEY_DOWN, + VKEY_PAGEUP, + VKEY_PAGEDOWN, + + VKEY_SELECT, + VKEY_PRINT, + VKEY_ENTER, + VKEY_SNAPSHOT, + VKEY_INSERT, + VKEY_DELETE, + VKEY_HELP, + VKEY_NUMPAD0, + VKEY_NUMPAD1, + VKEY_NUMPAD2, + VKEY_NUMPAD3, + VKEY_NUMPAD4, + VKEY_NUMPAD5, + VKEY_NUMPAD6, + VKEY_NUMPAD7, + VKEY_NUMPAD8, + VKEY_NUMPAD9, + VKEY_MULTIPLY, + VKEY_ADD, + VKEY_SEPARATOR, + VKEY_SUBTRACT, + VKEY_DECIMAL, + VKEY_DIVIDE, + VKEY_F1, + VKEY_F2, + VKEY_F3, + VKEY_F4, + VKEY_F5, + VKEY_F6, + VKEY_F7, + VKEY_F8, + VKEY_F9, + VKEY_F10, + VKEY_F11, + VKEY_F12, + VKEY_NUMLOCK, + VKEY_SCROLL, + + VKEY_SHIFT, + VKEY_CONTROL, + VKEY_ALT, + + VKEY_EQUALS +}; + +//---Used by member modifier of VstKeyCode--------- +enum VstModifierKey +{ + MODIFIER_SHIFT = 1<<0, // Shift + MODIFIER_ALTERNATE = 1<<1, // Alt + MODIFIER_COMMAND = 1<<2, // Control on Mac + MODIFIER_CONTROL = 1<<3 // Ctrl on PC, Apple on Mac +}; +#endif + +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugscarbon.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugscarbon.h new file mode 100644 index 0000000..e0e42c0 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugscarbon.h @@ -0,0 +1,15 @@ + +#define MAC 1 +#define WINDOWS 0 +//#define PC 0 +#define SGI 0 +#define MOTIF 0 +#define BEBOX 0 + +#define CARBON 1 + +#define TARGET_API_MAC_CARBON 1 +#define TARGET_OS_MAC 1 +#define OLDP2C 1 +#define OPAQUE_TOOLBOX_STRUCTS 1 +#define USENAVSERVICES 1 \ No newline at end of file diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmac.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmac.h new file mode 100644 index 0000000..b7ccb69 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmac.h @@ -0,0 +1,15 @@ +#define MAC 1 +#define WINDOWS 0 +#define SGI 0 +#define MOTIF 0 +#define BEBOX 0 +#define RHAPSODY 0 + +#define TARGET_OS_MAC 1 +#define OPAQUE_TOOLBOX_STRUCTS 0 +#define ACCESSOR_CALLS_ARE_FUNCTIONS 0 +#define CALL_NOT_IN_CARBON 1 +#define USENAVSERVICES 1 + +#define GetPortBounds(port,rect) *(rect) = port->portRect +#define GetPortPixMap(port) port->portPixMap diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmacho.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmacho.h new file mode 100644 index 0000000..824d006 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsmacho.h @@ -0,0 +1,22 @@ +#define MAC 1 +#define MACX 1 +#define WINDOWS 0 +#define SGI 0 +#define MOTIF 0 +#define BEBOX 0 + +#define USE_NAMESPACE 0 +#define CARBON 1 + +#define TARGET_API_MAC_CARBON 1 +#define TARGET_OS_MAC 1 +#define OLDP2C 1 +#define OPAQUE_TOOLBOX_STRUCTS 1 +#define USENAVSERVICES 1 + +#define __DEBUGGING__ +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsquartz.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsquartz.h new file mode 100644 index 0000000..d90058f --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/vstplugsquartz.h @@ -0,0 +1,24 @@ +#define MAC 1 +#define MACX 1 +#define WINDOWS 0 +#define SGI 0 +#define MOTIF 0 +#define BEBOX 0 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#define MAC_OS_X_VERSION_MIN_REQUIRED 1020 +#define MAC_OS_X_VERSION_MAX_ALLOWED 1030 + +#include -- cgit v1.2.3-70-g09d2