Index: pdf/page_indicator.h |
=================================================================== |
--- pdf/page_indicator.h (revision 0) |
+++ pdf/page_indicator.h (revision 0) |
@@ -0,0 +1,72 @@ |
+// Copyright (c) 2012 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 PDF_PAGE_INDICATOR_H_ |
+#define PDF_PAGE_INDICATOR_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "pdf/control.h" |
+#include "pdf/fading_control.h" |
+#include "ppapi/cpp/image_data.h" |
+#include "ppapi/cpp/point.h" |
+#include "ppapi/cpp/rect.h" |
+ |
+namespace chrome_pdf { |
+ |
+class NumberImageGenerator; |
+ |
+const uint32 kPageIndicatorScrollFadeTimeoutMs = 240; |
+const uint32 kPageIndicatorInitialFadeTimeoutMs = 960; |
+const uint32 kPageIndicatorSplashTimeoutMs = 2000; |
+ |
+class PageIndicator : public FadingControl { |
+ public: |
+ PageIndicator(); |
+ virtual ~PageIndicator(); |
+ virtual bool CreatePageIndicator( |
+ uint32 id, |
+ bool visible, |
+ Control::Owner* delegate, |
+ NumberImageGenerator* number_image_generator, |
+ bool always_visible); |
+ |
+ void Configure(const pp::Point& origin, const pp::ImageData& background); |
+ |
+ int current_page() const { return current_page_; } |
+ void set_current_page(int current_page); |
+ |
+ virtual void Splash(); |
+ void Splash(uint32 splash_timeout, uint32 page_timeout); |
+ |
+ // Returns the y position where the page indicator should be drawn given the |
+ // position of the scrollbar and the total document height and the plugin |
+ // height. |
+ int GetYPosition( |
+ int vertical_scrollbar_y, int document_height, int plugin_height); |
+ |
+ // Control interface. |
+ virtual void Paint(pp::ImageData* image_data, const pp::Rect& rc); |
+ virtual void OnTimerFired(uint32 timer_id); |
+ |
+ // FadingControl interface. |
+ virtual void OnFadeInComplete(); |
+ |
+ private: |
+ void ResetFadeOutTimer(); |
+ |
+ int current_page_; |
+ pp::ImageData background_; |
+ NumberImageGenerator* number_image_generator_; |
+ uint32 fade_out_timer_id_; |
+ uint32 splash_timeout_; |
+ uint32 fade_timeout_; |
+ |
+ bool always_visible_; |
+}; |
+ |
+} // namespace chrome_pdf |
+ |
+#endif // PDF_PAGE_INDICATOR_H_ |
Property changes on: pdf\page_indicator.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |