1// Copyright 2014 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_GFX_NINE_IMAGE_PAINTER_H_ 6#define UI_GFX_NINE_IMAGE_PAINTER_H_ 7 8#include "base/logging.h" 9#include "ui/gfx/gfx_export.h" 10#include "ui/gfx/image/image_skia.h" 11 12namespace gfx { 13 14class Canvas; 15class Insets; 16class Rect; 17 18class GFX_EXPORT NineImagePainter { 19 public: 20 explicit NineImagePainter(const std::vector<ImageSkia>& images); 21 NineImagePainter(const ImageSkia& image, const Insets& insets); 22 ~NineImagePainter(); 23 24 bool IsEmpty() const; 25 Size GetMinimumSize() const; 26 void Paint(Canvas* canvas, const Rect& bounds); 27 void Paint(Canvas* canvas, const Rect& bounds, uint8 alpha); 28 29 private: 30 // Images are numbered as depicted below. 31 // ____________________ 32 // |__i0__|__i1__|__i2__| 33 // |__i3__|__i4__|__i5__| 34 // |__i6__|__i7__|__i8__| 35 ImageSkia images_[9]; 36 37 DISALLOW_COPY_AND_ASSIGN(NineImagePainter); 38}; 39 40} // namespace gfx 41 42#endif // UI_GFX_NINE_IMAGE_PAINTER_H_ 43