C++: drops IntSize in favor of Size<T> (#922)

Fixes #909

Since we declare the struct in C++, we don't need to declare it in
rust for cbindgen anymore, as long as we expose the Size2D type from
euclid to the cbindgen_private namespace
This commit is contained in:
Olivier Goffart 2022-02-08 14:12:52 +01:00 committed by GitHub
parent 7a735a48db
commit 753784c331
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 32 deletions

View file

@ -0,0 +1,29 @@
// Copyright © SixtyFPS GmbH <info@sixtyfps.io>
// SPDX-License-Identifier: (GPL-3.0-only OR LicenseRef-SixtyFPS-commercial)
#pragma once
namespace slint {
/// The Size structure is used to represent a two-dimensional size
/// with width and height.
template <typename T>
struct Size {
/// The width of the size
T width;
/// The height of the size
T height;
/// Compares with \a other and returns true if they are equal; false otherwise.
bool operator==(const Size &other) const = default;
};
namespace cbindgen_private {
// The Size types are expanded to the Size2D<...> type from the euclid crate which
// is binary compatible with Size<T>
template <typename T> using Size2D = Size<T>;
}
}