Home | History | Annotate | Download | only in native_theme
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_NATIVE_THEME_COMMON_THEME_H_
      6 #define UI_NATIVE_THEME_COMMON_THEME_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "ui/native_theme/native_theme.h"
     10 
     11 class SkCanvas;
     12 
     13 namespace gfx {
     14 class Canvas;
     15 }
     16 
     17 namespace ui {
     18 
     19 // Drawing code that is common for all platforms.
     20 
     21 // Returns true and |color| if |color_id| is found, or false otherwise.
     22 bool NATIVE_THEME_EXPORT CommonThemeGetSystemColor(
     23     NativeTheme::ColorId color_id,
     24     SkColor* color);
     25 
     26 gfx::Size NATIVE_THEME_EXPORT CommonThemeGetPartSize(
     27     NativeTheme::Part part,
     28     NativeTheme::State state,
     29     const NativeTheme::ExtraParams& extra);
     30 
     31 void NATIVE_THEME_EXPORT CommonThemePaintComboboxArrow(
     32     SkCanvas* canvas,
     33     const gfx::Rect& rect);
     34 
     35 void NATIVE_THEME_EXPORT CommonThemePaintMenuSeparator(
     36     SkCanvas* canvas,
     37     const gfx::Rect& rect,
     38     const NativeTheme::MenuSeparatorExtraParams& extra);
     39 
     40 void NATIVE_THEME_EXPORT CommonThemePaintMenuGutter(SkCanvas* canvas,
     41                                                     const gfx::Rect& rect);
     42 
     43 void NATIVE_THEME_EXPORT CommonThemePaintMenuBackground(SkCanvas* canvas,
     44                                                         const gfx::Rect& rect);
     45 
     46 void NATIVE_THEME_EXPORT CommonThemePaintMenuItemBackground(
     47     SkCanvas* canvas,
     48     NativeTheme::State state,
     49     const gfx::Rect& rect);
     50 
     51 // Creates a gfx::Canvas wrapping an SkCanvas.
     52 scoped_ptr<gfx::Canvas> NATIVE_THEME_EXPORT CommonThemeCreateCanvas(
     53     SkCanvas* sk_canvas);
     54 
     55 }  // namespace ui
     56 
     57 #endif  // UI_NATIVE_THEME_COMMON_THEME_H_
     58