Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: ui/native_theme/native_theme_aura.h

Issue 1574913004: Render aura scrollbars programmatically instead of with ninebox assets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove assets Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/native_theme/native_theme_aura.cc » ('j') | ui/native_theme/native_theme_aura.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/native_theme/native_theme_aura.h
diff --git a/ui/native_theme/native_theme_aura.h b/ui/native_theme/native_theme_aura.h
index 8482131ffc38831874083cd0e247d4e0961f0987..d9503f6ab2eaa788ba79e94ed2b91889a6a25a03 100644
--- a/ui/native_theme/native_theme_aura.h
+++ b/ui/native_theme/native_theme_aura.h
@@ -5,16 +5,9 @@
#ifndef UI_NATIVE_THEME_NATIVE_THEME_AURA_H_
#define UI_NATIVE_THEME_NATIVE_THEME_AURA_H_
-#include <stdint.h>
-
-#include "base/compiler_specific.h"
#include "base/macros.h"
#include "ui/native_theme/native_theme_base.h"
-namespace gfx {
-class NineImagePainter;
-}
-
namespace ui {
// Aura implementation of native theme support.
@@ -41,12 +34,12 @@ class NATIVE_THEME_EXPORT NativeThemeAura : public NativeThemeBase {
const gfx::Rect& rect,
Part direction,
State state) const override;
- void PaintScrollbarTrack(SkCanvas* sk_canvas,
+ void PaintScrollbarTrack(SkCanvas* canvas,
Part part,
State state,
const ScrollbarTrackExtraParams& extra_params,
const gfx::Rect& rect) const override;
- void PaintScrollbarThumb(SkCanvas* sk_canvas,
+ void PaintScrollbarThumb(SkCanvas* canvas,
Part part,
State state,
const gfx::Rect& rect) const override;
@@ -55,73 +48,13 @@ class NATIVE_THEME_EXPORT NativeThemeAura : public NativeThemeBase {
const gfx::Rect& rect) const override;
void PaintScrollbarThumbStateTransition(SkCanvas* canvas,
+ Part part,
State startState,
State endState,
double progress,
const gfx::Rect& rect) const override;
- // Returns the NineImagePainter used to paint the specified state, creating if
- // necessary. If no image is provided for the specified state the normal state
- // images are used.
- gfx::NineImagePainter* GetOrCreatePainter(
- const int image_ids[kNumStates][9],
- State state,
- scoped_ptr<gfx::NineImagePainter> painters[kNumStates]) const;
-
- // Paints |painter| into the canvas using |rect|.
- void PaintPainter(gfx::NineImagePainter* painter,
- SkCanvas* sk_canvas,
- const gfx::Rect& rect) const;
-
- mutable scoped_ptr<gfx::NineImagePainter> scrollbar_track_painter_;
-
- mutable scoped_ptr<gfx::NineImagePainter>
- scrollbar_thumb_painters_[kNumStates];
-
- mutable scoped_ptr<gfx::NineImagePainter>
- scrollbar_arrow_button_painters_[kNumStates];
-
private:
- struct DualPainter {
- // For overlay scrollbar thumbs, fill and stroke are controlled separately,
- // and each state is achieved by painting with different opacity. This
- // struct bundles information of painter generated using assets and alpha
- // value associated with each state, so that a DualPainter for overlay
- // scrollbar thumb would only need state as input to paint correctly.
- DualPainter(scoped_ptr<gfx::NineImagePainter> fill_painter,
- const uint8_t fill_alphas[kNumStates],
- scoped_ptr<gfx::NineImagePainter> stroke_painter,
- const uint8_t stroke_alphas[kNumStates]);
- ~DualPainter();
-
- scoped_ptr<gfx::NineImagePainter> fill_painter;
- const uint8_t* const fill_alphas;
- scoped_ptr<gfx::NineImagePainter> stroke_painter;
- const uint8_t* const stroke_alphas;
- };
-
- // Returns DualPainter from specific fill and stroke, creating if necessary.
- scoped_ptr<DualPainter> CreateDualPainter(
- const int fill_image_ids[9],
- const uint8_t fill_alphas[kNumStates],
- const int stroke_image_ids[9],
- const uint8_t stroke_alphas[kNumStates]) const;
-
- // Paints |dualPainter| into the canvas using |rect| and specific alpha.
- void PaintDualPainter(DualPainter* dual_painter,
- SkCanvas* sk_canvas,
- const gfx::Rect& rect,
- State state) const;
-
- void PaintDualPainterTransition(DualPainter* dual_painter,
- SkCanvas* sk_canvas,
- const gfx::Rect& rect,
- State startState,
- State endState,
- double progress) const;
-
- mutable scoped_ptr<DualPainter> scrollbar_overlay_thumb_painter_;
-
DISALLOW_COPY_AND_ASSIGN(NativeThemeAura);
};
« no previous file with comments | « no previous file | ui/native_theme/native_theme_aura.cc » ('j') | ui/native_theme/native_theme_aura.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698