Changeset 2076 for libcaca


Ignore:
Timestamp:
Nov 26, 2007, 2:04:36 AM (13 years ago)
Author:
Sam Hocevar
Message:
  • Implemented getVersion() in the C# bindings.
  • Slightly improved the C# test program.
Location:
libcaca/trunk/csharp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/csharp/Caca.cs

    r2065 r2076  
    2222namespace Caca
    2323{
     24    /* Static libcaca stuff that does not fit in any object */
     25    public static class Libcaca
     26    {
     27        [DllImport("libcaca.dll", CallingConvention=CallingConvention.Cdecl),
     28         SuppressUnmanagedCodeSecurity]
     29        private static extern IntPtr caca_get_version();
     30        public static string getVersion()
     31        {
     32            return Marshal.PtrToStringAnsi(caca_get_version());
     33        }
     34    }
     35
    2436    public enum CacaEventType
    2537    {
     
    149161            {
    150162                caca_get_event_key_utf8(cevent, utf8);
    151                 return Marshal.PtrToStringUni(utf8);
     163                return Marshal.PtrToStringAnsi(utf8);
    152164            }
    153165        }
  • libcaca/trunk/csharp/Cucul.cs

    r2065 r2076  
    2626         SuppressUnmanagedCodeSecurity]
    2727        private static extern int cucul_rand(int min, int max);
    28 
    2928        public static int Rand(int min, int max)
    3029        {
    3130            return cucul_rand(min, max);
     31        }
     32
     33        [DllImport("libcucul.dll", CallingConvention=CallingConvention.Cdecl),
     34         SuppressUnmanagedCodeSecurity]
     35        private static extern IntPtr cucul_get_version();
     36        public static string getVersion()
     37        {
     38            return Marshal.PtrToStringAnsi(cucul_get_version());
    3239        }
    3340
  • libcaca/trunk/csharp/test.cs

    r2058 r2076  
    3434        table = new uint[16,16];
    3535        d = new CuculDither(32, 16, 16, 16 * 4, 0xff0000, 0xff00, 0xff, 0x0);
    36         for(int y = 0; y < 16; y++)
    37             for(int x = 0; x < 16; x++)
    38                 table[x,y] = (uint)((x + y) << 16) | (uint)(x << 8) | (uint)(y);
    3936    }
    4037
     
    4643        Clear();
    4744
     45        double cos = Math.Cos(t / 500.0);
     46        double sin = Math.Sin(t / 500.0);
     47
     48        for(int y = 0; y < 16; y++)
     49            for(int x = 0; x < 16; x++)
     50            {
     51                double xt = (double)(x - 8);
     52                double yt = (double)(y - 8);
     53                int x2 = (int)(xt * cos + yt * sin + 8.0);
     54                int y2 = (int)(xt * sin - yt * cos + 8.0);
     55                if(x2 < 0) x2 = 0;
     56                if(y2 < 0) y2 = 0;
     57
     58                table[x,y] = (uint)((x2 + y2) << 16)
     59                              | (uint)(x2 << 8)
     60                              | (uint)(y2);
     61            }
    4862        ditherBitmap(0, 0, width, height, d, table);
    4963
     
    103117    public static void Main()
    104118    {
    105         Console.WriteLine("libcaca .NET test");
     119        Console.WriteLine("libcaca {0} .NET test", Libcaca.getVersion());
    106120        Console.WriteLine("(c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org>");
    107121
Note: See TracChangeset for help on using the changeset viewer.