// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

export global MyGlobal {
    in-out property <string> global-prop: "This is global";
    callback global-callback(string) -> string;
}

export component App {
    in-out property <string> hello: "World";
    callback say-hello(string) -> string;
    callback say_hello_again(string) -> string;

    callback invoke-say-hello(string) -> string;
    invoke-say-hello(arg) => {
        return self.say-hello(arg);
    }

    callback invoke-say-hello-again(string) -> string;
    invoke-say-hello-again(arg) => {
        return self.say-hello-again(arg);
    }

    callback invoke-global-callback(string) -> string;
    invoke-global-callback(arg) => {
        return MyGlobal.global-callback(arg);
    }

    Rectangle {
        color: red;
    }
}
