ClutterStage の拡大縮小

今日は簡単なネタで、ClutterStage を拡大縮小できるようにします。また、最小の大きさを指定しているので、それいかに小さくすることはできません。
では C から。

#include <clutter/clutter.h>

int
main (int argc, char *argv[])
{
    ClutterActor *stage;
    
    if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
        return 1;
    stage = clutter_stage_new ();
    clutter_stage_set_title (CLUTTER_STAGE (stage), "Stage");
    clutter_stage_set_user_resizable (CLUTTER_STAGE (stage), TRUE);
    clutter_stage_set_minimum_size (CLUTTER_STAGE (stage), 100, 100);
    g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);

    clutter_actor_show (stage);
    clutter_main ();
    return 0;
}

clutter_stage_set_user_resizable() で拡大縮小を可能にします。また、 clutter_stage_set_minimum_size() で最小値を設定します。簡単ですね。

Gjs でも同様にできます。

#! /usr/bin/env gjs
const Clutter = imports.gi.Clutter;

Clutter.init(null);
let stage = new Clutter.Stage();
stage.connect('destroy', Clutter.main_quit);
stage.set_title("Stage");
stage.set_user_resizable(true);
stage.set_minimum_size(100, 100);
stage.show();
Clutter.main();

こちらは説明不要ですね。