webengine/osswebengine/WebKit/win/Interfaces/IWebScrollBarPrivate.idl
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/win/Interfaces/IWebScrollBarPrivate.idl	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,122 @@
+/*
+ * 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);
+}