Home | History | Annotate | Download | only in controls
      1 // Copyright (c) 2012 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 #include "ui/views/controls/separator.h"
      6 
      7 #include "ui/base/accessibility/accessible_view_state.h"
      8 #include "ui/gfx/canvas.h"
      9 
     10 namespace views {
     11 
     12 // static
     13 const char Separator::kViewClassName[] = "Separator";
     14 
     15 // The separator height in pixels.
     16 const int kSeparatorHeight = 1;
     17 
     18 // Default color of the separator.
     19 const SkColor kDefaultColor = SkColorSetARGB(255, 233, 233, 233);
     20 
     21 Separator::Separator(Orientation orientation) : orientation_(orientation) {
     22   set_focusable(false);
     23 }
     24 
     25 Separator::~Separator() {
     26 }
     27 
     28 ////////////////////////////////////////////////////////////////////////////////
     29 // Separator, View overrides:
     30 
     31 gfx::Size Separator::GetPreferredSize() {
     32   if (orientation_ == HORIZONTAL)
     33     return gfx::Size(width(), kSeparatorHeight);
     34   return gfx::Size(kSeparatorHeight, height());
     35 }
     36 
     37 void Separator::GetAccessibleState(ui::AccessibleViewState* state) {
     38   state->role = ui::AccessibilityTypes::ROLE_SEPARATOR;
     39 }
     40 
     41 void Separator::Paint(gfx::Canvas* canvas) {
     42   canvas->FillRect(bounds(), kDefaultColor);
     43 }
     44 
     45 const char* Separator::GetClassName() const {
     46   return kViewClassName;
     47 }
     48 
     49 }  // namespace views
     50