Author: hisham
Date: 2005-05-23 17:34:57 -0400 (Mon, 23 May 2005)
New Revision: 44920
Modified:
trunk/efl-sharp/libs/efl-sharp/src/bin/efl_sharp_test.cs
trunk/efl-sharp/libs/efl-sharp/src/lib/edje/Edje.cs
trunk/efl-sharp/libs/efl-sharp/src/lib/evas/Evas.cs
Log:
overall fixes and more work on evas
Modified: trunk/efl-sharp/libs/efl-sharp/src/bin/efl_sharp_test.cs
===================================================================
--- trunk/efl-sharp/libs/efl-sharp/src/bin/efl_sharp_test.cs 2005-05-23
21:26:23 UTC (rev 44919)
+++ trunk/efl-sharp/libs/efl-sharp/src/bin/efl_sharp_test.cs 2005-05-23
21:34:57 UTC (rev 44920)
@@ -23,8 +23,10 @@
public static void EdjeKeyDown(IntPtr data, IntPtr evas, IntPtr obj, IntPtr
EventInfo)
{
- System.Console.WriteLine("Key down on edje!");
- EE.BorderlessSet(!EE.BorderlessGet());
+ System.Console.WriteLine("Key down on edje! Showing / hiding image!");
+ Evas.Image image = new Evas.Image();
+ image = (Evas.Image)EE.DataGet("image");
+ image.Hide();
}
public static int app_signal_exit(IntPtr data, int type, IntPtr ev)
@@ -49,19 +51,21 @@
public static void Main(string [] args)
{
- Evas.Image image;
- Evas.TextBlock textblock;
-
Ecore.Init();
EcoreEvas.Init();
Edje.Init();
EE.SoftwareX11New(":0", IntPtr.Zero, 0, 0, 640, 480);
EE.CallbackResizeSet(app_cb_resize);
+
+ Evas.Image image = new Evas.Image(EE.Get());
+ Evas.TextBlock textblock = new Evas.TextBlock(EE.Get());
+
Edje edje = new Edje(EE.Get());
+
+ EE.DataSet("image", image);
EE.DataSet("edje", edje);
-
EE.Show();
if(Ecore.EventHandlerAdd(Ecore.EventSignalExit, app_signal_exit, null)
== IntPtr.Zero)
@@ -69,30 +73,29 @@
if(edje.FileSet(DataConfig.DATADIR +
"/data/flower.edj","desktop/background") == 0)
System.Console.WriteLine("Can't load edje object!");
- edje.FocusSet(1);
+ edje.Focus = 1;
edje.EventCallbackAdd(Evas.Object.EVAS_CALLBACK_MOUSE_DOWN,
EdjeMouseDown, null);
edje.EventCallbackAdd(Evas.Object.EVAS_CALLBACK_MOUSE_IN, EdjeMouseIn,
null);
edje.EventCallbackAdd(Evas.Object.EVAS_CALLBACK_MOUSE_OUT,
EdjeMouseOut, null);
- edje.EventCallbackAdd(Evas.Object.EVAS_CALLBACK_KEY_DOWN, EdjeKeyDown,
null);
+ edje.EventCallbackAdd(Evas.Object.EVAS_CALLBACK_KEY_DOWN, EdjeKeyDown,
image);
edje.Move(0, 0);
edje.Resize(640, 480);
edje.Show();
-
- image = new Evas.Image(EE.Get());
image.Set(DataConfig.DATADIR + "/data/e.png", null);
image.Move(0, 0);
image.Resize(320, 320);
- image.Fill = new Evas.ImageFill (0, 0, 320, 320);
+ image.Fill = new Evas.ImageFill (0, 0, 320, 320);
+ image.Raise();
image.Show();
- textblock = new Evas.TextBlock(EE.Get());
textblock.FormatInsert("color=#ffffffff
font="+DataConfig.DATADIR+"/data/Vera.ttf size=16");
textblock.TextInsert("This is some text for the text block!");
textblock.FormatInsert("\n");
textblock.TextInsert("And this text should be on another line!");
textblock.Move(300, 300);
textblock.Resize(300, 100);
+ textblock.Raise();
textblock.Show();
Modified: trunk/efl-sharp/libs/efl-sharp/src/lib/edje/Edje.cs
===================================================================
--- trunk/efl-sharp/libs/efl-sharp/src/lib/edje/Edje.cs 2005-05-23 21:26:23 UTC
(rev 44919)
+++ trunk/efl-sharp/libs/efl-sharp/src/lib/edje/Edje.cs 2005-05-23 21:34:57 UTC
(rev 44920)
@@ -225,9 +225,9 @@
EDJE_MESSAGE_STRING_FLOAT_SET = 11
};
- public Edje(Canvas evas)
+ public Edje(Canvas c) : base(c)
{
- objRaw = new HandleRef(this, edje_object_add(evas.Raw));
+ objRaw = new HandleRef(this, edje_object_add(c.Raw));
}
public Edje()
@@ -544,7 +544,7 @@
public void MessageSend(MessageType type, int id, object msg)
{
- IntPtr p = new IntPtr(dataptrs.Count);
+ IntPtr p = new IntPtr(dataptrs.Count);
dataptrs[p] = msg;
edje_object_message_send(Raw, type, id, p);
}
Modified: trunk/efl-sharp/libs/efl-sharp/src/lib/evas/Evas.cs
===================================================================
--- trunk/efl-sharp/libs/efl-sharp/src/lib/evas/Evas.cs 2005-05-23 21:26:23 UTC
(rev 44919)
+++ trunk/efl-sharp/libs/efl-sharp/src/lib/evas/Evas.cs 2005-05-23 21:34:57 UTC
(rev 44920)
@@ -110,8 +110,8 @@
const string Library = "evas";
protected HandleRef objRaw;
- protected static Hashtable callbacks = new Hashtable ();
- protected static Hashtable dataptrs = new Hashtable ();
+ public Hashtable callbacks = new Hashtable ();
+ public Hashtable dataptrs = new Hashtable ();
[DllImport(Library)]
private extern static int evas_alloc_error();
@@ -395,11 +395,35 @@
set { evas_font_cache_set(Raw, value); }
}
+
+ [DllImport(Library)]
+ private extern static IntPtr evas_object_bottom_get(IntPtr e);
+ public Evas.Object Bottom
+ {
+ get { return new Evas.Object(evas_object_bottom_get(Raw)); }
+ }
+
+ [DllImport(Library)]
+ private extern static IntPtr evas_object_top_get(IntPtr e);
+
+ public Evas.Object Top
+ {
+ get { return new Evas.Object(evas_object_top_get(Raw)); }
+ }
+
public virtual IntPtr Raw
{
get { return this.objRaw.Handle; }
}
+
+ public object GetObject(IntPtr p)
+ {
+ if(!dataptrs.Contains(p))
+ throw new Exception("Object pointer is invalid");
+ // FIXME: Should we remove it?
+ return dataptrs[p];
+ }
~Canvas()
{
@@ -413,30 +437,11 @@
const string Library = "evas";
protected HandleRef objRaw;
- protected static Hashtable callbacks = new Hashtable ();
- protected static Hashtable dataptrs = new Hashtable ();
+ protected Hashtable callbacks = new Hashtable ();
+ protected Hashtable dataptrs = new Hashtable ();
- protected Canvas canvas = null;
-
- [DllImport(Library)]
- private extern static void evas_object_move(IntPtr obj, int x, int y);
-
- [DllImport(Library)]
- private extern static void evas_object_resize(IntPtr obj, int w, int h);
-
- [DllImport(Library)]
- private extern static void evas_object_show(IntPtr obj);
-
- [DllImport(Library)]
- private extern static void evas_object_focus_set(IntPtr obj, int focus);
-
- [DllImport(Library)]
- private extern static IntPtr evas_object_gradient_add(IntPtr e);
-
- public delegate void evas_object_event_callback(IntPtr data, IntPtr
evas, IntPtr obj, IntPtr EventInfo);
- [DllImport(Library)]
- private extern static void evas_object_event_callback_add(IntPtr obj,
int type, evas_object_event_callback func, IntPtr data);
-
+ protected Canvas canvas = null;
+
public const int EVAS_CALLBACK_MOUSE_IN = 0;
public const int EVAS_CALLBACK_MOUSE_OUT = 1;
public const int EVAS_CALLBACK_MOUSE_DOWN = 2;
@@ -459,9 +464,10 @@
}
- public Object(Canvas e)
+ public Object(Canvas c)
{
- canvas = e;
+ canvas = c;
+ objRaw = new HandleRef(this, c.Raw);
}
@@ -470,43 +476,140 @@
objRaw = new HandleRef(this, e);
}
+
+ [DllImport(Library)]
+ private extern static void evas_object_del(IntPtr obj);
+ public void Delete()
+ {
+ evas_object_del(Raw);
+ }
+ // see what we want to do with this
+ [DllImport(Library)]
+ private extern static string evas_object_type_get(IntPtr obj);
+ public string Type
+ {
+ get { return evas_object_type_get(Raw); }
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_layer_set(IntPtr obj, int layer);
+
+ [DllImport(Library)]
+ private extern static int evas_object_layer_get(IntPtr obj);
+
+ public int Layer
+ {
+ get { return evas_object_layer_get(Raw); }
+ set { evas_object_layer_set(Raw, value); }
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_raise(IntPtr obj);
+
+ public void Raise()
+ {
+ evas_object_raise(Raw);
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_lower(IntPtr obj);
+
+ public void Lower()
+ {
+ evas_object_lower(Raw);
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_stack_above(IntPtr obj, IntPtr
above);
+
+ public void StackAbove(Evas.Object above)
+ {
+ evas_object_stack_above(Raw, above.Raw);
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_stack_below(IntPtr obj, IntPtr
below);
+
+ public void StackBelow(Evas.Object below)
+ {
+ evas_object_stack_below(Raw, below.Raw);
+ }
+
+
+ // Review Above and Below and look into how we need to
+ // turn them into other objects, eg: Image, TextBlock etc...
+ [DllImport(Library)]
+ private extern static IntPtr evas_object_above_get(IntPtr obj);
+
+ public Evas.Object Above
+ {
+ get { return new Evas.Object(evas_object_above_get(Raw)); }
+ }
+
+ [DllImport(Library)]
+ private extern static IntPtr evas_object_below_get(IntPtr obj);
+
+ public Evas.Object Below
+ {
+ get { return new Evas.Object(evas_object_below_get(Raw)); }
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_move(IntPtr obj, int x, int y);
+
public void Move(int x, int y)
{
evas_object_move(Raw, x, y);
}
+ [DllImport(Library)]
+ private extern static void evas_object_resize(IntPtr obj, int w, int h);
+
public void Resize(int w, int h)
{
evas_object_resize(Raw, w, h);
}
+
+ [DllImport(Library)]
+ private extern static void evas_object_show(IntPtr obj);
public void Show()
{
evas_object_show(Raw);
}
+
+ [DllImport(Library)]
+ private extern static void evas_object_hide(IntPtr obj);
- public void FocusSet(int focus)
+ public void Hide()
{
- evas_object_focus_set(Raw, focus);
+ evas_object_hide(Raw);
+ }
+
+ [DllImport(Library)]
+ private extern static void evas_object_focus_set(IntPtr obj, int focus);
+
+ [DllImport(Library)]
+ private extern static int evas_object_focus_get(IntPtr obj);
+
+ public int Focus
+ {
+ get { return evas_object_focus_get(Raw); }
+ set { evas_object_focus_set(Raw, value); }
}
+ public delegate void evas_object_event_callback(IntPtr data, IntPtr
evas, IntPtr obj, IntPtr EventInfo);
+ [DllImport(Library)]
+ private extern static void evas_object_event_callback_add(IntPtr obj,
int type, evas_object_event_callback func, IntPtr data);
public void EventCallbackAdd(int type, evas_object_event_callback func,
object data)
- {
+ {
IntPtr p = new IntPtr(dataptrs.Count);
- callbacks[type] = func;
+ callbacks[callbacks.Count + 1] = func;
dataptrs[p] = data;
evas_object_event_callback_add(Raw, type, func, p);
}
-
- public static object GetObject(IntPtr p)
- {
- if(!dataptrs.Contains(p))
- throw new Exception("Object pointer is invalid");
- // FIXME: Should we remove it?
- return dataptrs[p];
- }
-
+
public Canvas evas
{
get { return canvas; }
@@ -567,7 +670,7 @@
}
}
- public class Image : Object
+ public class Image : Evas.Object
{
const string Library = "evas";
@@ -648,15 +751,20 @@
private extern static int evas_object_image_pixels_dirty_get(IntPtr
obj);
- public Image(Canvas e) : base(e)
+ public Image()
+ {}
+
+ public Image(Canvas c) : base(c)
{
+ objRaw = new HandleRef(this, evas_object_image_add(c.Raw));
}
-
-/*
- public Image(IntPtr e) : base(e)
+
+
+ public Image(Evas.Object o)
{
+ objRaw = new HandleRef(this, o.Raw);
}
-*/
+
public void Set(string filename, string key)
{
@@ -807,7 +915,7 @@
}
}
- public class Line : Object
+ public class Line : Evas.Object
{
const string Library = "evas";
@@ -815,7 +923,10 @@
[DllImport(Library)]
private extern static IntPtr evas_object_line_add(IntPtr e);
- public Line(Canvas c)
+ public Line()
+ {}
+
+ public Line(Canvas c) : base(c)
{
objRaw = new HandleRef(this, evas_object_line_add(c.Raw));
}
@@ -839,14 +950,17 @@
}
}
- public class Gradient : Object
+ public class Gradient : Evas.Object
{
const string Library = "evas";
[DllImport(Library)]
private extern static IntPtr evas_object_gradient_add(IntPtr e);
- public Gradient(Canvas c)
+ public Gradient()
+ {}
+
+ public Gradient(Canvas c) : base(c)
{
objRaw = new HandleRef(this, evas_object_gradient_add(c.Raw));
}
@@ -880,14 +994,17 @@
}
}
- public class Polygon : Object
+ public class Polygon : Evas.Object
{
const string Library = "evas";
[DllImport(Library)]
private extern static IntPtr evas_object_polygon_add(IntPtr e);
- public Polygon(Canvas c)
+ public Polygon()
+ {}
+
+ public Polygon(Canvas c) : base(c)
{
objRaw = new HandleRef(this, evas_object_polygon_add(c.Raw));
}
@@ -937,14 +1054,16 @@
}
}
- public class Text : Object
+ public class Text : Evas.Object
{
const string Library = "evas";
[DllImport(Library)]
private extern static IntPtr evas_object_text_add(IntPtr e);
- public Text(Canvas c)
+
+
+ public Text(Canvas c) : base(c)
{
objRaw = new HandleRef(this, evas_object_text_add(c.Raw));
}
@@ -1107,14 +1226,17 @@
}
}
- public class TextBlock : Object
+ public class TextBlock : Evas.Object
{
const string Library = "evas";
[DllImport(Library)]
private extern static IntPtr evas_object_textblock_add(IntPtr e);
- public TextBlock(Canvas c)
+ public TextBlock()
+ {}
+
+ public TextBlock(Canvas c) : base(c)
{
objRaw = new HandleRef(this, evas_object_textblock_add(c.Raw));
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches