examples/unsorted/evas/evas_mono_rectangle.cs

48 lines
1.4 KiB
C#

using System;
class TestMain
{
private static int[,] colors = new int[,] {
{255, 0, 0},
{0, 255, 0},
{0, 0, 255}
};
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.raw_handle != IntPtr.Zero);
Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas);
rect.Color = (colors[0, 0], colors[0, 1], colors[0, 2], 255);
Eina.Size2D size = new Eina.Size2D();
size.W = 640;
size.H = 480;
rect.Size = size;
rect.SetVisible(true);
canvas.KeyDownEvent += (object sender, Efl.Input.Interface.KeyDownEventArgs e) => {
color_index = (color_index + 1) % 3;
Console.WriteLine("Key Down");
Console.WriteLine("Got key obj at {0}", e.arg.raw_handle.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();
}
}