blob: 91214d39d9aedd2ee34c989106967f911a380c04 [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 UI_VIEWS_ANIMATION_INK_DROP_STATE_H_
#define UI_VIEWS_ANIMATION_INK_DROP_STATE_H_
#include <iosfwd>
#include <string>
#include "ui/views/views_export.h"
namespace views {
// The different states that the ink drop animation can be animated to.
enum class InkDropState {
// The ink drop is not visible.
HIDDEN,
// The view is being interacted with but the action to be triggered has not
// yet been determined, e.g. a mouse button down.
ACTION_PENDING,
// The quick action for the view has been triggered, e.g. a tap gesture or a
// mouse click on a button.
ACTION_TRIGGERED,
// A view is being interacted with and the pending action will be a secondary
// action, e.g. a long press.
ALTERNATE_ACTION_PENDING,
// The alternate action for the view has been triggered, e.g. a long press
// release to bring up a menu.
ALTERNATE_ACTION_TRIGGERED,
// An active state for a view that is not currently being interacted with.
// e.g. a pressed button that is showing a menu.
ACTIVATED,
// A previously active state has been toggled to inactive, e.g. a drop down
// menu is closed.
DEACTIVATED,
};
// Returns a human readable string for |state|. Useful for logging.
VIEWS_EXPORT std::string ToString(InkDropState state);
// This is declared here for use in gtest-based unit tests but is defined in
// the views_test_support target. Depend on that to use this in your unit test.
// This should not be used in production code - call ToString() instead.
void PrintTo(InkDropState ink_drop_state, ::std::ostream* os);
} // namespace views
#endif // UI_VIEWS_ANIMATION_INK_DROP_STATE_H_