electron/atom/browser/ui/views/menu_layout.h

37 lines
908 B
C
Raw Normal View History

// Copyright (c) 2014 GitHub, Inc.
2014-07-16 14:10:10 +00:00
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_UI_VIEWS_MENU_LAYOUT_H_
#define ATOM_BROWSER_UI_VIEWS_MENU_LAYOUT_H_
#include "ui/views/layout/fill_layout.h"
namespace atom {
class NativeWindowViews;
2014-07-16 14:10:10 +00:00
class MenuLayout : public views::FillLayout {
public:
MenuLayout(NativeWindowViews* window, int menu_height);
2014-07-16 14:10:10 +00:00
virtual ~MenuLayout();
// views::LayoutManager:
void Layout(views::View* host) override;
gfx::Size GetPreferredSize(const views::View* host) const override;
int GetPreferredHeightForWidth(
const views::View* host, int width) const override;
2014-07-16 14:10:10 +00:00
private:
bool HasMenu(const views::View* host) const;
NativeWindowViews* window_;
2014-07-16 14:10:10 +00:00
int menu_height_;
DISALLOW_COPY_AND_ASSIGN(MenuLayout);
};
} // namespace atom
#endif // ATOM_BROWSER_UI_VIEWS_MENU_LAYOUT_H_