Index: pdf/thumbnail_control.h |
=================================================================== |
--- pdf/thumbnail_control.h (revision 0) |
+++ pdf/thumbnail_control.h (revision 0) |
@@ -0,0 +1,67 @@ |
+// 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 PDF_THUMBNAIL_CONTROL_H_ |
+#define PDF_THUMBNAIL_CONTROL_H_ |
+ |
+#include <map> |
+#include <vector> |
+ |
+#include "pdf/control.h" |
+#include "pdf/pdf_engine.h" |
+#include "ppapi/cpp/input_event.h" |
+ |
+namespace chrome_pdf { |
+ |
+class NumberImageGenerator; |
+ |
+class ThumbnailControl : public Control { |
+ public: |
+ enum ThumbnailEventIds { |
+ EVENT_ID_THUMBNAIL_SELECTED = 100, |
+ }; |
+ |
+ explicit ThumbnailControl(); |
+ virtual ~ThumbnailControl(); |
+ |
+ // Sets current position of the thumnail control. |
+ void SetPosition(int position, int total, bool invalidate); |
+ void SlideIn(); |
+ void SlideOut(); |
+ |
+ virtual bool CreateThumbnailControl( |
+ uint32 id, const pp::Rect& rc, |
+ bool visible, Owner* owner, PDFEngine* engine, |
+ NumberImageGenerator* number_image_generator); |
+ |
+ // Control interface. |
+ virtual void Show(bool visible, bool invalidate); |
+ virtual void Paint(pp::ImageData* image_data, const pp::Rect& rc); |
+ virtual bool HandleEvent(const pp::InputEvent& event); |
+ virtual void OnTimerFired(uint32 timer_id); |
+ |
+ virtual void ResetEngine(PDFEngine* engine); |
+ |
+ private: |
+ void ClearCache(); |
+ |
+ struct PageInfo { |
+ int index; |
+ pp::Rect rect; |
+ }; |
+ |
+ PDFEngine* engine_; |
+ pp::Rect visible_rect_; |
+ std::vector<PageInfo> visible_pages_; |
+ std::map<int, pp::ImageData*> image_cache_; |
+ int sliding_width_; |
+ int sliding_shift_; |
+ int sliding_timeout_; |
+ uint32 sliding_timer_id_; |
+ NumberImageGenerator* number_image_generator_; |
+}; |
+ |
+} // namespace chrome_pdf |
+ |
+#endif // PDF_THUMBNAIL_CONTROL_H_ |
Property changes on: pdf\thumbnail_control.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |