public TestMain(String border_file) { ecore_evas = new EcoreEvas(); Eina.Size2D size = new Eina.Size2D(); Eina.Position2D position = new Eina.Position2D(); canvas = ecore_evas.canvas; canvas.SetVisible(true); bg = new Efl.Canvas.Rectangle(canvas); bg.SetColor(255, 255, 255, 255); position.X = 0; position.Y = 0; bg.SetPosition(position); size.W = WIDTH; size.H = HEIGHT; bg.SetSize(size); bg.SetVisible(true); bg.SetKeyFocus(true); /* ((Efl.Input.Interface)bg).KeyDownEvt += On_KeyDown; */ bg.KeyDownEvt += On_KeyDown; text = new Evas.Text(canvas); text.SetStyle(Evas.TextStyleType.OutlineSoftShadow); text.SetColor(0, 0, 0, 255); text.SetGlowColor(255, 0, 0, 255); text.SetOutlineColor(0, 0, 255, 255); text.SetShadowColor(0, 255, 255, 255); text.SetFont("Courier", 30); text.SetText("sample text"); size.W = 3 * WIDTH / 4; size.H = HEIGHT / 4; text.SetSize(size); position.X = WIDTH / 8; position.Y = 3 * HEIGHT / 8; text.SetPosition(position); text.SetVisible(true); Efl.Font.Size font_size = 0; String font = String.Empty; text.GetFont(out font, out font_size); Console.WriteLine("Adding text object with font {0} and size {1}", font, size); // setup border border = new Evas.Image(canvas); border.SetFile(border_file, null); border.SetBorder(3, 3, 3, 3); border.SetBorderCenterFill(0); size.W = 3 * WIDTH / 4 + 3; size.H = HEIGHT / 4 + 3; border.SetSize(size); position.X = WIDTH / 8 - 3; position.Y = 3 * HEIGHT / 8 - 3; border.SetPosition(position); border.SetVisible(true); }
static void Main(string[] args) { int color_index = 0; Efl.All.Init(); Efl.Loop loop = new Efl.Loop(); EcoreEvas ecore_evas = new EcoreEvas(); Efl.Canvas.Object canvas = ecore_evas.canvas; canvas.SetVisible(true); Efl.Object parent = canvas.GetParent(); System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero); Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(colors[0, 0], colors[0, 1], colors[0, 2], 255); Eina.Size2D size = new Eina.Size2D(); size.W = 640; size.H = 480; rect.SetSize(size); rect.SetVisible(true); canvas.KeyDownEvt += (object sender, Efl.Input.InterfaceKeyDownEvt_Args e) => { color_index = (color_index + 1) % 3; Console.WriteLine("Key Down"); Console.WriteLine("Got key obj at {0}", e.arg.NativeHandle.ToString("X")); Console.WriteLine("Got key_get() == [{0}]", e.arg.GetKey()); rect.SetColor(colors[color_index, 0], colors[color_index, 1], colors[color_index, 2], 255); }; loop.Begin(); Efl.All.Shutdown(); }
static void Main(string[] args) { Efl.All.Init(); Efl.Loop loop = new Efl.Loop(); EcoreEvas ecore_evas = new EcoreEvas(); Efl.Canvas.Object canvas = ecore_evas.canvas; canvas.SetVisible(true); Efl.Object parent = canvas.GetParent(); System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero); Evas.Box box = new MyBox(canvas); Eina.Size2D size = new Eina.Size2D(); size.W = 320; size.H = 240; box.SetSize(size); box.SetVisible(true); Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(0, 0, 255, 255); size.W = 320; size.H = 120; rect.SetSize(size); rect.SetVisible(true); box.Append(rect); Efl.Canvas.Rectangle rect2 = new Efl.Canvas.Rectangle(canvas); rect2.SetColor(0, 255, 0, 255); rect2.SetSize(size); rect2.SetVisible(true); box.Append(rect2); loop.Begin(); Efl.All.Shutdown(); }
static void Main(string[] args) { Efl.All.Init(); Efl.Loop loop = new Efl.Loop(); EcoreEvas ecore_evas = new EcoreEvas(); Eina.Size2D size = new Eina.Size2D(); Eina.Position2D pos = new Eina.Position2D(); Efl.Canvas.Object canvas = ecore_evas.canvas; canvas.SetVisible(true); Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas); bg.SetColor(255, 255, 255, 255); pos.X = 0; pos.Y = 0; bg.SetPosition(pos); size.W = WIDTH; size.H = HEIGHT; bg.SetSize(size); bg.SetVisible(true); string path = args[0]; Evas.Image logo = new Evas.Image(canvas); logo.SetFillAuto(true); // TODO add preloaded support (depends on events) logo.SetFile(path, null); size.W = WIDTH / 2; size.H = HEIGHT / 2; logo.SetSize(size); // TODO add a bunch of key/mouse handlers logo.SetVisible(true); int[] pixels = new int[(WIDTH / 4) * (HEIGHT / 4)]; System.Random generator = new System.Random(); for (int i = 0; i < pixels.Length; i++) { pixels[i] = generator.Next(); } Evas.Image noise_img = new Evas.Image(canvas); size.W = WIDTH / 4; size.H = HEIGHT / 4; noise_img.SetSize(size); // FIXME Add a way to set the pixels. // noise_img.data_set(pixels); noise_img.SetFillAuto(true); pos.X = WIDTH * 5 / 8; pos.Y = HEIGHT / 8; noise_img.SetPosition(pos); noise_img.SetVisible(true); Console.WriteLine("Creating noise image with sizez %d, %d", WIDTH / 4, HEIGHT / 4); Efl.Canvas.Proxy proxy_img = new Efl.Canvas.Proxy(canvas); proxy_img.SetSource(noise_img); pos.X = WIDTH / 2; pos.Y = HEIGHT / 2; proxy_img.SetPosition(pos); size.W = WIDTH / 2; size.H = HEIGHT / 2; proxy_img.SetSize(size); proxy_img.SetVisible(true); loop.Begin(); }
static void Main(string[] args) { Efl.All.Init(); Efl.Loop loop = new Efl.Loop(); EcoreEvas ecore_evas = new EcoreEvas(); Eina.Size2D size = new Eina.Size2D(); size.W = WIDTH; size.H = HEIGHT; Eina.Size2D hint = new Eina.Size2D(); Efl.Canvas.Object canvas = ecore_evas.canvas; canvas.SetVisible(true); Efl.Object parent = canvas.GetParent(); System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero); Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas); bg.SetColor(255, 255, 255, 255); bg.SetSize(size); bg.SetVisible(true); Evas.Table table = new Evas.Table(canvas); table.SetHomogeneous(Evas.ObjectTable.HomogeneousMode.None); table.SetPadding(0, 0); table.SetSize(size); table.SetVisible(true); Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(255, 0, 0, 255); hint.W = 100; hint.H = 50; rect.SetHintMin(hint); rect.SetVisible(true); table.Pack(rect, 1, 1, 2, 1); rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(0, 255, 0, 255); hint.W = 50; hint.H = 100; rect.SetHintMin(hint); rect.SetVisible(true); table.Pack(rect, 1, 2, 1, 2); rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(0, 0, 255, 255); hint.W = 50; hint.H = 50; rect.SetHintMin(hint); rect.SetVisible(true); table.Pack(rect, 2, 2, 1, 1); rect = new Efl.Canvas.Rectangle(canvas); rect.SetColor(255, 255, 0, 255); rect.SetHintMin(hint); rect.SetVisible(true); table.Pack(rect, 2, 3, 1, 1); loop.Begin(); Efl.All.Shutdown(); }
static void Main(string[] args) { Efl.All.Init(); Efl.Loop loop = new Efl.Loop(); EcoreEvas ecore_evas = new EcoreEvas(); Eina.Size2D size = new Eina.Size2D(); Efl.Canvas.Object canvas = ecore_evas.canvas; canvas.SetVisible(true); Efl.Object parent = canvas.GetParent(); System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero); Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas); bg.SetColor(255, 255, 255, 255); size.W = WIDTH; size.H = HEIGHT; bg.SetSize(size); bg.SetVisible(true); string valid_path = args[0]; Evas.Image image = new Evas.Image(canvas); image.SetFile(valid_path, null); /* FIXME evas-image uses error handling code from * evas_object_image_load_error_get, which seems to be not available * Efl.image.load.State state = image.load_error_get(); */ // FIXME missing move Eina.Rect rect = new Eina.Rect(); rect.X = 0; rect.Y = 0; rect.W = WIDTH / 2; rect.H = HEIGHT / 2; image.SetFill(rect); size.W = WIDTH / 2; size.H = HEIGHT / 2; image.SetSize(size); image.SetVisible(true); rect = image.GetFill(); rect.Y -= 50; rect.W += 100; image.SetFill(rect); TestMain listener = new TestMain(image); // TODO handle key events in order to alter the image like the C // example. Meanwhile, just set some w fill /* EventListener callback = new EventListener(); */ /* bg.key_focus_set(true); */ /* bg.event_callback_priority_add(Evas.Callback_Type.Key_down, */ /* Efl.Callback_Priority.Default, */ /* callback, null); */ loop.Begin(); Efl.All.Shutdown(); }