blob: 04b540a2463c5547811f43bad38d741d18e80abd [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MASH_WM_PROPERTY_UTIL_H_
#define MASH_WM_PROPERTY_UTIL_H_
#include "components/mus/public/cpp/window.h"
#include "components/mus/public/interfaces/window_manager.mojom.h"
#include "components/mus/public/interfaces/window_manager_constants.mojom.h"
#include "mash/wm/public/interfaces/container.mojom.h"
namespace gfx {
class Rect;
class Size;
}
namespace mus {
class Window;
}
namespace mash {
namespace wm {
class Shadow;
// Utility functions to read values from properties & convert them to the
// appropriate types.
mus::mojom::ShowState GetWindowShowState(const mus::Window* window);
void SetWindowUserSetBounds(mus::Window* window, const gfx::Rect& bounds);
gfx::Rect GetWindowUserSetBounds(const mus::Window* window);
void SetWindowPreferredSize(mus::Window* window, const gfx::Size& size);
gfx::Size GetWindowPreferredSize(const mus::Window* window);
mojom::Container GetRequestedContainer(const mus::Window* window);
mus::mojom::ResizeBehavior GetResizeBehavior(const mus::Window* window);
void SetRestoreBounds(mus::Window* window, const gfx::Rect& bounds);
gfx::Rect GetRestoreBounds(const mus::Window* window);
void SetShadow(mus::Window* window, Shadow* shadow);
Shadow* GetShadow(mus::Window* window);
mus::mojom::WindowType GetWindowType(mus::Window* window);
mus::mojom::WindowType GetWindowType(
const mus::Window::SharedProperties& window);
} // namespace wm
} // namespace mash
#endif // MASH_WM_PROPERTY_UTIL_H_