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

Reply via email to