Sorry for the crappy explanation, it was friday and I was tired ;)

yeah... its basically a GTK+ type of idea.
The structure is for ewl_window
and ewl windows' struct has an EVAS object in it that i can access as

window->evas;

So basically I should wrap this a getter function from C# and make a C
function that returns the evas addr like this then:

int *ewl_window_evas_get(Ewl_Window *win) {

   return win->evas;

};

This is kindof what I wanted to avoid if possible, but if its going to
cause a whole bunch of Managed -> Unmanaged speghetti any other way, then
I would rather do it this way. :)

> On Fri, 2005-02-25 at 14:02 -0500, Nigel Benns wrote:
>> ok... this is the lowdown :)
>>
>> in C:
>>
>> struct try {
>>
>>    int *blah;
>>
>> }
>
> In C#:
>
>       struct try {
>               public System.IntPtr blah;
>       }
>
>> int main() {
>>
>>    object *meh;
>>    int *thing;
>>
>>    meh = try_new();
>>
>>    thing = meh->blah; //this is what I want to do from C#
>>
>> }
>
> In C#:
>
>       class Test {
>               [DllImport ()]
>               private static extern IntPtr try_new ();
>
>               public static void Main ()
>               {
>                       System.IntPtr meh = try_new ();
>                       try t = (try)
>                         System.Runtime.InteropServices.Marshal
>                         .PtrToStructure (meh, typeof(try));
>
>                       System.IntPtr thing = t.blah;
>                       int thing_value =
>                         System.Runtime.InteropServices.Marshal
>                         .ReadInt32 (thing);
>               }
>       }
>
> Note: I haven't actually compiled this, but it should work.
>
> Also, I'm not sure what an `object*' is supposed to be in your C code.
> If you're trying to use GTK+-style OO programming, things will be very
> different, and a glue library should instead be used.
>
>  - Jon
>
>
>

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to