chromium/components/services/app_service/public/cpp/icon_effects.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_ICON_EFFECTS_H_
#define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_ICON_EFFECTS_H_

#include <cstdint>

namespace apps {
// A bitwise-or of icon post-processing effects.
//
// It derives from a uint32_t because it needs to be the same size as the
// uint32_t IconKey.icon_effects field.

// This enum is used to mask the icon_effects value in crosapi, which is a
// stable interface that needs to be backwards compatible. Do not change the
// masks here.
enum IconEffects : uint32_t {};

inline IconEffects operator|(IconEffects a, IconEffects b) {}

inline IconEffects operator|=(IconEffects& a, IconEffects b) {}

inline IconEffects operator&(IconEffects a, uint32_t b) {}

inline IconEffects operator&=(IconEffects& a, uint32_t b) {}

}  // namespace apps

#endif  // COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_ICON_EFFECTS_H_