[Gtk-sharp-list] rsvg sharp on windows

Matt Guo matt at mattguo.com
Tue Oct 19 01:34:16 EDT 2010


On Tue, Oct 19, 2010 at 12:59 PM, Matt Guo <matt at mattguo.com> wrote:
> Gerhard,
>
> I just had the same requirement/issue several months before.
>
> First of all I agreed on that the rsvg2-sharp.dll shall be included in
> the gtk-sharp windows installer.
>
> Since the native lib is already there, (on my Windows it's named
> librsvg-2-2.dll), I used the the following solution:
> a) if using mono on Windows, then just copy rsvg2-sharp.dll, and
> rsvg2-sharp.dll.config from Linux to Windows, then rewrite the .config
> to:
> <configuration>
>  <dllmap dll="rsvg-2" target="librsvg-2-2.dll"/>
> </configuration>
>
> b) if using .Net on Windows, then modify the GAPI generated code and
> build it again, the modification includes:
>    1) change all [DllImport("rsvg-2")] to [DllImport("librsvg-2-2.dll")]
>    2) call gapi-cdecl-insert (see "Win32 binding issues" in this
> page: http://www.mono-project.com/GAPI)
> Then the compiled dll shall work on Windows .Net (I'm not 100% sure
> since I already lost the related files). BTW, the (generated) code
> base of rsvg2-sharp's is really small and straight-forward.

Oh, I just recalled that with .Net 2.0, we don't need to call
gapi-cdcel-insert, but insteadly, we replace the CDeclCallback
attribute with UnmanagedFunctionPointer(CallingConvention.Cdecl)
attribute in the generated code.

e.g.:

[CDeclCallback]
internal delegate void SizeFuncNative(out int width, out int height,
IntPtr user_data);
 =>
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void SizeFuncNative(out int width, out int height,
IntPtr user_data);


>
> BTW, is your shogi game open source? Any URL of it?
>
> B.R.
>
>
> On Sat, Aug 28, 2010 at 10:00 PM, Gerhard Götz <rootie232 at googlemail.com> wrote:
>> Hi,
>>
>> i have been testing my c# shogi game on Windows (developed on linux). It
>> worked perfectly except one thing: librsvg-sharp is not available for
>> Windows. At least i couldn't find it.
>>
>> Looking at [1] it's said that it is available for Windows. But on the
>> other hand it is in the gnome-desktop-sharp module which is gnome
>> specific.
>>
>> Is there a specific reason why librsvg-sharp is in gnome-desktop-sharp?
>> Maybe it can be moved to the gtk-sharp module. I think that it shouldn't
>> be too complicated since the native librsvg is already there.
>>
>> Greetings
>> Gerhard Götz
>>
>> [1] http://www.mono-project.com/GtkSharpDetails
>>
>> _______________________________________________
>> Gtk-sharp-list maillist  -  Gtk-sharp-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>>
>
>
>
> --
> --
> B.R.
> GUO Rui (Matt)
>



-- 
--
B.R.
GUO Rui (Matt)


More information about the Gtk-sharp-list mailing list