172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
24a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
34a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// found in the LICENSE file.
44a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
54a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_BUTTON_BORDER_H_
64a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#define CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_BUTTON_BORDER_H_
74a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#pragma once
84a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
94a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "views/border.h"
104a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenclass SkBitmap;
124a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace gfx {
134a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass Canvas;
144a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch}
154a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace views {
164a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass View;
174a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch}
184a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
194a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// A TextButtonBorder that is dark and also paints the button frame in the
204a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// normal state.
214a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass InfoBarButtonBorder : public views::Border {
224a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch public:
234a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  InfoBarButtonBorder();
2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen private:
264a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  virtual ~InfoBarButtonBorder();
274a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  // views::Border:
294a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  virtual void GetInsets(gfx::Insets* insets) const;
304a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  virtual void Paint(const views::View& view, gfx::Canvas* canvas) const;
314a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
324a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  struct MBBImageSet {
334a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* top_left;
344a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* top;
354a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* top_right;
364a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* left;
374a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* center;
384a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* right;
394a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* bottom_left;
404a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* bottom;
414a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch    SkBitmap* bottom_right;
424a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  };
434a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
444a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  MBBImageSet normal_set_;
454a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  MBBImageSet hot_set_;
464a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  MBBImageSet pushed_set_;
474a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
484a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  DISALLOW_COPY_AND_ASSIGN(InfoBarButtonBorder);
494a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch};
504a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
514a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif  // CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_BUTTON_BORDER_H_
52