// 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_