blob: 39cfc864494a72d42f1b322c37d02c59159dc76c [file] [log] [blame]
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
cpp_quote("/*")
cpp_quote(" * Copyright (C) 2007 Apple Inc. All rights reserved.")
cpp_quote(" *")
cpp_quote(" * Redistribution and use in source and binary forms, with or without")
cpp_quote(" * modification, are permitted provided that the following conditions")
cpp_quote(" * are met:")
cpp_quote(" * 1. Redistributions of source code must retain the above copyright")
cpp_quote(" * notice, this list of conditions and the following disclaimer.")
cpp_quote(" * 2. Redistributions in binary form must reproduce the above copyright")
cpp_quote(" * notice, this list of conditions and the following disclaimer in the")
cpp_quote(" * documentation and/or other materials provided with the distribution.")
cpp_quote(" *")
cpp_quote(" * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY")
cpp_quote(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE")
cpp_quote(" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR")
cpp_quote(" * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR")
cpp_quote(" * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")
cpp_quote(" * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,")
cpp_quote(" * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR")
cpp_quote(" * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY")
cpp_quote(" * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT")
cpp_quote(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE")
cpp_quote(" * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ")
cpp_quote(" */")
import "oaidl.idl";
import "ocidl.idl";
import "IWebScrollBarDelegatePrivate.idl";
interface IWebScrollBarDelegatePrivate;
// NOTE: these enums must be kept in sync with the WebCore versions
typedef enum WebScrollBarOrientation {
WebHorizontalScrollbar = 0,
WebVerticalScrollbar
} WebScrollBarOrientation;
typedef enum WebScrollBarControlSize {
WebRegularScrollbar = 0,
WebSmallScrollbar,
WebMiniScrollbar
} WebScrollBarControlSize;
typedef enum WebScrollDirection {
WebScrollUp = 0,
WebScrollDown,
WebScrollLeft,
WebScrollRight
} WebScrollDirection;
typedef enum WebScrollGranularity {
WebScrollByLine = 0,
WebScrollByPage,
WebScrollByDocument,
WebScrollByWheel
} WebScrollGranularity;
[
object,
oleautomation,
hidden,
uuid(6C585B08-2E4F-4594-9B90-0425E3A33FD0),
pointer_default(unique)
]
interface IWebScrollBarPrivate : IUnknown
{
HRESULT init([in] IWebScrollBarDelegatePrivate* delegate, [in] OLE_HANDLE containingWindow, [in] WebScrollBarOrientation orientation, [in] WebScrollBarControlSize controlSize);
HRESULT setEnabled([in] BOOL enabled);
HRESULT setSteps([in] int lineStep, [in] int pageStep);
HRESULT setProportion([in] int visibleSize, [in] int totalSize);
HRESULT setRect([in] RECT bounds);
HRESULT setValue([in] int value);
HRESULT value([out, retval] int* value);
HRESULT paint([in] HDC dc, [in] RECT damageRect);
HRESULT frameGeometry([out, retval] RECT* bounds);
HRESULT width([out, retval] int* w);
HRESULT height([out, retval] int* h);
HRESULT requestedWidth([out, retval] int* w);
HRESULT requestedHeight([out, retval] int* h);
HRESULT handleMouseEvent([in] OLE_HANDLE hwnd, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
HRESULT scroll([in] WebScrollDirection direction, [in] WebScrollGranularity granularity, [in] float multiplier);
}