An example of how to use makeBoundProperty() to create a KDBindings::Property that is automatically updated once any of its inputs change.
The output of this example is:
The initial size of the image = 1920000 bytes
The new size of the image = 4608000 bytes
The new size of the image = 8294400 bytes
#include <iostream>
class Image
{
public:
const int bytesPerPixel = 4;
Property<int> width{ 800 };
Property<int> height{ 600 };
};
int main()
{
Image img;
std::cout << "The initial size of the image = " << img.byteSize.get() << " bytes" << std::endl;
(void)img.byteSize.valueChanged().connect([](const int &newValue) {
std::cout << "The new size of the image = " << newValue << " bytes" << std::endl;
});
img.width = 1920;
img.height = 1080;
return 0;
}
The main namespace of the KDBindings library.
auto makeBoundProperty(T &&...args)
Helper function to create a Property with a Binding.