summaryrefslogtreecommitdiffstats
path: root/views/native_theme_painter.h
diff options
context:
space:
mode:
authorrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-28 19:05:46 +0000
committerrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-28 19:05:46 +0000
commit184167dc22992b074d64839878259b4eee00ae4b (patch)
treeb3539992b6e9056b1bf48dfaebb7bcd0651d0f30 /views/native_theme_painter.h
parentb2384caf56ea8da6d6cbd44c5d22270a18296fa2 (diff)
downloadchromium_src-184167dc22992b074d64839878259b4eee00ae4b.zip
chromium_src-184167dc22992b074d64839878259b4eee00ae4b.tar.gz
chromium_src-184167dc22992b074d64839878259b4eee00ae4b.tar.bz2
Resubmitting change to fix a build break in the arm builder. The only change
from the original code is in text_button.cc, line 402, where text_x is initialized to 0. Add classes for native themed push buttons, radio buttons, and checkboxes. These controls expose the same public interface and the existing controls of the same type to make it easier to change between the implementations. BUG=None TEST=The new controls should look and feel like native platform controls R=ben@chromium.org Review URL: http://codereview.chromium.org/6853015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83373 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/native_theme_painter.h')
-rw-r--r--views/native_theme_painter.h38
1 files changed, 4 insertions, 34 deletions
diff --git a/views/native_theme_painter.h b/views/native_theme_painter.h
index 55dad89..a2c45bc 100644
--- a/views/native_theme_painter.h
+++ b/views/native_theme_painter.h
@@ -7,7 +7,6 @@
#pragma once
#include "base/compiler_specific.h"
-#include "ui/gfx/native_theme.h"
#include "views/painter.h"
namespace gfx {
@@ -21,43 +20,14 @@ class Animation;
namespace views {
+class NativeThemeDelegate;
+
// A Painter that uses NativeTheme to implement painting and sizing. A
// theme delegate must be given at construction time so that the appropriate
// painting and sizing can be done.
class NativeThemePainter : public Painter {
public:
- // A delagate that supports animating transtions between different native
- // theme states. If animation is onging, the native theme painter will
- // composite the foreground state over the backgroud state using an alpha
- // between 0 and 255 based on the current value of the animation.
- class Delegate {
- public:
- virtual ~Delegate() {}
-
- // Get the part that this native theme painter should draw.
- virtual gfx::NativeTheme::Part GetThemePart() const = 0;
-
- // Get the state of the part, along with any extra data needed for painting.
- virtual gfx::NativeTheme::State GetThemeState(
- gfx::NativeTheme::ExtraParams* params) const = 0;
-
- // If the native theme painter is animated, return the Animation object
- // that is controlling it. If no animation is ongoing, NULL may be
- // returned.
- virtual ui::Animation* GetThemeAnimation() const = 0;
-
- // If animation is onging, this returns the background native theme state.
- virtual gfx::NativeTheme::State GetBackgroundThemeState(
- gfx::NativeTheme::ExtraParams* params) const = 0;
-
- // If animation is onging, this returns the foreground native theme state.
- // This state will be composited over the background using an alpha value
- // based on the current value of the animation.
- virtual gfx::NativeTheme::State GetForegroundThemeState(
- gfx::NativeTheme::ExtraParams* params) const = 0;
- };
-
- explicit NativeThemePainter(Delegate* delegate);
+ explicit NativeThemePainter(NativeThemeDelegate* delegate);
virtual ~NativeThemePainter() {}
@@ -66,7 +36,7 @@ class NativeThemePainter : public Painter {
private:
// The delegate the controls the appearance of this painter.
- Delegate* delegate_;
+ NativeThemeDelegate* delegate_;
// Overridden from Painter:
virtual void Paint(int w, int h, gfx::Canvas* canvas) OVERRIDE;