diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-09 03:43:27 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-09 03:43:27 +0000 |
commit | 94e840ab0edbcb8c0bfc092c72171423bad4b2f8 (patch) | |
tree | 61fc94858f31b5c9d1c35371ccadee56ae587e11 /gfx/native_theme_linux.h | |
parent | 7281e4cf77a6ebcd7c79db4f87629c7565ff4289 (diff) | |
download | chromium_src-94e840ab0edbcb8c0bfc092c72171423bad4b2f8.zip chromium_src-94e840ab0edbcb8c0bfc092c72171423bad4b2f8.tar.gz chromium_src-94e840ab0edbcb8c0bfc092c72171423bad4b2f8.tar.bz2 |
Revert 62068 - Move implementation of linux scrollbars from webkit using new
WebThemeEngine api. Also implement chromeos specific version.
BUG=chromium-os:6857
TEST=Verify that both linux and chromeos scrollbars look right.
Review URL: http://codereview.chromium.org/3618014
TBR=davemoore@chromium.org
Review URL: http://codereview.chromium.org/3678003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gfx/native_theme_linux.h')
-rw-r--r-- | gfx/native_theme_linux.h | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/gfx/native_theme_linux.h b/gfx/native_theme_linux.h deleted file mode 100644 index 62a84e9..0000000 --- a/gfx/native_theme_linux.h +++ /dev/null @@ -1,125 +0,0 @@ -// 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 GFX_NATIVE_THEME_LINUX_H_ -#define GFX_NATIVE_THEME_LINUX_H_ - -#include "base/basictypes.h" -#include "skia/ext/platform_canvas.h" - -namespace skia { -class PlatformCanvas; -} - -namespace gfx { -class Rect; -class Size; - -// Linux theming API. -class NativeThemeLinux { - public: - // Gets our singleton instance. - static NativeThemeLinux* instance(); - - // The part to be painted / sized. - enum Part { - kScrollbarDownArrow, - kScrollbarLeftArrow, - kScrollbarRightArrow, - kScrollbarUpArrow, - kScrollbarHorizontalThumb, - kScrollbarVerticalThumb, - kScrollbarHorizontalTrack, - kScrollbarVerticalTrack - }; - - // The state of the part. - enum State { - kDisabled, - kHover, - kNormal, - kPressed, - }; - - // Extra data needed to draw scrollbar track correctly. - struct ScrollbarTrackExtraParams { - int track_x; - int track_y; - int track_width; - int track_height; - }; - - union ExtraParams { - ScrollbarTrackExtraParams scrollbar_track; - }; - - // Return the size of the part. - virtual gfx::Size GetSize(Part part) const; - // Paint the part to the canvas. - virtual void Paint(skia::PlatformCanvas* canvas, - Part part, - State state, - const gfx::Rect& rect, - const ExtraParams& extra); - // Supports theme specific colors. - void SetScrollbarColors(unsigned inactive_color, - unsigned active_color, - unsigned track_color) const; - - protected: - NativeThemeLinux(); - virtual ~NativeThemeLinux(); - - // Draw the arrow. - virtual void PaintArrowButton( - skia::PlatformCanvas* gc, - const gfx::Rect& rect, - Part direction, - State state); - // Paint the track. Done before the thumb so that it can contain alpha. - virtual void PaintTrack(skia::PlatformCanvas* canvas, - Part part, - State state, - const ScrollbarTrackExtraParams& extra_params, - const gfx::Rect& rect); - // Draw the thumb over the track. - virtual void PaintThumb(skia::PlatformCanvas* canvas, - Part part, - State state, - const gfx::Rect& rect); - - private: - void DrawVertLine(SkCanvas* canvas, - int x, - int y1, - int y2, - const SkPaint& paint) const; - void DrawHorizLine(SkCanvas* canvas, - int x1, - int x2, - int y, - const SkPaint& paint) const; - void DrawBox(SkCanvas* canvas, - const gfx::Rect& rect, - const SkPaint& paint) const; - SkScalar Clamp(SkScalar value, - SkScalar min, - SkScalar max) const; - SkColor SaturateAndBrighten(SkScalar* hsv, - SkScalar saturate_amount, - SkScalar brighten_amount) const; - SkColor OutlineColor(SkScalar* hsv1, SkScalar* hsv2) const; - - static unsigned int scrollbar_width_; - static unsigned int button_length_; - static unsigned int thumb_inactive_color_; - static unsigned int thumb_active_color_; - static unsigned int track_color_; - - DISALLOW_COPY_AND_ASSIGN(NativeThemeLinux); -}; - -} // namespace gfx - -#endif // GFX_NATIVE_THEME_LINUX_H_ |