190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file.
490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
57d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#ifndef WEBKIT_CHILD_WEBFALLBACKTHEMEENGINE_IMPL_H_
67d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define WEBKIT_CHILD_WEBFALLBACKTHEMEENGINE_IMPL_H_
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/memory/scoped_ptr.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebFallbackThemeEngine.h"
1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace ui {
1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class FallbackTheme;
1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace webkit_glue {
1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class WebFallbackThemeEngineImpl : public WebKit::WebFallbackThemeEngine {
1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) public:
1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  WebFallbackThemeEngineImpl();
2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual ~WebFallbackThemeEngineImpl();
2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  // WebFallbackThemeEngine methods:
2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual WebKit::WebSize getSize(WebKit::WebFallbackThemeEngine::Part);
2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual void paint(
2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      WebKit::WebCanvas* canvas,
2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      WebKit::WebFallbackThemeEngine::Part part,
2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      WebKit::WebFallbackThemeEngine::State state,
2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      const WebKit::WebRect& rect,
2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      const WebKit::WebFallbackThemeEngine::ExtraParams* extra_params);
3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) private:
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  scoped_ptr<ui::FallbackTheme> theme_;
3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(WebFallbackThemeEngineImpl);
3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)};
3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}  // namespace webkit_glue
3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif  // WEBKIT_CHILD_WEBFALLBACKTHEMEENGINE_IMPL_H_
40