From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/Lib/application.mi | 88 + Src/Wasabi/Lib/colormgr.mi | 119 + Src/Wasabi/Lib/com/AutoRepeatButton.m | 100 + Src/Wasabi/Lib/com/centerlayer.m | 84 + Src/Wasabi/Lib/com/customseek.m | 118 + Src/Wasabi/Lib/com/debug.m | 52 + Src/Wasabi/Lib/com/dispatch_ifc.m | 99 + Src/Wasabi/Lib/com/dragvolume.m | 67 + Src/Wasabi/Lib/com/fillbar.m | 173 + Src/Wasabi/Lib/com/glow.m | 111 + Src/Wasabi/Lib/com/glowobject.m | 176 + Src/Wasabi/Lib/com/rotationlayer.m | 108 + Src/Wasabi/Lib/com/songinfo.m | 104 + Src/Wasabi/Lib/config.mi | 29 + Src/Wasabi/Lib/core.mi | 81 + Src/Wasabi/Lib/exd.mi | 118 + Src/Wasabi/Lib/fileio.mi | 130 + Src/Wasabi/Lib/pldir.mi | 96 + Src/Wasabi/Lib/private.mi | 26 + Src/Wasabi/Lib/std.mi | 2778 ++++++++++ Src/Wasabi/Lib/winampconfig.mi | 73 + Src/Wasabi/Wasabi.sln | 40 + Src/Wasabi/Wasabi.vcxproj | 281 + Src/Wasabi/Wasabi.vcxproj.filters | 273 + Src/Wasabi/Wasabi.xcodeproj/project.pbxproj | 2050 +++++++ Src/Wasabi/api.h | 54 + Src/Wasabi/api/apiconfig.h | 176 + Src/Wasabi/api/apiinit.cpp | 548 ++ Src/Wasabi/api/apiinit.h | 255 + Src/Wasabi/api/application/api_application.cpp | 12 + Src/Wasabi/api/application/api_application.h | 416 ++ Src/Wasabi/api/application/api_applicationi.cpp | 204 + Src/Wasabi/api/application/api_applicationi.h | 49 + Src/Wasabi/api/application/api_applicationx.cpp | 33 + Src/Wasabi/api/application/api_applicationx.h | 42 + .../api/application/ifc_messageprocessor.cpp | 1 + Src/Wasabi/api/application/ifc_messageprocessor.h | 26 + .../api/application/ifc_messageprocessori.cpp | 7 + Src/Wasabi/api/application/ifc_messageprocessori.h | 13 + Src/Wasabi/api/application/ipcs.cpp | 97 + Src/Wasabi/api/application/ipcs.h | 60 + Src/Wasabi/api/application/pathmgr.cpp | 14 + Src/Wasabi/api/application/pathmgr.h | 15 + Src/Wasabi/api/application/version.cpp | 47 + Src/Wasabi/api/application/version.h | 12 + Src/Wasabi/api/application/wkc.cpp | 12 + Src/Wasabi/api/application/wkc.h | 61 + Src/Wasabi/api/config/api_config.cpp | 12 + Src/Wasabi/api/config/api_config.h | 149 + Src/Wasabi/api/config/api_configi.cpp | 124 + Src/Wasabi/api/config/api_configi.h | 46 + Src/Wasabi/api/config/api_configx.cpp | 37 + Src/Wasabi/api/config/api_configx.h | 44 + Src/Wasabi/api/config/cfglist.cpp | 50 + Src/Wasabi/api/config/cfglist.h | 23 + Src/Wasabi/api/config/cfgscriptobj.cpp | 371 ++ Src/Wasabi/api/config/cfgscriptobj.h | 198 + Src/Wasabi/api/config/config.cpp | 329 ++ Src/Wasabi/api/config/config.h | 43 + Src/Wasabi/api/config/configapi.cpp | 95 + Src/Wasabi/api/config/configapi.h | 32 + Src/Wasabi/api/config/filetypes.cpp | 576 ++ Src/Wasabi/api/config/filetypes.h | 46 + Src/Wasabi/api/config/items/attrbool.h | 65 + Src/Wasabi/api/config/items/attrcb.h | 127 + Src/Wasabi/api/config/items/attrfloat.h | 52 + Src/Wasabi/api/config/items/attrfn.h | 15 + Src/Wasabi/api/config/items/attrhandler.h | 129 + Src/Wasabi/api/config/items/attribs.h | 12 + Src/Wasabi/api/config/items/attribute.cpp | 131 + Src/Wasabi/api/config/items/attribute.h | 218 + Src/Wasabi/api/config/items/attrint.h | 65 + Src/Wasabi/api/config/items/attrstr.cpp | 14 + Src/Wasabi/api/config/items/attrstr.h | 85 + Src/Wasabi/api/config/items/cfgitem.h | 233 + Src/Wasabi/api/config/items/cfgitemi.cpp | 274 + Src/Wasabi/api/config/items/cfgitemi.h | 158 + Src/Wasabi/api/config/items/cfgitemx.cpp | 27 + Src/Wasabi/api/config/items/cfgitemx.h | 42 + Src/Wasabi/api/config/items/intarray.cpp | 49 + Src/Wasabi/api/config/items/intarray.h | 18 + Src/Wasabi/api/config/options.cpp | 211 + Src/Wasabi/api/config/options.h | 64 + Src/Wasabi/api/config/uioptions.cpp | 109 + Src/Wasabi/api/config/uioptions.h | 13 + Src/Wasabi/api/console/console.cpp | 33 + Src/Wasabi/api/console/console.h | 19 + Src/Wasabi/api/core/api_core.cpp | 51 + Src/Wasabi/api/core/api_core.h | 371 ++ Src/Wasabi/api/core/buttons.h | 18 + Src/Wasabi/api/core/coreactions.cpp | 181 + Src/Wasabi/api/core/coreactions.h | 47 + Src/Wasabi/api/core/corehandle.cpp | 304 ++ Src/Wasabi/api/core/corehandle.h | 560 ++ Src/Wasabi/api/core/sequence.cpp | 92 + Src/Wasabi/api/core/sequence.h | 123 + Src/Wasabi/api/dependency/api_dependent.cpp | 2 + Src/Wasabi/api/dependency/api_dependent.h | 54 + Src/Wasabi/api/dependency/api_dependentviewer.cpp | 2 + Src/Wasabi/api/dependency/api_dependentviewer.h | 30 + Src/Wasabi/api/filereader/api_filereader.cpp | 20 + Src/Wasabi/api/filereader/api_filereader.h | 104 + Src/Wasabi/api/filereader/api_readercallback.h | 22 + Src/Wasabi/api/filereader/filereaderapi.cpp | 53 + Src/Wasabi/api/filereader/filereaderapi.h | 25 + Src/Wasabi/api/filereader/local/fileread.cpp | 132 + Src/Wasabi/api/filereader/local/fileread.h | 23 + Src/Wasabi/api/filereader/svc_filereadI.h | 100 + Src/Wasabi/api/filereader/zip/zipread.cpp | 176 + Src/Wasabi/api/filereader/zip/zipread.h | 39 + Src/Wasabi/api/font/FontCreator.h | 7 + Src/Wasabi/api/font/FontSvcEnum.h | 18 + Src/Wasabi/api/font/api_font.cpp | 11 + Src/Wasabi/api/font/api_font.h | 36 + Src/Wasabi/api/font/bitmapfont.cpp | 394 ++ Src/Wasabi/api/font/bitmapfont.h | 70 + Src/Wasabi/api/font/font.cpp | 637 +++ Src/Wasabi/api/font/font.h | 55 + Src/Wasabi/api/font/fontapi.cpp | 32 + Src/Wasabi/api/font/fontapi.h | 20 + Src/Wasabi/api/font/linux/truetypefont_linux.cpp | 472 ++ Src/Wasabi/api/font/linux/truetypefont_linux.h | 65 + Src/Wasabi/api/font/skinfont.cpp | 43 + Src/Wasabi/api/font/skinfont.h | 17 + Src/Wasabi/api/font/svc_fontI.h | 39 + Src/Wasabi/api/font/truetypefontdef.h | 56 + Src/Wasabi/api/font/win32/truetypefont_win32.cpp | 561 ++ Src/Wasabi/api/font/win32/truetypefont_win32.h | 61 + Src/Wasabi/api/imgldr/ImgLoaderEnum.h | 24 + Src/Wasabi/api/imgldr/api_imgldr.cpp | 20 + Src/Wasabi/api/imgldr/api_imgldr.h | 98 + Src/Wasabi/api/imgldr/imggen/grad.cpp | 60 + Src/Wasabi/api/imgldr/imggen/grad.h | 15 + Src/Wasabi/api/imgldr/imggen/imggen.cpp | 29 + Src/Wasabi/api/imgldr/imggen/imggen.h | 14 + Src/Wasabi/api/imgldr/imggen/osedge.cpp | 95 + Src/Wasabi/api/imgldr/imggen/osedge.h | 13 + Src/Wasabi/api/imgldr/imggen/poly.cpp | 59 + Src/Wasabi/api/imgldr/imggen/poly.h | 13 + Src/Wasabi/api/imgldr/imggen/shadowwnd.cpp | 152 + Src/Wasabi/api/imgldr/imggen/shadowwnd.h | 40 + Src/Wasabi/api/imgldr/imggen/solid.cpp | 67 + Src/Wasabi/api/imgldr/imggen/solid.h | 14 + Src/Wasabi/api/imgldr/imgldr.cpp | 554 ++ Src/Wasabi/api/imgldr/imgldr.h | 86 + Src/Wasabi/api/imgldr/imgldrapi.cpp | 81 + Src/Wasabi/api/imgldr/imgldrapi.h | 23 + Src/Wasabi/api/imgldr/skinbmps.h | 122 + Src/Wasabi/api/imgldr/winbmp.h | 47 + Src/Wasabi/api/locales/LocalesInfo.cpp | 41 + Src/Wasabi/api/locales/LocalesInfo.h | 30 + Src/Wasabi/api/locales/api_locales.cpp | 12 + Src/Wasabi/api/locales/api_locales.h | 80 + Src/Wasabi/api/locales/api_localesi.cpp | 47 + Src/Wasabi/api/locales/api_localesi.h | 23 + Src/Wasabi/api/locales/api_localesx.cpp | 26 + Src/Wasabi/api/locales/api_localesx.h | 31 + Src/Wasabi/api/locales/localesmgr.cpp | 462 ++ Src/Wasabi/api/locales/localesmgr.h | 173 + Src/Wasabi/api/locales/xlatstr.h | 68 + Src/Wasabi/api/memmgr/api_memmgr.cpp | 13 + Src/Wasabi/api/memmgr/api_memmgr.h | 78 + Src/Wasabi/api/metrics/metricscb.h | 37 + Src/Wasabi/api/script/api_maki.cpp | 12 + Src/Wasabi/api/script/api_maki.h | 392 ++ Src/Wasabi/api/script/api_makidebug.cpp | 20 + Src/Wasabi/api/script/api_makidebug.h | 134 + Src/Wasabi/api/script/api_makii.cpp | 264 + Src/Wasabi/api/script/api_makii.h | 93 + Src/Wasabi/api/script/api_makix.cpp | 72 + Src/Wasabi/api/script/api_makix.h | 81 + Src/Wasabi/api/script/debugger/api_makidebug.cpp | 20 + Src/Wasabi/api/script/debugger/api_makidebug.h | 134 + Src/Wasabi/api/script/debugger/debugapi.cpp | 62 + Src/Wasabi/api/script/debugger/debugapi.h | 28 + Src/Wasabi/api/script/debugger/debuggerui.cpp | 11 + Src/Wasabi/api/script/debugger/debuggerui.h | 42 + Src/Wasabi/api/script/debugger/debugsymbols.cpp | 75 + Src/Wasabi/api/script/debugger/debugsymbols.h | 38 + Src/Wasabi/api/script/debugger/disasm.cpp | 193 + Src/Wasabi/api/script/debugger/disasm.h | 38 + Src/Wasabi/api/script/debugger/jitd.cpp | 176 + Src/Wasabi/api/script/debugger/jitd.h | 71 + Src/Wasabi/api/script/debugger/jitdbreak.cpp | 27 + Src/Wasabi/api/script/debugger/jitdbreak.h | 22 + Src/Wasabi/api/script/debugger/sdebuggerui.cpp | 437 ++ Src/Wasabi/api/script/debugger/sdebuggerui.h | 65 + Src/Wasabi/api/script/debugger/sourcecodeline.cpp | 69 + Src/Wasabi/api/script/debugger/sourcecodeline.h | 100 + Src/Wasabi/api/script/debugger/vcpudebug.cpp | 99 + Src/Wasabi/api/script/debugger/vcpudebug.h | 39 + Src/Wasabi/api/script/guru.cpp | 216 + Src/Wasabi/api/script/guru.h | 51 + Src/Wasabi/api/script/makiapi.cpp | 248 + Src/Wasabi/api/script/makiapi.h | 66 + Src/Wasabi/api/script/objcontroller.cpp | 156 + Src/Wasabi/api/script/objcontroller.h | 316 ++ Src/Wasabi/api/script/objcontrollert.cpp | 1 + Src/Wasabi/api/script/objcontrollert.h | 67 + .../api/script/objects/PlaylistScriptObject.cpp | 438 ++ .../api/script/objects/PlaylistScriptObject.h | 102 + .../api/script/objects/c_script/c_browser.cpp | 127 + Src/Wasabi/api/script/objects/c_script/c_browser.h | 49 + .../api/script/objects/c_script/c_button.cpp | 104 + Src/Wasabi/api/script/objects/c_script/c_button.h | 45 + .../api/script/objects/c_script/c_checkbox.cpp | 84 + .../api/script/objects/c_script/c_checkbox.h | 39 + .../api/script/objects/c_script/c_container.cpp | 179 + .../api/script/objects/c_script/c_container.h | 61 + .../api/script/objects/c_script/c_dropdownlist.cpp | 184 + .../api/script/objects/c_script/c_dropdownlist.h | 63 + Src/Wasabi/api/script/objects/c_script/c_edit.cpp | 135 + Src/Wasabi/api/script/objects/c_script/c_edit.h | 53 + Src/Wasabi/api/script/objects/c_script/c_group.cpp | 99 + Src/Wasabi/api/script/objects/c_script/c_group.h | 43 + .../api/script/objects/c_script/c_grouplist.cpp | 85 + .../api/script/objects/c_script/c_grouplist.h | 39 + .../api/script/objects/c_script/c_guilist.cpp | 722 +++ Src/Wasabi/api/script/objects/c_script/c_guilist.h | 189 + .../api/script/objects/c_script/c_guiobject.cpp | 739 +++ .../api/script/objects/c_script/c_guiobject.h | 193 + .../api/script/objects/c_script/c_guitree.cpp | 491 ++ Src/Wasabi/api/script/objects/c_script/c_guitree.h | 131 + .../api/script/objects/c_script/c_layout.cpp | 236 + Src/Wasabi/api/script/objects/c_script/c_layout.h | 79 + .../api/script/objects/c_script/c_menubutton.cpp | 80 + .../api/script/objects/c_script/c_menubutton.h | 39 + .../api/script/objects/c_script/c_querylist.cpp | 49 + .../api/script/objects/c_script/c_querylist.h | 31 + .../api/script/objects/c_script/c_rootobj.cpp | 64 + Src/Wasabi/api/script/objects/c_script/c_rootobj.h | 33 + .../api/script/objects/c_script/c_slider.cpp | 100 + Src/Wasabi/api/script/objects/c_script/c_slider.h | 43 + .../api/script/objects/c_script/c_tabsheet.cpp | 59 + .../api/script/objects/c_script/c_tabsheet.h | 33 + Src/Wasabi/api/script/objects/c_script/c_text.cpp | 89 + Src/Wasabi/api/script/objects/c_script/c_text.h | 40 + .../api/script/objects/c_script/c_togglebutton.cpp | 59 + .../api/script/objects/c_script/c_togglebutton.h | 33 + .../api/script/objects/c_script/c_treeitem.cpp | 310 ++ .../api/script/objects/c_script/c_treeitem.h | 99 + Src/Wasabi/api/script/objects/c_script/gen.m | 22 + .../api/script/objects/c_script/h_browser.cpp | 85 + Src/Wasabi/api/script/objects/c_script/h_browser.h | 35 + .../api/script/objects/c_script/h_button.cpp | 62 + Src/Wasabi/api/script/objects/c_script/h_button.h | 35 + .../api/script/objects/c_script/h_checkbox.cpp | 56 + .../api/script/objects/c_script/h_checkbox.h | 31 + .../api/script/objects/c_script/h_container.cpp | 65 + .../api/script/objects/c_script/h_container.h | 37 + .../api/script/objects/c_script/h_dropdownlist.cpp | 56 + .../api/script/objects/c_script/h_dropdownlist.h | 31 + Src/Wasabi/api/script/objects/c_script/h_edit.cpp | 65 + Src/Wasabi/api/script/objects/c_script/h_edit.h | 37 + Src/Wasabi/api/script/objects/c_script/h_group.cpp | 56 + Src/Wasabi/api/script/objects/c_script/h_group.h | 31 + .../api/script/objects/c_script/h_grouplist.cpp | 53 + .../api/script/objects/c_script/h_grouplist.h | 29 + .../api/script/objects/c_script/h_guilist.cpp | 83 + Src/Wasabi/api/script/objects/c_script/h_guilist.h | 49 + .../api/script/objects/c_script/h_guiobject.cpp | 117 + .../api/script/objects/c_script/h_guiobject.h | 71 + .../api/script/objects/c_script/h_guitree.cpp | 80 + Src/Wasabi/api/script/objects/c_script/h_guitree.h | 47 + .../api/script/objects/c_script/h_layout.cpp | 80 + Src/Wasabi/api/script/objects/c_script/h_layout.h | 47 + .../api/script/objects/c_script/h_menubutton.cpp | 62 + .../api/script/objects/c_script/h_menubutton.h | 35 + .../api/script/objects/c_script/h_querylist.cpp | 54 + .../api/script/objects/c_script/h_querylist.h | 31 + .../api/script/objects/c_script/h_rootobj.cpp | 41 + Src/Wasabi/api/script/objects/c_script/h_rootobj.h | 30 + .../api/script/objects/c_script/h_slider.cpp | 62 + Src/Wasabi/api/script/objects/c_script/h_slider.h | 35 + .../api/script/objects/c_script/h_tabsheet.cpp | 53 + .../api/script/objects/c_script/h_tabsheet.h | 29 + Src/Wasabi/api/script/objects/c_script/h_text.cpp | 56 + Src/Wasabi/api/script/objects/c_script/h_text.h | 31 + .../api/script/objects/c_script/h_togglebutton.cpp | 56 + .../api/script/objects/c_script/h_togglebutton.h | 31 + .../api/script/objects/c_script/h_treeitem.cpp | 89 + .../api/script/objects/c_script/h_treeitem.h | 53 + .../api/script/objects/c_script/scripthook.cpp | 47 + .../api/script/objects/c_script/scripthook.h | 49 + Src/Wasabi/api/script/objects/compoobj.cpp | 361 ++ Src/Wasabi/api/script/objects/compoobj.h | 119 + .../api/script/objects/core/coreadminobj.cpp | 184 + Src/Wasabi/api/script/objects/core/coreadminobj.h | 67 + Src/Wasabi/api/script/objects/core/coreobj.cpp | 1151 ++++ Src/Wasabi/api/script/objects/core/coreobj.h | 192 + .../api/script/objects/core/svc_scriptcore.cpp | 38 + .../api/script/objects/core/svc_scriptcore.h | 27 + Src/Wasabi/api/script/objects/guiobj.cpp | 2880 ++++++++++ Src/Wasabi/api/script/objects/guiobj.h | 423 ++ Src/Wasabi/api/script/objects/guiobject.h | 855 +++ Src/Wasabi/api/script/objects/guiobjectx.cpp | 131 + Src/Wasabi/api/script/objects/guiobjectx.h | 177 + Src/Wasabi/api/script/objects/rootobj.cpp | 42 + Src/Wasabi/api/script/objects/rootobj.h | 40 + Src/Wasabi/api/script/objects/rootobjcb.cpp | 12 + Src/Wasabi/api/script/objects/rootobjcb.h | 40 + Src/Wasabi/api/script/objects/rootobjcbi.cpp | 3 + Src/Wasabi/api/script/objects/rootobjcbi.h | 15 + Src/Wasabi/api/script/objects/rootobjcbx.cpp | 20 + Src/Wasabi/api/script/objects/rootobjcbx.h | 29 + .../api/script/objects/rootobjcontroller.cpp | 81 + Src/Wasabi/api/script/objects/rootobjcontroller.h | 36 + Src/Wasabi/api/script/objects/rootobject.cpp | 12 + Src/Wasabi/api/script/objects/rootobject.h | 71 + Src/Wasabi/api/script/objects/rootobjecti.cpp | 46 + Src/Wasabi/api/script/objects/rootobjecti.h | 32 + Src/Wasabi/api/script/objects/rootobjectx.cpp | 22 + Src/Wasabi/api/script/objects/rootobjectx.h | 35 + Src/Wasabi/api/script/objects/sapplication.cpp | 213 + Src/Wasabi/api/script/objects/sapplication.h | 57 + Src/Wasabi/api/script/objects/sbitlist.cpp | 118 + Src/Wasabi/api/script/objects/sbitlist.h | 56 + Src/Wasabi/api/script/objects/scolor.cpp | 236 + Src/Wasabi/api/script/objects/scolor.h | 66 + Src/Wasabi/api/script/objects/scolormgr.cpp | 235 + Src/Wasabi/api/script/objects/scolormgr.h | 66 + Src/Wasabi/api/script/objects/sfile.cpp | 119 + Src/Wasabi/api/script/objects/sfile.h | 53 + Src/Wasabi/api/script/objects/sgammagroup.cpp | 235 + Src/Wasabi/api/script/objects/sgammagroup.h | 66 + Src/Wasabi/api/script/objects/sgammaset.cpp | 201 + Src/Wasabi/api/script/objects/sgammaset.h | 62 + Src/Wasabi/api/script/objects/slist.cpp | 172 + Src/Wasabi/api/script/objects/slist.h | 62 + Src/Wasabi/api/script/objects/smap.cpp | 205 + Src/Wasabi/api/script/objects/smap.h | 74 + Src/Wasabi/api/script/objects/spopup.cpp | 140 + Src/Wasabi/api/script/objects/spopup.h | 60 + Src/Wasabi/api/script/objects/sprivate.cpp | 258 + Src/Wasabi/api/script/objects/sprivate.h | 47 + Src/Wasabi/api/script/objects/sregion.cpp | 256 + Src/Wasabi/api/script/objects/sregion.h | 92 + Src/Wasabi/api/script/objects/svcwnd.cpp | 239 + Src/Wasabi/api/script/objects/svcwnd.h | 89 + Src/Wasabi/api/script/objects/sxmldoc.cpp | 231 + Src/Wasabi/api/script/objects/sxmldoc.h | 76 + Src/Wasabi/api/script/objects/systemobj.cpp | 3500 ++++++++++++ Src/Wasabi/api/script/objects/systemobj.h | 397 ++ Src/Wasabi/api/script/objects/timer.cpp | 165 + Src/Wasabi/api/script/objects/timer.h | 77 + Src/Wasabi/api/script/objects/wacobj.cpp | 161 + Src/Wasabi/api/script/objects/wacobj.h | 75 + Src/Wasabi/api/script/objecttable.cpp | 748 +++ Src/Wasabi/api/script/objecttable.h | 144 + Src/Wasabi/api/script/opcodes.h | 64 + Src/Wasabi/api/script/script.cpp | 269 + Src/Wasabi/api/script/script.h | 86 + Src/Wasabi/api/script/scriptguid.h | 143 + Src/Wasabi/api/script/scriptmgr.cpp | 602 ++ Src/Wasabi/api/script/scriptmgr.h | 81 + Src/Wasabi/api/script/scriptobj.cpp | 12 + Src/Wasabi/api/script/scriptobj.h | 139 + Src/Wasabi/api/script/scriptobji.cpp | 305 ++ Src/Wasabi/api/script/scriptobji.h | 134 + Src/Wasabi/api/script/scriptobjx.cpp | 34 + Src/Wasabi/api/script/scriptobjx.h | 44 + Src/Wasabi/api/script/scriptvar.h | 35 + Src/Wasabi/api/script/vcpu.cpp | 2069 +++++++ Src/Wasabi/api/script/vcpu.h | 171 + Src/Wasabi/api/script/vcputypes.h | 78 + Src/Wasabi/api/service/api_service.cpp | 12 + Src/Wasabi/api/service/api_service.h | 184 + Src/Wasabi/api/service/api_servicei.cpp | 83 + Src/Wasabi/api/service/api_servicei.h | 150 + Src/Wasabi/api/service/api_servicex.cpp | 35 + Src/Wasabi/api/service/api_servicex.h | 44 + Src/Wasabi/api/service/service.h | 16 + Src/Wasabi/api/service/servicei.cpp | 5 + Src/Wasabi/api/service/servicei.h | 180 + Src/Wasabi/api/service/services.h | 76 + Src/Wasabi/api/service/svc_enum.cpp | 2 + Src/Wasabi/api/service/svc_enum.h | 24 + Src/Wasabi/api/service/svccache.cpp | 35 + Src/Wasabi/api/service/svccache.h | 43 + Src/Wasabi/api/service/svcenum.cpp | 45 + Src/Wasabi/api/service/svcenum.h | 37 + Src/Wasabi/api/service/svcenumbyguid.cpp | 5 + Src/Wasabi/api/service/svcenumbyguid.h | 37 + Src/Wasabi/api/service/svcenumt.cpp | 5 + Src/Wasabi/api/service/svcenumt.h | 30 + Src/Wasabi/api/service/svcmgr.cpp | 365 ++ Src/Wasabi/api/service/svcmgr.h | 41 + Src/Wasabi/api/service/svcs/svc_accessibility.cpp | 10 + Src/Wasabi/api/service/svcs/svc_accessibility.h | 43 + Src/Wasabi/api/service/svcs/svc_accroleserver.cpp | 70 + Src/Wasabi/api/service/svcs/svc_accroleserver.h | 132 + Src/Wasabi/api/service/svcs/svc_action.cpp | 38 + Src/Wasabi/api/service/svcs/svc_action.h | 154 + Src/Wasabi/api/service/svcs/svc_burner.cpp | 70 + Src/Wasabi/api/service/svcs/svc_burner.h | 243 + Src/Wasabi/api/service/svcs/svc_collection.cpp | 194 + Src/Wasabi/api/service/svcs/svc_collection.h | 226 + Src/Wasabi/api/service/svcs/svc_console.cpp | 10 + Src/Wasabi/api/service/svcs/svc_console.h | 36 + Src/Wasabi/api/service/svcs/svc_contextCmd.cpp | 16 + Src/Wasabi/api/service/svcs/svc_contextCmd.h | 127 + Src/Wasabi/api/service/svcs/svc_coreadmin.cpp | 70 + Src/Wasabi/api/service/svcs/svc_coreadmin.h | 230 + Src/Wasabi/api/service/svcs/svc_db.cpp | 78 + Src/Wasabi/api/service/svcs/svc_db.h | 512 ++ Src/Wasabi/api/service/svcs/svc_debuggerui.cpp | 10 + Src/Wasabi/api/service/svcs/svc_debuggerui.h | 44 + Src/Wasabi/api/service/svcs/svc_device.h | 54 + Src/Wasabi/api/service/svcs/svc_droptarget.cpp | 11 + Src/Wasabi/api/service/svcs/svc_droptarget.h | 82 + Src/Wasabi/api/service/svcs/svc_eval.cpp | 11 + Src/Wasabi/api/service/svcs/svc_eval.h | 64 + Src/Wasabi/api/service/svcs/svc_export.h | 32 + Src/Wasabi/api/service/svcs/svc_fileread.cpp | 30 + Src/Wasabi/api/service/svcs/svc_fileread.h | 199 + Src/Wasabi/api/service/svcs/svc_filesel.cpp | 15 + Src/Wasabi/api/service/svcs/svc_filesel.h | 89 + Src/Wasabi/api/service/svcs/svc_font.cpp | 27 + Src/Wasabi/api/service/svcs/svc_font.h | 178 + Src/Wasabi/api/service/svcs/svc_fontmaker.cpp | 9 + Src/Wasabi/api/service/svcs/svc_fontmaker.h | 73 + Src/Wasabi/api/service/svcs/svc_fontrender.cpp | 16 + Src/Wasabi/api/service/svcs/svc_fontrender.h | 126 + Src/Wasabi/api/service/svcs/svc_imggen.cpp | 11 + Src/Wasabi/api/service/svcs/svc_imggen.h | 68 + Src/Wasabi/api/service/svcs/svc_imgload.cpp | 14 + Src/Wasabi/api/service/svcs/svc_imgload.h | 101 + Src/Wasabi/api/service/svcs/svc_imgwrite.h | 101 + Src/Wasabi/api/service/svcs/svc_itemmgr.cpp | 20 + Src/Wasabi/api/service/svcs/svc_itemmgr.h | 112 + Src/Wasabi/api/service/svcs/svc_loadlib.h | 16 + Src/Wasabi/api/service/svcs/svc_mediaconverter.cpp | 23 + Src/Wasabi/api/service/svcs/svc_mediaconverter.h | 161 + Src/Wasabi/api/service/svcs/svc_mediacore.cpp | 45 + Src/Wasabi/api/service/svcs/svc_mediacore.h | 172 + Src/Wasabi/api/service/svcs/svc_metadata.cpp | 14 + Src/Wasabi/api/service/svcs/svc_metadata.h | 97 + Src/Wasabi/api/service/svcs/svc_minibrowser.cpp | 12 + Src/Wasabi/api/service/svcs/svc_minibrowser.h | 69 + Src/Wasabi/api/service/svcs/svc_objectdir.cpp | 32 + Src/Wasabi/api/service/svcs/svc_objectdir.h | 294 + Src/Wasabi/api/service/svcs/svc_player.h | 35 + Src/Wasabi/api/service/svcs/svc_playlist.cpp | 28 + Src/Wasabi/api/service/svcs/svc_playlist.h | 216 + Src/Wasabi/api/service/svcs/svc_redir.cpp | 10 + Src/Wasabi/api/service/svcs/svc_redir.h | 63 + Src/Wasabi/api/service/svcs/svc_scriptobj.cpp | 10 + Src/Wasabi/api/service/svcs/svc_scriptobj.h | 29 + Src/Wasabi/api/service/svcs/svc_scriptobji.h | 51 + Src/Wasabi/api/service/svcs/svc_skinfilter.cpp | 10 + Src/Wasabi/api/service/svcs/svc_skinfilter.h | 56 + Src/Wasabi/api/service/svcs/svc_storagevolenum.cpp | 30 + Src/Wasabi/api/service/svcs/svc_storagevolenum.h | 96 + .../api/service/svcs/svc_stringconverter.cpp | 12 + Src/Wasabi/api/service/svcs/svc_stringconverter.h | 94 + Src/Wasabi/api/service/svcs/svc_stringtypes.h | 35 + Src/Wasabi/api/service/svcs/svc_textfeed.cpp | 18 + Src/Wasabi/api/service/svcs/svc_textfeed.h | 21 + Src/Wasabi/api/service/svcs/svc_tooltips.cpp | 10 + Src/Wasabi/api/service/svcs/svc_tooltips.h | 30 + Src/Wasabi/api/service/svcs/svc_wndcreate.cpp | 16 + Src/Wasabi/api/service/svcs/svc_wndcreate.h | 120 + Src/Wasabi/api/service/svcs/svc_xmlprov.cpp | 10 + Src/Wasabi/api/service/svcs/svc_xmlprov.h | 56 + Src/Wasabi/api/service/svcs/svc_xuiobject.cpp | 12 + Src/Wasabi/api/service/svcs/svc_xuiobject.h | 76 + Src/Wasabi/api/service/waservicefactory.cpp | 12 + Src/Wasabi/api/service/waservicefactory.h | 109 + Src/Wasabi/api/service/waservicefactorybase.cpp | 5 + Src/Wasabi/api/service/waservicefactorybase.h | 76 + Src/Wasabi/api/service/waservicefactoryi.cpp | 2 + Src/Wasabi/api/service/waservicefactoryi.h | 73 + Src/Wasabi/api/service/waservicefactoryt.cpp | 5 + Src/Wasabi/api/service/waservicefactoryt.h | 28 + Src/Wasabi/api/service/waservicefactorytsingle.cpp | 5 + Src/Wasabi/api/service/waservicefactorytsingle.h | 47 + Src/Wasabi/api/service/waservicefactoryx.cpp | 32 + Src/Wasabi/api/service/waservicefactoryx.h | 37 + Src/Wasabi/api/skin/SkinElementAlias.cpp | 8 + Src/Wasabi/api/skin/SkinElementAlias.h | 65 + Src/Wasabi/api/skin/SkinVersion.cpp | 42 + Src/Wasabi/api/skin/SkinVersion.h | 18 + Src/Wasabi/api/skin/api_colorthemes.cpp | 3 + Src/Wasabi/api/skin/api_colorthemes.h | 161 + Src/Wasabi/api/skin/api_palette.cpp | 1 + Src/Wasabi/api/skin/api_palette.h | 273 + Src/Wasabi/api/skin/api_skin.cpp | 63 + Src/Wasabi/api/skin/api_skin.h | 429 ++ Src/Wasabi/api/skin/colorthemes.h | 87 + Src/Wasabi/api/skin/cursormgr.cpp | 29 + Src/Wasabi/api/skin/cursormgr.h | 18 + Src/Wasabi/api/skin/feeds/TextFeedEnum.h | 35 + Src/Wasabi/api/skin/feeds/api_textfeed.cpp | 2 + Src/Wasabi/api/skin/feeds/api_textfeed.h | 66 + Src/Wasabi/api/skin/feeds/ezfeed.h | 27 + Src/Wasabi/api/skin/feeds/feedwatch.cpp | 90 + Src/Wasabi/api/skin/feeds/feedwatch.h | 54 + Src/Wasabi/api/skin/feeds/feedwatcherso.cpp | 136 + Src/Wasabi/api/skin/feeds/feedwatcherso.h | 64 + Src/Wasabi/api/skin/feeds/textfeed.cpp | 116 + Src/Wasabi/api/skin/feeds/textfeed.h | 57 + Src/Wasabi/api/skin/feeds/textfeedcb.cpp | 9 + Src/Wasabi/api/skin/feeds/textfeedcb.h | 34 + Src/Wasabi/api/skin/gammamgr.cpp | 135 + Src/Wasabi/api/skin/gammamgr.h | 91 + Src/Wasabi/api/skin/group.h | 366 ++ Src/Wasabi/api/skin/groupmgr.cpp | 51 + Src/Wasabi/api/skin/groupmgr.h | 42 + Src/Wasabi/api/skin/groupwndcreate.cpp | 51 + Src/Wasabi/api/skin/groupwndcreate.h | 25 + Src/Wasabi/api/skin/guitree.cpp | 379 ++ Src/Wasabi/api/skin/guitree.h | 171 + Src/Wasabi/api/skin/nakedobject.cpp | 34 + Src/Wasabi/api/skin/nakedobject.h | 24 + Src/Wasabi/api/skin/objectactuator.cpp | 106 + Src/Wasabi/api/skin/objectactuator.h | 49 + Src/Wasabi/api/skin/regioncache.cpp | 32 + Src/Wasabi/api/skin/regioncache.h | 53 + Src/Wasabi/api/skin/skin.cpp | 812 +++ Src/Wasabi/api/skin/skin.h | 150 + Src/Wasabi/api/skin/skinapi.cpp | 347 ++ Src/Wasabi/api/skin/skinapi.h | 79 + Src/Wasabi/api/skin/skinbmps.h | 122 + Src/Wasabi/api/skin/skinelem.cpp | 316 ++ Src/Wasabi/api/skin/skinelem.h | 106 + Src/Wasabi/api/skin/skinfilter.cpp | 18 + Src/Wasabi/api/skin/skinfilter.h | 12 + Src/Wasabi/api/skin/skinfont.cpp | 48 + Src/Wasabi/api/skin/skinfont.h | 17 + Src/Wasabi/api/skin/skinitem.cpp | 14 + Src/Wasabi/api/skin/skinitem.h | 66 + Src/Wasabi/api/skin/skinparse.cpp | 1822 +++++++ Src/Wasabi/api/skin/skinparse.h | 337 ++ Src/Wasabi/api/skin/widgets.cpp | 451 ++ Src/Wasabi/api/skin/widgets.h | 35 + Src/Wasabi/api/skin/widgets/animlayer.cpp | 880 +++ Src/Wasabi/api/skin/widgets/animlayer.h | 214 + Src/Wasabi/api/skin/widgets/button.cpp | 508 ++ Src/Wasabi/api/skin/widgets/button.h | 134 + Src/Wasabi/api/skin/widgets/checkbox.cpp | 262 + Src/Wasabi/api/skin/widgets/checkbox.h | 246 + Src/Wasabi/api/skin/widgets/combobox.cpp | 270 + Src/Wasabi/api/skin/widgets/combobox.h | 121 + Src/Wasabi/api/skin/widgets/compbuck2.cpp | 611 +++ Src/Wasabi/api/skin/widgets/compbuck2.h | 156 + Src/Wasabi/api/skin/widgets/customobject.cpp | 8 + Src/Wasabi/api/skin/widgets/customobject.h | 78 + Src/Wasabi/api/skin/widgets/db/autofilterlist.cpp | 406 ++ Src/Wasabi/api/skin/widgets/db/autofilterlist.h | 447 ++ Src/Wasabi/api/skin/widgets/db/autoquerylist.cpp | 111 + Src/Wasabi/api/skin/widgets/db/autoquerylist.h | 109 + Src/Wasabi/api/skin/widgets/db/queryline.cpp | 32 + Src/Wasabi/api/skin/widgets/db/queryline.h | 64 + Src/Wasabi/api/skin/widgets/db/xuiquerydrag.cpp | 103 + Src/Wasabi/api/skin/widgets/db/xuiquerydrag.h | 53 + Src/Wasabi/api/skin/widgets/db/xuiqueryline.cpp | 73 + Src/Wasabi/api/skin/widgets/db/xuiqueryline.h | 35 + Src/Wasabi/api/skin/widgets/db/xuiquerylist.cpp | 119 + Src/Wasabi/api/skin/widgets/db/xuiquerylist.h | 72 + Src/Wasabi/api/skin/widgets/dropdownlist.cpp | 747 +++ Src/Wasabi/api/skin/widgets/dropdownlist.h | 531 ++ Src/Wasabi/api/skin/widgets/edit.cpp | 312 ++ Src/Wasabi/api/skin/widgets/edit.h | 100 + Src/Wasabi/api/skin/widgets/fx.h | 12 + Src/Wasabi/api/skin/widgets/fx_dmove.cpp | 409 ++ Src/Wasabi/api/skin/widgets/fx_dmove.h | 48 + Src/Wasabi/api/skin/widgets/group.cpp | 1753 ++++++ Src/Wasabi/api/skin/widgets/group.h | 365 ++ Src/Wasabi/api/skin/widgets/groupclickwnd.cpp | 84 + Src/Wasabi/api/skin/widgets/groupclickwnd.h | 226 + Src/Wasabi/api/skin/widgets/grouplist.cpp | 228 + Src/Wasabi/api/skin/widgets/grouplist.h | 79 + Src/Wasabi/api/skin/widgets/grouptgbutton.cpp | 109 + Src/Wasabi/api/skin/widgets/grouptgbutton.h | 101 + Src/Wasabi/api/skin/widgets/grouptips.cpp | 92 + Src/Wasabi/api/skin/widgets/grouptips.h | 23 + Src/Wasabi/api/skin/widgets/guiradiogroup.cpp | 36 + Src/Wasabi/api/skin/widgets/guiradiogroup.h | 53 + Src/Wasabi/api/skin/widgets/historyeditbox.cpp | 152 + Src/Wasabi/api/skin/widgets/historyeditbox.h | 58 + Src/Wasabi/api/skin/widgets/layer.cpp | 1727 ++++++ Src/Wasabi/api/skin/widgets/layer.h | 287 + Src/Wasabi/api/skin/widgets/mb/iebrowser.cpp | 637 +++ Src/Wasabi/api/skin/widgets/mb/iebrowser.h | 102 + Src/Wasabi/api/skin/widgets/mb/mainminibrowser.cpp | 70 + Src/Wasabi/api/skin/widgets/mb/mainminibrowser.h | 24 + Src/Wasabi/api/skin/widgets/mb/mbsvc.cpp | 48 + Src/Wasabi/api/skin/widgets/mb/mbsvc.h | 26 + Src/Wasabi/api/skin/widgets/mb/mbsvcwac.cpp | 26 + Src/Wasabi/api/skin/widgets/mb/mbsvcwac.h | 24 + Src/Wasabi/api/skin/widgets/mb/minibrowser.cpp | 36 + Src/Wasabi/api/skin/widgets/mb/minibrowser.h | 215 + Src/Wasabi/api/skin/widgets/mb/minibrowserwnd.cpp | 173 + Src/Wasabi/api/skin/widgets/mb/minibrowserwnd.h | 57 + Src/Wasabi/api/skin/widgets/mb/scriptbrowser.cpp | 180 + Src/Wasabi/api/skin/widgets/mb/scriptbrowser.h | 63 + .../api/skin/widgets/mb/sharedminibrowser.cpp | 39 + Src/Wasabi/api/skin/widgets/mb/sharedminibrowser.h | 33 + Src/Wasabi/api/skin/widgets/mb/xuibrowser.cpp | 385 ++ Src/Wasabi/api/skin/widgets/mb/xuibrowser.h | 106 + Src/Wasabi/api/skin/widgets/mouseredir.cpp | 221 + Src/Wasabi/api/skin/widgets/mouseredir.h | 88 + Src/Wasabi/api/skin/widgets/objdirwnd.cpp | 227 + Src/Wasabi/api/skin/widgets/objdirwnd.h | 90 + Src/Wasabi/api/skin/widgets/pathpicker.cpp | 111 + Src/Wasabi/api/skin/widgets/pathpicker.h | 183 + Src/Wasabi/api/skin/widgets/pslider.cpp | 371 ++ Src/Wasabi/api/skin/widgets/pslider.h | 110 + Src/Wasabi/api/skin/widgets/sa.cpp | 735 +++ Src/Wasabi/api/skin/widgets/sa.h | 157 + Src/Wasabi/api/skin/widgets/seeker.h | 22 + Src/Wasabi/api/skin/widgets/seqband.cpp | 121 + Src/Wasabi/api/skin/widgets/seqband.h | 47 + Src/Wasabi/api/skin/widgets/seqpreamp.cpp | 44 + Src/Wasabi/api/skin/widgets/seqpreamp.h | 28 + Src/Wasabi/api/skin/widgets/seqvis.cpp | 367 ++ Src/Wasabi/api/skin/widgets/seqvis.h | 104 + Src/Wasabi/api/skin/widgets/spanbar.cpp | 58 + Src/Wasabi/api/skin/widgets/spanbar.h | 31 + Src/Wasabi/api/skin/widgets/sseeker.cpp | 128 + Src/Wasabi/api/skin/widgets/sseeker.h | 56 + Src/Wasabi/api/skin/widgets/sstatus.cpp | 172 + Src/Wasabi/api/skin/widgets/sstatus.h | 100 + Src/Wasabi/api/skin/widgets/stats/statswnd.cpp | 38 + Src/Wasabi/api/skin/widgets/stats/statswnd.h | 18 + Src/Wasabi/api/skin/widgets/stats/xuistats.cpp | 149 + Src/Wasabi/api/skin/widgets/stats/xuistats.h | 43 + Src/Wasabi/api/skin/widgets/svolbar.cpp | 55 + Src/Wasabi/api/skin/widgets/svolbar.h | 30 + Src/Wasabi/api/skin/widgets/text.cpp | 1767 ++++++ Src/Wasabi/api/skin/widgets/text.h | 240 + Src/Wasabi/api/skin/widgets/textbase.cpp | 345 ++ Src/Wasabi/api/skin/widgets/textbase.h | 95 + Src/Wasabi/api/skin/widgets/tgbutton.cpp | 313 ++ Src/Wasabi/api/skin/widgets/tgbutton.h | 136 + Src/Wasabi/api/skin/widgets/title.cpp | 261 + Src/Wasabi/api/skin/widgets/title.h | 87 + Src/Wasabi/api/skin/widgets/titlebox.cpp | 183 + Src/Wasabi/api/skin/widgets/titlebox.h | 95 + Src/Wasabi/api/skin/widgets/wa2/xuiwa2slider.cpp | 186 + Src/Wasabi/api/skin/widgets/wa2/xuiwa2slider.h | 63 + Src/Wasabi/api/skin/widgets/xuiaddparams.cpp | 41 + Src/Wasabi/api/skin/widgets/xuiaddparams.h | 34 + Src/Wasabi/api/skin/widgets/xuibookmarklist.cpp | 50 + Src/Wasabi/api/skin/widgets/xuibookmarklist.h | 36 + Src/Wasabi/api/skin/widgets/xuicheckbox.cpp | 165 + Src/Wasabi/api/skin/widgets/xuicheckbox.h | 81 + Src/Wasabi/api/skin/widgets/xuicombobox.cpp | 7 + Src/Wasabi/api/skin/widgets/xuicombobox.h | 10 + Src/Wasabi/api/skin/widgets/xuicustomobject.cpp | 64 + Src/Wasabi/api/skin/widgets/xuicustomobject.h | 40 + Src/Wasabi/api/skin/widgets/xuidownloadslist.cpp | 411 ++ Src/Wasabi/api/skin/widgets/xuidownloadslist.h | 77 + Src/Wasabi/api/skin/widgets/xuidropdownlist.cpp | 7 + Src/Wasabi/api/skin/widgets/xuidropdownlist.h | 10 + Src/Wasabi/api/skin/widgets/xuieditbox.cpp | 6 + Src/Wasabi/api/skin/widgets/xuieditbox.h | 21 + Src/Wasabi/api/skin/widgets/xuiframe.cpp | 241 + Src/Wasabi/api/skin/widgets/xuiframe.h | 97 + Src/Wasabi/api/skin/widgets/xuigradientwnd.cpp | 66 + Src/Wasabi/api/skin/widgets/xuigradientwnd.h | 26 + Src/Wasabi/api/skin/widgets/xuigrid.cpp | 297 + Src/Wasabi/api/skin/widgets/xuigrid.h | 59 + Src/Wasabi/api/skin/widgets/xuigroupxfade.cpp | 120 + Src/Wasabi/api/skin/widgets/xuigroupxfade.h | 40 + Src/Wasabi/api/skin/widgets/xuihideobject.cpp | 50 + Src/Wasabi/api/skin/widgets/xuihideobject.h | 40 + Src/Wasabi/api/skin/widgets/xuihistoryedit.cpp | 7 + Src/Wasabi/api/skin/widgets/xuihistoryedit.h | 10 + Src/Wasabi/api/skin/widgets/xuilist.cpp | 1734 ++++++ Src/Wasabi/api/skin/widgets/xuilist.h | 221 + Src/Wasabi/api/skin/widgets/xuimenu.cpp | 384 ++ Src/Wasabi/api/skin/widgets/xuimenu.h | 110 + Src/Wasabi/api/skin/widgets/xuimenuso.cpp | 271 + Src/Wasabi/api/skin/widgets/xuimenuso.h | 76 + Src/Wasabi/api/skin/widgets/xuiobjdirwnd.cpp | 57 + Src/Wasabi/api/skin/widgets/xuiobjdirwnd.h | 32 + Src/Wasabi/api/skin/widgets/xuioswndhost.cpp | 306 ++ Src/Wasabi/api/skin/widgets/xuioswndhost.h | 78 + Src/Wasabi/api/skin/widgets/xuipathpicker.cpp | 73 + Src/Wasabi/api/skin/widgets/xuipathpicker.h | 53 + Src/Wasabi/api/skin/widgets/xuiprogressgrid.cpp | 162 + Src/Wasabi/api/skin/widgets/xuiprogressgrid.h | 59 + Src/Wasabi/api/skin/widgets/xuiradiogroup.cpp | 17 + Src/Wasabi/api/skin/widgets/xuiradiogroup.h | 30 + Src/Wasabi/api/skin/widgets/xuirect.cpp | 186 + Src/Wasabi/api/skin/widgets/xuirect.h | 43 + Src/Wasabi/api/skin/widgets/xuisendparams.cpp | 37 + Src/Wasabi/api/skin/widgets/xuisendparams.h | 36 + Src/Wasabi/api/skin/widgets/xuistatus.cpp | 98 + Src/Wasabi/api/skin/widgets/xuistatus.h | 54 + Src/Wasabi/api/skin/widgets/xuitabsheet.cpp | 217 + Src/Wasabi/api/skin/widgets/xuitabsheet.h | 91 + Src/Wasabi/api/skin/widgets/xuithemeslist.cpp | 365 ++ Src/Wasabi/api/skin/widgets/xuithemeslist.h | 128 + Src/Wasabi/api/skin/widgets/xuititlebox.cpp | 59 + Src/Wasabi/api/skin/widgets/xuititlebox.h | 44 + Src/Wasabi/api/skin/widgets/xuitree.cpp | 2644 +++++++++ Src/Wasabi/api/skin/widgets/xuitree.h | 326 ++ Src/Wasabi/api/skin/widgets/xuiwndholder.cpp | 272 + Src/Wasabi/api/skin/widgets/xuiwndholder.h | 80 + Src/Wasabi/api/skin/xmlobject.cpp | 174 + Src/Wasabi/api/skin/xmlobject.h | 132 + Src/Wasabi/api/syscb/api_syscb.cpp | 14 + Src/Wasabi/api/syscb/api_syscb.h | 77 + Src/Wasabi/api/syscb/api_syscbi.cpp | 35 + Src/Wasabi/api/syscb/api_syscbi.h | 28 + Src/Wasabi/api/syscb/api_syscbx.cpp | 22 + Src/Wasabi/api/syscb/api_syscbx.h | 32 + Src/Wasabi/api/syscb/callbacks/authcb.h | 20 + Src/Wasabi/api/syscb/callbacks/browsercb.cpp | 2 + Src/Wasabi/api/syscb/callbacks/browsercb.h | 11 + Src/Wasabi/api/syscb/callbacks/browsercbi.h | 32 + Src/Wasabi/api/syscb/callbacks/consolecb.cpp | 14 + Src/Wasabi/api/syscb/callbacks/consolecb.h | 24 + Src/Wasabi/api/syscb/callbacks/corecb.cpp | 79 + Src/Wasabi/api/syscb/callbacks/corecb.h | 71 + Src/Wasabi/api/syscb/callbacks/corecbi.h | 67 + Src/Wasabi/api/syscb/callbacks/gccb.h | 31 + Src/Wasabi/api/syscb/callbacks/metacb.h | 41 + Src/Wasabi/api/syscb/callbacks/playlistcb.cpp | 10 + Src/Wasabi/api/syscb/callbacks/playlistcb.h | 26 + Src/Wasabi/api/syscb/callbacks/runlevelcb.h | 39 + Src/Wasabi/api/syscb/callbacks/skincb.cpp | 20 + Src/Wasabi/api/syscb/callbacks/skincb.h | 41 + Src/Wasabi/api/syscb/callbacks/svccb.h | 12 + Src/Wasabi/api/syscb/callbacks/svccbi.h | 34 + Src/Wasabi/api/syscb/callbacks/syscb.cpp | 12 + Src/Wasabi/api/syscb/callbacks/syscb.h | 73 + Src/Wasabi/api/syscb/callbacks/syscbi.cpp | 4 + Src/Wasabi/api/syscb/callbacks/syscbi.h | 46 + Src/Wasabi/api/syscb/callbacks/syscbx.cpp | 21 + Src/Wasabi/api/syscb/callbacks/syscbx.h | 30 + Src/Wasabi/api/syscb/callbacks/sysmemcb.h | 53 + Src/Wasabi/api/syscb/callbacks/wndcb.cpp | 36 + Src/Wasabi/api/syscb/callbacks/wndcb.h | 43 + Src/Wasabi/api/syscb/cbmgr.cpp | 41 + Src/Wasabi/api/syscb/cbmgr.h | 18 + Src/Wasabi/api/timer/api_timer.h | 47 + Src/Wasabi/api/timer/osx_timer.cpp | 38 + Src/Wasabi/api/timer/osx_timer.h | 17 + Src/Wasabi/api/timer/timerclient.cpp | 108 + Src/Wasabi/api/timer/timerclient.h | 183 + Src/Wasabi/api/timer/timeslicer.cpp | 62 + Src/Wasabi/api/timer/timeslicer.h | 64 + Src/Wasabi/api/util/savefile.cpp | 228 + Src/Wasabi/api/util/savefile.h | 31 + Src/Wasabi/api/util/selectfile.cpp | 111 + Src/Wasabi/api/util/selectfile.h | 41 + Src/Wasabi/api/util/systray.cpp | 93 + Src/Wasabi/api/util/systray.h | 23 + Src/Wasabi/api/util/varmgr.cpp | 111 + Src/Wasabi/api/util/varmgr.h | 17 + Src/Wasabi/api/wac/compdb.h | 28 + Src/Wasabi/api/wac/compon.cpp | 480 ++ Src/Wasabi/api/wac/compon.h | 56 + Src/Wasabi/api/wac/main.h | 134 + Src/Wasabi/api/wac/papi.h | 12 + Src/Wasabi/api/wac/wac.h | 266 + Src/Wasabi/api/wac/waclient.cpp | 347 ++ Src/Wasabi/api/wnd/PaintCanvas.h | 3 + Src/Wasabi/api/wnd/accessible.cpp | 16 + Src/Wasabi/api/wnd/accessible.h | 622 +++ Src/Wasabi/api/wnd/api_canvas.cpp | 2 + Src/Wasabi/api/wnd/api_canvas.h | 163 + Src/Wasabi/api/wnd/api_region.cpp | 2 + Src/Wasabi/api/wnd/api_region.h | 200 + Src/Wasabi/api/wnd/api_window.cpp | 3 + Src/Wasabi/api/wnd/api_window.h | 1277 +++++ Src/Wasabi/api/wnd/api_wnd.cpp | 57 + Src/Wasabi/api/wnd/api_wnd.h | 390 ++ Src/Wasabi/api/wnd/basewnd.cpp | 5743 ++++++++++++++++++++ Src/Wasabi/api/wnd/basewnd.h | 944 ++++ Src/Wasabi/api/wnd/bitmap.cpp | 1584 ++++++ Src/Wasabi/api/wnd/bitmap.h | 7 + Src/Wasabi/api/wnd/blending.cpp | 56 + Src/Wasabi/api/wnd/blending.h | 536 ++ Src/Wasabi/api/wnd/bltcanvas.h | 5 + Src/Wasabi/api/wnd/bucketitem.h | 76 + Src/Wasabi/api/wnd/canvas.cpp | 3 + Src/Wasabi/api/wnd/canvas.h | 5 + Src/Wasabi/api/wnd/contextmenu.cpp | 170 + Src/Wasabi/api/wnd/contextmenu.h | 42 + Src/Wasabi/api/wnd/cursor.cpp | 48 + Src/Wasabi/api/wnd/cursor.h | 62 + Src/Wasabi/api/wnd/cwndtrack.h | 11 + Src/Wasabi/api/wnd/deactivatemgr.cpp | 55 + Src/Wasabi/api/wnd/deactivatemgr.h | 22 + Src/Wasabi/api/wnd/di.cpp | 46 + Src/Wasabi/api/wnd/drag.h | 75 + Src/Wasabi/api/wnd/dragitem.h | 23 + Src/Wasabi/api/wnd/dragitemi.cpp | 36 + Src/Wasabi/api/wnd/dragitemi.h | 58 + Src/Wasabi/api/wnd/fakedrag.h | 12 + Src/Wasabi/api/wnd/findobjectcb.cpp | 8 + Src/Wasabi/api/wnd/findobjectcb.h | 44 + Src/Wasabi/api/wnd/fontdef.h | 15 + Src/Wasabi/api/wnd/ifc_bitmap.h | 51 + Src/Wasabi/api/wnd/keyboard.cpp | 570 ++ Src/Wasabi/api/wnd/keyboard.h | 77 + Src/Wasabi/api/wnd/minibrowser.cpp | 28 + Src/Wasabi/api/wnd/minibrowser.h | 1 + Src/Wasabi/api/wnd/notifmsg.h | 109 + Src/Wasabi/api/wnd/paintcb.cpp | 52 + Src/Wasabi/api/wnd/paintcb.h | 73 + Src/Wasabi/api/wnd/paintset.cpp | 603 ++ Src/Wasabi/api/wnd/paintset.h | 18 + Src/Wasabi/api/wnd/paintsets.h | 18 + Src/Wasabi/api/wnd/platform/osx/PaintCanvas.cpp | 51 + Src/Wasabi/api/wnd/platform/osx/PaintCanvas.h | 45 + Src/Wasabi/api/wnd/platform/osx/bltcanvas.h | 26 + Src/Wasabi/api/wnd/platform/osx/canvas.h | 69 + .../api/wnd/platform/osx/osx_bitmap_cgimage.cpp | 220 + .../api/wnd/platform/osx/osx_bitmap_cgimage.h | 47 + .../api/wnd/platform/osx/osx_canvas_layer.cpp | 95 + .../api/wnd/platform/osx/osx_canvas_quartz.cpp | 275 + .../api/wnd/platform/osx/osx_region_hishape.cpp | 217 + Src/Wasabi/api/wnd/platform/osx/region.h | 115 + Src/Wasabi/api/wnd/platform/win32/bitmap.h | 81 + Src/Wasabi/api/wnd/platform/win32/canvas.h | 1 + Src/Wasabi/api/wnd/platform/win32/region.h | 135 + Src/Wasabi/api/wnd/popexitcb.cpp | 8 + Src/Wasabi/api/wnd/popexitcb.h | 40 + Src/Wasabi/api/wnd/popexitchecker.cpp | 79 + Src/Wasabi/api/wnd/popexitchecker.h | 39 + Src/Wasabi/api/wnd/popup.cpp | 1720 ++++++ Src/Wasabi/api/wnd/popup.h | 341 ++ Src/Wasabi/api/wnd/region.cpp | 1 + Src/Wasabi/api/wnd/region.h | 5 + Src/Wasabi/api/wnd/resizable.h | 21 + Src/Wasabi/api/wnd/rootwnd.cpp | 197 + Src/Wasabi/api/wnd/rootwnd.h | 275 + Src/Wasabi/api/wnd/textalign.h | 32 + Src/Wasabi/api/wnd/usermsg.h | 23 + Src/Wasabi/api/wnd/virtualwnd.cpp | 672 +++ Src/Wasabi/api/wnd/virtualwnd.h | 84 + Src/Wasabi/api/wnd/wndapi.cpp | 384 ++ Src/Wasabi/api/wnd/wndapi.h | 101 + Src/Wasabi/api/wnd/wndclass/SelItemList.cpp | 72 + Src/Wasabi/api/wnd/wndclass/SelItemList.h | 31 + Src/Wasabi/api/wnd/wndclass/abstractwndhold.cpp | 287 + Src/Wasabi/api/wnd/wndclass/abstractwndhold.h | 267 + Src/Wasabi/api/wnd/wndclass/appbarwnd.cpp | 1113 ++++ Src/Wasabi/api/wnd/wndclass/appbarwnd.h | 155 + Src/Wasabi/api/wnd/wndclass/backbufferwnd.cpp | 86 + Src/Wasabi/api/wnd/wndclass/backbufferwnd.h | 53 + Src/Wasabi/api/wnd/wndclass/blankwnd.cpp | 24 + Src/Wasabi/api/wnd/wndclass/blankwnd.h | 41 + Src/Wasabi/api/wnd/wndclass/bufferpaintwnd.cpp | 113 + Src/Wasabi/api/wnd/wndclass/bufferpaintwnd.h | 40 + Src/Wasabi/api/wnd/wndclass/buttbar.cpp | 208 + Src/Wasabi/api/wnd/wndclass/buttbar.h | 168 + Src/Wasabi/api/wnd/wndclass/buttwnd.cpp | 761 +++ Src/Wasabi/api/wnd/wndclass/buttwnd.h | 602 ++ Src/Wasabi/api/wnd/wndclass/clickwnd.cpp | 319 ++ Src/Wasabi/api/wnd/wndclass/clickwnd.h | 74 + Src/Wasabi/api/wnd/wndclass/ddrawwnd.cpp | 219 + Src/Wasabi/api/wnd/wndclass/ddrawwnd.h | 60 + Src/Wasabi/api/wnd/wndclass/editwnd.cpp | 1001 ++++ Src/Wasabi/api/wnd/wndclass/editwnd.h | 134 + Src/Wasabi/api/wnd/wndclass/editwndstring.cpp | 17 + Src/Wasabi/api/wnd/wndclass/editwndstring.h | 24 + Src/Wasabi/api/wnd/wndclass/embeddedxui.cpp | 143 + Src/Wasabi/api/wnd/wndclass/embeddedxui.h | 88 + Src/Wasabi/api/wnd/wndclass/foreignwnd.cpp | 60 + Src/Wasabi/api/wnd/wndclass/foreignwnd.h | 56 + Src/Wasabi/api/wnd/wndclass/framewnd.cpp | 777 +++ Src/Wasabi/api/wnd/wndclass/framewnd.h | 124 + Src/Wasabi/api/wnd/wndclass/gradientwnd.cpp | 82 + Src/Wasabi/api/wnd/wndclass/gradientwnd.h | 31 + Src/Wasabi/api/wnd/wndclass/guiobjwnd.cpp | 476 ++ Src/Wasabi/api/wnd/wndclass/guiobjwnd.h | 237 + Src/Wasabi/api/wnd/wndclass/itemlistwnd.cpp | 286 + Src/Wasabi/api/wnd/wndclass/itemlistwnd.h | 426 ++ Src/Wasabi/api/wnd/wndclass/labelwnd.cpp | 203 + Src/Wasabi/api/wnd/wndclass/labelwnd.h | 46 + Src/Wasabi/api/wnd/wndclass/listwnd.cpp | 2151 ++++++++ Src/Wasabi/api/wnd/wndclass/listwnd.h | 459 ++ Src/Wasabi/api/wnd/wndclass/oswnd.cpp | 32 + Src/Wasabi/api/wnd/wndclass/oswnd.h | 19 + Src/Wasabi/api/wnd/wndclass/oswndhost.cpp | 14 + Src/Wasabi/api/wnd/wndclass/oswndhost.h | 53 + Src/Wasabi/api/wnd/wndclass/qpaintwnd.cpp | 357 ++ Src/Wasabi/api/wnd/wndclass/qpaintwnd.h | 154 + Src/Wasabi/api/wnd/wndclass/rootwndholder.cpp | 113 + Src/Wasabi/api/wnd/wndclass/rootwndholder.h | 41 + Src/Wasabi/api/wnd/wndclass/scbkgwnd.cpp | 869 +++ Src/Wasabi/api/wnd/wndclass/scbkgwnd.h | 463 ++ Src/Wasabi/api/wnd/wndclass/scrollbar.cpp | 679 +++ Src/Wasabi/api/wnd/wndclass/scrollbar.h | 423 ++ Src/Wasabi/api/wnd/wndclass/sepwnd.cpp | 63 + Src/Wasabi/api/wnd/wndclass/sepwnd.h | 27 + Src/Wasabi/api/wnd/wndclass/slider.cpp | 705 +++ Src/Wasabi/api/wnd/wndclass/slider.h | 451 ++ Src/Wasabi/api/wnd/wndclass/status.cpp | 242 + Src/Wasabi/api/wnd/wndclass/status.h | 178 + Src/Wasabi/api/wnd/wndclass/svcwndhold.cpp | 53 + Src/Wasabi/api/wnd/wndclass/svcwndhold.h | 51 + Src/Wasabi/api/wnd/wndclass/tabsheet.cpp | 544 ++ Src/Wasabi/api/wnd/wndclass/tabsheet.h | 268 + Src/Wasabi/api/wnd/wndclass/tabsheetbar.cpp | 130 + Src/Wasabi/api/wnd/wndclass/tabsheetbar.h | 39 + Src/Wasabi/api/wnd/wndclass/textbar.cpp | 148 + Src/Wasabi/api/wnd/wndclass/textbar.h | 219 + Src/Wasabi/api/wnd/wndclass/tooltip.cpp | 47 + Src/Wasabi/api/wnd/wndclass/tooltip.h | 18 + Src/Wasabi/api/wnd/wndclass/treewnd.cpp | 1645 ++++++ Src/Wasabi/api/wnd/wndclass/treewnd.h | 624 +++ Src/Wasabi/api/wnd/wndclass/typesheet.cpp | 38 + Src/Wasabi/api/wnd/wndclass/typesheet.h | 49 + Src/Wasabi/api/wnd/wndclass/virtualhostwnd.cpp | 198 + Src/Wasabi/api/wnd/wndclass/virtualhostwnd.h | 51 + Src/Wasabi/api/wnd/wndclass/wndholder.cpp | 369 ++ Src/Wasabi/api/wnd/wndclass/wndholder.h | 285 + Src/Wasabi/api/wnd/wndevent.h | 5 + Src/Wasabi/api/wnd/wndtrack.cpp | 945 ++++ Src/Wasabi/api/wnd/wndtrack.h | 104 + Src/Wasabi/api/wndmgr/alphamgr.cpp | 661 +++ Src/Wasabi/api/wndmgr/alphamgr.h | 136 + Src/Wasabi/api/wndmgr/animate.cpp | 96 + Src/Wasabi/api/wndmgr/animate.h | 11 + Src/Wasabi/api/wndmgr/api_wndmgr.cpp | 47 + Src/Wasabi/api/wndmgr/api_wndmgr.h | 305 ++ Src/Wasabi/api/wndmgr/appcmds.cpp | 61 + Src/Wasabi/api/wndmgr/appcmds.h | 89 + Src/Wasabi/api/wndmgr/autopopup.cpp | 157 + Src/Wasabi/api/wndmgr/autopopup.h | 76 + Src/Wasabi/api/wndmgr/container.cpp | 919 ++++ Src/Wasabi/api/wndmgr/container.h | 231 + Src/Wasabi/api/wndmgr/gc.cpp | 24 + Src/Wasabi/api/wndmgr/gc.h | 19 + Src/Wasabi/api/wndmgr/guistatuscb.cpp | 15 + Src/Wasabi/api/wndmgr/guistatuscb.h | 83 + Src/Wasabi/api/wndmgr/layout.cpp | 2586 +++++++++ Src/Wasabi/api/wndmgr/layout.h | 465 ++ Src/Wasabi/api/wndmgr/msgbox.cpp | 251 + Src/Wasabi/api/wndmgr/msgbox.h | 49 + Src/Wasabi/api/wndmgr/resize.cpp | 383 ++ Src/Wasabi/api/wndmgr/resize.h | 48 + Src/Wasabi/api/wndmgr/skinembed.cpp | 733 +++ Src/Wasabi/api/wndmgr/skinembed.h | 76 + Src/Wasabi/api/wndmgr/skinwnd.cpp | 99 + Src/Wasabi/api/wndmgr/skinwnd.h | 42 + Src/Wasabi/api/wndmgr/snappnt.cpp | 181 + Src/Wasabi/api/wndmgr/snappnt.h | 49 + Src/Wasabi/api/wndmgr/wndmgrapi.cpp | 279 + Src/Wasabi/api/wndmgr/wndmgrapi.h | 59 + Src/Wasabi/api/xml/LoadXML.cpp | 92 + Src/Wasabi/api/xml/LoadXML.h | 7 + Src/Wasabi/api/xml/XMLAutoInclude.cpp | 87 + Src/Wasabi/api/xml/XMLAutoInclude.h | 22 + Src/Wasabi/api/xml/api_xmlreadercallback.cpp | 2 + Src/Wasabi/api/xml/xmlparams.cpp | 12 + Src/Wasabi/api/xml/xmlparams.h | 103 + Src/Wasabi/api/xml/xmlparamsi.cpp | 119 + Src/Wasabi/api/xml/xmlparamsi.h | 52 + Src/Wasabi/api/xml/xmlparamsx.cpp | 32 + Src/Wasabi/api/xml/xmlparamsx.h | 38 + Src/Wasabi/api/xml/xmlparse.h | 23 + Src/Wasabi/api/xml/xmlreader.cpp | 197 + Src/Wasabi/api/xml/xmlreader.h | 75 + Src/Wasabi/api/xml/xmlwrite.cpp | 262 + Src/Wasabi/api/xml/xmlwrite.h | 45 + Src/Wasabi/bfc/assert.cpp | 104 + Src/Wasabi/bfc/assert.h | 1 + Src/Wasabi/bfc/bfc.sln | 30 + Src/Wasabi/bfc/bfc.vcxproj | 304 ++ Src/Wasabi/bfc/bfc.vcxproj.filters | 330 ++ Src/Wasabi/bfc/bfc.xcodeproj/project.pbxproj | 420 ++ Src/Wasabi/bfc/bfc_assert.h | 39 + Src/Wasabi/bfc/bitlist.h | 41 + Src/Wasabi/bfc/common.h | 23 + Src/Wasabi/bfc/critsec.cpp | 73 + Src/Wasabi/bfc/critsec.h | 96 + Src/Wasabi/bfc/depend.cpp | 211 + Src/Wasabi/bfc/depend.h | 152 + Src/Wasabi/bfc/depview.cpp | 2 + Src/Wasabi/bfc/depview.h | 103 + Src/Wasabi/bfc/dispatch.h | 622 +++ Src/Wasabi/bfc/draw/convolve.cpp | 60 + Src/Wasabi/bfc/draw/convolve.h | 24 + Src/Wasabi/bfc/draw/drawpoly.cpp | 458 ++ Src/Wasabi/bfc/draw/drawpoly.h | 16 + Src/Wasabi/bfc/draw/gradient.cpp | 309 ++ Src/Wasabi/bfc/draw/gradient.h | 67 + Src/Wasabi/bfc/draw/skinfilter.cpp | 17 + Src/Wasabi/bfc/draw/skinfilter.h | 11 + Src/Wasabi/bfc/error.h | 6 + Src/Wasabi/bfc/file/filename.cpp | 2 + Src/Wasabi/bfc/file/filename.h | 26 + Src/Wasabi/bfc/file/readdir.cpp | 129 + Src/Wasabi/bfc/file/readdir.h | 48 + Src/Wasabi/bfc/file/recursedir.cpp | 67 + Src/Wasabi/bfc/file/recursedir.h | 73 + Src/Wasabi/bfc/file/splitpath.c | 213 + Src/Wasabi/bfc/file/splitpath.h | 26 + Src/Wasabi/bfc/file/tmpnamestr.h | 18 + Src/Wasabi/bfc/file/wildcharsenum.cpp | 64 + Src/Wasabi/bfc/file/wildcharsenum.h | 34 + Src/Wasabi/bfc/foreach.cpp | 22 + Src/Wasabi/bfc/foreach.h | 55 + Src/Wasabi/bfc/freelist.cpp | 81 + Src/Wasabi/bfc/freelist.h | 93 + Src/Wasabi/bfc/loadlib.cpp | 85 + Src/Wasabi/bfc/loadlib.h | 35 + Src/Wasabi/bfc/memblock.cpp | 66 + Src/Wasabi/bfc/memblock.h | 101 + Src/Wasabi/bfc/multipatch.h | 412 ++ Src/Wasabi/bfc/named.h | 25 + Src/Wasabi/bfc/node.cpp | 8 + Src/Wasabi/bfc/node.h | 118 + Src/Wasabi/bfc/nsguid.cpp | 174 + Src/Wasabi/bfc/nsguid.h | 33 + Src/Wasabi/bfc/pair.h | 14 + Src/Wasabi/bfc/parse/Makefile.am | 4 + Src/Wasabi/bfc/parse/Makefile.in | 372 ++ Src/Wasabi/bfc/parse/PathParseW.cpp | 55 + Src/Wasabi/bfc/parse/hierarchyparser.cpp | 99 + Src/Wasabi/bfc/parse/hierarchyparser.h | 55 + Src/Wasabi/bfc/parse/paramparser.cpp | 20 + Src/Wasabi/bfc/parse/paramparser.h | 23 + Src/Wasabi/bfc/parse/pathparse.cpp | 54 + Src/Wasabi/bfc/parse/pathparse.h | 152 + Src/Wasabi/bfc/platform/Makefile.am | 6 + Src/Wasabi/bfc/platform/Makefile.in | 376 ++ Src/Wasabi/bfc/platform/export.h | 20 + Src/Wasabi/bfc/platform/guid.h | 1 + Src/Wasabi/bfc/platform/linux.h | 437 ++ Src/Wasabi/bfc/platform/linux/linux.cpp | 961 ++++ Src/Wasabi/bfc/platform/minmax.h | 19 + Src/Wasabi/bfc/platform/platform.cpp | 6 + Src/Wasabi/bfc/platform/platform.h | 498 ++ Src/Wasabi/bfc/platform/std_string_osx.cpp | 246 + Src/Wasabi/bfc/platform/strcmp.h | 15 + Src/Wasabi/bfc/platform/types.h | 2 + Src/Wasabi/bfc/platform/win32.h | 34 + Src/Wasabi/bfc/precomp_wasabi_bfc.cpp | 1 + Src/Wasabi/bfc/precomp_wasabi_bfc.h | 22 + Src/Wasabi/bfc/ptrlist.cpp | 330 ++ Src/Wasabi/bfc/ptrlist.h | 777 +++ Src/Wasabi/bfc/reentryfilter.h | 78 + Src/Wasabi/bfc/stack.cpp | 77 + Src/Wasabi/bfc/stack.h | 42 + Src/Wasabi/bfc/std_file.cpp | 428 ++ Src/Wasabi/bfc/std_file.h | 101 + Src/Wasabi/bfc/std_keyboard.cpp | 51 + Src/Wasabi/bfc/std_keyboard.h | 46 + Src/Wasabi/bfc/std_math.cpp | 18 + Src/Wasabi/bfc/std_math.h | 48 + Src/Wasabi/bfc/std_mem.h | 71 + Src/Wasabi/bfc/std_mkncc.h | 11 + Src/Wasabi/bfc/std_string.cpp | 254 + Src/Wasabi/bfc/std_string.h | 11 + Src/Wasabi/bfc/std_wnd.cpp | 1098 ++++ Src/Wasabi/bfc/string/PathString.cpp | 7 + Src/Wasabi/bfc/string/PathString.h | 21 + Src/Wasabi/bfc/string/StringW.cpp | 783 +++ Src/Wasabi/bfc/string/StringW.h | 467 ++ Src/Wasabi/bfc/string/bfcstring.h | 473 ++ Src/Wasabi/bfc/string/bigstring.cpp | 95 + Src/Wasabi/bfc/string/bigstring.h | 56 + Src/Wasabi/bfc/string/encodedstr.cpp | 156 + Src/Wasabi/bfc/string/encodedstr.h | 42 + Src/Wasabi/bfc/string/playstring.cpp | 57 + Src/Wasabi/bfc/string/playstring.h | 49 + Src/Wasabi/bfc/string/string.cpp | 884 +++ Src/Wasabi/bfc/string/stringdict.h | 96 + Src/Wasabi/bfc/string/url.cpp | 205 + Src/Wasabi/bfc/string/url.h | 33 + Src/Wasabi/bfc/string/utf8.cpp | 25 + Src/Wasabi/bfc/string/utf8.h | 8 + Src/Wasabi/bfc/test.cpp | 5 + Src/Wasabi/bfc/thread.cpp | 124 + Src/Wasabi/bfc/thread.h | 145 + Src/Wasabi/bfc/tlist.h | 156 + Src/Wasabi/bfc/util/base64.cpp | 315 ++ Src/Wasabi/bfc/util/base64.h | 16 + Src/Wasabi/bfc/util/findopenrect.cpp | 251 + Src/Wasabi/bfc/util/findopenrect.h | 63 + Src/Wasabi/bfc/util/inifile.cpp | 56 + Src/Wasabi/bfc/util/inifile.h | 28 + Src/Wasabi/bfc/util/profile.c | 288 + Src/Wasabi/bfc/util/profile.h | 26 + Src/Wasabi/bfc/util/profiler.cpp | 6 + Src/Wasabi/bfc/util/profiler.h | 128 + Src/Wasabi/bfc/util/timefmt.cpp | 71 + Src/Wasabi/bfc/util/timefmt.h | 46 + Src/Wasabi/bfc/wasabi_std.cpp | 1198 ++++ Src/Wasabi/bfc/wasabi_std.h | 366 ++ Src/Wasabi/bfc/wasabi_std_rect.cpp | 77 + Src/Wasabi/bfc/wasabi_std_rect.h | 22 + Src/Wasabi/bfc/wasabi_std_wnd.h | 86 + Src/Wasabi/mc.exe | Bin 0 -> 74240 bytes Src/Wasabi/nscrt.dll | Bin 0 -> 348160 bytes Src/Wasabi/precomp.cpp | 2 + Src/Wasabi/precomp.h | 15 + Src/Wasabi/wasabicfg.h | 17 + Src/Wasabi/wasabicfg/wa5/wasabicfg.h | 345 ++ Src/Wasabi/wasabicfg/wasabicfg.h | 470 ++ Src/Wasabi/wasabitest.cpp | 285 + 1100 files changed, 178721 insertions(+) create mode 100644 Src/Wasabi/Lib/application.mi create mode 100644 Src/Wasabi/Lib/colormgr.mi create mode 100644 Src/Wasabi/Lib/com/AutoRepeatButton.m create mode 100644 Src/Wasabi/Lib/com/centerlayer.m create mode 100644 Src/Wasabi/Lib/com/customseek.m create mode 100644 Src/Wasabi/Lib/com/debug.m create mode 100644 Src/Wasabi/Lib/com/dispatch_ifc.m create mode 100644 Src/Wasabi/Lib/com/dragvolume.m create mode 100644 Src/Wasabi/Lib/com/fillbar.m create mode 100644 Src/Wasabi/Lib/com/glow.m create mode 100644 Src/Wasabi/Lib/com/glowobject.m create mode 100644 Src/Wasabi/Lib/com/rotationlayer.m create mode 100644 Src/Wasabi/Lib/com/songinfo.m create mode 100644 Src/Wasabi/Lib/config.mi create mode 100644 Src/Wasabi/Lib/core.mi create mode 100644 Src/Wasabi/Lib/exd.mi create mode 100644 Src/Wasabi/Lib/fileio.mi create mode 100644 Src/Wasabi/Lib/pldir.mi create mode 100644 Src/Wasabi/Lib/private.mi create mode 100644 Src/Wasabi/Lib/std.mi create mode 100644 Src/Wasabi/Lib/winampconfig.mi create mode 100644 Src/Wasabi/Wasabi.sln create mode 100644 Src/Wasabi/Wasabi.vcxproj create mode 100644 Src/Wasabi/Wasabi.vcxproj.filters create mode 100644 Src/Wasabi/Wasabi.xcodeproj/project.pbxproj create mode 100644 Src/Wasabi/api.h create mode 100644 Src/Wasabi/api/apiconfig.h create mode 100644 Src/Wasabi/api/apiinit.cpp create mode 100644 Src/Wasabi/api/apiinit.h create mode 100644 Src/Wasabi/api/application/api_application.cpp create mode 100644 Src/Wasabi/api/application/api_application.h create mode 100644 Src/Wasabi/api/application/api_applicationi.cpp create mode 100644 Src/Wasabi/api/application/api_applicationi.h create mode 100644 Src/Wasabi/api/application/api_applicationx.cpp create mode 100644 Src/Wasabi/api/application/api_applicationx.h create mode 100644 Src/Wasabi/api/application/ifc_messageprocessor.cpp create mode 100644 Src/Wasabi/api/application/ifc_messageprocessor.h create mode 100644 Src/Wasabi/api/application/ifc_messageprocessori.cpp create mode 100644 Src/Wasabi/api/application/ifc_messageprocessori.h create mode 100644 Src/Wasabi/api/application/ipcs.cpp create mode 100644 Src/Wasabi/api/application/ipcs.h create mode 100644 Src/Wasabi/api/application/pathmgr.cpp create mode 100644 Src/Wasabi/api/application/pathmgr.h create mode 100644 Src/Wasabi/api/application/version.cpp create mode 100644 Src/Wasabi/api/application/version.h create mode 100644 Src/Wasabi/api/application/wkc.cpp create mode 100644 Src/Wasabi/api/application/wkc.h create mode 100644 Src/Wasabi/api/config/api_config.cpp create mode 100644 Src/Wasabi/api/config/api_config.h create mode 100644 Src/Wasabi/api/config/api_configi.cpp create mode 100644 Src/Wasabi/api/config/api_configi.h create mode 100644 Src/Wasabi/api/config/api_configx.cpp create mode 100644 Src/Wasabi/api/config/api_configx.h create mode 100644 Src/Wasabi/api/config/cfglist.cpp create mode 100644 Src/Wasabi/api/config/cfglist.h create mode 100644 Src/Wasabi/api/config/cfgscriptobj.cpp create mode 100644 Src/Wasabi/api/config/cfgscriptobj.h create mode 100644 Src/Wasabi/api/config/config.cpp create mode 100644 Src/Wasabi/api/config/config.h create mode 100644 Src/Wasabi/api/config/configapi.cpp create mode 100644 Src/Wasabi/api/config/configapi.h create mode 100644 Src/Wasabi/api/config/filetypes.cpp create mode 100644 Src/Wasabi/api/config/filetypes.h create mode 100644 Src/Wasabi/api/config/items/attrbool.h create mode 100644 Src/Wasabi/api/config/items/attrcb.h create mode 100644 Src/Wasabi/api/config/items/attrfloat.h create mode 100644 Src/Wasabi/api/config/items/attrfn.h create mode 100644 Src/Wasabi/api/config/items/attrhandler.h create mode 100644 Src/Wasabi/api/config/items/attribs.h create mode 100644 Src/Wasabi/api/config/items/attribute.cpp create mode 100644 Src/Wasabi/api/config/items/attribute.h create mode 100644 Src/Wasabi/api/config/items/attrint.h create mode 100644 Src/Wasabi/api/config/items/attrstr.cpp create mode 100644 Src/Wasabi/api/config/items/attrstr.h create mode 100644 Src/Wasabi/api/config/items/cfgitem.h create mode 100644 Src/Wasabi/api/config/items/cfgitemi.cpp create mode 100644 Src/Wasabi/api/config/items/cfgitemi.h create mode 100644 Src/Wasabi/api/config/items/cfgitemx.cpp create mode 100644 Src/Wasabi/api/config/items/cfgitemx.h create mode 100644 Src/Wasabi/api/config/items/intarray.cpp create mode 100644 Src/Wasabi/api/config/items/intarray.h create mode 100644 Src/Wasabi/api/config/options.cpp create mode 100644 Src/Wasabi/api/config/options.h create mode 100644 Src/Wasabi/api/config/uioptions.cpp create mode 100644 Src/Wasabi/api/config/uioptions.h create mode 100644 Src/Wasabi/api/console/console.cpp create mode 100644 Src/Wasabi/api/console/console.h create mode 100644 Src/Wasabi/api/core/api_core.cpp create mode 100644 Src/Wasabi/api/core/api_core.h create mode 100644 Src/Wasabi/api/core/buttons.h create mode 100644 Src/Wasabi/api/core/coreactions.cpp create mode 100644 Src/Wasabi/api/core/coreactions.h create mode 100644 Src/Wasabi/api/core/corehandle.cpp create mode 100644 Src/Wasabi/api/core/corehandle.h create mode 100644 Src/Wasabi/api/core/sequence.cpp create mode 100644 Src/Wasabi/api/core/sequence.h create mode 100644 Src/Wasabi/api/dependency/api_dependent.cpp create mode 100644 Src/Wasabi/api/dependency/api_dependent.h create mode 100644 Src/Wasabi/api/dependency/api_dependentviewer.cpp create mode 100644 Src/Wasabi/api/dependency/api_dependentviewer.h create mode 100644 Src/Wasabi/api/filereader/api_filereader.cpp create mode 100644 Src/Wasabi/api/filereader/api_filereader.h create mode 100644 Src/Wasabi/api/filereader/api_readercallback.h create mode 100644 Src/Wasabi/api/filereader/filereaderapi.cpp create mode 100644 Src/Wasabi/api/filereader/filereaderapi.h create mode 100644 Src/Wasabi/api/filereader/local/fileread.cpp create mode 100644 Src/Wasabi/api/filereader/local/fileread.h create mode 100644 Src/Wasabi/api/filereader/svc_filereadI.h create mode 100644 Src/Wasabi/api/filereader/zip/zipread.cpp create mode 100644 Src/Wasabi/api/filereader/zip/zipread.h create mode 100644 Src/Wasabi/api/font/FontCreator.h create mode 100644 Src/Wasabi/api/font/FontSvcEnum.h create mode 100644 Src/Wasabi/api/font/api_font.cpp create mode 100644 Src/Wasabi/api/font/api_font.h create mode 100644 Src/Wasabi/api/font/bitmapfont.cpp create mode 100644 Src/Wasabi/api/font/bitmapfont.h create mode 100644 Src/Wasabi/api/font/font.cpp create mode 100644 Src/Wasabi/api/font/font.h create mode 100644 Src/Wasabi/api/font/fontapi.cpp create mode 100644 Src/Wasabi/api/font/fontapi.h create mode 100644 Src/Wasabi/api/font/linux/truetypefont_linux.cpp create mode 100644 Src/Wasabi/api/font/linux/truetypefont_linux.h create mode 100644 Src/Wasabi/api/font/skinfont.cpp create mode 100644 Src/Wasabi/api/font/skinfont.h create mode 100644 Src/Wasabi/api/font/svc_fontI.h create mode 100644 Src/Wasabi/api/font/truetypefontdef.h create mode 100644 Src/Wasabi/api/font/win32/truetypefont_win32.cpp create mode 100644 Src/Wasabi/api/font/win32/truetypefont_win32.h create mode 100644 Src/Wasabi/api/imgldr/ImgLoaderEnum.h create mode 100644 Src/Wasabi/api/imgldr/api_imgldr.cpp create mode 100644 Src/Wasabi/api/imgldr/api_imgldr.h create mode 100644 Src/Wasabi/api/imgldr/imggen/grad.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/grad.h create mode 100644 Src/Wasabi/api/imgldr/imggen/imggen.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/imggen.h create mode 100644 Src/Wasabi/api/imgldr/imggen/osedge.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/osedge.h create mode 100644 Src/Wasabi/api/imgldr/imggen/poly.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/poly.h create mode 100644 Src/Wasabi/api/imgldr/imggen/shadowwnd.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/shadowwnd.h create mode 100644 Src/Wasabi/api/imgldr/imggen/solid.cpp create mode 100644 Src/Wasabi/api/imgldr/imggen/solid.h create mode 100644 Src/Wasabi/api/imgldr/imgldr.cpp create mode 100644 Src/Wasabi/api/imgldr/imgldr.h create mode 100644 Src/Wasabi/api/imgldr/imgldrapi.cpp create mode 100644 Src/Wasabi/api/imgldr/imgldrapi.h create mode 100644 Src/Wasabi/api/imgldr/skinbmps.h create mode 100644 Src/Wasabi/api/imgldr/winbmp.h create mode 100644 Src/Wasabi/api/locales/LocalesInfo.cpp create mode 100644 Src/Wasabi/api/locales/LocalesInfo.h create mode 100644 Src/Wasabi/api/locales/api_locales.cpp create mode 100644 Src/Wasabi/api/locales/api_locales.h create mode 100644 Src/Wasabi/api/locales/api_localesi.cpp create mode 100644 Src/Wasabi/api/locales/api_localesi.h create mode 100644 Src/Wasabi/api/locales/api_localesx.cpp create mode 100644 Src/Wasabi/api/locales/api_localesx.h create mode 100644 Src/Wasabi/api/locales/localesmgr.cpp create mode 100644 Src/Wasabi/api/locales/localesmgr.h create mode 100644 Src/Wasabi/api/locales/xlatstr.h create mode 100644 Src/Wasabi/api/memmgr/api_memmgr.cpp create mode 100644 Src/Wasabi/api/memmgr/api_memmgr.h create mode 100644 Src/Wasabi/api/metrics/metricscb.h create mode 100644 Src/Wasabi/api/script/api_maki.cpp create mode 100644 Src/Wasabi/api/script/api_maki.h create mode 100644 Src/Wasabi/api/script/api_makidebug.cpp create mode 100644 Src/Wasabi/api/script/api_makidebug.h create mode 100644 Src/Wasabi/api/script/api_makii.cpp create mode 100644 Src/Wasabi/api/script/api_makii.h create mode 100644 Src/Wasabi/api/script/api_makix.cpp create mode 100644 Src/Wasabi/api/script/api_makix.h create mode 100644 Src/Wasabi/api/script/debugger/api_makidebug.cpp create mode 100644 Src/Wasabi/api/script/debugger/api_makidebug.h create mode 100644 Src/Wasabi/api/script/debugger/debugapi.cpp create mode 100644 Src/Wasabi/api/script/debugger/debugapi.h create mode 100644 Src/Wasabi/api/script/debugger/debuggerui.cpp create mode 100644 Src/Wasabi/api/script/debugger/debuggerui.h create mode 100644 Src/Wasabi/api/script/debugger/debugsymbols.cpp create mode 100644 Src/Wasabi/api/script/debugger/debugsymbols.h create mode 100644 Src/Wasabi/api/script/debugger/disasm.cpp create mode 100644 Src/Wasabi/api/script/debugger/disasm.h create mode 100644 Src/Wasabi/api/script/debugger/jitd.cpp create mode 100644 Src/Wasabi/api/script/debugger/jitd.h create mode 100644 Src/Wasabi/api/script/debugger/jitdbreak.cpp create mode 100644 Src/Wasabi/api/script/debugger/jitdbreak.h create mode 100644 Src/Wasabi/api/script/debugger/sdebuggerui.cpp create mode 100644 Src/Wasabi/api/script/debugger/sdebuggerui.h create mode 100644 Src/Wasabi/api/script/debugger/sourcecodeline.cpp create mode 100644 Src/Wasabi/api/script/debugger/sourcecodeline.h create mode 100644 Src/Wasabi/api/script/debugger/vcpudebug.cpp create mode 100644 Src/Wasabi/api/script/debugger/vcpudebug.h create mode 100644 Src/Wasabi/api/script/guru.cpp create mode 100644 Src/Wasabi/api/script/guru.h create mode 100644 Src/Wasabi/api/script/makiapi.cpp create mode 100644 Src/Wasabi/api/script/makiapi.h create mode 100644 Src/Wasabi/api/script/objcontroller.cpp create mode 100644 Src/Wasabi/api/script/objcontroller.h create mode 100644 Src/Wasabi/api/script/objcontrollert.cpp create mode 100644 Src/Wasabi/api/script/objcontrollert.h create mode 100644 Src/Wasabi/api/script/objects/PlaylistScriptObject.cpp create mode 100644 Src/Wasabi/api/script/objects/PlaylistScriptObject.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_browser.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_browser.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_button.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_button.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_checkbox.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_checkbox.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_container.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_container.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_dropdownlist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_dropdownlist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_edit.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_edit.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_group.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_group.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_grouplist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_grouplist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guilist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guilist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guiobject.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guiobject.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guitree.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_guitree.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_layout.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_layout.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_menubutton.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_menubutton.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_querylist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_querylist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_rootobj.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_rootobj.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_slider.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_slider.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_tabsheet.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_tabsheet.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_text.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_text.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_togglebutton.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_togglebutton.h create mode 100644 Src/Wasabi/api/script/objects/c_script/c_treeitem.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/c_treeitem.h create mode 100644 Src/Wasabi/api/script/objects/c_script/gen.m create mode 100644 Src/Wasabi/api/script/objects/c_script/h_browser.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_browser.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_button.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_button.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_checkbox.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_checkbox.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_container.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_container.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_dropdownlist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_dropdownlist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_edit.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_edit.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_group.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_group.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_grouplist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_grouplist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guilist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guilist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guiobject.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guiobject.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guitree.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_guitree.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_layout.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_layout.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_menubutton.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_menubutton.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_querylist.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_querylist.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_rootobj.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_rootobj.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_slider.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_slider.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_tabsheet.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_tabsheet.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_text.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_text.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_togglebutton.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_togglebutton.h create mode 100644 Src/Wasabi/api/script/objects/c_script/h_treeitem.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/h_treeitem.h create mode 100644 Src/Wasabi/api/script/objects/c_script/scripthook.cpp create mode 100644 Src/Wasabi/api/script/objects/c_script/scripthook.h create mode 100644 Src/Wasabi/api/script/objects/compoobj.cpp create mode 100644 Src/Wasabi/api/script/objects/compoobj.h create mode 100644 Src/Wasabi/api/script/objects/core/coreadminobj.cpp create mode 100644 Src/Wasabi/api/script/objects/core/coreadminobj.h create mode 100644 Src/Wasabi/api/script/objects/core/coreobj.cpp create mode 100644 Src/Wasabi/api/script/objects/core/coreobj.h create mode 100644 Src/Wasabi/api/script/objects/core/svc_scriptcore.cpp create mode 100644 Src/Wasabi/api/script/objects/core/svc_scriptcore.h create mode 100644 Src/Wasabi/api/script/objects/guiobj.cpp create mode 100644 Src/Wasabi/api/script/objects/guiobj.h create mode 100644 Src/Wasabi/api/script/objects/guiobject.h create mode 100644 Src/Wasabi/api/script/objects/guiobjectx.cpp create mode 100644 Src/Wasabi/api/script/objects/guiobjectx.h create mode 100644 Src/Wasabi/api/script/objects/rootobj.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobj.h create mode 100644 Src/Wasabi/api/script/objects/rootobjcb.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjcb.h create mode 100644 Src/Wasabi/api/script/objects/rootobjcbi.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjcbi.h create mode 100644 Src/Wasabi/api/script/objects/rootobjcbx.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjcbx.h create mode 100644 Src/Wasabi/api/script/objects/rootobjcontroller.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjcontroller.h create mode 100644 Src/Wasabi/api/script/objects/rootobject.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobject.h create mode 100644 Src/Wasabi/api/script/objects/rootobjecti.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjecti.h create mode 100644 Src/Wasabi/api/script/objects/rootobjectx.cpp create mode 100644 Src/Wasabi/api/script/objects/rootobjectx.h create mode 100644 Src/Wasabi/api/script/objects/sapplication.cpp create mode 100644 Src/Wasabi/api/script/objects/sapplication.h create mode 100644 Src/Wasabi/api/script/objects/sbitlist.cpp create mode 100644 Src/Wasabi/api/script/objects/sbitlist.h create mode 100644 Src/Wasabi/api/script/objects/scolor.cpp create mode 100644 Src/Wasabi/api/script/objects/scolor.h create mode 100644 Src/Wasabi/api/script/objects/scolormgr.cpp create mode 100644 Src/Wasabi/api/script/objects/scolormgr.h create mode 100644 Src/Wasabi/api/script/objects/sfile.cpp create mode 100644 Src/Wasabi/api/script/objects/sfile.h create mode 100644 Src/Wasabi/api/script/objects/sgammagroup.cpp create mode 100644 Src/Wasabi/api/script/objects/sgammagroup.h create mode 100644 Src/Wasabi/api/script/objects/sgammaset.cpp create mode 100644 Src/Wasabi/api/script/objects/sgammaset.h create mode 100644 Src/Wasabi/api/script/objects/slist.cpp create mode 100644 Src/Wasabi/api/script/objects/slist.h create mode 100644 Src/Wasabi/api/script/objects/smap.cpp create mode 100644 Src/Wasabi/api/script/objects/smap.h create mode 100644 Src/Wasabi/api/script/objects/spopup.cpp create mode 100644 Src/Wasabi/api/script/objects/spopup.h create mode 100644 Src/Wasabi/api/script/objects/sprivate.cpp create mode 100644 Src/Wasabi/api/script/objects/sprivate.h create mode 100644 Src/Wasabi/api/script/objects/sregion.cpp create mode 100644 Src/Wasabi/api/script/objects/sregion.h create mode 100644 Src/Wasabi/api/script/objects/svcwnd.cpp create mode 100644 Src/Wasabi/api/script/objects/svcwnd.h create mode 100644 Src/Wasabi/api/script/objects/sxmldoc.cpp create mode 100644 Src/Wasabi/api/script/objects/sxmldoc.h create mode 100644 Src/Wasabi/api/script/objects/systemobj.cpp create mode 100644 Src/Wasabi/api/script/objects/systemobj.h create mode 100644 Src/Wasabi/api/script/objects/timer.cpp create mode 100644 Src/Wasabi/api/script/objects/timer.h create mode 100644 Src/Wasabi/api/script/objects/wacobj.cpp create mode 100644 Src/Wasabi/api/script/objects/wacobj.h create mode 100644 Src/Wasabi/api/script/objecttable.cpp create mode 100644 Src/Wasabi/api/script/objecttable.h create mode 100644 Src/Wasabi/api/script/opcodes.h create mode 100644 Src/Wasabi/api/script/script.cpp create mode 100644 Src/Wasabi/api/script/script.h create mode 100644 Src/Wasabi/api/script/scriptguid.h create mode 100644 Src/Wasabi/api/script/scriptmgr.cpp create mode 100644 Src/Wasabi/api/script/scriptmgr.h create mode 100644 Src/Wasabi/api/script/scriptobj.cpp create mode 100644 Src/Wasabi/api/script/scriptobj.h create mode 100644 Src/Wasabi/api/script/scriptobji.cpp create mode 100644 Src/Wasabi/api/script/scriptobji.h create mode 100644 Src/Wasabi/api/script/scriptobjx.cpp create mode 100644 Src/Wasabi/api/script/scriptobjx.h create mode 100644 Src/Wasabi/api/script/scriptvar.h create mode 100644 Src/Wasabi/api/script/vcpu.cpp create mode 100644 Src/Wasabi/api/script/vcpu.h create mode 100644 Src/Wasabi/api/script/vcputypes.h create mode 100644 Src/Wasabi/api/service/api_service.cpp create mode 100644 Src/Wasabi/api/service/api_service.h create mode 100644 Src/Wasabi/api/service/api_servicei.cpp create mode 100644 Src/Wasabi/api/service/api_servicei.h create mode 100644 Src/Wasabi/api/service/api_servicex.cpp create mode 100644 Src/Wasabi/api/service/api_servicex.h create mode 100644 Src/Wasabi/api/service/service.h create mode 100644 Src/Wasabi/api/service/servicei.cpp create mode 100644 Src/Wasabi/api/service/servicei.h create mode 100644 Src/Wasabi/api/service/services.h create mode 100644 Src/Wasabi/api/service/svc_enum.cpp create mode 100644 Src/Wasabi/api/service/svc_enum.h create mode 100644 Src/Wasabi/api/service/svccache.cpp create mode 100644 Src/Wasabi/api/service/svccache.h create mode 100644 Src/Wasabi/api/service/svcenum.cpp create mode 100644 Src/Wasabi/api/service/svcenum.h create mode 100644 Src/Wasabi/api/service/svcenumbyguid.cpp create mode 100644 Src/Wasabi/api/service/svcenumbyguid.h create mode 100644 Src/Wasabi/api/service/svcenumt.cpp create mode 100644 Src/Wasabi/api/service/svcenumt.h create mode 100644 Src/Wasabi/api/service/svcmgr.cpp create mode 100644 Src/Wasabi/api/service/svcmgr.h create mode 100644 Src/Wasabi/api/service/svcs/svc_accessibility.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_accessibility.h create mode 100644 Src/Wasabi/api/service/svcs/svc_accroleserver.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_accroleserver.h create mode 100644 Src/Wasabi/api/service/svcs/svc_action.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_action.h create mode 100644 Src/Wasabi/api/service/svcs/svc_burner.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_burner.h create mode 100644 Src/Wasabi/api/service/svcs/svc_collection.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_collection.h create mode 100644 Src/Wasabi/api/service/svcs/svc_console.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_console.h create mode 100644 Src/Wasabi/api/service/svcs/svc_contextCmd.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_contextCmd.h create mode 100644 Src/Wasabi/api/service/svcs/svc_coreadmin.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_coreadmin.h create mode 100644 Src/Wasabi/api/service/svcs/svc_db.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_db.h create mode 100644 Src/Wasabi/api/service/svcs/svc_debuggerui.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_debuggerui.h create mode 100644 Src/Wasabi/api/service/svcs/svc_device.h create mode 100644 Src/Wasabi/api/service/svcs/svc_droptarget.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_droptarget.h create mode 100644 Src/Wasabi/api/service/svcs/svc_eval.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_eval.h create mode 100644 Src/Wasabi/api/service/svcs/svc_export.h create mode 100644 Src/Wasabi/api/service/svcs/svc_fileread.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_fileread.h create mode 100644 Src/Wasabi/api/service/svcs/svc_filesel.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_filesel.h create mode 100644 Src/Wasabi/api/service/svcs/svc_font.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_font.h create mode 100644 Src/Wasabi/api/service/svcs/svc_fontmaker.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_fontmaker.h create mode 100644 Src/Wasabi/api/service/svcs/svc_fontrender.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_fontrender.h create mode 100644 Src/Wasabi/api/service/svcs/svc_imggen.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_imggen.h create mode 100644 Src/Wasabi/api/service/svcs/svc_imgload.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_imgload.h create mode 100644 Src/Wasabi/api/service/svcs/svc_imgwrite.h create mode 100644 Src/Wasabi/api/service/svcs/svc_itemmgr.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_itemmgr.h create mode 100644 Src/Wasabi/api/service/svcs/svc_loadlib.h create mode 100644 Src/Wasabi/api/service/svcs/svc_mediaconverter.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_mediaconverter.h create mode 100644 Src/Wasabi/api/service/svcs/svc_mediacore.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_mediacore.h create mode 100644 Src/Wasabi/api/service/svcs/svc_metadata.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_metadata.h create mode 100644 Src/Wasabi/api/service/svcs/svc_minibrowser.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_minibrowser.h create mode 100644 Src/Wasabi/api/service/svcs/svc_objectdir.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_objectdir.h create mode 100644 Src/Wasabi/api/service/svcs/svc_player.h create mode 100644 Src/Wasabi/api/service/svcs/svc_playlist.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_playlist.h create mode 100644 Src/Wasabi/api/service/svcs/svc_redir.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_redir.h create mode 100644 Src/Wasabi/api/service/svcs/svc_scriptobj.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_scriptobj.h create mode 100644 Src/Wasabi/api/service/svcs/svc_scriptobji.h create mode 100644 Src/Wasabi/api/service/svcs/svc_skinfilter.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_skinfilter.h create mode 100644 Src/Wasabi/api/service/svcs/svc_storagevolenum.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_storagevolenum.h create mode 100644 Src/Wasabi/api/service/svcs/svc_stringconverter.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_stringconverter.h create mode 100644 Src/Wasabi/api/service/svcs/svc_stringtypes.h create mode 100644 Src/Wasabi/api/service/svcs/svc_textfeed.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_textfeed.h create mode 100644 Src/Wasabi/api/service/svcs/svc_tooltips.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_tooltips.h create mode 100644 Src/Wasabi/api/service/svcs/svc_wndcreate.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_wndcreate.h create mode 100644 Src/Wasabi/api/service/svcs/svc_xmlprov.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_xmlprov.h create mode 100644 Src/Wasabi/api/service/svcs/svc_xuiobject.cpp create mode 100644 Src/Wasabi/api/service/svcs/svc_xuiobject.h create mode 100644 Src/Wasabi/api/service/waservicefactory.cpp create mode 100644 Src/Wasabi/api/service/waservicefactory.h create mode 100644 Src/Wasabi/api/service/waservicefactorybase.cpp create mode 100644 Src/Wasabi/api/service/waservicefactorybase.h create mode 100644 Src/Wasabi/api/service/waservicefactoryi.cpp create mode 100644 Src/Wasabi/api/service/waservicefactoryi.h create mode 100644 Src/Wasabi/api/service/waservicefactoryt.cpp create mode 100644 Src/Wasabi/api/service/waservicefactoryt.h create mode 100644 Src/Wasabi/api/service/waservicefactorytsingle.cpp create mode 100644 Src/Wasabi/api/service/waservicefactorytsingle.h create mode 100644 Src/Wasabi/api/service/waservicefactoryx.cpp create mode 100644 Src/Wasabi/api/service/waservicefactoryx.h create mode 100644 Src/Wasabi/api/skin/SkinElementAlias.cpp create mode 100644 Src/Wasabi/api/skin/SkinElementAlias.h create mode 100644 Src/Wasabi/api/skin/SkinVersion.cpp create mode 100644 Src/Wasabi/api/skin/SkinVersion.h create mode 100644 Src/Wasabi/api/skin/api_colorthemes.cpp create mode 100644 Src/Wasabi/api/skin/api_colorthemes.h create mode 100644 Src/Wasabi/api/skin/api_palette.cpp create mode 100644 Src/Wasabi/api/skin/api_palette.h create mode 100644 Src/Wasabi/api/skin/api_skin.cpp create mode 100644 Src/Wasabi/api/skin/api_skin.h create mode 100644 Src/Wasabi/api/skin/colorthemes.h create mode 100644 Src/Wasabi/api/skin/cursormgr.cpp create mode 100644 Src/Wasabi/api/skin/cursormgr.h create mode 100644 Src/Wasabi/api/skin/feeds/TextFeedEnum.h create mode 100644 Src/Wasabi/api/skin/feeds/api_textfeed.cpp create mode 100644 Src/Wasabi/api/skin/feeds/api_textfeed.h create mode 100644 Src/Wasabi/api/skin/feeds/ezfeed.h create mode 100644 Src/Wasabi/api/skin/feeds/feedwatch.cpp create mode 100644 Src/Wasabi/api/skin/feeds/feedwatch.h create mode 100644 Src/Wasabi/api/skin/feeds/feedwatcherso.cpp create mode 100644 Src/Wasabi/api/skin/feeds/feedwatcherso.h create mode 100644 Src/Wasabi/api/skin/feeds/textfeed.cpp create mode 100644 Src/Wasabi/api/skin/feeds/textfeed.h create mode 100644 Src/Wasabi/api/skin/feeds/textfeedcb.cpp create mode 100644 Src/Wasabi/api/skin/feeds/textfeedcb.h create mode 100644 Src/Wasabi/api/skin/gammamgr.cpp create mode 100644 Src/Wasabi/api/skin/gammamgr.h create mode 100644 Src/Wasabi/api/skin/group.h create mode 100644 Src/Wasabi/api/skin/groupmgr.cpp create mode 100644 Src/Wasabi/api/skin/groupmgr.h create mode 100644 Src/Wasabi/api/skin/groupwndcreate.cpp create mode 100644 Src/Wasabi/api/skin/groupwndcreate.h create mode 100644 Src/Wasabi/api/skin/guitree.cpp create mode 100644 Src/Wasabi/api/skin/guitree.h create mode 100644 Src/Wasabi/api/skin/nakedobject.cpp create mode 100644 Src/Wasabi/api/skin/nakedobject.h create mode 100644 Src/Wasabi/api/skin/objectactuator.cpp create mode 100644 Src/Wasabi/api/skin/objectactuator.h create mode 100644 Src/Wasabi/api/skin/regioncache.cpp create mode 100644 Src/Wasabi/api/skin/regioncache.h create mode 100644 Src/Wasabi/api/skin/skin.cpp create mode 100644 Src/Wasabi/api/skin/skin.h create mode 100644 Src/Wasabi/api/skin/skinapi.cpp create mode 100644 Src/Wasabi/api/skin/skinapi.h create mode 100644 Src/Wasabi/api/skin/skinbmps.h create mode 100644 Src/Wasabi/api/skin/skinelem.cpp create mode 100644 Src/Wasabi/api/skin/skinelem.h create mode 100644 Src/Wasabi/api/skin/skinfilter.cpp create mode 100644 Src/Wasabi/api/skin/skinfilter.h create mode 100644 Src/Wasabi/api/skin/skinfont.cpp create mode 100644 Src/Wasabi/api/skin/skinfont.h create mode 100644 Src/Wasabi/api/skin/skinitem.cpp create mode 100644 Src/Wasabi/api/skin/skinitem.h create mode 100644 Src/Wasabi/api/skin/skinparse.cpp create mode 100644 Src/Wasabi/api/skin/skinparse.h create mode 100644 Src/Wasabi/api/skin/widgets.cpp create mode 100644 Src/Wasabi/api/skin/widgets.h create mode 100644 Src/Wasabi/api/skin/widgets/animlayer.cpp create mode 100644 Src/Wasabi/api/skin/widgets/animlayer.h create mode 100644 Src/Wasabi/api/skin/widgets/button.cpp create mode 100644 Src/Wasabi/api/skin/widgets/button.h create mode 100644 Src/Wasabi/api/skin/widgets/checkbox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/checkbox.h create mode 100644 Src/Wasabi/api/skin/widgets/combobox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/combobox.h create mode 100644 Src/Wasabi/api/skin/widgets/compbuck2.cpp create mode 100644 Src/Wasabi/api/skin/widgets/compbuck2.h create mode 100644 Src/Wasabi/api/skin/widgets/customobject.cpp create mode 100644 Src/Wasabi/api/skin/widgets/customobject.h create mode 100644 Src/Wasabi/api/skin/widgets/db/autofilterlist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/autofilterlist.h create mode 100644 Src/Wasabi/api/skin/widgets/db/autoquerylist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/autoquerylist.h create mode 100644 Src/Wasabi/api/skin/widgets/db/queryline.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/queryline.h create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiquerydrag.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiquerydrag.h create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiqueryline.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiqueryline.h create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiquerylist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/db/xuiquerylist.h create mode 100644 Src/Wasabi/api/skin/widgets/dropdownlist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/dropdownlist.h create mode 100644 Src/Wasabi/api/skin/widgets/edit.cpp create mode 100644 Src/Wasabi/api/skin/widgets/edit.h create mode 100644 Src/Wasabi/api/skin/widgets/fx.h create mode 100644 Src/Wasabi/api/skin/widgets/fx_dmove.cpp create mode 100644 Src/Wasabi/api/skin/widgets/fx_dmove.h create mode 100644 Src/Wasabi/api/skin/widgets/group.cpp create mode 100644 Src/Wasabi/api/skin/widgets/group.h create mode 100644 Src/Wasabi/api/skin/widgets/groupclickwnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/groupclickwnd.h create mode 100644 Src/Wasabi/api/skin/widgets/grouplist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/grouplist.h create mode 100644 Src/Wasabi/api/skin/widgets/grouptgbutton.cpp create mode 100644 Src/Wasabi/api/skin/widgets/grouptgbutton.h create mode 100644 Src/Wasabi/api/skin/widgets/grouptips.cpp create mode 100644 Src/Wasabi/api/skin/widgets/grouptips.h create mode 100644 Src/Wasabi/api/skin/widgets/guiradiogroup.cpp create mode 100644 Src/Wasabi/api/skin/widgets/guiradiogroup.h create mode 100644 Src/Wasabi/api/skin/widgets/historyeditbox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/historyeditbox.h create mode 100644 Src/Wasabi/api/skin/widgets/layer.cpp create mode 100644 Src/Wasabi/api/skin/widgets/layer.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/iebrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/iebrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/mainminibrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/mainminibrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/mbsvc.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/mbsvc.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/mbsvcwac.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/mbsvcwac.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/minibrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/minibrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/minibrowserwnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/minibrowserwnd.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/scriptbrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/scriptbrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/sharedminibrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/sharedminibrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mb/xuibrowser.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mb/xuibrowser.h create mode 100644 Src/Wasabi/api/skin/widgets/mouseredir.cpp create mode 100644 Src/Wasabi/api/skin/widgets/mouseredir.h create mode 100644 Src/Wasabi/api/skin/widgets/objdirwnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/objdirwnd.h create mode 100644 Src/Wasabi/api/skin/widgets/pathpicker.cpp create mode 100644 Src/Wasabi/api/skin/widgets/pathpicker.h create mode 100644 Src/Wasabi/api/skin/widgets/pslider.cpp create mode 100644 Src/Wasabi/api/skin/widgets/pslider.h create mode 100644 Src/Wasabi/api/skin/widgets/sa.cpp create mode 100644 Src/Wasabi/api/skin/widgets/sa.h create mode 100644 Src/Wasabi/api/skin/widgets/seeker.h create mode 100644 Src/Wasabi/api/skin/widgets/seqband.cpp create mode 100644 Src/Wasabi/api/skin/widgets/seqband.h create mode 100644 Src/Wasabi/api/skin/widgets/seqpreamp.cpp create mode 100644 Src/Wasabi/api/skin/widgets/seqpreamp.h create mode 100644 Src/Wasabi/api/skin/widgets/seqvis.cpp create mode 100644 Src/Wasabi/api/skin/widgets/seqvis.h create mode 100644 Src/Wasabi/api/skin/widgets/spanbar.cpp create mode 100644 Src/Wasabi/api/skin/widgets/spanbar.h create mode 100644 Src/Wasabi/api/skin/widgets/sseeker.cpp create mode 100644 Src/Wasabi/api/skin/widgets/sseeker.h create mode 100644 Src/Wasabi/api/skin/widgets/sstatus.cpp create mode 100644 Src/Wasabi/api/skin/widgets/sstatus.h create mode 100644 Src/Wasabi/api/skin/widgets/stats/statswnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/stats/statswnd.h create mode 100644 Src/Wasabi/api/skin/widgets/stats/xuistats.cpp create mode 100644 Src/Wasabi/api/skin/widgets/stats/xuistats.h create mode 100644 Src/Wasabi/api/skin/widgets/svolbar.cpp create mode 100644 Src/Wasabi/api/skin/widgets/svolbar.h create mode 100644 Src/Wasabi/api/skin/widgets/text.cpp create mode 100644 Src/Wasabi/api/skin/widgets/text.h create mode 100644 Src/Wasabi/api/skin/widgets/textbase.cpp create mode 100644 Src/Wasabi/api/skin/widgets/textbase.h create mode 100644 Src/Wasabi/api/skin/widgets/tgbutton.cpp create mode 100644 Src/Wasabi/api/skin/widgets/tgbutton.h create mode 100644 Src/Wasabi/api/skin/widgets/title.cpp create mode 100644 Src/Wasabi/api/skin/widgets/title.h create mode 100644 Src/Wasabi/api/skin/widgets/titlebox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/titlebox.h create mode 100644 Src/Wasabi/api/skin/widgets/wa2/xuiwa2slider.cpp create mode 100644 Src/Wasabi/api/skin/widgets/wa2/xuiwa2slider.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiaddparams.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiaddparams.h create mode 100644 Src/Wasabi/api/skin/widgets/xuibookmarklist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuibookmarklist.h create mode 100644 Src/Wasabi/api/skin/widgets/xuicheckbox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuicheckbox.h create mode 100644 Src/Wasabi/api/skin/widgets/xuicombobox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuicombobox.h create mode 100644 Src/Wasabi/api/skin/widgets/xuicustomobject.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuicustomobject.h create mode 100644 Src/Wasabi/api/skin/widgets/xuidownloadslist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuidownloadslist.h create mode 100644 Src/Wasabi/api/skin/widgets/xuidropdownlist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuidropdownlist.h create mode 100644 Src/Wasabi/api/skin/widgets/xuieditbox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuieditbox.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiframe.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiframe.h create mode 100644 Src/Wasabi/api/skin/widgets/xuigradientwnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuigradientwnd.h create mode 100644 Src/Wasabi/api/skin/widgets/xuigrid.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuigrid.h create mode 100644 Src/Wasabi/api/skin/widgets/xuigroupxfade.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuigroupxfade.h create mode 100644 Src/Wasabi/api/skin/widgets/xuihideobject.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuihideobject.h create mode 100644 Src/Wasabi/api/skin/widgets/xuihistoryedit.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuihistoryedit.h create mode 100644 Src/Wasabi/api/skin/widgets/xuilist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuilist.h create mode 100644 Src/Wasabi/api/skin/widgets/xuimenu.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuimenu.h create mode 100644 Src/Wasabi/api/skin/widgets/xuimenuso.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuimenuso.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiobjdirwnd.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiobjdirwnd.h create mode 100644 Src/Wasabi/api/skin/widgets/xuioswndhost.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuioswndhost.h create mode 100644 Src/Wasabi/api/skin/widgets/xuipathpicker.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuipathpicker.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiprogressgrid.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiprogressgrid.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiradiogroup.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiradiogroup.h create mode 100644 Src/Wasabi/api/skin/widgets/xuirect.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuirect.h create mode 100644 Src/Wasabi/api/skin/widgets/xuisendparams.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuisendparams.h create mode 100644 Src/Wasabi/api/skin/widgets/xuistatus.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuistatus.h create mode 100644 Src/Wasabi/api/skin/widgets/xuitabsheet.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuitabsheet.h create mode 100644 Src/Wasabi/api/skin/widgets/xuithemeslist.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuithemeslist.h create mode 100644 Src/Wasabi/api/skin/widgets/xuititlebox.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuititlebox.h create mode 100644 Src/Wasabi/api/skin/widgets/xuitree.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuitree.h create mode 100644 Src/Wasabi/api/skin/widgets/xuiwndholder.cpp create mode 100644 Src/Wasabi/api/skin/widgets/xuiwndholder.h create mode 100644 Src/Wasabi/api/skin/xmlobject.cpp create mode 100644 Src/Wasabi/api/skin/xmlobject.h create mode 100644 Src/Wasabi/api/syscb/api_syscb.cpp create mode 100644 Src/Wasabi/api/syscb/api_syscb.h create mode 100644 Src/Wasabi/api/syscb/api_syscbi.cpp create mode 100644 Src/Wasabi/api/syscb/api_syscbi.h create mode 100644 Src/Wasabi/api/syscb/api_syscbx.cpp create mode 100644 Src/Wasabi/api/syscb/api_syscbx.h create mode 100644 Src/Wasabi/api/syscb/callbacks/authcb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/browsercb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/browsercb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/browsercbi.h create mode 100644 Src/Wasabi/api/syscb/callbacks/consolecb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/consolecb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/corecb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/corecb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/corecbi.h create mode 100644 Src/Wasabi/api/syscb/callbacks/gccb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/metacb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/playlistcb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/playlistcb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/runlevelcb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/skincb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/skincb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/svccb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/svccbi.h create mode 100644 Src/Wasabi/api/syscb/callbacks/syscb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/syscb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/syscbi.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/syscbi.h create mode 100644 Src/Wasabi/api/syscb/callbacks/syscbx.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/syscbx.h create mode 100644 Src/Wasabi/api/syscb/callbacks/sysmemcb.h create mode 100644 Src/Wasabi/api/syscb/callbacks/wndcb.cpp create mode 100644 Src/Wasabi/api/syscb/callbacks/wndcb.h create mode 100644 Src/Wasabi/api/syscb/cbmgr.cpp create mode 100644 Src/Wasabi/api/syscb/cbmgr.h create mode 100644 Src/Wasabi/api/timer/api_timer.h create mode 100644 Src/Wasabi/api/timer/osx_timer.cpp create mode 100644 Src/Wasabi/api/timer/osx_timer.h create mode 100644 Src/Wasabi/api/timer/timerclient.cpp create mode 100644 Src/Wasabi/api/timer/timerclient.h create mode 100644 Src/Wasabi/api/timer/timeslicer.cpp create mode 100644 Src/Wasabi/api/timer/timeslicer.h create mode 100644 Src/Wasabi/api/util/savefile.cpp create mode 100644 Src/Wasabi/api/util/savefile.h create mode 100644 Src/Wasabi/api/util/selectfile.cpp create mode 100644 Src/Wasabi/api/util/selectfile.h create mode 100644 Src/Wasabi/api/util/systray.cpp create mode 100644 Src/Wasabi/api/util/systray.h create mode 100644 Src/Wasabi/api/util/varmgr.cpp create mode 100644 Src/Wasabi/api/util/varmgr.h create mode 100644 Src/Wasabi/api/wac/compdb.h create mode 100644 Src/Wasabi/api/wac/compon.cpp create mode 100644 Src/Wasabi/api/wac/compon.h create mode 100644 Src/Wasabi/api/wac/main.h create mode 100644 Src/Wasabi/api/wac/papi.h create mode 100644 Src/Wasabi/api/wac/wac.h create mode 100644 Src/Wasabi/api/wac/waclient.cpp create mode 100644 Src/Wasabi/api/wnd/PaintCanvas.h create mode 100644 Src/Wasabi/api/wnd/accessible.cpp create mode 100644 Src/Wasabi/api/wnd/accessible.h create mode 100644 Src/Wasabi/api/wnd/api_canvas.cpp create mode 100644 Src/Wasabi/api/wnd/api_canvas.h create mode 100644 Src/Wasabi/api/wnd/api_region.cpp create mode 100644 Src/Wasabi/api/wnd/api_region.h create mode 100644 Src/Wasabi/api/wnd/api_window.cpp create mode 100644 Src/Wasabi/api/wnd/api_window.h create mode 100644 Src/Wasabi/api/wnd/api_wnd.cpp create mode 100644 Src/Wasabi/api/wnd/api_wnd.h create mode 100644 Src/Wasabi/api/wnd/basewnd.cpp create mode 100644 Src/Wasabi/api/wnd/basewnd.h create mode 100644 Src/Wasabi/api/wnd/bitmap.cpp create mode 100644 Src/Wasabi/api/wnd/bitmap.h create mode 100644 Src/Wasabi/api/wnd/blending.cpp create mode 100644 Src/Wasabi/api/wnd/blending.h create mode 100644 Src/Wasabi/api/wnd/bltcanvas.h create mode 100644 Src/Wasabi/api/wnd/bucketitem.h create mode 100644 Src/Wasabi/api/wnd/canvas.cpp create mode 100644 Src/Wasabi/api/wnd/canvas.h create mode 100644 Src/Wasabi/api/wnd/contextmenu.cpp create mode 100644 Src/Wasabi/api/wnd/contextmenu.h create mode 100644 Src/Wasabi/api/wnd/cursor.cpp create mode 100644 Src/Wasabi/api/wnd/cursor.h create mode 100644 Src/Wasabi/api/wnd/cwndtrack.h create mode 100644 Src/Wasabi/api/wnd/deactivatemgr.cpp create mode 100644 Src/Wasabi/api/wnd/deactivatemgr.h create mode 100644 Src/Wasabi/api/wnd/di.cpp create mode 100644 Src/Wasabi/api/wnd/drag.h create mode 100644 Src/Wasabi/api/wnd/dragitem.h create mode 100644 Src/Wasabi/api/wnd/dragitemi.cpp create mode 100644 Src/Wasabi/api/wnd/dragitemi.h create mode 100644 Src/Wasabi/api/wnd/fakedrag.h create mode 100644 Src/Wasabi/api/wnd/findobjectcb.cpp create mode 100644 Src/Wasabi/api/wnd/findobjectcb.h create mode 100644 Src/Wasabi/api/wnd/fontdef.h create mode 100644 Src/Wasabi/api/wnd/ifc_bitmap.h create mode 100644 Src/Wasabi/api/wnd/keyboard.cpp create mode 100644 Src/Wasabi/api/wnd/keyboard.h create mode 100644 Src/Wasabi/api/wnd/minibrowser.cpp create mode 100644 Src/Wasabi/api/wnd/minibrowser.h create mode 100644 Src/Wasabi/api/wnd/notifmsg.h create mode 100644 Src/Wasabi/api/wnd/paintcb.cpp create mode 100644 Src/Wasabi/api/wnd/paintcb.h create mode 100644 Src/Wasabi/api/wnd/paintset.cpp create mode 100644 Src/Wasabi/api/wnd/paintset.h create mode 100644 Src/Wasabi/api/wnd/paintsets.h create mode 100644 Src/Wasabi/api/wnd/platform/osx/PaintCanvas.cpp create mode 100644 Src/Wasabi/api/wnd/platform/osx/PaintCanvas.h create mode 100644 Src/Wasabi/api/wnd/platform/osx/bltcanvas.h create mode 100644 Src/Wasabi/api/wnd/platform/osx/canvas.h create mode 100644 Src/Wasabi/api/wnd/platform/osx/osx_bitmap_cgimage.cpp create mode 100644 Src/Wasabi/api/wnd/platform/osx/osx_bitmap_cgimage.h create mode 100644 Src/Wasabi/api/wnd/platform/osx/osx_canvas_layer.cpp create mode 100644 Src/Wasabi/api/wnd/platform/osx/osx_canvas_quartz.cpp create mode 100644 Src/Wasabi/api/wnd/platform/osx/osx_region_hishape.cpp create mode 100644 Src/Wasabi/api/wnd/platform/osx/region.h create mode 100644 Src/Wasabi/api/wnd/platform/win32/bitmap.h create mode 100644 Src/Wasabi/api/wnd/platform/win32/canvas.h create mode 100644 Src/Wasabi/api/wnd/platform/win32/region.h create mode 100644 Src/Wasabi/api/wnd/popexitcb.cpp create mode 100644 Src/Wasabi/api/wnd/popexitcb.h create mode 100644 Src/Wasabi/api/wnd/popexitchecker.cpp create mode 100644 Src/Wasabi/api/wnd/popexitchecker.h create mode 100644 Src/Wasabi/api/wnd/popup.cpp create mode 100644 Src/Wasabi/api/wnd/popup.h create mode 100644 Src/Wasabi/api/wnd/region.cpp create mode 100644 Src/Wasabi/api/wnd/region.h create mode 100644 Src/Wasabi/api/wnd/resizable.h create mode 100644 Src/Wasabi/api/wnd/rootwnd.cpp create mode 100644 Src/Wasabi/api/wnd/rootwnd.h create mode 100644 Src/Wasabi/api/wnd/textalign.h create mode 100644 Src/Wasabi/api/wnd/usermsg.h create mode 100644 Src/Wasabi/api/wnd/virtualwnd.cpp create mode 100644 Src/Wasabi/api/wnd/virtualwnd.h create mode 100644 Src/Wasabi/api/wnd/wndapi.cpp create mode 100644 Src/Wasabi/api/wnd/wndapi.h create mode 100644 Src/Wasabi/api/wnd/wndclass/SelItemList.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/SelItemList.h create mode 100644 Src/Wasabi/api/wnd/wndclass/abstractwndhold.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/abstractwndhold.h create mode 100644 Src/Wasabi/api/wnd/wndclass/appbarwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/appbarwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/backbufferwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/backbufferwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/blankwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/blankwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/bufferpaintwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/bufferpaintwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/buttbar.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/buttbar.h create mode 100644 Src/Wasabi/api/wnd/wndclass/buttwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/buttwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/clickwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/clickwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/ddrawwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/ddrawwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/editwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/editwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/editwndstring.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/editwndstring.h create mode 100644 Src/Wasabi/api/wnd/wndclass/embeddedxui.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/embeddedxui.h create mode 100644 Src/Wasabi/api/wnd/wndclass/foreignwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/foreignwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/framewnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/framewnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/gradientwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/gradientwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/guiobjwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/guiobjwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/itemlistwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/itemlistwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/labelwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/labelwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/listwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/listwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/oswnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/oswnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/oswndhost.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/oswndhost.h create mode 100644 Src/Wasabi/api/wnd/wndclass/qpaintwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/qpaintwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/rootwndholder.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/rootwndholder.h create mode 100644 Src/Wasabi/api/wnd/wndclass/scbkgwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/scbkgwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/scrollbar.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/scrollbar.h create mode 100644 Src/Wasabi/api/wnd/wndclass/sepwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/sepwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/slider.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/slider.h create mode 100644 Src/Wasabi/api/wnd/wndclass/status.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/status.h create mode 100644 Src/Wasabi/api/wnd/wndclass/svcwndhold.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/svcwndhold.h create mode 100644 Src/Wasabi/api/wnd/wndclass/tabsheet.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/tabsheet.h create mode 100644 Src/Wasabi/api/wnd/wndclass/tabsheetbar.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/tabsheetbar.h create mode 100644 Src/Wasabi/api/wnd/wndclass/textbar.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/textbar.h create mode 100644 Src/Wasabi/api/wnd/wndclass/tooltip.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/tooltip.h create mode 100644 Src/Wasabi/api/wnd/wndclass/treewnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/treewnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/typesheet.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/typesheet.h create mode 100644 Src/Wasabi/api/wnd/wndclass/virtualhostwnd.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/virtualhostwnd.h create mode 100644 Src/Wasabi/api/wnd/wndclass/wndholder.cpp create mode 100644 Src/Wasabi/api/wnd/wndclass/wndholder.h create mode 100644 Src/Wasabi/api/wnd/wndevent.h create mode 100644 Src/Wasabi/api/wnd/wndtrack.cpp create mode 100644 Src/Wasabi/api/wnd/wndtrack.h create mode 100644 Src/Wasabi/api/wndmgr/alphamgr.cpp create mode 100644 Src/Wasabi/api/wndmgr/alphamgr.h create mode 100644 Src/Wasabi/api/wndmgr/animate.cpp create mode 100644 Src/Wasabi/api/wndmgr/animate.h create mode 100644 Src/Wasabi/api/wndmgr/api_wndmgr.cpp create mode 100644 Src/Wasabi/api/wndmgr/api_wndmgr.h create mode 100644 Src/Wasabi/api/wndmgr/appcmds.cpp create mode 100644 Src/Wasabi/api/wndmgr/appcmds.h create mode 100644 Src/Wasabi/api/wndmgr/autopopup.cpp create mode 100644 Src/Wasabi/api/wndmgr/autopopup.h create mode 100644 Src/Wasabi/api/wndmgr/container.cpp create mode 100644 Src/Wasabi/api/wndmgr/container.h create mode 100644 Src/Wasabi/api/wndmgr/gc.cpp create mode 100644 Src/Wasabi/api/wndmgr/gc.h create mode 100644 Src/Wasabi/api/wndmgr/guistatuscb.cpp create mode 100644 Src/Wasabi/api/wndmgr/guistatuscb.h create mode 100644 Src/Wasabi/api/wndmgr/layout.cpp create mode 100644 Src/Wasabi/api/wndmgr/layout.h create mode 100644 Src/Wasabi/api/wndmgr/msgbox.cpp create mode 100644 Src/Wasabi/api/wndmgr/msgbox.h create mode 100644 Src/Wasabi/api/wndmgr/resize.cpp create mode 100644 Src/Wasabi/api/wndmgr/resize.h create mode 100644 Src/Wasabi/api/wndmgr/skinembed.cpp create mode 100644 Src/Wasabi/api/wndmgr/skinembed.h create mode 100644 Src/Wasabi/api/wndmgr/skinwnd.cpp create mode 100644 Src/Wasabi/api/wndmgr/skinwnd.h create mode 100644 Src/Wasabi/api/wndmgr/snappnt.cpp create mode 100644 Src/Wasabi/api/wndmgr/snappnt.h create mode 100644 Src/Wasabi/api/wndmgr/wndmgrapi.cpp create mode 100644 Src/Wasabi/api/wndmgr/wndmgrapi.h create mode 100644 Src/Wasabi/api/xml/LoadXML.cpp create mode 100644 Src/Wasabi/api/xml/LoadXML.h create mode 100644 Src/Wasabi/api/xml/XMLAutoInclude.cpp create mode 100644 Src/Wasabi/api/xml/XMLAutoInclude.h create mode 100644 Src/Wasabi/api/xml/api_xmlreadercallback.cpp create mode 100644 Src/Wasabi/api/xml/xmlparams.cpp create mode 100644 Src/Wasabi/api/xml/xmlparams.h create mode 100644 Src/Wasabi/api/xml/xmlparamsi.cpp create mode 100644 Src/Wasabi/api/xml/xmlparamsi.h create mode 100644 Src/Wasabi/api/xml/xmlparamsx.cpp create mode 100644 Src/Wasabi/api/xml/xmlparamsx.h create mode 100644 Src/Wasabi/api/xml/xmlparse.h create mode 100644 Src/Wasabi/api/xml/xmlreader.cpp create mode 100644 Src/Wasabi/api/xml/xmlreader.h create mode 100644 Src/Wasabi/api/xml/xmlwrite.cpp create mode 100644 Src/Wasabi/api/xml/xmlwrite.h create mode 100644 Src/Wasabi/bfc/assert.cpp create mode 100644 Src/Wasabi/bfc/assert.h create mode 100644 Src/Wasabi/bfc/bfc.sln create mode 100644 Src/Wasabi/bfc/bfc.vcxproj create mode 100644 Src/Wasabi/bfc/bfc.vcxproj.filters create mode 100644 Src/Wasabi/bfc/bfc.xcodeproj/project.pbxproj create mode 100644 Src/Wasabi/bfc/bfc_assert.h create mode 100644 Src/Wasabi/bfc/bitlist.h create mode 100644 Src/Wasabi/bfc/common.h create mode 100644 Src/Wasabi/bfc/critsec.cpp create mode 100644 Src/Wasabi/bfc/critsec.h create mode 100644 Src/Wasabi/bfc/depend.cpp create mode 100644 Src/Wasabi/bfc/depend.h create mode 100644 Src/Wasabi/bfc/depview.cpp create mode 100644 Src/Wasabi/bfc/depview.h create mode 100644 Src/Wasabi/bfc/dispatch.h create mode 100644 Src/Wasabi/bfc/draw/convolve.cpp create mode 100644 Src/Wasabi/bfc/draw/convolve.h create mode 100644 Src/Wasabi/bfc/draw/drawpoly.cpp create mode 100644 Src/Wasabi/bfc/draw/drawpoly.h create mode 100644 Src/Wasabi/bfc/draw/gradient.cpp create mode 100644 Src/Wasabi/bfc/draw/gradient.h create mode 100644 Src/Wasabi/bfc/draw/skinfilter.cpp create mode 100644 Src/Wasabi/bfc/draw/skinfilter.h create mode 100644 Src/Wasabi/bfc/error.h create mode 100644 Src/Wasabi/bfc/file/filename.cpp create mode 100644 Src/Wasabi/bfc/file/filename.h create mode 100644 Src/Wasabi/bfc/file/readdir.cpp create mode 100644 Src/Wasabi/bfc/file/readdir.h create mode 100644 Src/Wasabi/bfc/file/recursedir.cpp create mode 100644 Src/Wasabi/bfc/file/recursedir.h create mode 100644 Src/Wasabi/bfc/file/splitpath.c create mode 100644 Src/Wasabi/bfc/file/splitpath.h create mode 100644 Src/Wasabi/bfc/file/tmpnamestr.h create mode 100644 Src/Wasabi/bfc/file/wildcharsenum.cpp create mode 100644 Src/Wasabi/bfc/file/wildcharsenum.h create mode 100644 Src/Wasabi/bfc/foreach.cpp create mode 100644 Src/Wasabi/bfc/foreach.h create mode 100644 Src/Wasabi/bfc/freelist.cpp create mode 100644 Src/Wasabi/bfc/freelist.h create mode 100644 Src/Wasabi/bfc/loadlib.cpp create mode 100644 Src/Wasabi/bfc/loadlib.h create mode 100644 Src/Wasabi/bfc/memblock.cpp create mode 100644 Src/Wasabi/bfc/memblock.h create mode 100644 Src/Wasabi/bfc/multipatch.h create mode 100644 Src/Wasabi/bfc/named.h create mode 100644 Src/Wasabi/bfc/node.cpp create mode 100644 Src/Wasabi/bfc/node.h create mode 100644 Src/Wasabi/bfc/nsguid.cpp create mode 100644 Src/Wasabi/bfc/nsguid.h create mode 100644 Src/Wasabi/bfc/pair.h create mode 100644 Src/Wasabi/bfc/parse/Makefile.am create mode 100644 Src/Wasabi/bfc/parse/Makefile.in create mode 100644 Src/Wasabi/bfc/parse/PathParseW.cpp create mode 100644 Src/Wasabi/bfc/parse/hierarchyparser.cpp create mode 100644 Src/Wasabi/bfc/parse/hierarchyparser.h create mode 100644 Src/Wasabi/bfc/parse/paramparser.cpp create mode 100644 Src/Wasabi/bfc/parse/paramparser.h create mode 100644 Src/Wasabi/bfc/parse/pathparse.cpp create mode 100644 Src/Wasabi/bfc/parse/pathparse.h create mode 100644 Src/Wasabi/bfc/platform/Makefile.am create mode 100644 Src/Wasabi/bfc/platform/Makefile.in create mode 100644 Src/Wasabi/bfc/platform/export.h create mode 100644 Src/Wasabi/bfc/platform/guid.h create mode 100644 Src/Wasabi/bfc/platform/linux.h create mode 100644 Src/Wasabi/bfc/platform/linux/linux.cpp create mode 100644 Src/Wasabi/bfc/platform/minmax.h create mode 100644 Src/Wasabi/bfc/platform/platform.cpp create mode 100644 Src/Wasabi/bfc/platform/platform.h create mode 100644 Src/Wasabi/bfc/platform/std_string_osx.cpp create mode 100644 Src/Wasabi/bfc/platform/strcmp.h create mode 100644 Src/Wasabi/bfc/platform/types.h create mode 100644 Src/Wasabi/bfc/platform/win32.h create mode 100644 Src/Wasabi/bfc/precomp_wasabi_bfc.cpp create mode 100644 Src/Wasabi/bfc/precomp_wasabi_bfc.h create mode 100644 Src/Wasabi/bfc/ptrlist.cpp create mode 100644 Src/Wasabi/bfc/ptrlist.h create mode 100644 Src/Wasabi/bfc/reentryfilter.h create mode 100644 Src/Wasabi/bfc/stack.cpp create mode 100644 Src/Wasabi/bfc/stack.h create mode 100644 Src/Wasabi/bfc/std_file.cpp create mode 100644 Src/Wasabi/bfc/std_file.h create mode 100644 Src/Wasabi/bfc/std_keyboard.cpp create mode 100644 Src/Wasabi/bfc/std_keyboard.h create mode 100644 Src/Wasabi/bfc/std_math.cpp create mode 100644 Src/Wasabi/bfc/std_math.h create mode 100644 Src/Wasabi/bfc/std_mem.h create mode 100644 Src/Wasabi/bfc/std_mkncc.h create mode 100644 Src/Wasabi/bfc/std_string.cpp create mode 100644 Src/Wasabi/bfc/std_string.h create mode 100644 Src/Wasabi/bfc/std_wnd.cpp create mode 100644 Src/Wasabi/bfc/string/PathString.cpp create mode 100644 Src/Wasabi/bfc/string/PathString.h create mode 100644 Src/Wasabi/bfc/string/StringW.cpp create mode 100644 Src/Wasabi/bfc/string/StringW.h create mode 100644 Src/Wasabi/bfc/string/bfcstring.h create mode 100644 Src/Wasabi/bfc/string/bigstring.cpp create mode 100644 Src/Wasabi/bfc/string/bigstring.h create mode 100644 Src/Wasabi/bfc/string/encodedstr.cpp create mode 100644 Src/Wasabi/bfc/string/encodedstr.h create mode 100644 Src/Wasabi/bfc/string/playstring.cpp create mode 100644 Src/Wasabi/bfc/string/playstring.h create mode 100644 Src/Wasabi/bfc/string/string.cpp create mode 100644 Src/Wasabi/bfc/string/stringdict.h create mode 100644 Src/Wasabi/bfc/string/url.cpp create mode 100644 Src/Wasabi/bfc/string/url.h create mode 100644 Src/Wasabi/bfc/string/utf8.cpp create mode 100644 Src/Wasabi/bfc/string/utf8.h create mode 100644 Src/Wasabi/bfc/test.cpp create mode 100644 Src/Wasabi/bfc/thread.cpp create mode 100644 Src/Wasabi/bfc/thread.h create mode 100644 Src/Wasabi/bfc/tlist.h create mode 100644 Src/Wasabi/bfc/util/base64.cpp create mode 100644 Src/Wasabi/bfc/util/base64.h create mode 100644 Src/Wasabi/bfc/util/findopenrect.cpp create mode 100644 Src/Wasabi/bfc/util/findopenrect.h create mode 100644 Src/Wasabi/bfc/util/inifile.cpp create mode 100644 Src/Wasabi/bfc/util/inifile.h create mode 100644 Src/Wasabi/bfc/util/profile.c create mode 100644 Src/Wasabi/bfc/util/profile.h create mode 100644 Src/Wasabi/bfc/util/profiler.cpp create mode 100644 Src/Wasabi/bfc/util/profiler.h create mode 100644 Src/Wasabi/bfc/util/timefmt.cpp create mode 100644 Src/Wasabi/bfc/util/timefmt.h create mode 100644 Src/Wasabi/bfc/wasabi_std.cpp create mode 100644 Src/Wasabi/bfc/wasabi_std.h create mode 100644 Src/Wasabi/bfc/wasabi_std_rect.cpp create mode 100644 Src/Wasabi/bfc/wasabi_std_rect.h create mode 100644 Src/Wasabi/bfc/wasabi_std_wnd.h create mode 100644 Src/Wasabi/mc.exe create mode 100644 Src/Wasabi/nscrt.dll create mode 100644 Src/Wasabi/precomp.cpp create mode 100644 Src/Wasabi/precomp.h create mode 100644 Src/Wasabi/wasabicfg.h create mode 100644 Src/Wasabi/wasabicfg/wa5/wasabicfg.h create mode 100644 Src/Wasabi/wasabicfg/wasabicfg.h create mode 100644 Src/Wasabi/wasabitest.cpp (limited to 'Src/Wasabi') diff --git a/Src/Wasabi/Lib/application.mi b/Src/Wasabi/Lib/application.mi new file mode 100644 index 00000000..19a9346b --- /dev/null +++ b/Src/Wasabi/Lib/application.mi @@ -0,0 +1,88 @@ +//---------------------------------------------------------------------------------------------------------------- +// application.mi +// +// reflects the api_application object into Maki +// some of the functions may not make a lot of sense in the context of skin scripting +// they are here for completeness +// some of these functions duplicate functionality provided in the system object +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __APPLICATION_MI +#define __APPLICATION_MI + +extern class @{B8E867B0-2715-4da7-A5BA-53DBA1FCFEAC}@ Object _predecl Application; + +//***************************************************************************** +// APPLICATION CLASS +//***************************************************************************** +/** + Application Class. + + @short Application Object + @author benski + @ver 1.0 +*/ + +// static functions +extern String Application.GetApplicationName(); +extern String Application.GetVersionString(); +extern String Application.GetVersionNumberString(); +extern int Application.GetBuildNumber(); + +/** + A unique ID that represents what GUID this application is + Winamp 5 is {4BE592C7-6937-426a-A388-ACF0EBC88E93} + other Wasabi-based applications (e.g. ClipX, Winamp3, wasabi.player) will have a different GUID + however, this maki class only currently resides in Winamp5, so it's a bit irrevelant :) +*/ +extern String Application.GetGUID(); + +/** + The commandline that Winamp was called with +*/ +extern String Application.GetCommandLine(); + +/** + Shuts Winamp down. +*/ +extern Application.Shutdown(); + +/** + cancels an shutdown in progress + see note for IsShuttingDown about the futility of this maki script function +*/ +extern Application.CancelShutdown (); + +/** + tests if we're in the middle of shutting down winamp. + This is part of the application API in Wasabi, so it's reflected here + but it might not be of much use to your script, + since you'll likely be unloaded before this function + ever gets a chance to return true +*/ +extern boolean Application.IsShuttingDown(); + +/** + Path where winamp.exe (or studio.exe) lives +*/ +extern String Application.GetApplicationPath(); + +/** + Path where Winamp stores it's settings (studio.xnf, winamp.ini, etc) +*/ +extern String Application.GetSettingsPath(); + +/** + Gets the current working path. This is the same path that will open by default + in Winamp's "Open File" dialog. + Working path persists across Winamp launches +*/ + +extern String Application.GetWorkingPath(); + +/** + Sets a new working path. +*/ +extern Application.SetWorkingPath(String working_path); + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/colormgr.mi b/Src/Wasabi/Lib/colormgr.mi new file mode 100644 index 00000000..470a95c6 --- /dev/null +++ b/Src/Wasabi/Lib/colormgr.mi @@ -0,0 +1,119 @@ +//---------------------------------------------------------------------------------------------------------------- +// fileio.mi +// +// standard handles for file input and output (only xml parsing atm) +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __COLORMGR_MI +#define __COLORMGR_MI + +extern class @{AEE235FF-EBD1-498f-96AF-D7E0DAD4541A}@ System _predecl &ColorMgr; +extern class @{95DDB221-00E3-4e2b-8EA5-833548C13C10}@ Object &Color; +extern class @{0D024DB9-9574-42d0-B8C7-26B553F1F987}@ Object &GammaSet; +extern class @{B81F004D-ACBA-453d-A06B-30192A1DA17D}@ Object &GammaGroup; + +//***************************************************************************** +// ColorMgr CLASS +//***************************************************************************** +/** + ColorMgr Class. + + @short Static Object for handling colors + @author Nullsoft Inc. + @ver 1.0 + +*/ + +extern Color ColorMgr.getColor (String colorID); +extern Color ColorMgr.enumColor (int n); +extern int ColorMgr.getNumColors(); + +extern GammaSet ColorMgr.getGammaSet (String colorID); +extern GammaSet ColorMgr.enumGammaSet (int n); +extern GammaSet ColorMgr.getCurrentGammaSet (); // available after ColorMgr.onLoaded() was called +extern GammaSet ColorMgr.newGammaSet(String name); +extern int ColorMgr.getNumGammaSets (); + +// for the next callbacks u need to instanciate a ColorMgr object. +extern ColorMgr.onBeforeLoadingElements(); // stuff is loading, might not work hehe +extern ColorMgr.onGuiLoaded(); // skin gui objects loaded from xml +extern ColorMgr.onLoaded(); // all done, new skin in place + +extern ColorMgr.onColorThemesListChanged(); +extern ColorMgr.onColorThemeChanged(String newtheme); + + +//***************************************************************************** +// Color CLASS +//***************************************************************************** +/** + Color Class. + + @short Object for handling colors + @author Nullsoft Inc. + @ver 1.0 + +*/ + +extern String Color.getID (); +extern int Color.getRed (); +extern int Color.getGreen (); +extern int Color.getBlue (); +extern int Color.getRedWithGamma (); +extern int Color.getGreenWithGamma (); +extern int Color.getBlueWithGamma (); +extern int Color.getAlpha (); +extern String Color.getGammagroup (); + + +//***************************************************************************** +// GammaSet CLASS +//***************************************************************************** +/** + GammaSet Class. + + @short Object for handling gamma sets + @author Nullsoft Inc. + @ver 1.0 + +*/ + +extern String GammaSet.getID(); +extern GammaSet.apply(); +extern GammaSet.remove(); // u should still delete the object then +extern GammaSet.rename(String newname); +extern GammaSet.update(); // Syncs missing groups +extern GammaGroup Gammaset.getGeneralGroup(); +extern int Gammaset.getNumGammaGroups(); +extern GammaGroup Gammaset.enumGammaGroup(int n); +extern GammaGroup Gammaset.getGammaGroup(String name); + + + +//***************************************************************************** +// GammaGroup CLASS +//***************************************************************************** +/** + GammaGroup Class. + + @short Object for handling gamma groups + @author Nullsoft Inc. + @ver 1.0 + +*/ + +extern String Gammagroup.getID (); +extern int Gammagroup.getRed (); +extern int Gammagroup.getGreen (); +extern int Gammagroup.getBlue (); +extern int Gammagroup.getBoost (); +extern int Gammagroup.getGray (); + +extern Gammagroup.setID (String id); +extern Gammagroup.setRed (int _color); +extern Gammagroup.setGreen (int _color); +extern Gammagroup.setBlue (int _color); +extern Gammagroup.setBoost (int _color); +extern Gammagroup.setGray (int _color); + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/com/AutoRepeatButton.m b/Src/Wasabi/Lib/com/AutoRepeatButton.m new file mode 100644 index 00000000..155ca387 --- /dev/null +++ b/Src/Wasabi/Lib/com/AutoRepeatButton.m @@ -0,0 +1,100 @@ +//-------------------------------------------------------------------------------------------------- +// AutoRepeatButton.m Orginal Code By Will Fisher, Concept By Eric Moore, Rewritten By Will Fisher +// +// Use like this: +// #include +// Global AutoRepeatButton MyButton, MyOtherButton; +// +// Fill in the buttons function into MyButton.OnLeftClick() as normal. +// +// Use AutoRepeat_ClickType to find the type of call to MyButton.onLeftClick() where +// AutoRepeat_ClickType==1 is the first call to onLeftClick +// AutoRepeat_ClickType==2 is a subsequent call to onLeftClick +// AutoRepeat_ClickType==0 is an erronious call to onLeftClick, you should usually ignore +// MyButton.onLeftClick() in this case +// See other functions below: +//-------------------------------------------------------------------------------------------------- + +Function AutoRepeat_Load(); // ALWAYS call this in System.OnScriptLoaded() +Function AutoRepeat_Unload(); // ALWAYS call this in System.OnScriptUnloading() +Function AutoRepeat_Stop(); // stop the current button from autorepeating + +Function Button AutoRepeat_GetCurrentButton(); /* returns the currently autorepeating button, + returns NULL if no button is autorepeating */ + +Function AutoRepeat_SetInitalDelay(int millis); /* set this for the first delay when the button is + pressed, defaults to 800ms (no need to use this + unless other delay is required) */ + +Function AutoRepeat_SetRepeatDelay(int millis); /* set this for the subsequent delay, defaults to + 80ms (no need to use this unless other delay is + required) */ + +Function Int AutoRepeat_GetInitalDelay(); // get the first delay length in millisecs +Function Int AutoRepeat_GetRepeatDelay(); // get the subsequent delay in millisecs + +Class Button AutoRepeatButton; + +Global Timer _autorepeatTimer; +Global Int _InitialDelay; +Global Int _RepeatDelay; +Global Int AutoRepeat_ClickType; +Global Button _Latched; + +AutoRepeatButton.onLeftButtonDown(int x, int y) { + _Latched = AutoRepeatButton; + AutoRepeat_ClickType = 1; // first click + AutoRepeatButton.leftClick(); + AutoRepeat_ClickType = 0; // no click + _autorepeatTimer.setDelay(_InitialDelay); + _autorepeatTimer.start(); +} + +AutoRepeatButton.onLeftButtonUp(int x, int y) { + _AutoRepeatTimer.Stop(); + _Latched = NULL; +} + +_AutoRepeatTimer.onTimer() { + if(_autorepeatTimer.getDelay() != _RepeatDelay) _autorepeatTimer.setDelay(_RepeatDelay); + AutoRepeat_ClickType = 2; // AutoRepeat + _Latched.LeftClick(); + AutoRepeat_ClickType = 0; // no click +} + +AutoRepeat_Load() { + _autoRepeatTimer = new Timer; + _InitialDelay = 800; + _RepeatDelay = 80; + AutoRepeat_ClickType = 0; +} + +AutoRepeat_Unload() { + delete _autoRepeatTimer; +} + +AutoRepeat_SetInitalDelay(int millis) { + _InitialDelay = millis; +} + + +AutoRepeat_SetRepeatDelay(int millis) { + _RepeatDelay = millis; +} + +AutoRepeat_GetInitalDelay() { + return _InitialDelay; +} + +AutoRepeat_GetRepeatDelay() { + return _repeatDelay; +} + +AutoRepeat_Stop() { + _autorepeatTimer.stop(); + _Latched = NULL; +} + +AutoRepeat_GetCurrentButton() { + return _Latched; +} diff --git a/Src/Wasabi/Lib/com/centerlayer.m b/Src/Wasabi/Lib/com/centerlayer.m new file mode 100644 index 00000000..590f667c --- /dev/null +++ b/Src/Wasabi/Lib/com/centerlayer.m @@ -0,0 +1,84 @@ +// ---------------------------------------------------------------------- +// centerlayer.m +// ---------------------------------------------------------------------- +// by Brennan +// Use like this : +// #define CENTER_VAR MyVar +// Global MyVar; +// #include "centerlayer.h" +// Group l = ; +// MyVar = l.getObject("something"); +// _MyVarInit(Layer MyVar, Group l, int centerx, int centery); +// ---------------------------------------------------------------------- + +Global GuiObject _##CENTER_VAR##Layer; +Global Group _##CENTER_VAR##Group; // parent Layout to center in +Global Int _##CENTER_VAR##centerx; // should we center x? +Global Int _##CENTER_VAR##centery; // should we center y? +Global Int _##CENTER_VAR##addx = 0; +Global Int _##CENTER_VAR##addy = 0; +Global Int _##CENTER_VAR##addh = 0; +Global Int _##CENTER_VAR##addw = 0; + +Function _##CENTER_VAR##Init(GuiObject _layer, Group parentLayout, int centerx, int centery); +Function _##CENTER_VAR##handleResize(); +Function _##CENTER_VAR##setXSpace(int val); +Function _##CENTER_VAR##setYSpace(int val); +Function _##CENTER_VAR##setWSpace(int val); +Function _##CENTER_VAR##setHSpace(int val); +Function _##CENTER_VAR##sizeError(boolean iserror); + +_##CENTER_VAR##Init(GuiObject _layer, Group parentLayout, int centerx, int centery) { + _##CENTER_VAR##Layer = _layer; + _##CENTER_VAR##Group = parentLayout; + _##CENTER_VAR##centerx = centerx; + _##CENTER_VAR##centery = centery; + _##CENTER_VAR##handleResize(); +} + +_##CENTER_VAR##setXSpace(int val) +{ + _##CENTER_VAR##addx = val; +} + +_##CENTER_VAR##setYSpace(int val) +{ + _##CENTER_VAR##addy = val; +} +_##CENTER_VAR##setHSpace(int val) +{ + _##CENTER_VAR##addh = val; +} +_##CENTER_VAR##setWSpace(int val) +{ + _##CENTER_VAR##addw = val; +} + +_##CENTER_VAR##handleResize() { + int myw = _##CENTER_VAR##Group.getWidth(); + int myh = _##CENTER_VAR##Group.getHeight(); + + int layerw = _##CENTER_VAR##Layer.getWidth(); + int layerh = _##CENTER_VAR##Layer.getHeight(); + + int x = _##CENTER_VAR##Layer.getLeft(); + int y = _##CENTER_VAR##Layer.getTop(); + + if (_##CENTER_VAR##centerx) _##CENTER_VAR##Layer.setXmlParam("x", integerToString((myw - layerw)/2 + _##CENTER_VAR##addx + _##CENTER_VAR##addw)); + if (_##CENTER_VAR##centery) _##CENTER_VAR##Layer.setXmlParam("y", integerToString((myh - layerh)/2 + _##CENTER_VAR##addy + _##CENTER_VAR##addh)); + + if (myw < layerw + 2*_##CENTER_VAR##addx - _##CENTER_VAR##addw || myh < layerh + _##CENTER_VAR##addy - _##CENTER_VAR##addh) + { + _##CENTER_VAR##sizeError(TRUE); + } + else + { + _##CENTER_VAR##sizeError(FALSE); + } +} + +_##CENTER_VAR##sizeError(boolean iserror) {} + +_##CENTER_VAR##Group.onResize(int x, int y, int w, int h) { + _##CENTER_VAR##handleResize(); +} diff --git a/Src/Wasabi/Lib/com/customseek.m b/Src/Wasabi/Lib/com/customseek.m new file mode 100644 index 00000000..8b9a1a93 --- /dev/null +++ b/Src/Wasabi/Lib/com/customseek.m @@ -0,0 +1,118 @@ +//---------------------------------------------------------------------------------------- +// +// customseek.m +// +//---------------------------------------------------------------------------------------- +// Use like this : +// #define CUSTOM_SEEK_VAR MyVar +// #include "customseek.m" +// +// +// What you need : +// _MyVarInit(Layer seeksurface, Layer seekghost, Map seekmap); +// _MyVarShutdown(); +// + + + +Global Layer _##CUSTOM_SEEK_VAR##Surface; +Global Layer _##CUSTOM_SEEK_VAR##Ghost; +Global Map _##CUSTOM_SEEK_VAR##Map; +Global Int _##CUSTOM_SEEK_VAR##Clicked; +Global Timer _##CUSTOM_SEEK_VAR##Timer; +Global Int _##CUSTOM_SEEK_VAR##CurPos; + +Function _##CUSTOM_SEEK_VAR##Init(Layer s, Layer g, Map m); +Function _##CUSTOM_SEEK_VAR##Update(int newpos); +Function _##CUSTOM_SEEK_VAR##UpdateXY(int x, int y); +Function _##CUSTOM_SEEK_VAR##SeekTo(int x, int y); +Function _##CUSTOM_SEEK_VAR##Shutdown(); + +_##CUSTOM_SEEK_VAR##Init(Layer s, Layer g, Map m) { + _##CUSTOM_SEEK_VAR##Surface = s; + _##CUSTOM_SEEK_VAR##Ghost = g; + _##CUSTOM_SEEK_VAR##Map = m; + _##CUSTOM_SEEK_VAR##Update(0); + _##CUSTOM_SEEK_VAR##Timer = new Timer; + _##CUSTOM_SEEK_VAR##Timer.setDelay(500); + _##CUSTOM_SEEK_VAR##Timer.start(); +} + +_##CUSTOM_SEEK_VAR##Shutdown() { + delete _##CUSTOM_SEEK_VAR##Timer; +} + +_##CUSTOM_SEEK_VAR##Surface.onLeftButtonDown(int x, int y) { + if (getPlayItemLength() <= 0) return; + if (Strleft(getPlayItemString(), 4) == "http") return; + _##CUSTOM_SEEK_VAR##Clicked = 1; + _##CUSTOM_SEEK_VAR##UpdateXY(x, y); +} + +_##CUSTOM_SEEK_VAR##Surface.onMouseMove(int x, int y) { + if (_##CUSTOM_SEEK_VAR##Clicked) { + if (getPlayItemLength() == 0) { + _##CUSTOM_SEEK_VAR##Clicked = 0; + return; + } + _##CUSTOM_SEEK_VAR##UpdateXY(x, y); + } +} + +_##CUSTOM_SEEK_VAR##Surface.onLeftButtonUp(int x, int y) { + if (!_##CUSTOM_SEEK_VAR##Clicked) return; + _##CUSTOM_SEEK_VAR##Clicked = 0; + _##CUSTOM_SEEK_VAR##SeekTo(x, y); +} + +_##CUSTOM_SEEK_VAR##SeekTo(int x, int y) { + int n = _##CUSTOM_SEEK_VAR##Map.getValue(x, y); + seekTo(getPlayItemLength() * (n / 255)); +} + +_##CUSTOM_SEEK_VAR##UpdateXY(int x, int y) { + int n = _##CUSTOM_SEEK_VAR##Map.getValue(x, y); + Region r = new Region; + r.loadFromMap(_##CUSTOM_SEEK_VAR##Map, n, 1); + r.offset(-_##CUSTOM_SEEK_VAR##Ghost.getLeft(), -_##CUSTOM_SEEK_VAR##Ghost.getTop()); + _##CUSTOM_SEEK_VAR##Ghost.setRegion(r); + #ifdef CUSTOM_SEEK_CALLBACK + int n = _##CUSTOM_SEEK_VAR##Map.getValue(x, y); + _##CUSTOM_SEEK_VAR##OnUpdate(r, getPlayItemLength() * (n / 255)); + #endif + delete r; +} + +_##CUSTOM_SEEK_VAR##Update(int newpos) { + float p; + int l = getPlayItemLength(); + if (l == 0) p = 0; + else p = newpos / l * 255; + Region r = new Region; + r.loadFromMap(_##CUSTOM_SEEK_VAR##Map, p, 1); + _##CUSTOM_SEEK_VAR##CurPos = p; + r.offset(-_##CUSTOM_SEEK_VAR##Ghost.getLeft(), -_##CUSTOM_SEEK_VAR##Ghost.getTop()); + _##CUSTOM_SEEK_VAR##Ghost.setRegion(r); + #ifdef CUSTOM_SEEK_CALLBACK + _##CUSTOM_SEEK_VAR##OnUpdate(r, newpos); + #endif + delete r; +} + +_##CUSTOM_SEEK_VAR##Timer.onTimer() { + if (_##CUSTOM_SEEK_VAR##Clicked) return; + int l = getPlayItemLength(); + if (l > 0) { + int p = getPosition() / l * 255; + if (p != _##CUSTOM_SEEK_VAR##CurPos) { + _##CUSTOM_SEEK_VAR##Update(getPosition()); + } + } else { + if (_##CUSTOM_SEEK_VAR##CurPos != 0) + _##CUSTOM_SEEK_VAR##Update(0); + _##CUSTOM_SEEK_VAR##CurPos = 0; + } +} + + + diff --git a/Src/Wasabi/Lib/com/debug.m b/Src/Wasabi/Lib/com/debug.m new file mode 100644 index 00000000..cca40f07 --- /dev/null +++ b/Src/Wasabi/Lib/com/debug.m @@ -0,0 +1,52 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: debug.m +Version: 1.2 + +Type: maki/attrib loader +Date: 29. Aug. 2006 - 23:43 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu +----------------------------------------------------- +---------------------------------------------------*/ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#ifndef DEBUG +#define debugString // +#endif + +#ifdef DEBUG + +#define DEBUG_PREFIX "["+ FILE_NAME +": " + getTimeStamp() + "] " + + +Function String getTimeStamp(); +String getTimeStamp() +{ + int msc = getTimeOfDay(); + int h = msc / 1000 / 3600; + msc -= h * 1000 * 3600; + int m = msc / 1000 / 60; + msc -= m * 1000 * 60; + int s = msc / 1000; + msc -= s * 1000; + string zeros = ""; + if (msc < 100) + { + zeros += "0"; + } + if (msc < 10) + { + zeros += "0"; + } + return integerToString(h)+":"+integerToString(m)+":"+integerToString(s)+"."+zeros+integerToString(msc); +} + +#define D_WTF 9 +#define D_NWTF 9 + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/com/dispatch_ifc.m b/Src/Wasabi/Lib/com/dispatch_ifc.m new file mode 100644 index 00000000..d87b8612 --- /dev/null +++ b/Src/Wasabi/Lib/com/dispatch_ifc.m @@ -0,0 +1,99 @@ +/** + * dispatch_ifc.m + * + * defines a function interface for dispatchable messaging + * define DISPATCH before loading if you are a message reciever + * + * @author mpdeimos + * @date 2008/10/25 + * @version 0.1 + */ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +Function initDispatcher(); // Call this function on startup to set the parent layout as dispatcher +Function setDispatcher(GuiObject dispatcher); // Call this function instead if you want to define a custom + +#ifndef DISPATCH +// Sends a message to the parent layout +Function int sendMessage(int message, int i0, int i1, int i2, String s0, String s1, GuiObject obj); +Function int sendMessageI(int message, int i0); +Function int sendMessageI2(int message, int i0, int i1); +Function int sendMessageS(int message, String s0); +Function int sendMessageO(int message, GuiObject obj); +Function int sendMessageV(int message); +#endif + +#ifdef DISPATCH +// Recieves Messages +Function int onMessage(int message, int i0, int i1, int i2, String s0, String s1, GuiObject obj); +int onMessage(int message, int i0, int i1, int i2, String s0, String s1, GuiObject obj) {} // STUB! Implement this in your code +#endif + + +/// +/// IMPLEMENTATION +/// + + +Global GuiObject dispatcher; + +initDispatcher() +{ + dispatcher = getScriptGroup().getParentLayout(); +} + +setDispatcher(GuiObject go) +{ + dispatcher = go; +} + + +#ifndef DISPATCH + +int sendMessage(int message, int i0, int i1, int i2, String s0, String s1, GuiObject obj) +{ + return dispatcher.onAction (s0, s1, message, i0, i1, i2, obj); +} + +int sendMessageI(int message, int i0) +{ + GuiObject obj = NULL; + return sendMessage(message, i0, i1, 0, "", "", obj); +} + +int sendMessageI2(int message, int i0, int i1) +{ + GuiObject obj = NULL; + return sendMessage(message, i0, 0, 0, "", "", obj); +} + +int sendMessageS(int message, String s0) +{ + GuiObject obj = NULL; + return sendMessage(message, 0, 0, 0, s0, "", obj); +} + +int sendMessageO(int message, GuiObject obj) +{ + return sendMessage(message, 0, 0, 0, "", "", obj); +} + +int sendMessageV(int messagej) +{ + GuiObject obj = NULL; + return sendMessage(message, 0, 0, 0, "", "", obj); +} + +#endif + +#ifdef DISPATCH + +dispatcher.onAction(String action, String param, Int message, int y, int p1, int p2, GuiObject source) +{ + return onMessage(message, y, p1, p2, action, param, source); +} + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/com/dragvolume.m b/Src/Wasabi/Lib/com/dragvolume.m new file mode 100644 index 00000000..8b56d6e4 --- /dev/null +++ b/Src/Wasabi/Lib/com/dragvolume.m @@ -0,0 +1,67 @@ +//---------------------------------------------------------------------------------------- +// +// dragvolume.m +// +//---------------------------------------------------------------------------------------- +// Use like this : +// #define DRAG_VOLUME_VAR MyVar +// #include "dragvolume.m" +// +// +// _MyVarInit(AnimatedLayer l); // init dragvolume +// _MyVarSetMaxDistance(Int nPixels); // set 100% pixel distance +// + + + +Global AnimatedLayer _##DRAG_VOLUME_VAR##AnimLayer; +Global Int _##DRAG_VOLUME_VAR##Clicked; +Global Int _##DRAG_VOLUME_VAR##Y; +Global Int _##DRAG_VOLUME_VAR##V; +Global Int _##DRAG_VOLUME_VAR##Max; + +Function _##DRAG_VOLUME_VAR##Init(AnimatedLayer l); +Function _##DRAG_VOLUME_VAR##Update(int vol); +Function _##DRAG_VOLUME_VAR##SetMaxDistance(int pixels); +Function _##DRAG_VOLUME_VAR##UpdateY(int y); + +_##DRAG_VOLUME_VAR##Init(AnimatedLayer l) { + _##DRAG_VOLUME_VAR##AnimLayer = l; + _##DRAG_VOLUME_VAR##Update(getVolume()); +} + +_##DRAG_VOLUME_VAR##AnimLayer.onLeftButtonDown(int x, int y) { + _##DRAG_VOLUME_VAR##Clicked = 1; + _##DRAG_VOLUME_VAR##Y = y; + _##DRAG_VOLUME_VAR##V = getVolume(); +} + +_##DRAG_VOLUME_VAR##AnimLayer.onMouseMove(int x, int y) { + if (_##DRAG_VOLUME_VAR##Clicked) { + _##DRAG_VOLUME_VAR##updateY(y); + } +} + +_##DRAG_VOLUME_VAR##AnimLayer.onLeftButtonUp(int x, int y) { + _##DRAG_VOLUME_VAR##Clicked = 0; +} + +_##DRAG_VOLUME_VAR##SetMaxDistance(int npix) { + _##DRAG_VOLUME_VAR##Max = npix; +} + +_##DRAG_VOLUME_VAR##UpdateY(int y) { + float p = (_##DRAG_VOLUME_VAR##Y - y) / _##DRAG_VOLUME_VAR##Max; + SetVolume(_##DRAG_VOLUME_VAR##V + p * 255); // range is checked +} + +_##DRAG_VOLUME_VAR##Update(int vol) { + float p = vol / 255; + _##DRAG_VOLUME_VAR##AnimLayer.gotoFrame(p * (_##DRAG_VOLUME_VAR##AnimLayer.getLength()-1)); +} + +#ifndef _##DRAG_VOLUME_VAR##NOSYSTEMHOOK +System.onVolumeChanged(int newvol) { + _##DRAG_VOLUME_VAR##Update(newvol); +} +#endif diff --git a/Src/Wasabi/Lib/com/fillbar.m b/Src/Wasabi/Lib/com/fillbar.m new file mode 100644 index 00000000..b28d7f82 --- /dev/null +++ b/Src/Wasabi/Lib/com/fillbar.m @@ -0,0 +1,173 @@ +/** + * fillbar.m + * + * Manages custom fillbars. + * + * @package com.winamp.maki.lib.community.fillbar + * @author mpdeimos + * @date 08/10/01 + * @version 1.0 + */ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +Class Layer FillBar; +// { + Member Map FillBar.fillmap; + Member int FillBar.pos; + Member boolean Fillbar.reverse; + + // User dragging stuff + Member boolean Fillbar.dragable; + Member boolean Fillbar.dragging; + + /** + * constructor + * + * @param layer that should be handled like a fillbar + * @param bitmapID that should be used as region map + * @ret FillBar object + */ + Function FillBar FillBar_construct(Layer l, String bitmapID); + Function FillBar_setMap(FillBar fb, String bitmapID); + + /** + * destructor, always call on script unloading + * + */ + Function FillBar_destruct(FillBar fb); + + /** + * sets the region + * + * @param fillbar to act on + * @param threshold of the map to generate a region + */ + Function FillBar_setPosition(FillBar fb, int threshold); + + /** + * called each time the users drags the fillbar + * + * @param The dragged FillBar + * @param The alue the FillBar was dragged to. + * @ret FALSE if you do not want to allow dragging. + */ + Function boolean FillBar_onDrag(FillBar fb, int pos); + + /* + * called each time the users ends dragging the fillbar + * + * @param The dragged FillBar + * @param The alue the FillBar was dragged to. + * @ret FALSE if you do not want to allow dragging. + */ + Function boolean FillBar_onEndDrag(FillBar fb, int pos); + + + /* + * IMPLEMENTATION + */ + + FillBar FillBar_construct(Layer l, String bitmapID) + { + FillBar fb = l; + fb.reverse = TRUE; + fb.fillmap = new Map; + fb.fillmap.loadMap(bitmapID); + return fb; + } + + FillBar_setMap(Fillbar fb, String bitmapID) + { + if (fb.fillmap != NULL) + { + delete fb.fillmap; + } + + fb.fillmap = new Map; + fb.fillmap.loadMap(bitmapID); + } + + FillBar_destruct(FillBar fb) + { + Map tmp = fb.fillmap; + delete tmp; + } + + FillBar_setPosition(FillBar fb, int threshold) + { + fb.pos = threshold; + fb.setRegionFromMap(fb.fillmap, threshold, fb.reverse); + } + + + // User dragging handles + + FillBar.onLeftButtonDown (int x, int y) + { + if (!FillBar.dragable) + { + return; + } + + Fillbar.dragging = TRUE; + } + + FillBar.onMouseMove (int x, int y) + { + if (!FillBar.dragable || !Fillbar.dragging) + { + return; + } + + int mouseLeft = x - FillBar.getLeft(); + int mouseTop = y - Fillbar.getTop(); + + if (!FillBar.fillMap.inRegion(mouseLeft, mouseTop)) + { + return; + } + + int position = FillBar.fillMap.getValue(mouseLeft, mouseTop); + + int update = FillBar_onDrag(FillBar, position); + + if (update) + { + FillBar_setPosition(FillBar, position); + } + } + + Fillbar.onLeftButtonUp (int x, int y) + { + if (!FillBar.dragable || !Fillbar.dragging) + { + return; + } + + int mouseLeft = x - FillBar.getLeft(); + int mouseTop = y - Fillbar.getTop(); + + int position = FillBar.fillMap.getValue(mouseLeft, mouseTop); + + if (!FillBar.fillMap.inRegion(mouseLeft, mouseTop)) + { + position = fb.pos; + } + + int update = FillBar_onEndDrag(FillBar, position); + + if (update) + { + FillBar_setPosition(FillBar, position); + } + + Fillbar.dragging = FALSE; + } + + // Callback Stubs + boolean FillBar_onDrag(Fillbar fb, int pos) { return TRUE; } + boolean FillBar_onEndDrag(Fillbar fb, int pos) { return TRUE; } +// } diff --git a/Src/Wasabi/Lib/com/glow.m b/Src/Wasabi/Lib/com/glow.m new file mode 100644 index 00000000..12e0406b --- /dev/null +++ b/Src/Wasabi/Lib/com/glow.m @@ -0,0 +1,111 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: glow.m +Version: 1.0 + +Type: maki/glow class +Date: 16. Jun. 2007 - 23:13 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu + +Usage: 1: #include glow.m + 2: #define GLOW_OBJECT MyGlow + 3: call _MyGlow_GlowInit (someObj, otherObj) + to init the objects. + You can also call _MyGlow_GlowInit (NULL, otherObj) + and load a bunch of GuiObjects in _MyGlow_GlowTrigger + or load up to 5 objects via _MyGlow_addTarget(obj); + +----------------------------------------------------- +---------------------------------------------------*/ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#ifndef GLOW_OBJECT +#error GLOW_OBJECT not defined! +#endif + +Class GuiObject _##GLOW_OBJECT##_GlowTrigger; +Global _##GLOW_OBJECT##_GlowTrigger _##GLOW_OBJECT##_trigger0, _##GLOW_OBJECT##_trigger1, _##GLOW_OBJECT##_trigger2, _##GLOW_OBJECT##_trigger3, _##GLOW_OBJECT##_trigger4, _##GLOW_OBJECT##_trigger5; +Global GuiObject _##GLOW_OBJECT##_glow; +Global float _##GLOW_OBJECT##_fdoutspeed; +Global boolean _##GLOW_OBJECT##_mouseDown; + +Function _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed); +Function _##GLOW_OBJECT##_addTrigger (GuiObject triggerObject); + +_##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed) +{ + if (triggerObject) _##GLOW_OBJECT##_trigger0 = triggerObject; + if (glowObject) _##GLOW_OBJECT##_glow = glowObject; + + _##GLOW_OBJECT##_fdoutspeed = fdoutspeed; +} + +_##GLOW_OBJECT##_addTrigger(GuiObject triggerObject) +{ + if (triggerObject) + { + if (!_##GLOW_OBJECT##_trigger1) + { + _##GLOW_OBJECT##_trigger1 = triggerObject; + return; + } + if (!_##GLOW_OBJECT##_trigger2) + { + _##GLOW_OBJECT##_trigger2 = triggerObject; + return; + } + if (!_##GLOW_OBJECT##_trigger3) + { + _##GLOW_OBJECT##_trigger3 = triggerObject; + return; + } + if (!_##GLOW_OBJECT##_trigger4) + { + _##GLOW_OBJECT##_trigger4 = triggerObject; + return; + } + if (!_##GLOW_OBJECT##_trigger5) + { + _##GLOW_OBJECT##_trigger5 = triggerObject; + return; + } + } +} + +_##GLOW_OBJECT##_GlowTrigger.onEnterArea () +{ + _##GLOW_OBJECT##_glow.cancelTarget(); + _##GLOW_OBJECT##_glow.setAlpha(255); +} + +_##GLOW_OBJECT##_GlowTrigger.onLeftButtonDown (int x, int y) +{ + _##GLOW_OBJECT##_mouseDown = 1; + _##GLOW_OBJECT##_glow.cancelTarget(); + _##GLOW_OBJECT##_glow.setAlpha(0); +} + +_##GLOW_OBJECT##_GlowTrigger.onLeftButtonUp (int x, int y) +{ + _##GLOW_OBJECT##_mouseDown = 0; + _##GLOW_OBJECT##_glow.cancelTarget(); + if (_##GLOW_OBJECT##_GlowTrigger.isMouseOverRect()) _##GLOW_OBJECT##_glow.setAlpha(255); +} + +_##GLOW_OBJECT##_GlowTrigger.onLeaveArea () +{ + if (_##GLOW_OBJECT##_mouseDown) return; + _##GLOW_OBJECT##_glow.cancelTarget(); + _##GLOW_OBJECT##_glow.setTargetA(0); + _##GLOW_OBJECT##_glow.setTargetX(_##GLOW_OBJECT##_glow.getGuiX()); + _##GLOW_OBJECT##_glow.setTargetSpeed(_##GLOW_OBJECT##_fdoutspeed); + _##GLOW_OBJECT##_glow.gotoTarget(); +} + +#undef GLOW_OBJECT \ No newline at end of file diff --git a/Src/Wasabi/Lib/com/glowobject.m b/Src/Wasabi/Lib/com/glowobject.m new file mode 100644 index 00000000..1d4eff3a --- /dev/null +++ b/Src/Wasabi/Lib/com/glowobject.m @@ -0,0 +1,176 @@ +/** + * glowobject.m + * + * @package com.winamp.maki.lib.community.glowobject + * @author mpdeimos + * @date 18/10/01 + * @version 1.0 + */ + + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#define GLOW_TYPE_HOLD 0 +#define GLOW_TYPE_FLASH 1 +#define GLOW_TYPE_BOUNCE 2 + +Class GuiObject GlowLayer; +// { + Member GuiObject GlowLayer.trigger; +// } + +Class GuiObject GlowObject; +// { + Member float GlowObject.fadeInSpeed; + Member float GlowObject.fadeOutSpeed; + Member int GlowObject.glowType; + Member boolean GlowObject.glowing; + + Member GuiObject GlowObject.glow; + + /** + * constructor + * + * @param GuiObject that will be used to trigger the glow on mouse entering it's region + * @param the glowing object + * @ret GlowObject object + */ + Function GlowObject GlowObject_construct(GlowObject trigger, GlowLayer glow); + + /** + * sets fade in time + * + * @param GlowObject to act on + * @param milliseconds till the glow is at alpha 255 + */ + Function GlowObject_setFadeInSpeed(GlowObject go, float ms); + + /** + * sets fade out time + * + * @param GlowObject to act on + * @param milliseconds till the glow is at alpha 0 + */ + Function GlowObject_setFadeOutSpeed(GlowObject go, float ms); + + /** + * sets the glowtype used by this glow button. + * + * @param GlowObject to act on + * @param glowType defined via GLOW_TYPE_* + */ + Function GlowObject_setGlowType(GlowObject go, int glowType); + + + /* + * IMPLEMENTATION + */ + + GlowObject GlowObject_construct(GlowObject trigger, GlowLayer glow) + { + if (trigger == null) + { + debug("trigger"); + } + if (glow == NULL) + { + debug("glow"); + } + + GlowObject go = trigger; + go.fadeInSpeed = 0.3; + go.fadeOutSpeed = 0.5; + go.glow = glow; + go.glowType = GLOW_TYPE_HOLD; + go.glowing = false; + glow.trigger = trigger; + return go; + } + + GlowObject_setFadeInSpeed(GlowObject go, float ms) + { + go.fadeInSpeed = ms; + } + + GlowObject_setFadeOutSpeed(GlowObject go, float ms) + { + go.fadeOutSpeed = ms; + } + + GlowObject_setGlowType(GlowObject go, int glowType) + { + go.glowType = glowType; + } + + GlowObject.onEnterArea () + { + GlowObject.glowing = true; + GlowObject.glow.cancelTarget(); + GlowObject.glow.setTargetA(255); + GlowObject.glow.setTargetSpeed(GlowObject.fadeInSpeed); + GlowObject.glow.gotoTarget(); + } + + GlowObject.onLeaveArea () + { + GlowObject.glowing = false; + if (GlowObject.glowType != GLOW_TYPE_FLASH) + { + GlowObject.glow.cancelTarget(); + GlowObject.glow.setTargetA(0); + GlowObject.glow.setTargetSpeed(GlowObject.fadeOutSpeed); + GlowObject.glow.gotoTarget(); + } + } + + GlowLayer.onTargetReached () + { + GlowObject go = GlowLayer.trigger; + if (go.glowType == GLOW_TYPE_HOLD) + { + return; + } + else if (go.glowType == GLOW_TYPE_FLASH) + { + if (GlowLayer.getAlpha() == 255) + { + GlowLayer.cancelTarget(); + GlowLayer.setTargetA(0); + GlowLayer.setTargetSpeed(GlowObject.fadeOutSpeed); + GlowLayer.gotoTarget(); + } + } + else if (go.glowType == GLOW_TYPE_BOUNCE) + { + if (GlowLayer.getAlpha() == 255) + { + GlowLayer.cancelTarget(); + GlowLayer.setTargetA(0); + GlowLayer.setTargetSpeed(GlowObject.fadeOutSpeed); + GlowLayer.gotoTarget(); + } + else if (GlowLayer.getAlpha() == 0 && go.glowing) + { + GlowLayer.cancelTarget(); + GlowLayer.setTargetA(255); + GlowLayer.setTargetSpeed(GlowObject.fadeInSpeed); + GlowLayer.gotoTarget(); + } + } + } + + GlowObject.onSetVisible (Boolean onoff) + { + if (onoff) + { + GlowObject.glow.show(); + } + else + { + GlowObject.glow.hide(); + } + + } +// } diff --git a/Src/Wasabi/Lib/com/rotationlayer.m b/Src/Wasabi/Lib/com/rotationlayer.m new file mode 100644 index 00000000..7a6b81bf --- /dev/null +++ b/Src/Wasabi/Lib/com/rotationlayer.m @@ -0,0 +1,108 @@ +//---------------------------------------------------------------------------------------- +// +// rotationlayer.m +// +//---------------------------------------------------------------------------------------- +// Use like this : +// #define ROTATION_LAYER_VAR MyVar +// #include "rotationlayer.m" +// +// _MyVarInit(Group parentgroup, String layername); // init rotationlayer +// _MyVarRotateDegree(double r); // in degrees +// _MyVarRotate(double r); // in radians +// double _MyVarGetRotationDegree(); // in degrees +// double _MyVarGetRotation(); // in radians +// + +#ifndef PI +#define PI 3.1415926536 +#endif + +Global Double _##ROTATION_LAYER_VAR##R; +Global Layer _##ROTATION_LAYER_VAR##Layer; + +Function _##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername); +Function _##ROTATION_LAYER_VAR##RotateDegree(double r); +Function _##ROTATION_LAYER_VAR##Rotate(double r); +Function double _##ROTATION_LAYER_VAR##GetRotationDegree(); +Function double _##ROTATION_LAYER_VAR##GetRotation(); + +_##ROTATION_LAYER_VAR##RotateDegree(double r) { + _##ROTATION_LAYER_VAR##Rotate(r * PI / 180.0); +} + +_##ROTATION_LAYER_VAR##Rotate(double r) { + _##ROTATION_LAYER_VAR##R = r; + _##ROTATION_LAYER_VAR##Layer.fx_update(); +} + +double _##ROTATION_LAYER_VAR##GetRotationDegree() { + return _##ROTATION_LAYER_VAR##R * 180 / PI; +} + +double _##ROTATION_LAYER_VAR##GetRotation() { + return _##ROTATION_LAYER_VAR##R; +} + +_##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername) { + _##ROTATION_LAYER_VAR##Layer = parentgroup.getObject(layername); + _##ROTATION_LAYER_VAR##Layer.fx_setGridSize(1,1); + _##ROTATION_LAYER_VAR##Layer.fx_setBgFx(0); + _##ROTATION_LAYER_VAR##Layer.fx_setWrap(1); + _##ROTATION_LAYER_VAR##Layer.fx_setBilinear(1); + _##ROTATION_LAYER_VAR##Layer.fx_setRect(0); + _##ROTATION_LAYER_VAR##Layer.fx_setClear(0); + _##ROTATION_LAYER_VAR##Layer.fx_setLocalized(1); + _##ROTATION_LAYER_VAR##Layer.fx_setRealtime(0); + _##ROTATION_LAYER_VAR##Layer.fx_setEnabled(1); +} + +_##ROTATION_LAYER_VAR##Layer.fx_onGetPixelR(double r, double d, double x, double y) { + return r + _##ROTATION_LAYER_VAR##R; +} + +//--------------------II----------------- +Global Double _##ROTATION_LAYER_VARII##R; +Global Layer _##ROTATION_LAYER_VARII##Layer; + +Function _##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername); +Function _##ROTATION_LAYER_VARII##RotateDegree(double r); +Function _##ROTATION_LAYER_VARII##Rotate(double r); +Function double _##ROTATION_LAYER_VARII##GetRotationDegree(); +Function double _##ROTATION_LAYER_VARII##GetRotation(); + +_##ROTATION_LAYER_VARII##RotateDegree(double r) { + _##ROTATION_LAYER_VARII##Rotate(r * PI / 180.0); +} + +_##ROTATION_LAYER_VARII##Rotate(double r) { + _##ROTATION_LAYER_VARII##R = r; + _##ROTATION_LAYER_VARII##Layer.fx_update(); +} + +double _##ROTATION_LAYER_VARII##GetRotationDegree() { + return _##ROTATION_LAYER_VARII##R * 180 / PI; +} + +double _##ROTATION_LAYER_VARII##GetRotation() { + return _##ROTATION_LAYER_VARII##R; +} + +_##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername) { + _##ROTATION_LAYER_VARII##Layer = parentgroup.getObject(layername); + _##ROTATION_LAYER_VARII##Layer.fx_setGridSize(1,1); + _##ROTATION_LAYER_VARII##Layer.fx_setBgFx(0); + _##ROTATION_LAYER_VARII##Layer.fx_setWrap(1); + _##ROTATION_LAYER_VARII##Layer.fx_setBilinear(1); + _##ROTATION_LAYER_VARII##Layer.fx_setRect(0); + _##ROTATION_LAYER_VARII##Layer.fx_setClear(0); + _##ROTATION_LAYER_VARII##Layer.fx_setLocalized(1); + _##ROTATION_LAYER_VARII##Layer.fx_setRealtime(0); + _##ROTATION_LAYER_VARII##Layer.fx_setEnabled(1); + +} + +_##ROTATION_LAYER_VARII##Layer.fx_onGetPixelR(double r, double d, double x, double y) { + return r + _##ROTATION_LAYER_VAR##R; +} + diff --git a/Src/Wasabi/Lib/com/songinfo.m b/Src/Wasabi/Lib/com/songinfo.m new file mode 100644 index 00000000..30736fb7 --- /dev/null +++ b/Src/Wasabi/Lib/com/songinfo.m @@ -0,0 +1,104 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: songinfo.m +Version: 1.0 + +Type: maki/songinfo loading +Date: 09. Sept. 2008 - 10:02 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com +----------------------------------------------------- +---------------------------------------------------*/ + +/** + * This library is still in testing phase + */ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +// use this function to reload songinfo (usually do this on system.onTitleChange()) +Function songinfo_reload(); + +// use this vars to get song information (is faster than function calls) +Global String songinfo_title; +Global String songinfo_artist; +Global String songinfo_album; +Global String songinfo_location; // url or path on your hd +Global String songinfo_displayTitle; + +Global String songinfo_streamTitle; // similar to display title +Global String songinfo_streamName; // name of current stream (station title) +Global String songinfo_streamURL; +Global String songinfo_streamAlbumArt; // _full_ URL to an image on the web, like http://images.play.it/amg/album/cov200/drh200/h238/h23853pph7b.jpg + +Global Boolean songinfo_isStream; // true if current song is a stream + +Global Int songinfo_streamType; // use in conjunction with the values below +#define SONGINFO_STREAMTYPE_SHOUTCAST 2 +#define SONGINFO_STREAMTYPE_AOLRADIO 3 +#define SONGINFO_STREAMTYPE_CBSRADIO 4 +#define SONGINFO_STREAMTYPE_SHOUTCAST2 5 +#define SONGINFO_STREAMTYPE_NOSTREAM 0 +#define SONGINFO_STREAMTYPE_UNKNOWN 666 + +///////////////////////////////////// +// IMPLEMENTATION // DO NOT MODIFY // +///////////////////////////////////// + +songinfo_reload() +{ + // Fill vars with data + songinfo_location = System.getPlayItemString(); + songinfo_displayTitle = System.getPlayItemDisplayTitle(); + + String metaPrefix = ""; // used for streams + + // Check for a stream + songinfo_streamType = stringToInteger(getPlayItemMetaDataString("streamtype")); + songinfo_isStream = (songinfo_streamType > 0); + if (songinfo_isStream) // STREAM! + { + if (!(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST + || songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO + || songinfo_streamType == SONGINFO_STREAMTYPE_CBSRADIO + || songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)) + { + songinfo_streamType = SONGINFO_STREAMTYPE_UNKNOWN; + } + + // read stream metadata + songinfo_streamName = getPlayItemMetaDataString("streamname"); + songinfo_streamTitle = getPlayItemMetaDataString("streamtitle"); + songinfo_streamURL = getPlayItemMetaDataString("streamurl"); + + if (songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO) + { + metaPrefix = "uvox/"; + } + else if (songinfo_streamType == SONGINFO_STREAMTYPE_CBSRADIO) + { + metaPrefix = "cbs/"; + } + + songinfo_streamAlbumArt = getPlayItemMetaDataString(metaPrefix + "albumart"); + if (songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO) + { + songinfo_streamAlbumArt = "http://broadband-albumart.music.aol.com/scan/" + songinfo_streamAlbumArt; + } + } + else //NO STREAM! + { + // resetting stream specific values + songinfo_streamName = ""; + songinfo_streamTitle = ""; + songinfo_streamURL = ""; + songinfo_streamAlbumArt = ""; + } + + songinfo_title = getPlayItemMetaDataString(metaPrefix + "title"); + songinfo_artist = getPlayItemMetaDataString(metaPrefix + "artist"); + songinfo_album = getPlayItemMetaDataString(metaPrefix + "album"); +} \ No newline at end of file diff --git a/Src/Wasabi/Lib/config.mi b/Src/Wasabi/Lib/config.mi new file mode 100644 index 00000000..ce1dc25b --- /dev/null +++ b/Src/Wasabi/Lib/config.mi @@ -0,0 +1,29 @@ +//---------------------------------------------------------------------------------------------------------------- +// config.mi +// +// standard definitions for internal objects +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __CONFIG_MI +#define __CONFIG_MI + +extern class @{593DBA22-D077-4976-B952-F4713655400B}@ Object _predecl Config; +extern class @{D4030282-3AAB-4d87-878D-12326FADFCD5}@ Object ConfigItem; +extern class @{24DEC283-B76E-4a36-8CCC-9E24C46B6C73}@ Object ConfigAttribute; + +extern ConfigItem Config.getItem(String item_name); +extern ConfigItem Config.getItemByGuid(String item_guid); +extern ConfigItem Config.newItem(String item_name, String item_guid); + +extern ConfigAttribute ConfigItem.getAttribute(String attr_name); +extern ConfigAttribute ConfigItem.newAttribute(String attr_name, String default_value); +extern String ConfigItem.getGuid(String attr_name); +extern String ConfigItem.getName(); //TODO + +extern ConfigAttribute.setData(String value); +extern String ConfigAttribute.getData(); +extern ConfigAttribute.onDataChanged(); +extern ConfigItem ConfigAttribute.getParentItem(); +extern String ConfigAttribute.getAttributeName(); + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/core.mi b/Src/Wasabi/Lib/core.mi new file mode 100644 index 00000000..87a5e613 --- /dev/null +++ b/Src/Wasabi/Lib/core.mi @@ -0,0 +1,81 @@ +/** + Note: + This file is a relict of Winamp3/Wasabi.Player. + I have tested it and it seems not to work :( + If anyone get's this one to work lemme know: martin@skinconsortium.com +**/ + +extern class @{F857BECA-8E19-41f1-973E-097E39649F03}@ Object _predecl CoreAdmin; +extern class @{2825A91B-D488-4245-AAF1-7059CF88437B}@ Object &Core; + +extern Core CoreAdmin.getNamedCore(String name); +extern Core CoreAdmin.newNamedCore(String name); +extern Int CoreAdmin.freeCore(Core name); +extern Int CoreAdmin.freeCoreByName(String name); + + +extern Core.playFile(String filename); +extern Core.stop(); +extern Core.setVolume(Int volume); +extern Core.getStatus(); + +// I love keyboard macros. +extern Int Core.onStarted(); +extern Int Core.onStopped(); +extern Int Core.onPaused(); +extern Int Core.onUnpaused(); +extern Int Core.onSeeked(Int newpos); +extern Int Core.onVolumeChange(Int newvol); +extern Int Core.onPanChange(Int newpan); +extern Int Core.onEQStatusChange(Int newval); +extern Int Core.onEQPreampChange(Int newval); +extern Int Core.onEQBandChange(Int band, Int newval); +extern Int Core.onEQAutoChange(Int newval); +extern Int Core.onCoreStatusMsg(String msgtext); +extern Int Core.onWarningMsg(String msgtext); +extern Int Core.onErrorMsg(String msgtext); +extern Int Core.onTitleChange(String newtitle); +extern Int Core.onTitle2Change(String newtitle2); +extern Int Core.onInfoChange(String info); +extern Int Core.onUrlChange(String url); +extern Int Core.onLengthChange(Int newlength); +extern Int Core.onNextFile(); +extern Int Core.onNeedNextFile(Int fileid); +extern Int Core.onSetNextFile(String playstring); +extern Int Core.onErrorOccured(Int severity, String errortext); +extern Int Core.onAbortCurrentSong(); +extern Int Core.onEndOfDecode(); +extern Int Core.onFileComplete(String playstring); +extern Int Core.onConvertersChainRebuilt(); +extern Int Core.onMediaFamilyChange(String newfamily); + +extern Int Core.setNextFile(String pstr); +extern Int Core.getStatus(); +extern String Core.getCurrent(); +extern Int Core.getCurPlaybackNumber(); +extern Int Core.getNumTracks(); +extern Int Core.getPosition(); +extern Int Core.getWritePosition(); +extern Int Core.setPosition(Int ms); +extern Int Core.getLength(); +extern Int Core.getVolume(); +extern Core.setVolume(Int vol); +extern Int Core.getPan(); +extern Core.setPan(Int bal); +extern Core.setMute(Int mute); +extern Int Core.getMute(); +extern Int Core.getLeftVuMeter(); +extern Int Core.getRightVuMeter(); +extern Core.userButton(Int ubutton); +extern Int Core.getEqStatus(); +extern Core.setEqStatus(Int enable); +extern Int Core.getEqPreamp(); +extern Core.setEqPreamp(Int pre); +extern Int Core.getEqBand(Int band); +extern Core.setEqBand(Int band, Int val); +extern Int Core.getEqAuto(); +extern Core.setEqAuto(Int enable); +extern Core.setCustomMsg(String msgtext); +extern Core.setPriority(Int priority); +extern Int Core.getPriority(); +extern Core.rebuildConvertersChain(); diff --git a/Src/Wasabi/Lib/exd.mi b/Src/Wasabi/Lib/exd.mi new file mode 100644 index 00000000..3866bd19 --- /dev/null +++ b/Src/Wasabi/Lib/exd.mi @@ -0,0 +1,118 @@ +//---------------------------------------------------------------------------------------------------------------- +// exd.mi +// +// extra definitions for internal objects +//---------------------------------------------------------------------------------------------------------------- +#ifndef included +#error This script can only be compiled as a #include +#endif + +#ifndef __EXD_MI +#define __EXD_MI + + + +//***************************************************************************** +// String CLASS +//***************************************************************************** + +Function String replaceString(string baseString, string toreplace, string replacedby); + +/** + replaceString() + + Returns the class name for the object. + + @param baseString The String which you want to modify. + @param toreplace The String you want to be replaced. + @param replacedby The String instead of 'toreplace'. + @ret The replaced string. +*/ + +String replaceString(string baseString, string toreplace, string replacedby) { + if (toreplace == "") return baseString; + string sf1 = strupper(baseString); + string sf2 = strupper(toreplace); + int i = strsearch(sf1, sf2); + if (i == -1) return baseString; + string left = "", right = ""; + if (i != 0) left = strleft(baseString, i); + + if (strlen(basestring) - i - strlen(toreplace) != 0) { + right = strright(basestring, strlen(basestring) - i - strlen(toreplace)); + } + return left + replacedby + right; +} + +Function String cutString(string baseString, string toreplace); + +/** + cutString() + + Returns the class name for the object. + + @param baseString The String which you want to modify. + @param toreplace The String you want to be replaced. + @ret The replaced string. +*/ + +String cutString(string baseString, string toreplace) { + if (toreplace == "") return baseString; + int i = strsearch(baseString, toreplace); + if (i == -1) return baseString; + string left = "", right = ""; + if (i != 0) left = strleft(baseString, i); + + if (strlen(basestring) - i - strlen(toreplace) != 0) { + right = strright(basestring, strlen(basestring) - i - strlen(toreplace)); + } + return left + right; +} + +Function String fillStringBefore(string baseString, string after, string before); + +/** + fillStringBefore() + + Returns the class name for the object. + + @param baseString The String which you want to modify. + @param toreplace The String you want to be replaced. + @ret The replaced string. +*/ + +String fillStringBefore(string baseString, string filled, string anchor) { + int i = strsearch(baseString, anchor); + if (i == -1) return baseString; + + string left = "", right = ""; + if (i != 0) left = strleft(baseString, i); + if (strlen(basestring) - i - strlen(toreplace) != 0) { + right = strright(basestring, strlen(basestring) - i); + } +/* bef.setText(integerToString(i) + " - " + left); + aft.setText(integerToString(strlen(basestring) - i) + " - " + right); +*/ return left + filled + right; +} + + +Function Int countSubString(string str, string substr); + +int countSubString(string str, string substr) { + int n = 0; + for ( int i = 0; i < 666; i++ ) { + int r = strSearch(str, substr); +#ifdef DEBUG + debug(integerToString(r)); +#endif + if (r == -1) i = 666; + else { + str = strright(str, strlen(str) - (r + 1)); + n++; + if (strlen(str) - r == 1) return n; + } + } + return n; +} + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/fileio.mi b/Src/Wasabi/Lib/fileio.mi new file mode 100644 index 00000000..0f8d3d32 --- /dev/null +++ b/Src/Wasabi/Lib/fileio.mi @@ -0,0 +1,130 @@ +//---------------------------------------------------------------------------------------------------------------- +// fileio.mi +// +// standard handles for file input and output (only xml parsing atm) +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __FILEIO_MI +#define __FILEIO_MI + + +extern class @{836F8B2E-E0D1-4db4-937F-0D0A04C8DCD1}@ Object &File; +extern class @{417FFB69-987F-4be8-8D87-D9965EEEC868}@ File &XmlDoc; + + + +//***************************************************************************** +// File CLASS +//***************************************************************************** +/** + File Class. + + @short Root Object for handling files + @author Nullsoft Inc. + @ver 1.0 +*/ + +extern File.load (String path); // !Always call this first! +extern boolean File.exists (); +extern int File.getSize (); + + +//***************************************************************************** +// XmlDoc CLASS +//***************************************************************************** +/** + XmlDoc Class. + + @short Root Object for handling xml files + @author Nullsoft Inc. + @ver 1.0 +*/ + + +/** + parser_addCallback() + + Add a XML tag to the global callback list for this file. Ensure to load the file first! + You can call this function more than once in order to add multiple callbacks (not implemented yet). + Use / for subtags and * as wildchar. + Example: +
+ + + + + + + +
+ in order to read all items listed under cfg add this callback: + + Global XmlDoc myDoc; + + System.onScriptLoaded() + { + myDoc = new XmlDoc; + myDoc.load("C:\mycfg.xml"); + myDoc.parser_addCallback("main/cfg/*"); + myDoc.parser_addCallback("main/otherstuff"); + myDoc.parser_start(); + myDoc.parser_destroy(); + } + + Note: myDoc.parser_addCallback("*"); will parse everything. + + @param any XML tag you want a callback for +*/ +extern XmlDoc.parser_addCallback (String section); + + +/** + parser_start() + + Start parsing the XmlDoc. +*/ +extern XmlDoc.parser_start (); + + +/** + parser_onCallback() + + Hookable. Called everytime an opening XML tag with a added callback is found. + opening XML tags: or + + @param XML path to the XML tag that triggered the callback (uppercase!) + @param name of the XML tag that triggered the callback + @param List that holds the paramnames + @param List that holds the paramvalues (sorted in the same way as List paramname) +*/ +extern String XmlDoc.parser_onCallback (String xmlpath, String xmltag, list paramname, list paramvalue); + + +/** + parser_onCloseCallback() + + Hookable. Called everytime a closing XML tag with an added callback is found. + closing XML tag: or + + @param XML tag that triggered the callback +*/ +extern String XmlDoc.parser_onCloseCallback (String xmlpath, String xmltag); + + +/** + parser_onError() + + due to some API changes filename and incpath will hold an empty string since winamp 5.56 +*/ +extern String XmlDoc.parser_onError (String filename, int linenum, String incpath, int errcode, String errstr); + + +/** + parser_destroy() + + Always call this if you are done with parsing, or if you want to reset your callbacks. +*/ +extern String XmlDoc.parser_destroy (); + + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/pldir.mi b/Src/Wasabi/Lib/pldir.mi new file mode 100644 index 00000000..2e21cd80 --- /dev/null +++ b/Src/Wasabi/Lib/pldir.mi @@ -0,0 +1,96 @@ +//---------------------------------------------------------------------------------------------------------------- +// pldir.mi +// +// standard handles for PlEdit manipulation +//---------------------------------------------------------------------------------------------------------------- + + +extern class @{345BEEBC-0229-4921-90BE-6CB6A49A79D9}@ Object _predecl &PlEdit; // Our Winamp Playlist Editor +extern class @{61A7ABAD-7D79-41f6-B1D0-E1808603A4F4}@ Object _predecl PlDir; // + + + +//***************************************************************************** +// PlEdit CLASS +//***************************************************************************** +/** + PlEdit Class. + + @short Our main PlEdit Editor. + @author Nullsoft Inc. + @ver 1.0 +*/ + + // General PlEdit Information +extern int PlEdit.getNumTracks (); // Returns total number of tracks +extern int PlEdit.getCurrentIndex (); // Index of the currently Playing Item +extern int PlEdit.getNumSelectedTracks (); +extern int PlEdit.getNextSelectedTrack (int i); + + + // Manipulate PlEdit View +extern PlEdit.showCurrentlyPlayingTrack (); // Scrolls the PL to the currently playling item (mostly used with onKeyDown: space) +extern PlEdit.showTrack (int item); + + // Manipulate PlEdit Entries +extern PlEdit.enqueueFile (string file); // Enqueues a file at the end of the PL +extern PlEdit.clear (); +extern PlEdit.removeTrack (int item); // Removes a specific Track from PL +extern PlEdit.swapTracks (int item1, int item2); // Changes the position of item1 and item2 +extern PlEdit.moveUp (int item); // Moves item one position up +extern PlEdit.moveDown (int item); // Moves item one position down +extern PlEdit.moveTo (int item, int pos); // Moves an item to a new position in our PlEdit (this one is faster as calling multiple swaps in maki) +extern PlEdit.playTrack (int item); + + + // Metadata Stuff +extern int PlEdit.getRating (int item); +extern PlEdit.setRating (int item, int rating); // Sets Rating of track #item to a value from 0-5 +extern String PlEdit.getTitle (int item); +extern String PlEdit.getLength (int item); +extern String PlEdit.getMetaData (int item, String metadatastring); // You know the metadata strings, don't you? +extern String PlEdit.getFileName (int item); + +/** + Hookable. + You need to instanciate a PlEdit object first. so basically it goes like this: + + Global PlEdit PeListener; + + System.onScriptLoaded () + { + PeListener = new PlEdit; + } + + PeListener.onPleditModified () + { + // Do some crazy stuff + } +*/ +extern PlEdit.onPleditModified (); + +//***************************************************************************** +// PlDir CLASS +//***************************************************************************** +/** + PlDir Class. + + @short Handles for the XML object and ML PlEdits view. + @author Nullsoft Inc. + @ver 1.0 +*/ + + // General PlEdits Information +extern int PlDir.getNumItems (); // Returns total number of stored PlEdits in your ml +extern String PlDir.getItemName (int item); + + // Manipulate PlDir View +extern PlDir.showCurrentlyPlayingEntry (); // Backwards Compatibility (wa3 relict), does the same as PlEdit.showCurrentlyPlayingTrack () +extern PlDir.refresh(); // Not working 100% on ml lists + + // Manipulate PlDir Entries +extern PlDir.renameItem (int item, String name); + + // Playback funtions +extern PlDir.enqueueItem (int item); +extern PlDir.playItem (int item); \ No newline at end of file diff --git a/Src/Wasabi/Lib/private.mi b/Src/Wasabi/Lib/private.mi new file mode 100644 index 00000000..5edffc68 --- /dev/null +++ b/Src/Wasabi/Lib/private.mi @@ -0,0 +1,26 @@ +//---------------------------------------------------------------------------------------------------------------- +// private.mi +// +// these are our own private calls ;) +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __PRIVATE_MI +#define __PRIVATE_MI + +extern class @{78BD6ED9-0DBC-4fa5-B5CD-5977E3A912F8}@ Object &Private; + +Global Private WaPrivateCall; +//Member boolean WaPrivateCall.t; + +Function initWaPrivateCalls(); +initWaPrivateCalls () +{ + WaPrivateCall = new Private; + //WaPrivateCall.t = false; + //debugInt(WaPrivateCall.t); +} + +extern Private.updateLinks(String version, String browserversion); +extern Private.onLinksUpdated(); + +#endif \ No newline at end of file diff --git a/Src/Wasabi/Lib/std.mi b/Src/Wasabi/Lib/std.mi new file mode 100644 index 00000000..dac8d122 --- /dev/null +++ b/Src/Wasabi/Lib/std.mi @@ -0,0 +1,2778 @@ +//---------------------------------------------------------------------------------------------------------------- +// std.mi +// +// standard definitions for internal objects +//---------------------------------------------------------------------------------------------------------------- + +#ifndef __STD_MI +#define __STD_MI + +#define MC_TARGET "Winamp 5.66 (skin version 1.36)" +#define VCPU_VERSION 2 + +#define deprecated // + +// GUIDS +extern class @{51654971-0D87-4a51-91E3-A6B53235F3E7}@ @{00000000-0000-0000-0000-000000000000}@ Object; +extern class @{D6F50F64-93FA-49b7-93F1-BA66EFAE3E98}@ Object _predecl System; +extern class @{E90DC47B-840D-4ae7-B02C-040BD275F7FC}@ Object Container; +deprecated extern class @{00C074A0-FEA2-49a0-BE8D-FABBDB161640}@ Object Wac; +extern class @{B2023AB5-434D-4ba1-BEAE-59637503F3C6}@ Object &List; +extern class @{87C65778-E743-49fe-85F9-09CC532AFD56}@ Object &BitList; +extern class @{38603665-461B-42a7-AA75-D83F6667BF73}@ Object ⤅ +extern class @{F4787AF4-B2BB-4ef7-9CFB-E74BA9BEA88D}@ Object &PopupMenu; +extern class @{3A370C02-3CBF-439f-84F1-86885BCF1E36}@ Object &Region; +extern class @{5D0C5BB6-7DE1-4b1f-A70F-8D1659941941}@ Object &Timer; +deprecated extern class @{A5376FA1-4E94-411a-83F6-05EC5EEA5F0A}@ Object &FeedWatcher; +extern class @{4EE3E199-C636-4bec-97CD-78BC9C8628B0}@ Object &GuiObject; +extern class @{45BE95E5-2072-4191-935C-BB5FF9F117FD}@ GuiObject &Group; +extern class @{60906D4E-537E-482e-B004-CC9461885672}@ Group &Layout; +extern class @{403ABCC0-6F22-4bd6-8BA4-10C829932547}@ GuiObject &WindowHolder; +extern class @{97AA3E4D-F4D0-4fa8-817B-0AF22A454983}@ GuiObject &ComponentBucket; +extern class @{64E4BBFA-81F4-49d9-B0C0-A85B2EC3BCFD}@ GuiObject &Edit; +extern class @{62B65E3F-375E-408d-8DEA-76814AB91B77}@ GuiObject &Slider; +extern class @{CE4F97BE-77B0-4e19-9956-D49833C96C27}@ GuiObject &Vis; +extern class @{A8C2200D-51EB-4b2a-BA7F-5D4BC65D4C71}@ GuiObject &Browser; +extern class @{8D1EBA38-489E-483e-B960-8D1F43C5C405}@ GuiObject &EqVis; +extern class @{0F08C940-AF39-4b23-80F3-B8C48F7EBB59}@ GuiObject &Status; +extern class @{EFAA8672-310E-41fa-B7DC-85A9525BCB4B}@ GuiObject &Text; +extern class @{7DFD3244-3751-4e7c-BF40-82AE5F3ADC33}@ GuiObject &Title; +extern class @{5AB9FA15-9A7D-4557-ABC8-6557A6C67CA9}@ GuiObject &Layer; +extern class @{698EDDCD-8F1E-4fec-9B12-F944F909FF45}@ GuiObject &Button; +extern class @{6B64CD27-5A26-4c4b-8C59-E6A70CF6493A}@ Layer &AnimatedLayer; +extern class @{6DCB05E4-8AC4-48c2-B193-49F0910EF54A}@ Layer &AlbumArtLayer; +extern class @{B4DCCFFF-81FE-4bcc-961B-720FD5BE0FFF}@ Button &ToggleButton; +extern class @{01E28CE1-B059-11d5-979F-E4DE6F51760A}@ GuiObject &GroupList; +extern class @{80F0F8BD-1BA5-42a6-A093-3236A00C8D4A}@ Group &CfgGroup; +deprecated extern class @{CDCB785D-81F2-4253-8F05-61B872283CFA}@ GuiObject &QueryList; +extern class @{9B2E341B-6C98-40fa-8B85-0C1B6EE89405}@ GuiObject &MouseRedir; +extern class @{36D59B71-03FD-4af8-9795-0502B7DB267A}@ GuiObject &DropDownList; +extern class @{7FD5F210-ACC4-48df-A6A0-5451576CDC76}@ GuiObject &LayoutStatus; +extern class @{B5BAA535-05B3-4dcb-ADC1-E618D28F6896}@ GuiObject &TabSheet; +extern class @{6129FEC1-DAB7-4d51-9165-01CA0C1B70DB}@ GuiObject &GuiList; +extern class @{D59514F7-ED36-45e8-980F-3F4EA0522CD9}@ GuiObject &GuiTree; +extern class @{9B3B4B82-667A-420e-8FFC-794115809C02}@ Object &TreeItem; +deprecated extern class @{1D8631C8-80D0-4792-9F98-BD5D36B49136}@ GuiObject &MenuButton; +extern class @{C7ED3199-5319-4798-9863-60B15A298CAA}@ GuiObject &CheckBox; +deprecated extern class @{2D2D1376-BE0A-4CB9-BC0C-57E6E4C999F5}@ GuiObject &Form; +extern class @{E2BBC14D-84F6-4173-BDB3-B2EB2F665550}@ GuiObject &Frame; // Winamp 5.5 +extern class @{73C00594-961F-401B-9B1B-672427AC4165}@ GuiObject &Menu; // Winamp 5.52 + +deprecated define Component WindowHolder + +#ifndef true +#define true 1 +#endif +#ifndef TRUE +#define TRUE 1 +#endif +#ifndef false +#define false 0 +#endif +#ifndef FALSE +#define FALSE 0 +#endif + +// class tree member functions & events + +//***************************************************************************** +// Object CLASS +//***************************************************************************** +/** + Object Class. + + @short This is the base class from which all other classes inherit. + @author Nullsoft Inc. + @ver 1.0 +*/ + +/** + getClassName() + + Returns the class name for the object. + + @ret The class name. +*/ +extern String Object.getClassName(); + +/** + getId() + +*/ +extern String Object.getId(); + +/** + onNotify() + + @ret + @param command + @param param + @param a + @param b +*/ +extern Int Object.onNotify(String command, String param, int a, int b); + +//***************************************************************************** +// System CLASS +//***************************************************************************** +/** + System Class. + + @short The system class are basic system functions accessible to all. + @author Nullsoft Inc. + @ver 1.0 +*/ + +/** + onScriptLoaded() + + Hookable. Event happens when script has just finished being loaded. + No params. +*/ +extern System.onScriptLoaded(); + +/** + onScriptUnloading() + + Hookable. Event happens when script is going to be unloaded. + No params. +*/ +extern System.onScriptUnloading(); + +/** + onQuit() + + Hookable. Event happens when the user quits the application. + No params. +*/ +extern System.onQuit(); + +/** + onSetXuiParam(String param, String value) + + Hookable. Event happens when the script is in a group implementing + an xuiobject and a parameter has not been recognized by the group or + the embedded object. + + No params. +*/ +extern System.onSetXuiParam(String param, String value); + +/** + onKeyDown() + + Hookable. Event happens when the user presses a key on the keyboard. + + @param key The key that was pressed. +*/ +extern System.onKeyDown(String key); + +/** + onAccelerator() + + Hookable. Event happens when the user presses an accelerator key. + + @param action The action to perform (from locales) + @param section The locales section for the accelerator. + @param key The key, ie: "tab", "ctrl+a". +*/ +extern System.onAccelerator(String action, String section, String key); + +/** + onCreateLayout() + + Hookable. Event happens when a layout is created. + + @param _layout The layout that was just created. +*/ +extern System.onCreateLayout(Layout _layout); + +/** + onShowLayout() + + Hookable. Event happens when a layout is about to be shown. + This even only happens if the layout was previously hidden. + + @param _layout The layout that's about to be shown. +*/ +extern System.onShowLayout(Layout _layout); + +/** + onHideLayout() + + Hookable. + + @param _layout The layout that's about to be hidden. +*/ +extern System.onHideLayout(Layout _layout); + +/** + onViewPortChanged() + + Hookable. Event happens when the Windows viewport has changed. + Note: The monitor Winamp is currently on may not be related to + the Windows message which led to generating this event. + + @param width The new viewport width or -1 if not given by the OS. + @param height The new viewport height or -1 if not given by the OS. +*/ +extern System.onViewPortChanged(int width, int height); + +/** + onStop() + + Hookable. Event happens when Winamp3 stops playing a file. + No params. +*/ +extern System.onStop(); + +/** + onPlay() + + Hookable. Event happens when Winamp3 starts playing a file. + No params. +*/ +extern System.onPlay(); + +/** + onPause() + + Hookable. Event happens when Winamp3 pauses playback. + No params. +*/ +extern System.onPause(); + +/** + onResume() + + Hookable. Event happens when Winamp3 resumes playback. + Event only happens when the song was previously set in a paused state. + No params. +*/ +extern System.onResume(); + +/** + onTitleChange() + + Hookable. Event happens when the song title changes. +*/ +extern System.onTitleChange(String newtitle); + +extern System.onTitle2Change(String newtitle2); +extern System.onUrlChange(String url); +extern System.onInfoChange(String info); +extern System.onStatusMsg(String msg); + +/** + onEqBandChanged() + + Hookable. Event happens when an equalizer band changes values. + The bands are numbered from 0 to 9 (0 being 60Hz and 9 being 16kHz) + and their values range from -127 to +127. + + @param band The frequency band that has changed. + @param newvalue The new value of the frequency band. +*/ +extern System.onEqBandChanged(int band, int newvalue); + +/** + onEqPreampChanged() + + Hookable. Event happens when the equalizer pre-amp has changed + values. Range of the value is from -127 to +127. + + @param newvalue The new pre-amp value. +*/ +extern System.onEqPreampChanged(int newvalue); + +/** + onEqChanged() + + Hookable. Event happens when the EQ is switched on or off. + 0 means the EQ was turned off. 1 means it was turned on. + You might want to use true and false to verify this, it's a bit + more elegant. :) + + @param newstatus The new status of the EQ. +*/ +extern System.onEqChanged(int newstatus); + +extern System.onEqFreqChanged(int isiso); //Requires 5.51 + +/** + onVolumeChanged() + + Hookable. Event happens when the volume was changed. + The range of the volume is from 0 to 255. + + @param newvol The new volume value. +*/ +extern System.onVolumeChanged(int newvol); + +/** + onSeek() + + Hookable. Event happens when the user seeks + to a position in the track. + + @param newpos The seekers new position. +*/ +extern System.onSeek(int newpos); + +/** + getContainer() + + @ret The requested container. + @param container_id The containers identifier string. +*/ +extern Container System.getContainer(String container_id); + +/** + newDynamicContainer() + + @ret The new container. + @param container_id The identifier for the container you want to create. +*/ +extern Container System.newDynamicContainer(String container_id); + +/** + newGroup() + + @ret The new group. + @param group_id The identifier for the group you want to create. +*/ +extern Group System.newGroup(String group_id); + +extern Layout System.newGroupAsLayout(String group_id); + +/** + getNumContainers() + + Get the number of containers currently created. + + @ret The number of containers. +*/ +extern Int System.getNumContainers(); + +/** + enumContainer() + + Returns the name of the container associated with it's number. + Use getNumContainers() to fetch the number of containers present. + The containers are numbered from 0 to the value returned by getNumContainers(). + + @ret The name of the specified container. + @param num The container's number for which you want to know the name. +*/ +extern Container System.enumContainer(Int num); + +extern String system.enumEmbedGUID(int num); //TODO + +/** + getWac() + + Gets the reference to the wac identified by the guid sent. + + @ret The requested WAC. + @param wac_guid The WAC's GUID. +*/ +deprecated extern Wac System.getWac(String wac_guid); + +/** + messageBox() + + Creates a message box. + The flag paramater lets you set the style of the message box. + Just use the OR bitwise operator to set the style you want. + Here's a list of the flags you can use: + + MSGBOX_OK Adds an OK button. (1) + MSGBOX_CANCEL Adds a CANCEL button. (2) + MSGBOX_YES Adds a YES button. (4) + MSGBOX_NO Adds a NO button. (8) + MSGBOX_ALL Adds ALL buttons. (16) + MSGBOX_NEXT Adds a NEXT button. (32) + MSGBOX_PREVIOUS Adds a PREVIOUS button. (64) + + Note that the notanymore_id parameter stores the users answer in the + configuration file with the entry name specified by it's value. + + @ret The value of the button that was pressed (example: if OK is pressed, 1 is returned). + @param message The message you want to display. + @param msgtitle The title of the message box. + @param flag The message box style you want. + @param notanymore_id Configuration item name in which to store the users answer. +*/ +extern Int System.messageBox(String message, String msgtitle, Int flag, String notanymore_id); + +/** + getPlayItemString() + + @ret The name of what is playing. +*/ +extern String System.getPlayItemString(); + +/** + getPlayItemLength() + + Get the length of the track currently playing, in milliseconds. + + @ret Length of the track, in seconds. +*/ +extern Int System.getPlayItemLength(); + +/** + getPlayItemMetaDataString() + + Get metadata for the track currently playing. The metadata field names that + are available are the following: + + title + album + artist + albumartist + comment + year + composer + bitrate + srate + stereo + vbr + replaygain_track_gain + replaygain_album_gain + replaygain_track_peak + replaygain_album_peak + gain + genre + track + length + disc + bpm + conductor + key + mood + subtitle + lyricist + ISRC + media + remixer + encoder + publisher + tool + pregap + postgap + numsamples + + + @ret The requested metadata. + @param metadataname The name of the metadata field you want to read. +*/ +extern String System.getPlayItemMetaDataString(String metadataname); +extern String System.getMetaDataString(String filename, String metadataname); // Requires 5.53 +extern String System.getPlayItemDisplayTitle(); + +extern Int System.getCurrentTrackRating(); //Requires 5.5 +extern System.onCurrentTrackRated(int rating); //Requires 5.5 +extern System.setCurrentTrackRating(int rating); //Requires 5.5 + +/** + getExtFamily() + + This one still return the same as getDecoderName() + + //Gets registered family for given extension (i.e. mp3 -> "Audio") + + @ret The registered family for given extension. + @param ext The extension in question. +*/ +extern String System.getExtFamily(String ext); + +extern String system.getDecoderName(string playitem); + +/** + playFile() + + Play the requested file. Path and filename are required + with proper extension (example: playFile("c:\music\mp3\file.mp3"); ). + It also works with URL's (example: playFile("http://myshoutcast.com:8000"); ). + + @param playitem The path and filename to play. +*/ +extern System.playFile(String playitem); + +extern Int System.getAlbumArt(String playitem); //Requires 5.5 // Will return 1 if an album art has been downloaded, otherwise 0 + +/** + downloadMedia() + + Hookable. Downloads a file from url and saves it as destination_filename. + If destinationPath is "" it will be saved in CD Ripping dir (=getDownloadPath()). + + @param url the file to be downloaded + @param destinationPath the path you want to store the file + @param wantAddToML set true if you wnt to add the file to ML database + @param notifyDownloadsList set true in order to list the download in Object +*/ +extern System.downloadMedia(String url, String destinationPath, boolean wantAddToML, boolean notifyDownloadsList); // Requires 5.54 +deprecated extern System.downloadURL(String url, String destination_filename, String progress_dialog_title); //Requires 5.5 // destination_filename is just a dummy parameter as well as progress_dialog_title - use download() instead + +extern System.onDownloadFinished(String url, boolean success, String filename); // Requires 5.53 +extern String System.getDownloadPath(); // Requires 5.53 // returns the CD Ripping Directory +extern System.setDownloadPath(String new_path); // Requires 5.53 // Sets the CD Ripping Directory + +/** + enqueueFile() + + Enqueque the requested file. Path and filename are required + with proper extension (example: playFile("c:\music\mp3\file.mp3"); ). + It also works with URL's (example: playFile("http://myshoutcast.com:8000"); ). + + @param playitem The path and filename to play. +*/ +extern System.enqueueFile(String playitem); //Requires 5.5 + +/** + getLeftVuMeter() + + Get the value of the left vu meter. + Range is from 0 to 255. Linear. + + @ret The value of the left vu meter. +*/ +extern Int System.getLeftVuMeter(); + +/** + getRightVuMeter() + + Get the value of the right vu meter. + Range is from 0 to 255. Linear. + + @ret The value of the left vu meter. +*/ +extern Int System.getRightVuMeter(); + +/** + getVolume() + + Get the current volume. Range is from 0 to 255. + + @ret The current volume. +*/ +extern Int System.getVolume(); + +/** + setVolume() + + Set the volume to the desired value. + Range is from 0 to 255. + + @param vol The desired volume value. +*/ +extern System.setVolume(Int vol); + +/** + play() + + Trigger the play event. +*/ +extern System.play(); + +/** + stop() + + Trigger the stop event. +*/ +extern System.stop(); + +/** + pause() + + Trigger the pause event. +*/ +extern System.pause(); + +/** + next() + + Trigger the next event. +*/ +extern System.next(); + +/** + previous() + + Trigger the previous event. +*/ +extern System.previous(); + +/** + eject() + + Trigger the eject event. +*/ +extern System.eject(); + +/** + seekTo() + + Seek to the desired position in the track. Range is from + 0 to SONG LENGTH (in milliseconds). +*/ +extern System.seekTo(Int pos); + +/** + getPosition() + + Get the current position in the track currently playing, + in milliseconds. + + @ret The current position in the track. +*/ +extern Int System.getPosition(); + +/** + setEqBand() + + Sets the requested equalizer band to the specified value. + The bands are numbered from 0 (60Hz) to 9 (16kHz) and + each range from -127 to +127. + + @param band The EQ band to set. + @param value The desired value for the specified band. +*/ +extern System.setEqBand(int band, Int value); + +/** + setEqPreamp() + + Set the equalizer pre-amp to the desired value. + Range is from -127 to +127 (0 means no preamp). + + @param value The desired value for the pre-amp. +*/ +extern System.setEqPreamp(Int value); + +/** + Set the equalizer to the desired state. On or off. + 0 is off, 1 is on. + + @param onoff The desired state for the eq. +*/ +extern System.setEq(Int onoff); + +/** + getEqBand() + + Get the value of an equalizer band. The bands + are numbered from 0 (60Hz) to 9 (16kHz). The return + value range is from -127 to +127. + + @ret The value of the band. + @param band The eq band number you want to get. +*/ +extern Int System.getEqBand(int band); + +/** + getEqPreamp() + + Get the equalizer preamp value. The value range is + from -127 to +127 (0 means no preamp). + + @ret The preamp's current value. +*/ +extern int System.getEqPreamp(); + +/** + getEq() + + Get the equalizer state. 0 for off, 1 for on. + Remember to compare return value to true and false. + + @ret The EQ's state. +*/ +extern int System.getEq(); + +/** + getMousePosX() + + This returns the X position of the mouse in the screen, + using the screen coordinate system. + + @ret The mouse's current X pos. +*/ +extern int System.getMousePosX(); + +/** + getMousePosY() + + This returns the Y position of the mouse in the screen, + using the screen coordinate system. + + @ret The mouse's current Y pos. +*/ +extern int System.getMousePosY(); + +/** + integerToString() + + Get the string representation of an integer. + + @ret The string equivalent of the integer. + @param value The integer to change into a string. +*/ +extern String System.integerToString(Int value); + +/** + StringToInteger() + + Get the integer representation of a string. + + @ret The integer equivalent of the string. + @param str The string to change into an integer. +*/ +extern Int System.StringToInteger(String str); + +/** + floatToString() + + Get the string representation of a floating point number. + + @ret The string representation of the float number. + @param value The float to convert. + @param ndigits Number of digits after the decimal point you want. +*/ +extern String System.floatToString(float value, int ndigits); + +/** + stringToFloat() + + Get the floating point representation of a string. + + @ret The float representation of the string. + @param str The string to convert. +*/ +extern Float System.stringToFloat(String str); + +/** + integerToLongTime() + + Convert a time in seconds to a HH:MM:SS value. + + @ret The string representation of the time (HH:MM:SS). + @param value Timestamp to use. +*/ +extern String System.integerToLongTime(Int value); + +/** + integerToTime() + + Convert a time in seconds to a MM:SS value. + + @ret The string representation of the time (MM:SS). + @param value Timestamp to use. +*/ +extern String System.integerToTime(Int value); + +extern String System.dateToTime(Int datetime); // prints the time from a date with the same format as integerToTime +extern String System.dateToLongTime(Int datetime); // prints the time from a date with the same format as integerToLongTime +extern String System.formatDate(Int datetime); // formats the date according to the locales - short date format +extern String System.formatLongDate(Int datetime); // formats the date according to the locales - long date format +extern Int System.getDateYear(Int datetime); // returns the datetime's year since 1900 +extern Int System.getDateMonth(Int datetime); // returns the datetime's month (0-11) +extern Int System.getDateDay(Int datetime); // returns the datetime's day of the month (1-31) +extern Int System.getDateDow(Int datetime); // returns the datetime's day of the week (0-6) +extern Int System.getDateDoy(Int datetime); // returns the datetime's day of the year (0-365) +extern Int System.getDateHour(Int datetime); // returns the datetime's hour (0-23) +extern Int System.getDateMin(Int datetime); // returns the datetime's minutes (0-59) +extern Int System.getDateSec(Int datetime); // returns the datetime's seconds (0-59) +extern Int System.getDateDst(Int datetime); // returns the datetime's daylight savings flag +extern Int System.getDate(); // returns the datetime, use with the above functions + +/** + strmid() + + Get a substring from a string. + + @ret The substring. + @param str The string. + @param start The start position. + @param len The length of the string to extract, from start position. +*/ +extern String System.strmid(String str, Int start, Int len); + +/** + strleft() + + Get a substring from a string, starting from the left. + + @ret The substring. + @param str The string. + @param nchars The length of the string to extract, from the left. +*/ +extern String System.strleft(string str, int nchars); + +/** + strright() + + Get a substring from a string, starting from the right. Since + the start point is the right of the string (or the end). It will + extract the string starting from the END going towards the BEGINNING. + + @ret The substring. + @param str The string. + @param nchars The length of the string to extract, from the right. +*/ +extern string System.strright(string str, int nchars); + +/** + strsearch() + + Search a string for any occurance of substring. If the substring was + found in the string, it will return the position of the substring in + the string searched. If the substring is not found, the return value + is -1. + + @ret Position at which the substring was found. + @param str The string to search in. + @param substr The substring to find. +*/ +extern int System.strsearch(string str, string substr); + +/** + strlen() + + Returns the length of the string. + + @ret The length of the string. + @param str The string. +*/ +extern int System.strlen(string str); + +/** + strupper() + + Convert a string to all uppercase. + + @ret The uppercase string. + @param str The string to uppercase. +*/ +extern string System.strupper(string str); + +/** + strlower() + + Convert a string to all lowercase. + + @ret The lowercase string. + @param str The string to lowercase. +*/ +extern string System.strlower(string str); + +/** + urlEncode() + + URL Encode a string. Characters that are NOT encoded + are: All letters, All digits, underscore (_), dash (-) and + period (.). + + @ret The URL encoded string. + @param url The string to URL encode. +*/ +extern string System.urlEncode(string url); + +extern string System.urlDecode(string url); // Requires 5.54 + +/** + parseATF() + + Pass a string through the ATF parser + + @ret The ATF encoded string. + @param topass The string to ATF encode. +*/ +//extern string System.parseATF(string topass); // To be done + +/** + removePath() + + Remove the path from a full filename. (example: + c:\music\mp3\test.mp3 -> test.mp3) + Also works on URLs. + + @ret The filename with the path removed. + @param str The fullpath of a file. +*/ +extern string System.removePath(string str); + +/** + getPath() + + Gets the path from a full filename. (example: + c:\music\mp3\test.mp3 -> c:\music\mp3) + Also works on URLs. + + @ret The path with the filename removed. + @param str The fullpath of a file. +*/ +extern string System.getPath(string str); + +/** + getExtension() + + Gets the extension from a filename. (example: + c:\music\mp3\test.mp3 -> mp3) + Also works on URLs. + + @ret The extension of the filename. + @param str The fullpath of a file. +*/ +extern string System.getExtension(string str); + +/** + getToken() + + Retreive a token from a list of tokens seperated by separator. + The index starts at 0, not 1, so be careful. + Here's a short example: + getToken("1,2,3,4,5", ",", 3); + Would return, 3. If the token you ask for doesn't exist, an + empty string is returned. + + @ret The token requested. + @param str The tokenenized string. + @param separator The separator to use. + @param tokennum The token to retreive. +*/ +extern string System.getToken(string str, string separator, int tokennum); + +/** + sin() + + Takes an angle in radians and returns the ratio of two sides of a right triangle. + The ratio is the length of the side opposite the angle divided by the length + of the hypotenuse. The result range is from -1 to 1. + + Converting from degrees to radians can be done by multiplying degrees by PI/180. + + @ret The sine value of the angle. + @param value The angle for which you want to know the sine value. +*/ +extern double System.sin(double value); + +/** + cos() + + Takes an angle in radians and returns the ratio of the two sides of a right triangle. + The ratio is the length of the side adjacent to the angle divided by the length of the + hypotenuse. The result is range is from -1 to 1. + + @ret The cosine value of the angle. + @param value The angle for which you want to know the cosine value. +*/ +extern double System.cos(double value); + +/** + tan() + + Takes an angle in radians and returns the ratio between two sides of a right triangle. + The ratio is sin(x) divided by cos(x). + + @ret The tangent value of the angle. + @param value The angle for which you want to know the tangent value. +*/ +extern double System.tan(double value); + +/** + asin() + + Takes a sine value ranging from -1 to 1 and returns the angle in radians. + The return value ranges from -PI/2 to +PI/2. + + @ret The angle in radians. + @param value The sine value for which you want to know the angle. +*/ +extern double System.asin(double value); + +/** + acos() + + Takes a cosine value ranging from -1 to 1 and returns the angle in radians. + The return value ranges from -PI/2 to +PI/2. + + @ret The angle in radians. + @param value The cosine value for which you want to know the angle. +*/ +extern double System.acos(double value); + +/** + atan() + + Takes an angle in radians and returns the ration between two sides of a right triangle. + The ratio is cos(x) divided by sin(x). + + @ret The arc tangent value of the angle. +*/ +extern double System.atan(double value); + +/** + atan2() + + @ret The arctangent of y/x. +*/ +extern double System.atan2(double y, double x); + + +/** + pow() + + Elevate a number to the N'th power. + + @ret The number + @param value The number you want to elevate to the N power. + @param pvalue The power to which you want to elevate the number. +*/ +extern double System.pow(double value, double pvalue); + +/** + sqr() + + Get the square of a number. + + @ret The number, squared. + @param value The number for which you want the square value. +*/ +extern double System.sqr(double value); + +extern double System.log10(double value); +extern double System.ln(double value); + +/** + sqrt() + + Get the square root of a number. + + @ret The square root of the number. + @param value The number for which you want the square root value. +*/ +extern double System.sqrt(double value); + +/** + random() + + Get a randomely generated number. The random number will not + be bigger than the max value indicated. Smallest value is 0. + + @ret The random number. + @param max The maximum value of the random number to return. +*/ +extern int System.random(int max); + +/** + setPrivateString() + + Create a private config entry for your script, of String type. + + @param section The section for the entry. + @param item The item name for the entry. + @param value The value of the entry. +*/ +extern System.setPrivateString(string section, string item, string value); + +/** + setPrivateInt() + + Create a private config entry for your script, of Int type. + + @param section The section for the entry. + @param item The item name for the entry. + @param value The value of the entry. +*/ +extern System.setPrivateInt(string section, string item, int value); + +/** + getPrivateString() + + Read a private config entry of String type. Returns + the specified default value if the section and item isn't + found. + + @ret The value of the config entry. + @param section The section from which to read the entry. + @param item The name of the item to read. + @param defvalue The default value to return if no item is found. +*/ +extern String System.getPrivateString(String section, String item, String defvalue); + +/** + getPrivateInt() + + Read a private config entry of Integer type. Returns + the specified default value if the section and item isn't + found. + + @ret The value of the config entry. + @param section The section from which to read the entry. + @param item The name of the item to read. + @param defvalue The defautl value to return if no item is found. +*/ +extern Int System.getPrivateInt(String section, String item, Int defvalue); + +/** + setPublicString() + + Create a public config entry for your script, of String type. + + @param item The item name for the entry. + @param value The value of the entry. +*/ +extern System.setPublicString(String item, String value); + +/** + setPublicInt() + + Create a public config entry for your script, of Int type. + + @param item The item name of the entry. + @param value The value of the entry. +*/ +extern System.setPublicInt(String item, Int value); + +/** + getPublicString() + + Read a public config entry of String type. Returns + the specified default value if the item isn't found. + + @ret The value of the config entry. + @param item The item name to read. + @param defvalue The default value to return if no item is found. +*/ +extern String System.getPublicString(String item, String defvalue); + +/** + getPublicInt() + + Read a public config entry of Integer type. Returns + the specified default value if the item isn't found. + + @ret The value of the config entry. + @param item The item name to read. + @param defvalue The default value to return if no item is found. +*/ +extern Int System.getPublicInt(String item, Int defvalue); + +/** + getParam() + + Get the parameters with which the script is called. + This is the 'param="..."' attribute in the