blob: a718872d81b6532270a53a5c2a854e9baf08475c [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/gfx/overlay_layer_id.h"
#include "base/check_op.h"
#include "base/strings/stringprintf.h"
namespace gfx {
OverlayLayerId::OverlayLayerId() = default;
OverlayLayerId::OverlayLayerId(const NamespaceId& layer_namespace_id,
uint32_t layer_id)
: layer_namespace_id_(layer_namespace_id), layer_id_(layer_id) {
// See: `viz::FrameSinkId::is_valid()`.
CHECK(layer_namespace_id_.first != 0 || layer_namespace_id_.second != 0);
}
OverlayLayerId::~OverlayLayerId() = default;
// static
OverlayLayerId OverlayLayerId::MakeVizInternal(VizInternalId layer_id) {
CHECK_NE(VizInternalId::kInvalid, layer_id);
OverlayLayerId overlay_layer_id;
overlay_layer_id.layer_id_ = static_cast<uint32_t>(layer_id);
return overlay_layer_id;
}
// static
OverlayLayerId OverlayLayerId::MakeForTesting(uint32_t layer_id) {
return OverlayLayerId({1, 1}, layer_id);
}
std::string OverlayLayerId::ToString() const {
return base::StringPrintf("%d:%d:%d", layer_namespace_id_.first,
layer_namespace_id_.second, layer_id_);
}
} // namespace gfx