using System; public class Example : Efl.Csharp.Application { // Callback to quit the application public static void QuitCb(object sender, Efl.Gfx.IEntityVisibilityChangedEvt_Args e) { // Exit the EFL main loop if (e.arg == false) Efl.App.AppMain.Quit(0); } protected override void OnInitialize(Eina.Array args) { // 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, 240)); // 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.SetHintFill(false, false); label.SetHintAlign(0.5, 0.5); // Add the text to the box container box.Pack(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.App.AppMain.Quit(0); }; // Add the button to the box container box.Pack(button); } #if WIN32 [STAThreadAttribute()] #endif public static void Main() { var example = new Example(); example.Launch(); } }