| Index: pdf/progress_control.h
|
| ===================================================================
|
| --- pdf/progress_control.h (revision 0)
|
| +++ pdf/progress_control.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_PROGRESS_CONTROL_H_
|
| +#define PDF_PROGRESS_CONTROL_H_
|
| +
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "pdf/control.h"
|
| +#include "pdf/fading_control.h"
|
| +#include "ppapi/cpp/image_data.h"
|
| +
|
| +namespace chrome_pdf {
|
| +
|
| +class ProgressControl : public FadingControl {
|
| + public:
|
| + static const double kCompleted;
|
| +
|
| + enum ProgressEventIds {
|
| + EVENT_ID_PROGRESS_COMPLETED,
|
| + };
|
| +
|
| + ProgressControl();
|
| + virtual ~ProgressControl();
|
| + virtual bool CreateProgressControl(uint32 id,
|
| + bool visible,
|
| + Control::Owner* delegate,
|
| + double progress,
|
| + float device_scale,
|
| + const std::vector<pp::ImageData>& images,
|
| + const pp::ImageData& background,
|
| + const std::string& text);
|
| + void Reconfigure(const pp::ImageData& background,
|
| + const std::vector<pp::ImageData>& images,
|
| + float device_scale);
|
| +
|
| + static void CalculateLayout(pp::Instance* instance,
|
| + const std::vector<pp::ImageData>& images,
|
| + const pp::ImageData& background,
|
| + const std::string& text,
|
| + float device_scale,
|
| + pp::Size* ctrl_size,
|
| + pp::Rect* image_rc,
|
| + pp::Rect* text_rc);
|
| +
|
| + // Control interface.
|
| + virtual void Paint(pp::ImageData* image_data, const pp::Rect& rc);
|
| +
|
| + // ProgressControl interface
|
| + // Set progress indicator in percents from 0% to 100%.
|
| + virtual void SetProgress(double progress);
|
| +
|
| + private:
|
| + void PrepareBackground();
|
| + void AdjustBackground();
|
| + size_t GetImageIngex() const;
|
| +
|
| + double progress_;
|
| + float device_scale_;
|
| + std::vector<pp::ImageData> images_;
|
| + pp::ImageData background_;
|
| + pp::ImageData ctrl_background_;
|
| + std::string text_;
|
| + pp::Rect image_rc_;
|
| + pp::Rect text_rc_;
|
| +};
|
| +
|
| +} // namespace chrome_pdf
|
| +
|
| +#endif // PDF_PROGRESS_CONTROL_H_
|
|
|
| Property changes on: pdf\progress_control.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|