Index: webkit/glue/plugins/pepper_scrollbar.h |
=================================================================== |
--- webkit/glue/plugins/pepper_scrollbar.h (revision 0) |
+++ webkit/glue/plugins/pepper_scrollbar.h (revision 0) |
@@ -0,0 +1,64 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef WEBKIT_GLUE_PLUGINS_PEPPER_SCROLLBAR_H_ |
+#define WEBKIT_GLUE_PLUGINS_PEPPER_SCROLLBAR_H_ |
+ |
+#include <vector> |
+ |
+#include "gfx/rect.h" |
+#include "third_party/ppapi/c/ppb_scrollbar.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebRect.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebScrollbarClient.h" |
+#include "webkit/glue/plugins/pepper_widget.h" |
+ |
+typedef struct _ppb_Scrollbar PPB_Scrollbar; |
+ |
+namespace pepper { |
+ |
+class PluginInstance; |
+ |
+class Scrollbar : public Widget, public WebKit::WebScrollbarClient { |
+ public: |
+ Scrollbar(PluginInstance* instance, bool vertical); |
+ virtual ~Scrollbar(); |
+ |
+ // Returns a pointer to the interface implementing PPB_Scrollbar that is |
+ // exposed to the plugin. |
+ static const PPB_Scrollbar* GetInterface(); |
+ |
+ // Resource overrides. |
+ Scrollbar* AsScrollbar() { return this; } |
+ |
+ // PPB_Scrollbar implementation. |
+ uint32_t GetValue(); |
+ void SetValue(uint32_t value); |
+ void SetDocumentSize(uint32_t size); |
+ void SetTickMarks(const PP_Rect* tick_marks, uint32_t count); |
+ void ScrollBy(PP_ScrollBy unit, int32_t multiplier); |
+ |
+ // PPB_Widget implementation. |
+ virtual bool Paint(const PP_Rect* rect, ImageData* image); |
+ virtual bool HandleEvent(const PP_Event* event); |
+ virtual void SetLocationInternal(const PP_Rect* location); |
+ |
+ private: |
+ // WebKit::WebScrollbarClient implementation. |
+ virtual void valueChanged(WebKit::WebScrollbar* scrollbar); |
+ virtual void invalidateScrollbarRect(WebKit::WebScrollbar* scrollbar, |
+ const WebKit::WebRect& rect); |
+ virtual void getTickmarks( |
+ WebKit::WebScrollbar* scrollbar, |
+ WebKit::WebVector<WebKit::WebRect>* tick_marks) const; |
+ |
+ void NotifyInvalidate(); |
+ |
+ gfx::Rect dirty_; |
+ std::vector<WebKit::WebRect> tickmarks_; |
+ scoped_ptr<WebKit::WebScrollbar> scrollbar_; |
+}; |
+ |
+} // namespace pepper |
+ |
+#endif // WEBKIT_GLUE_PLUGINS_PEPPER_SCROLLBAR_H_ |
Property changes on: webkit\glue\plugins\pepper_scrollbar.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |