#ifndef UI_WM_CORE_SHADOW_CONTROLLER_DELEGATE_H_
#define UI_WM_CORE_SHADOW_CONTROLLER_DELEGATE_H_
#include <cstdint>
#include "base/component_export.h"
namespace aura {
class Window;
}
namespace wm {
class COMPONENT_EXPORT(UI_WM) ShadowControllerDelegate {
public:
ShadowControllerDelegate() = default;
virtual ~ShadowControllerDelegate() = default;
virtual bool ShouldObserveWindow(const aura::Window* window) = 0;
virtual bool ShouldShowShadowForWindow(const aura::Window* window) = 0;
virtual bool ShouldUpdateShadowOnWindowPropertyChange(
const aura::Window* window,
const void* key,
intptr_t old) = 0;
virtual void ApplyColorThemeToWindowShadow(aura::Window* window) = 0;
virtual bool ShouldRoundShadowForWindow(const aura::Window* window) = 0;
};
}
#endif