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