]> O.S.I.I.S - jp/crow.git/commitdiff
mono_cairo_* ICalls for string handling where possible
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 17 Nov 2017 16:21:19 +0000 (17:21 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 17 Nov 2017 16:21:19 +0000 (17:21 +0100)
src/Interface.cs
src/Mono.Cairo/Context.cs
src/Mono.Cairo/NativeMethods.cs

index b2155847a97a4820d6a5dcf5b4b72fd560277b37..c1c96d489ae907c07cd0c055a0125b4081e59e2a 100644 (file)
@@ -799,6 +799,7 @@ namespace Crow
                        return true;
                }
                public bool ProcessKeyDown(int Key){
+                       Console.WriteLine("keydown: {0}=>{1}", Key,(Crow.Key)Key);
                        Keyboard.SetKeyState((Crow.Key)Key,true);
                        if (_focusedWidget == null)
                                return false;
@@ -806,9 +807,9 @@ namespace Crow
                        lastKeyDownEvt.IsRepeat = true;
                        _focusedWidget.onKeyDown (this, e);
 
-                       keyboardRepeatThread = new Thread (keyboardRepeatThreadFunc);
-                       keyboardRepeatThread.IsBackground = true;
-                       keyboardRepeatThread.Start ();
+//                     keyboardRepeatThread = new Thread (keyboardRepeatThreadFunc);
+//                     keyboardRepeatThread.IsBackground = true;
+//                     keyboardRepeatThread.Start ();
 
                        return true;
                }
@@ -820,14 +821,14 @@ namespace Crow
 
                        _focusedWidget.onKeyUp (this, e);
 
-                       if (keyboardRepeatThread != null) {
-                               keyboardRepeatOn = false;
-                               keyboardRepeatThread.Abort();
-                               keyboardRepeatThread.Join ();
-                       }
+//                     if (keyboardRepeatThread != null) {
+//                             keyboardRepeatOn = false;
+//                             keyboardRepeatThread.Abort();
+//                             keyboardRepeatThread.Join ();
+//                     }
                        return true;
                }
-               public bool ProcessKeyPress(char Key){
+               public bool ProcessKeyPress(char Key){                  
                        if (_focusedWidget == null)
                                return false;
                        KeyPressEventArgs e = new KeyPressEventArgs(Key);
index 3b731a98093bcc935d2d4e2c0a41b5805cba4d79..f19103f6135becbfafb16886db620817369083bc 100644 (file)
@@ -870,14 +870,9 @@ namespace Cairo {
 
                public void ShowText(string str)
                {
-                       NativeMethods.cairo_show_text (handle, TerminateUtf8(str));
+                       NativeMethods.cairo_show_text (handle, str);
                }
-
-               public void ShowText(byte[] utf8)
-               {
-                       NativeMethods.cairo_show_text (handle, TerminateUtf8(utf8));
-               }
-
+                       
                public void TextPath(string str)
                {
                        NativeMethods.cairo_text_path (handle, TerminateUtf8(str));
@@ -891,14 +886,7 @@ namespace Cairo {
                public TextExtents TextExtents(string s)
                {
                        TextExtents extents;
-                       NativeMethods.cairo_text_extents (handle, TerminateUtf8(s), out extents);
-                       return extents;
-               }
-
-               public TextExtents TextExtents(byte[] utf8)
-               {
-                       TextExtents extents;
-                       NativeMethods.cairo_text_extents (handle, TerminateUtf8(utf8), out extents);
+                       NativeMethods.cairo_text_extents (handle, s, out extents);
                        return extents;
                }
 
index 309d4ae12fcfbca3abc8155f44d1fd783bf93e0a..a31743cbe0d509a8908e6ea964019c23751ad1ae 100644 (file)
@@ -213,7 +213,7 @@ namespace Cairo
                [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
                internal static extern IntPtr cairo_get_font_face (IntPtr cr);
 
-               [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+               [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
                internal static extern void cairo_get_font_matrix (IntPtr cr, out Matrix matrix);
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
@@ -637,7 +637,7 @@ namespace Cairo
                internal static extern void cairo_scaled_font_text_extents (IntPtr scaled_font, byte[] utf8, out TextExtents extents);
                #endregion
 
-               [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+               [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
                internal static extern void cairo_select_font_face (IntPtr cr, string family, FontSlant slant, FontWeight weight);
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
@@ -706,8 +706,8 @@ namespace Cairo
                [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
                internal static extern void cairo_show_page (IntPtr cr);
 
-               [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
-               internal static extern void cairo_show_text (IntPtr cr, byte[] utf8);
+               [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+               internal static extern void cairo_show_text (IntPtr cr, string str);
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
                internal static extern Status cairo_status (IntPtr cr);
@@ -794,8 +794,8 @@ namespace Cairo
                internal static extern IntPtr cairo_svg_surface_restrict_to_version (IntPtr surface, SvgVersion version);
                #endregion
 
-               [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
-               internal static extern void cairo_text_extents (IntPtr cr, byte[] utf8, out TextExtents extents);
+               [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+               internal static extern void cairo_text_extents (IntPtr cr, string txt, out TextExtents extents);
 
                [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
                internal static extern void cairo_text_path (IntPtr ct, byte[] utf8);