using System; public class Example { // Callback to quit the application public static void QuitCb(object sender, Efl.Gfx.EntityVisibilityChangedEvt_Args e) { // Exit the EFL main loop if (e.arg == false) Efl.Ui.Config.Exit(); } #if WIN32 [STAThreadAttribute()] #endif public static void Main() { // Initialize EFL and all UI components Efl.All.Init(Efl.Components.Ui); // Create a window and initialize it Efl.Ui.Win win = new Efl.Ui.Win(Efl.App.AppMain); // Set the window's title win.SetText("Hello World"); // Request that the window is automatically hidden when the "close" // button is pressed win.SetAutohide(true); // Hook to the Hide event win.VisibilityChangedEvt += QuitCb; // Create a box container var box = new Efl.Ui.Box(win); // Set its minimum size box.SetHintSizeMin(new Eina.Size2D(360, 540)); // Set the box as the content for the window // The window size will adapt to the box size win.SetContent(box); // Create a text label widget var label = new Efl.Ui.Text(box); // Set its content and customize it label.SetText("Hello World. This is an Efl.Ui application!"); label.SetSelectionAllowed(false); label.SetHintWeight(1.0, 0.9); label.SetHintAlign(0.5, 0.5); // Add the text to the box container box.DoPack(label); // Create a button widget var button = new Efl.Ui.Button(box); // Customize it button.SetText("Quit"); button.SetHintWeight(1.0, 0.1); // Set the method to be called when the button is pressed button.ClickedEvt += (object sender, EventArgs e) => { Efl.Ui.Config.Exit(); }; // Add the button to the box container box.DoPack(button); // Start the EFL main loop Efl.Ui.Config.Run(); // Shutdown EFL Efl.All.Shutdown(); } }