diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-20 01:56:40 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-20 01:56:40 +0000 |
commit | 1b1e9effe9fa3b66dd1bcfff4b78455460f66c61 (patch) | |
tree | ca185a1ce62737b897b38ed77d8b8945dddec8df /pdf/button.h | |
parent | f0d119a1eb1211961315c7ce31984134798dbb47 (diff) | |
download | chromium_src-1b1e9effe9fa3b66dd1bcfff4b78455460f66c61.zip chromium_src-1b1e9effe9fa3b66dd1bcfff4b78455460f66c61.tar.gz chromium_src-1b1e9effe9fa3b66dd1bcfff4b78455460f66c61.tar.bz2 |
Add the pdf plugin's source in src\pdf.
I've updated gypi files to not use internal_pdf variable anymore, which was brought in from pdf repo's supplemental.gypi.
R=thestig@chromium.org
TBR=darin
Review URL: https://codereview.chromium.org/294793003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271531 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'pdf/button.h')
-rw-r--r-- | pdf/button.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/pdf/button.h b/pdf/button.h new file mode 100644 index 0000000..fa2517d --- /dev/null +++ b/pdf/button.h @@ -0,0 +1,71 @@ +// 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_BUTTON_H_ +#define PDF_BUTTON_H_ + +#include "pdf/control.h" +#include "ppapi/cpp/image_data.h" +#include "ppapi/cpp/rect.h" + +namespace chrome_pdf { + +class Button : public Control { + public: + enum ButtonEventIds { + EVENT_ID_BUTTON_CLICKED, + EVENT_ID_BUTTON_STATE_CHANGED, + }; + + enum ButtonStyle { + BUTTON_CLICKABLE, + BUTTON_STATE + }; + + enum ButtonState { + BUTTON_NORMAL, + BUTTON_HIGHLIGHTED, + BUTTON_PRESSED, + BUTTON_PRESSED_STICKY, + }; + + Button(); + virtual ~Button(); + virtual bool CreateButton(uint32 id, + const pp::Point& origin, + bool visible, + Control::Owner* delegate, + ButtonStyle style, + const pp::ImageData& face_normal, + const pp::ImageData& face_highlighted, + const pp::ImageData& face_pressed); + + virtual void Paint(pp::ImageData* image_data, const pp::Rect& rc); + virtual bool HandleEvent(const pp::InputEvent& event); + virtual void OnEventCaptureReleased(); + virtual void Show(bool visible, bool invalidate); + virtual void AdjustTransparency(uint8 transparency, bool invalidate); + + ButtonState state() const { return state_; } + bool IsPressed() const { return state() == BUTTON_PRESSED_STICKY; } + void SetPressedState(bool pressed); + + private: + void OnButtonClicked(); + + const pp::ImageData& GetCurrentImage(); + void ChangeState(ButtonState new_state, bool force); + + ButtonStyle style_; + ButtonState state_; + bool is_pressed_; + + pp::ImageData normal_; + pp::ImageData highlighted_; + pp::ImageData pressed_; +}; + +} // namespace chrome_pdf + +#endif // PDF_BUTTON_H_ |