// Copyright 2013 The Flutter 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 FLUTTER_COMMON_CONSTANTS_H_ #define FLUTTER_COMMON_CONSTANTS_H_ namespace flutter { constexpr double kMegaByteSizeInBytes = (1 << 20); // The ID for the implicit view if the implicit view is enabled. // // The implicit view is a compatibility mechanism to help the transition from // the older single-view APIs to the newer multi-view APIs. The two sets of APIs // use different models for view management. The implicit view mechanism allows // single-view APIs to operate a special view as if other views don't exist. // // In the regular multi-view model, all views should be created by // `Shell::AddView` before being used, and removed by `Shell::RemoveView` to // signify that they are gone. If a view is added or removed, the framework // (`PlatformDispatcher`) will be notified. New view IDs are always unique, // never reused. Operating a non-existing view is an error. // // The implicit view is another special view in addition to the "regular views" // as above. The shell starts up having the implicit view, which has a fixed // view ID of `kFlutterImplicitViewId` and is available throughout the lifetime // of the shell. `Shell::AddView` or `RemoveView` must not be called for this // view. Even when the window that shows the view is closed, the framework is // unaware and might continue rendering into or operating this view. // // The single-view APIs, which are APIs that do not specify view IDs, operate // the implicit view. The multi-view APIs can operate all views, including the // implicit view if the target ID is `kFlutterImplicitViewId`, unless specified // otherwise. constexpr int64_t kFlutterImplicitViewId = 0; } // namespace flutter #endif // FLUTTER_COMMON_CONSTANTS_H_