diff --git a/.gitignore b/.gitignore
index 87db769cc..e6ddca7ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,4 @@ test-results
.nuget/
packages/
.vs/
-
+.idea/
diff --git a/Directory.Build.props b/Directory.Build.props_
similarity index 81%
rename from Directory.Build.props
rename to Directory.Build.props_
index 938c2baf1..0899982af 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props_
@@ -3,7 +3,7 @@
true
v4.7.2
- net472
+ net472;netstandard2
diff --git a/Directory.Build.targets b/Directory.Build.targets_
similarity index 86%
rename from Directory.Build.targets
rename to Directory.Build.targets_
index 4f5ba19f5..5b783229b 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets_
@@ -1,7 +1,7 @@
true
- net472
+ net472;netstandard2.0
true
diff --git a/TestApps/Gtk3Test/AssemblyInfo.cs b/TestApps/Gtk3Test/AssemblyInfo.cs
index 31ea115bd..97d6a0d90 100644
--- a/TestApps/Gtk3Test/AssemblyInfo.cs
+++ b/TestApps/Gtk3Test/AssemblyInfo.cs
@@ -42,7 +42,7 @@
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
diff --git a/TestApps/GtkSharpTest/GtkSharpTest.csproj b/TestApps/GtkSharpTest/GtkSharpTest.csproj
new file mode 100644
index 000000000..9a6a5e69a
--- /dev/null
+++ b/TestApps/GtkSharpTest/GtkSharpTest.csproj
@@ -0,0 +1,30 @@
+
+
+
+ Exe
+ netcoreapp3.1
+
+
+ false
+
+
+ TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0
+
+
+
+ TRACE;RELEASE;NETSTANDARD;NETSTANDARD2_0
+
+
+
+
+
+
+
+
+ AssemblyInfo.cs
+
+
+ Main.cs
+
+
+
diff --git a/TestApps/Samples/Samples (Kopie).csproj b/TestApps/Samples/Samples (Kopie).csproj
new file mode 100644
index 000000000..181cf6dab
--- /dev/null
+++ b/TestApps/Samples/Samples (Kopie).csproj
@@ -0,0 +1,216 @@
+
+
+
+ Debug
+ AnyCPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}
+ Library
+ Samples
+ Samples
+ v4.7
+
+ 18.04
+
+
+ True
+ full
+ False
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ False
+ false
+
+
+ pdbonly
+ true
+ bin\Release
+ prompt
+ 4
+ False
+ true
+ false
+
+
+
+
+ ..\Xwt\System.Xaml.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ PreserveNewest
+
+
+ True
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}
+ Xwt
+
+
+
+
+ class.png
+
+
+ package.png
+
+
+ cow.jpg
+ True
+
+
+ document-generic.png
+
+
+ document-generic@2x.png
+
+
+ zoom-panel-dark.9.png
+
+
+ zoom-panel-dark@2x.9.png
+
+
+ Samples\ninep-ss.9.png
+ ninep-ss.9.png
+
+
+ Samples\ninep-st.9.png
+ ninep-st.9.png
+
+
+ Samples\ninep-ts.9.png
+ ninep-ts.9.png
+
+
+ Samples\ninep-tt.9.png
+ ninep-tt.9.png
+
+
+ icons\zoom-in-16.png
+ zoom-in-16.png
+
+
+ icons\zoom-in-16%402x.png
+ zoom-in-16@2x.png
+
+
+ icons\zoom-in-16~dark.png
+ zoom-in-16~dark.png
+
+
+ icons\zoom-in-16~dark%402x.png
+ zoom-in-16~dark@2x.png
+
+
+ icons\zoom-in-16~dark~sel.png
+ zoom-in-16~dark~sel.png
+
+
+ icons\zoom-in-16~dark~sel%402x.png
+ zoom-in-16~dark~sel@2x.png
+
+
+ icons\zoom-in-16~sel.png
+ zoom-in-16~sel.png
+
+
+ icons\zoom-in-16~sel%402x.png
+ zoom-in-16~sel@2x.png
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestApps/Samples/Samples.csproj b/TestApps/Samples/Samples.csproj
index 01e07561a..642af15e1 100644
--- a/TestApps/Samples/Samples.csproj
+++ b/TestApps/Samples/Samples.csproj
@@ -1,136 +1,21 @@
-
-
+
- Debug
- AnyCPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}
- Library
- Samples
- Samples
+ netstandard2.0
+
+
+ false
- True
- full
- False
- bin\Debug
- DEBUG;
- prompt
- 4
- False
- 6
+ TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0
- pdbonly
- true
- bin\Release
- prompt
- 4
- False
- true
- 6
+
+ TRACE;RELEASE;NETSTANDARD;NETSTANDARD2_0
-
-
- ..\Xwt\System.Xaml.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- PreserveNewest
-
-
- True
- False
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}
- Xwt
-
+
-
+
class.png
@@ -201,41 +86,5 @@
icons\zoom-in-16~sel%402x.png
zoom-in-16~sel@2x.png
-
- add-simple-16.png
-
-
- add-simple-16@2x.png
-
-
- remove-simple-16.png
-
-
- remove-simple-16@2x.png
-
-
- remove-simple-disabled-16.png
-
-
- remove-simple-disabled-16@2x.png
-
-
- add-simple-disabled-16.png
-
-
- add-simple-disabled-16@2x.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Xwt.Gtk/GtkInterop/DllImportFontConfig.cs b/Xwt.Gtk/GtkInterop/DllImportFontConfig.cs
new file mode 100644
index 000000000..3591291ec
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportFontConfig.cs
@@ -0,0 +1,15 @@
+using System.Runtime.InteropServices;
+
+namespace Xwt.Interop {
+ public static class DllImportFontConfig {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate bool d_FcConfigAppFontAddFile(System.IntPtr config, string fontPath);
+
+ public static d_FcConfigAppFontAddFile FcConfigAppFontAddFile = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Fontconfig), "FcConfigAppFontAddFile"));
+#else
+ [System.Runtime.InteropServices.DllImport (GtkInterop.LIBFONTCONFIG)]
+ public static extern bool FcConfigAppFontAddFile (System.IntPtr config, string fontPath);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportGObj.cs b/Xwt.Gtk/GtkInterop/DllImportGObj.cs
new file mode 100644
index 000000000..6edef0df0
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportGObj.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Xwt.Interop {
+ public static class DllImportGObj {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_g_object_get_data(IntPtr source, string name);
+ public static d_g_object_get_data g_object_get_data = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "g_object_get_data"));
+#else
+ [DllImport (GtkInterop.LIBGOBJECT, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr g_object_get_data (IntPtr source, string name);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_g_signal_stop_emission_by_name(IntPtr raw, string name);
+ public static d_g_signal_stop_emission_by_name g_signal_stop_emission_by_name = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.GObject), "g_signal_stop_emission_by_name"));
+#else
+ [DllImport(GtkInterop.LIBGOBJECT, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr g_signal_stop_emission_by_name(IntPtr raw, string name);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportGdk.cs b/Xwt.Gtk/GtkInterop/DllImportGdk.cs
new file mode 100644
index 000000000..9acafd6fc
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportGdk.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Xwt.Interop {
+ public static class DllImportGdk {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gdk_pixbuf_get_from_window(IntPtr win, int src_x, int src_y, int width, int height);
+ public static d_gdk_pixbuf_get_from_window gdk_pixbuf_get_from_window = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gdk), "gdk_pixbuf_get_from_window"));
+
+#else
+ [DllImport (GtkInterop.LIBGDK)]
+ public static extern IntPtr gdk_pixbuf_get_from_window(IntPtr win, int src_x, int src_y, int width, int height);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate bool d_gdk_keymap_add_virtual_modifiers(IntPtr keymap, ref Gdk.ModifierType state);
+ public static d_gdk_keymap_add_virtual_modifiers gdk_keymap_add_virtual_modifiers = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gdk), "gdk_keymap_add_virtual_modifiers"));
+#else
+ //introduced in GTK 2.20
+ [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
+ public extern static bool gdk_keymap_add_virtual_modifiers (IntPtr keymap, ref Gdk.ModifierType state);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gdk_quartz_set_fix_modifiers(bool fix);
+ public static d_gdk_quartz_set_fix_modifiers gdk_quartz_set_fix_modifiers = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gdk), "gdk_quartz_set_fix_modifiers"));
+#else
+ //Custom patch in Mono Mac w/GTK+ 2.24.8+
+ [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
+ public extern static bool gdk_quartz_set_fix_modifiers (bool fix);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportGtk.cs b/Xwt.Gtk/GtkInterop/DllImportGtk.cs
new file mode 100644
index 000000000..9526484a0
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportGtk.cs
@@ -0,0 +1,254 @@
+using System;
+using System.Runtime.InteropServices;
+using Xwt.GtkBackend;
+
+namespace Xwt.Interop {
+ public static class DllImportGtk {
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_gdk_pixbuf_get_from_surface(IntPtr surface, int src_x, int src_y, int width, int height);
+
+ public static d_gdk_pixbuf_get_from_surface gdk_pixbuf_get_from_surface = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gdk), "gdk_pixbuf_get_from_surface"));
+
+#else
+ [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr gdk_pixbuf_get_from_surface (IntPtr surface, int src_x, int src_y, int width, int height);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_font_selection_get_preview_entry(IntPtr raw);
+ public static d_gtk_font_selection_get_preview_entry gtk_font_selection_get_preview_entry = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_font_selection_get_preview_entry"));
+
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public private static extern IntPtr gtk_font_selection_get_preview_entry (IntPtr raw);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_font_chooser_dialog_new(IntPtr title, IntPtr parent);
+ public static d_gtk_font_chooser_dialog_new gtk_font_chooser_dialog_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_font_chooser_dialog_new"));
+
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gtk_font_chooser_dialog_new(IntPtr title, IntPtr parent);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_font_chooser_widget_get_type();
+ public static d_gtk_font_chooser_widget_get_type gtk_font_chooser_widget_get_type = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_font_chooser_widget_get_type"));
+
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr gtk_font_chooser_widget_get_type();
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate bool d_gdk_event_get_scroll_deltas(IntPtr eventScroll, out double deltaX, out double deltaY);
+ public static d_gdk_event_get_scroll_deltas gdk_event_get_scroll_deltas = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gdk_event_get_scroll_deltas"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public extern static bool gdk_event_get_scroll_deltas (IntPtr eventScroll, out double deltaX, out double deltaY);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_scrolled_window_set_overlay_policy(IntPtr sw, Gtk.PolicyType hpolicy, Gtk.PolicyType vpolicy);
+ public static d_gtk_scrolled_window_set_overlay_policy gtk_scrolled_window_set_overlay_policy = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrolled_window_set_overlay_policy"));
+#else
+ [DllImport (GtkInterop.LIBGTK)]
+ public static extern void gtk_scrolled_window_set_overlay_policy (IntPtr sw, Gtk.PolicyType hpolicy, Gtk.PolicyType vpolicy);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_scrolled_window_get_overlay_policy(IntPtr sw, out Gtk.PolicyType hpolicy, out Gtk.PolicyType vpolicy);
+ public static d_gtk_scrolled_window_get_overlay_policy gtk_scrolled_window_get_overlay_policy = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrolled_window_get_overlay_policy"));
+#else
+ [DllImport (GtkInterop.LIBGTK)]
+ static extern void gtk_scrolled_window_get_overlay_policy (IntPtr sw, out Gtk.PolicyType hpolicy, out Gtk.PolicyType vpolicy);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate bool d_gtk_tree_view_get_tooltip_context(IntPtr raw, ref int x, ref int y, bool keyboard_tip, out IntPtr model, out IntPtr path, IntPtr iter);
+ public static d_gtk_tree_view_get_tooltip_context gtk_tree_view_get_tooltip_context = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tree_view_get_tooltip_context"));
+
+#else
+
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool gtk_tree_view_get_tooltip_context (IntPtr raw, ref int x, ref int y, bool keyboard_tip, out IntPtr model, out IntPtr path, IntPtr iter);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_image_menu_item_set_always_show_image(IntPtr menuitem, bool alwaysShow);
+ public static d_gtk_image_menu_item_set_always_show_image gtk_image_menu_item_set_always_show_image = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_image_menu_item_set_always_show_image"));
+
+#else
+
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern void gtk_image_menu_item_set_always_show_image (IntPtr menuitem, bool alwaysShow);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_icon_source_set_scale(IntPtr source, double scale);
+ public static d_gtk_icon_source_set_scale gtk_icon_source_set_scale = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_icon_source_set_scale"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern void gtk_icon_source_set_scale (IntPtr source, double scale);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_icon_source_set_scale_wildcarded(IntPtr source, bool setting);
+ public static d_gtk_icon_source_set_scale_wildcarded gtk_icon_source_set_scale_wildcarded = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_icon_source_set_scale_wildcarded"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern void gtk_icon_source_set_scale_wildcarded (IntPtr source, bool setting);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate double d_gtk_widget_get_scale_factor(IntPtr widget);
+ public static d_gtk_widget_get_scale_factor gtk_widget_get_scale_factor = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_widget_get_scale_factor"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern double gtk_widget_get_scale_factor (IntPtr widget);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate double d_gdk_screen_get_monitor_scale_factor(IntPtr widget, int monitor);
+ public static d_gdk_screen_get_monitor_scale_factor gdk_screen_get_monitor_scale_factor = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gdk_screen_get_monitor_scale_factor"));
+#else
+ [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
+ static extern double gdk_screen_get_monitor_scale_factor (IntPtr widget, int monitor);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_icon_set_render_icon_scaled(IntPtr handle, IntPtr style, int direction, int state, int size, IntPtr widget, IntPtr intPtr, ref double scale);
+ public static d_gtk_icon_set_render_icon_scaled gtk_icon_set_render_icon_scaled = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_icon_set_render_icon_scaled"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gtk_icon_set_render_icon_scaled (IntPtr handle, IntPtr style, int direction, int state, int size, IntPtr widget, IntPtr intPtr, ref double scale);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_message_dialog_get_message_area(IntPtr raw);
+ public static d_gtk_message_dialog_get_message_area gtk_message_dialog_get_message_area = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_message_dialog_get_message_area"));
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr gtk_message_dialog_get_message_area(IntPtr raw);
+#endif
+
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_binding_set_find(string setName);
+ public static d_gtk_binding_set_find gtk_binding_set_find = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_binding_set_find"));
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gtk_binding_set_find (string setName);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_binding_entry_remove(IntPtr bindingSet, uint keyval, Gdk.ModifierType modifiers);
+ public static d_gtk_binding_entry_remove gtk_binding_entry_remove = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_binding_entry_remove"));
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ static extern void gtk_binding_entry_remove (IntPtr bindingSet, uint keyval, Gdk.ModifierType modifiers);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_object_set_data(IntPtr raw, IntPtr key, IntPtr data);
+ public static d_gtk_object_set_data gtk_object_set_data = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_object_set_data"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern void gtk_object_set_data (IntPtr raw, IntPtr key, IntPtr data);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gdk_x11_drawable_get_xid(IntPtr window);
+ public static d_gdk_x11_drawable_get_xid gdk_x11_drawable_get_xid = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gdk_x11_drawable_get_xid"));
+#else
+ [DllImport (GtkInterop.LIBGTK)]
+ public static extern IntPtr gdk_x11_drawable_get_xid (IntPtr window);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate bool d_gtk_selection_data_set_uris(IntPtr raw, IntPtr[] uris);
+ public static d_gtk_selection_data_set_uris gtk_selection_data_set_uris = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_selection_data_set_uris"));
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool gtk_selection_data_set_uris(IntPtr raw, IntPtr[] uris);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_selection_data_get_uris(IntPtr raw);
+ public static d_gtk_selection_data_get_uris gtk_selection_data_get_uris = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_selection_data_get_uris"));
+
+#else
+ [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr gtk_selection_data_get_uris(IntPtr raw);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_label_set_attributes(IntPtr label, IntPtr attrList);
+ public static d_gtk_label_set_attributes gtk_label_set_attributes = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_label_set_attributes"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public extern void gtk_label_set_attributes (IntPtr label, IntPtr attrList);
+
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_spinner_new();
+ public static d_gtk_spinner_new gtk_spinner_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_spinner_new"));
+#else
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr gtk_spinner_new();
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_spinner_start(IntPtr raw);
+ public static d_gtk_spinner_start gtk_spinner_start = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_spinner_start"));
+
+#else
+
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern void gtk_spinner_start(IntPtr raw);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_gtk_spinner_stop(IntPtr raw);
+ public static d_gtk_spinner_stop gtk_spinner_stop = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_spinner_stop"));
+
+#else
+
+ [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
+ public static extern void gtk_spinner_stop(IntPtr raw);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_gtk_spinner_get_type();
+ public static d_gtk_spinner_get_type gtk_spinner_get_type = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_spinner_get_type"));
+
+#else
+
+ [DllImport(GtkInterop.LIBGTK)]
+ public static extern IntPtr gtk_spinner_get_type();
+#endif
+ }
+
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportPango.cs b/Xwt.Gtk/GtkInterop/DllImportPango.cs
new file mode 100644
index 000000000..7071c7bcd
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportPango.cs
@@ -0,0 +1,152 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Xwt.Interop {
+ public static class DllImportPango {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_style_new(Pango.Style style);
+ public static d_pango_attr_style_new pango_attr_style_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_style_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_style_new (Pango.Style style);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_stretch_new(Pango.Stretch stretch);
+ public static d_pango_attr_stretch_new pango_attr_stretch_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_stretch_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_stretch_new (Pango.Stretch stretch);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_weight_new(Pango.Weight weight);
+ public static d_pango_attr_weight_new pango_attr_weight_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_weight_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_weight_new (Pango.Weight weight);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_foreground_new(ushort red, ushort green, ushort blue);
+ public static d_pango_attr_foreground_new pango_attr_foreground_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_foreground_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_foreground_new (ushort red, ushort green, ushort blue);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_background_new(ushort red, ushort green, ushort blue);
+ public static d_pango_attr_background_new pango_attr_background_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_background_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_background_new (ushort red, ushort green, ushort blue);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_underline_new(Pango.Underline underline);
+ public static d_pango_attr_underline_new pango_attr_underline_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_underline_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_underline_new (Pango.Underline underline);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_strikethrough_new(bool strikethrough);
+ public static d_pango_attr_strikethrough_new pango_attr_strikethrough_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_strikethrough_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_strikethrough_new (bool strikethrough);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_font_desc_new(IntPtr desc);
+ public static d_pango_attr_font_desc_new pango_attr_font_desc_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_font_desc_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_font_desc_new (IntPtr desc);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_list_new();
+ public static d_pango_attr_list_new pango_attr_list_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_list_new"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_list_new ();
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_list_unref(IntPtr list);
+ public static d_pango_attr_list_unref pango_attr_list_unref = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_list_unref"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void pango_attr_list_unref (IntPtr list);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_list_insert(IntPtr list, IntPtr attr);
+ public static d_pango_attr_list_insert pango_attr_list_insert = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_list_insert"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void pango_attr_list_insert (IntPtr list, IntPtr attr);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_layout_set_attributes(IntPtr layout, IntPtr attrList);
+ public static d_pango_layout_set_attributes pango_layout_set_attributes = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_layout_set_attributes"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void pango_layout_set_attributes (IntPtr layout, IntPtr attrList);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_list_splice(IntPtr attr_list, IntPtr other, Int32 pos, Int32 len);
+ public static d_pango_attr_list_splice pango_attr_list_splice = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_list_splice"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void pango_attr_list_splice (IntPtr attr_list, IntPtr other, Int32 pos, Int32 len);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_size_new_absolute(int size);
+ public static d_pango_attr_size_new_absolute pango_attr_size_new_absolute = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_size_new_absolute"));
+
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_size_new_absolute (int size);
+#endif
+
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attribute_copy(IntPtr raw);
+ public static d_pango_attribute_copy pango_attribute_copy = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attribute_copy"));
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attribute_copy (IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_pango_attr_iterator_get(IntPtr raw, int type);
+ public static d_pango_attr_iterator_get pango_attr_iterator_get = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Pango), "pango_attr_iterator_get"));
+#else
+ [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr pango_attr_iterator_get (IntPtr raw, int type);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportPangoCairo.cs b/Xwt.Gtk/GtkInterop/DllImportPangoCairo.cs
new file mode 100644
index 000000000..49289377a
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportPangoCairo.cs
@@ -0,0 +1,17 @@
+using System.Runtime.InteropServices;
+
+namespace Xwt.Interop {
+ public static class DllImportPangoCairo {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate void d_pango_cairo_font_map_set_default(System.IntPtr fontmap);
+ public static d_pango_cairo_font_map_set_default pango_cairo_font_map_set_default = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.PangoCairo), "pango_cairo_font_map_set_default"));
+
+#else
+ [System.Runtime.InteropServices.DllImport (GtkInterop.LIBPANGOCAIRO)]
+ public static extern void pango_cairo_font_map_set_default (System.IntPtr fontmap);
+#endif
+
+
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkInterop/DllImportWebkit.cs b/Xwt.Gtk/GtkInterop/DllImportWebkit.cs
new file mode 100644
index 000000000..494326df3
--- /dev/null
+++ b/Xwt.Gtk/GtkInterop/DllImportWebkit.cs
@@ -0,0 +1,179 @@
+using System;
+using System.Runtime.InteropServices;
+using Xwt.GtkBackend;
+
+namespace Xwt.Interop {
+ public static class DllImportWebkit {
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_network_request_new(IntPtr uri);
+
+ public static d_webkit_network_request_new webkit_network_request_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_network_request_new"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_network_request_new(IntPtr uri);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_network_request_get_type();
+
+ public static d_webkit_network_request_get_type webkit_network_request_get_type = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_network_request_get_type"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_network_request_get_type();
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_network_request_get_uri(IntPtr raw);
+
+ public static d_webkit_network_request_get_uri webkit_network_request_get_uri = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_network_request_get_uri"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_network_request_get_uri(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_network_request_set_uri(IntPtr raw, IntPtr uri);
+
+ public static d_webkit_network_request_set_uri webkit_network_request_set_uri = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_network_request_set_uri"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_network_request_set_uri(IntPtr raw, IntPtr uri);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_web_view_new();
+
+ public static d_webkit_web_view_new webkit_web_view_new = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_new"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_web_view_new();
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_web_view_get_type();
+
+ public static d_webkit_web_view_get_type webkit_web_view_get_type = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_get_type"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_web_view_get_type();
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_load_uri(IntPtr raw, IntPtr uri);
+
+ public static d_webkit_web_view_load_uri webkit_web_view_load_uri = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_load_uri"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_load_uri(IntPtr raw, IntPtr uri);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_web_view_get_uri(IntPtr raw);
+
+ public static d_webkit_web_view_get_uri webkit_web_view_get_uri = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_get_uri"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_web_view_get_uri(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate bool d_webkit_web_view_get_full_content_zoom(IntPtr raw);
+
+ public static d_webkit_web_view_get_full_content_zoom webkit_web_view_get_full_content_zoom = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_get_full_content_zoom"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern bool webkit_web_view_get_full_content_zoom(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_set_full_content_zoom(IntPtr raw, bool full_content_zoom);
+
+ public static d_webkit_web_view_set_full_content_zoom webkit_web_view_set_full_content_zoom = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_set_full_content_zoom"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_set_full_content_zoom(IntPtr raw, bool full_content_zoom);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_stop_loading(IntPtr raw);
+
+ public static d_webkit_web_view_stop_loading webkit_web_view_stop_loading = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_stop_loading"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_stop_loading(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_reload(IntPtr raw);
+
+ public static d_webkit_web_view_reload webkit_web_view_reload = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_reload"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_reload(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate bool d_webkit_web_view_can_go_back(IntPtr raw);
+
+ public static d_webkit_web_view_can_go_back webkit_web_view_can_go_back = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_can_go_back"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern bool webkit_web_view_can_go_back(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_go_back(IntPtr raw);
+
+ public static d_webkit_web_view_go_back webkit_web_view_go_back = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_go_back"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_go_back(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate bool d_webkit_web_view_can_go_forward(IntPtr raw);
+
+ public static d_webkit_web_view_can_go_forward webkit_web_view_can_go_forward = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_can_go_forward"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern bool webkit_web_view_can_go_forward(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_go_forward(IntPtr raw);
+
+ public static d_webkit_web_view_go_forward webkit_web_view_go_forward = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_go_forward"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_go_forward(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void d_webkit_web_view_load_string(IntPtr raw, IntPtr content, IntPtr mime_type, IntPtr encoding, IntPtr base_uri);
+
+ public static d_webkit_web_view_load_string webkit_web_view_load_string = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_load_string"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern void webkit_web_view_load_string (IntPtr raw, IntPtr content, IntPtr mime_type, IntPtr encoding, IntPtr base_uri);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate IntPtr d_webkit_web_view_get_title(IntPtr raw);
+
+ public static d_webkit_web_view_get_title webkit_web_view_get_title = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_get_title"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern IntPtr webkit_web_view_get_title(IntPtr raw);
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate double d_webkit_web_view_get_progress(IntPtr raw);
+
+ public static d_webkit_web_view_get_progress webkit_web_view_get_progress = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.Webkit), "webkit_web_view_get_progress"));
+#else
+ [DllImport (GtkInterop.LIBWEBKIT)]
+ public static extern double webkit_web_view_get_progress(IntPtr raw);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkSharpInterop/FuncLoader.cs b/Xwt.Gtk/GtkSharpInterop/FuncLoader.cs
new file mode 100644
index 000000000..0a310861f
--- /dev/null
+++ b/Xwt.Gtk/GtkSharpInterop/FuncLoader.cs
@@ -0,0 +1,101 @@
+using System;
+using System.Runtime.InteropServices;
+
+class FuncLoader
+{
+ private class Windows
+ {
+ [DllImport("kernel32", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)]
+ public static extern IntPtr GetProcAddress(IntPtr hModule, string procName);
+
+ [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)]
+ public static extern IntPtr LoadLibraryW(string lpszLib);
+ }
+
+ private class Linux
+ {
+ [DllImport("libdl.so.2")]
+ public static extern IntPtr dlopen(string path, int flags);
+
+ [DllImport("libdl.so.2")]
+ public static extern IntPtr dlsym(IntPtr handle, string symbol);
+ }
+
+ private class OSX
+ {
+ [DllImport("/usr/lib/libSystem.dylib")]
+ public static extern IntPtr dlopen(string path, int flags);
+
+ [DllImport("/usr/lib/libSystem.dylib")]
+ public static extern IntPtr dlsym(IntPtr handle, string symbol);
+ }
+
+ [DllImport("libc")]
+ private static extern int uname(IntPtr buf);
+
+ private const int RTLD_LAZY = 0x0001;
+ private const int RTLD_GLOBAL = 0x0100;
+
+ public static bool IsWindows, IsOSX;
+
+ static FuncLoader()
+ {
+ switch (Environment.OSVersion.Platform)
+ {
+ case PlatformID.Win32NT:
+ case PlatformID.Win32S:
+ case PlatformID.Win32Windows:
+ case PlatformID.WinCE:
+ IsWindows = true;
+ break;
+ case PlatformID.MacOSX:
+ IsOSX = true;
+ break;
+ case PlatformID.Unix:
+ try
+ {
+ var buf = Marshal.AllocHGlobal(8192);
+ if (uname(buf) == 0 && Marshal.PtrToStringAnsi(buf) == "Darwin")
+ IsOSX = true;
+
+ Marshal.FreeHGlobal(buf);
+ }
+ catch { }
+
+ break;
+ }
+ }
+
+ public static IntPtr LoadLibrary(string libname)
+ {
+ if (IsWindows)
+ return Windows.LoadLibraryW(libname);
+
+ if (IsOSX)
+ return OSX.dlopen(libname, RTLD_GLOBAL | RTLD_LAZY);
+
+ return Linux.dlopen(libname, RTLD_GLOBAL | RTLD_LAZY);
+ }
+
+ public static IntPtr GetProcAddress(IntPtr library, string function)
+ {
+ var ret = IntPtr.Zero;
+
+ if (IsWindows)
+ ret = Windows.GetProcAddress(library, function);
+ else if (IsOSX)
+ ret = OSX.dlsym(library, function);
+ else
+ ret = Linux.dlsym(library, function);
+
+ return ret;
+ }
+
+ public static T LoadFunction(IntPtr procaddress)
+ {
+ if (procaddress == IntPtr.Zero)
+ return default(T);
+
+ return Marshal.GetDelegateForFunctionPointer(procaddress);
+ }
+}
diff --git a/Xwt.Gtk/GtkSharpInterop/GLibrary.cs b/Xwt.Gtk/GtkSharpInterop/GLibrary.cs
new file mode 100644
index 000000000..f4eb1e586
--- /dev/null
+++ b/Xwt.Gtk/GtkSharpInterop/GLibrary.cs
@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.InteropServices;
+
+class GLibrary
+{
+ [DllImport("kernel32.dll", SetLastError = true)]
+ private static extern bool SetDllDirectory(string lpPathName);
+
+ private static Dictionary _libraries;
+ private static Dictionary _customlibraries;
+ private static Dictionary _libraryDefinitions;
+
+ static GLibrary()
+ {
+ _customlibraries = new Dictionary();
+ _libraries = new Dictionary();
+ _libraryDefinitions = new Dictionary();
+ _libraryDefinitions[Library.GLib] = new[] { "libglib-2.0-0.dll", "libglib-2.0.so.0", "libglib-2.0.0.dylib", "glib-2.dll" };
+ _libraryDefinitions[Library.GObject] = new[] { "libgobject-2.0-0.dll", "libgobject-2.0.so.0", "libgobject-2.0.0.dylib", "gobject-2.dll" };
+ _libraryDefinitions[Library.Cairo] = new[] { "libcairo-2.dll", "libcairo.so.2", "libcairo.2.dylib", "cairo.dll" };
+ _libraryDefinitions[Library.Gio] = new[] { "libgio-2.0-0.dll", "libgio-2.0.so.0", "libgio-2.0.0.dylib", "gio-2.dll" };
+ _libraryDefinitions[Library.Atk] = new[] { "libatk-1.0-0.dll", "libatk-1.0.so.0", "libatk-1.0.0.dylib", "atk-1.dll" };
+ _libraryDefinitions[Library.Pango] = new[] { "libpango-1.0-0.dll", "libpango-1.0.so.0", "libpango-1.0.0.dylib", "pango-1.dll" };
+ _libraryDefinitions[Library.Gdk] = new[] { "libgdk-3-0.dll", "libgdk-3.so.0", "libgdk-3.0.dylib", "gdk-3.dll" };
+ _libraryDefinitions[Library.GdkPixbuf] = new[] { "libgdk_pixbuf-2.0-0.dll", "libgdk_pixbuf-2.0.so.0", "libgdk_pixbuf-2.0.dylib", "gdk_pixbuf-2.dll" };
+ _libraryDefinitions[Library.Gtk] = new[] { "libgtk-3-0.dll", "libgtk-3.so.0", "libgtk-3.0.dylib", "gtk-3.dll" };
+ _libraryDefinitions[Library.PangoCairo] = new[] { "libpangocairo-1.0-0.dll", "libpangocairo-1.0.so.0", "libpangocairo-1.0.0.dylib", "pangocairo-1.dll" };
+ _libraryDefinitions[Library.Fontconfig] = new[] { "fontconfig.dll", "libfontconfig.so.1", "libfontconfig.1.dylib", "fontconfig.dll" };
+ //
+ _libraryDefinitions[Library.Webkit] = new[] { "libwebkitgtk-3.0-0.dll", "libwebkitgtk-3.0.so.0", "libwebkitgtk-3.0.0.dylib", "libwebkitgtk-3.dll" };
+ }
+
+ public static IntPtr Load(Library library)
+ {
+ var ret = IntPtr.Zero;
+ if (_libraries.TryGetValue(library, out ret))
+ return ret;
+
+ if (FuncLoader.IsWindows)
+ {
+ ret = FuncLoader.LoadLibrary(_libraryDefinitions[library][0]);
+
+ if (ret == IntPtr.Zero)
+ {
+ SetDllDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Gtk", "3.24"));
+ ret = FuncLoader.LoadLibrary(_libraryDefinitions[library][0]);
+ }
+ }
+ else if (FuncLoader.IsOSX)
+ {
+ ret = FuncLoader.LoadLibrary(_libraryDefinitions[library][2]);
+
+ if (ret == IntPtr.Zero)
+ {
+ ret = FuncLoader.LoadLibrary("/usr/local/lib/" + _libraryDefinitions[library][2]);
+ }
+ }
+ else
+ ret = FuncLoader.LoadLibrary(_libraryDefinitions[library][1]);
+
+ if (ret == IntPtr.Zero)
+ {
+ for (int i = 0; i < _libraryDefinitions[library].Length; i++)
+ {
+ ret = FuncLoader.LoadLibrary(_libraryDefinitions[library][i]);
+
+ if (ret != IntPtr.Zero)
+ break;
+ }
+ }
+
+ if (ret == IntPtr.Zero)
+ {
+ var err = library + ": " + string.Join(", ", _libraryDefinitions[library]);
+ throw new DllNotFoundException(err);
+ }
+
+ _libraries[library] = ret;
+ return ret;
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkSharpInterop/GtkSharpWorkarounds.cs b/Xwt.Gtk/GtkSharpInterop/GtkSharpWorkarounds.cs
new file mode 100644
index 000000000..ffbd37cd9
--- /dev/null
+++ b/Xwt.Gtk/GtkSharpInterop/GtkSharpWorkarounds.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Runtime.InteropServices;
+using Gdk;
+using Gtk;
+using Xwt.CairoBackend;
+
+namespace Xwt.GtkBackend {
+ public static class GtkSharpWorkarounds {
+
+ public static Color ToGdkColor(this Gdk.RGBA color)=>new Color((byte)(color.Red * 255), (byte)(color.Green * 255), (byte)(color.Blue * 255));
+
+ static void TestGetting_abi_info(Gtk.Style it, Gtk.StateType state) {
+ unsafe {
+
+ var test = "black";
+ var raw_ptr1 = it.Handle + (int)Gtk.Style.abi_info.GetFieldOffset(test);
+ var z1 = Marshal.PtrToStructure(raw_ptr1, typeof(Gdk.Color));
+ var raw_ptr2 = (IntPtr*)(((byte*)it.Handle) + Gtk.Style.abi_info.GetFieldOffset(test));
+ var z2 = Gdk.Color.New ((*raw_ptr2));
+ var z3 = Marshal.PtrToStructure((*raw_ptr2), typeof(Gdk.Color)); ;
+
+ var bg = "bg";
+ var ptr_bg = it.Handle + (int)Gtk.Style.abi_info.GetFieldOffset(bg);
+ // seems to work:
+ var bgRes = Marshal.PtrToStructure(ptr_bg);
+
+ // crash:
+ if (false) {
+ var ptr_bg1 = (IntPtr*) (((byte*) it.Handle) + Gtk.Style.abi_info.GetFieldOffset(bg));
+ var bgRes1 = Marshal.PtrToStructure(*ptr_bg1, typeof(Gtk.Style.GtkStyle_bgAlign));
+ }
+ }
+ }
+ public static Gdk.Color Background(this Gtk.Style it, Gtk.StateType state) {
+ var ctx = it.Context;
+ var color = ctx.GetBackgroundColor(state.ToGtk3StateFlags());
+ var col = color.ToGdkColor();
+
+ if (false) {
+ TestGetting_abi_info(it, state);
+ }
+
+ return col;
+ }
+
+ public static Gdk.Color Dark(this Gtk.Style it, Gtk.StateType state)
+ {
+ // TODO
+ return it.Foreground(state);
+
+ }
+
+ public static Gdk.Color Foreground(this Gtk.Style it, Gtk.StateType state)
+ {
+ var ctx = it.Context;
+ var color = ctx.GetColor(state.ToGtk3StateFlags());
+ return color.ToGdkColor();
+ }
+
+ public static Gdk.Color Base(this Gtk.Style it, Gtk.StateType state)
+ {
+ // TODO
+ return it.Foreground(state);
+ }
+
+ public static void ModifyBase(this Gtk.Widget it, Gtk.StateType state, Gdk.Color color) {
+ // TODO
+ }
+
+ /*
+Pattern:
+
+#endif
+#if XWT_GTKSHARP3
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ public delegate IntPtr d_funcname(IntPtr raw, ...);
+ public static d_funcname funcname = FuncLoader.LoadFunction(FuncLoader.GetProcAddress(GLibrary.Load(Library.*), "funcname"));
+#else
+
+
+
+ */
+
+ }
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/GtkSharpInterop/Library.cs b/Xwt.Gtk/GtkSharpInterop/Library.cs
new file mode 100644
index 000000000..b02259f2d
--- /dev/null
+++ b/Xwt.Gtk/GtkSharpInterop/Library.cs
@@ -0,0 +1,16 @@
+
+enum Library
+{
+ GLib,
+ GObject,
+ Cairo,
+ Gio,
+ Atk,
+ Pango,
+ PangoCairo,
+ Gdk,
+ GdkPixbuf,
+ Gtk,
+ Fontconfig,
+ Webkit
+}
\ No newline at end of file
diff --git a/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRenderer.cs b/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRenderer.cs
index 22670f386..5ad76d193 100644
--- a/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRenderer.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRenderer.cs
@@ -153,6 +153,9 @@ protected override void OnRender (Cairo.Context cr, Gtk.Widget widget, Gdk.Recta
Parent.EndDrawing ();
}
+#if XWT_GTKSHARP3
+ // TODO GTKSHARP
+#else
protected override void OnGetSize (Gtk.Widget widget, ref Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out int height)
{
Size size = new Size ();
@@ -164,6 +167,7 @@ protected override void OnGetSize (Gtk.Widget widget, ref Gdk.Rectangle cell_are
height = (int) size.Height;
x_offset = y_offset = 0;
}
+#endif
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererImage.cs b/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererImage.cs
index ec2628933..a272307cb 100644
--- a/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererImage.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererImage.cs
@@ -87,6 +87,10 @@ protected override void OnRender (Cairo.Context cr, Gtk.Widget widget, Gdk.Recta
}
+
+#if XWT_GTKSHARP3
+ // TODO GTKSHARP
+#else
protected override void OnGetSize (Gtk.Widget widget, ref Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out int height)
{
if (image.IsNull) {
@@ -101,5 +105,6 @@ protected override void OnGetSize (Gtk.Widget widget, ref Gdk.Rectangle cell_are
} else
x_offset = y_offset = 0;
}
+#endif
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/FontBackendHandler.cs b/Xwt.Gtk/Xwt.GtkBackend/FontBackendHandler.cs
index 378586bdc..110ec143e 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/FontBackendHandler.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/FontBackendHandler.cs
@@ -30,7 +30,8 @@
using System.Globalization;
using System.Collections.Generic;
using System.Linq;
-
+using static Xwt.Interop.DllImportPangoCairo;
+using static Xwt.Interop.DllImportFontConfig;
namespace Xwt.GtkBackend
{
public class GtkFontBackendHandler: FontBackendHandler
@@ -42,10 +43,17 @@ static GtkFontBackendHandler ()
systemContext = Gdk.PangoHelper.ContextGet ();
}
+ Gtk.Style _style;
+
public override object GetSystemDefaultFont ()
{
+#if XWT_GTKSHARP3
+ _style = _style ?? (_style = Gtk.Rc.GetStyle (new Gtk.Label ()));
+ return _style?.FontDesc;
+#else
var style = Gtk.Rc.GetStyleByPaths (Gtk.Settings.Default, null, null, Gtk.Label.GType);
return style.FontDescription;
+#endif
}
public override IEnumerable GetInstalledFonts ()
@@ -77,12 +85,6 @@ public override object Create (string fontName, double size, FontStyle style, Fo
return result;
}
- [System.Runtime.InteropServices.DllImport (GtkInterop.LIBFONTCONFIG)]
- static extern bool FcConfigAppFontAddFile (System.IntPtr config, string fontPath);
-
- [System.Runtime.InteropServices.DllImport (GtkInterop.LIBPANGOCAIRO)]
- static extern void pango_cairo_font_map_set_default (System.IntPtr fontmap);
-
public override bool RegisterFontFromFile (string fontPath)
{
var result = AddFontFile (fontPath);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/FontSelectorBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/FontSelectorBackend.cs
index 5d0213907..d59db9eab 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/FontSelectorBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/FontSelectorBackend.cs
@@ -26,6 +26,8 @@
using System;
using Xwt.Backends;
using System.Runtime.InteropServices;
+using Xwt.Interop;
+using static Xwt.Interop.DllImportGtk;
namespace Xwt.GtkBackend
{
@@ -115,10 +117,6 @@ void HandleExposeEvent (object o, EventArgs args)
FontChanged (this, new EventArgs ());
}
}
-
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- private static extern IntPtr gtk_font_selection_get_preview_entry (IntPtr raw);
-
Gtk.Entry GetPreviewEntry ()
{
IntPtr intPtr = gtk_font_selection_get_preview_entry (base.Handle);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Gtk3Extensions.cs b/Xwt.Gtk/Xwt.GtkBackend/Gtk3Extensions.cs
index 42e47d637..c6708a46c 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/Gtk3Extensions.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/Gtk3Extensions.cs
@@ -27,6 +27,8 @@
using Xwt.Backends;
using System;
using System.Runtime.InteropServices;
+using static Xwt.Interop.DllImportGtk;
+using static Xwt.Interop.DllImportGdk;
using Gtk;
namespace Xwt.GtkBackend
@@ -58,9 +60,6 @@ public static void SetStateNormal(this Gtk.Widget widget)
widget.SetStateFlags(Gtk.StateFlags.Normal, true);
}
- [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gdk_pixbuf_get_from_surface (IntPtr surface, int src_x, int src_y, int width, int height);
-
public static Gdk.Pixbuf GetFromSurface (Cairo.Surface surface, int src_x, int src_y, int width, int height)
{
IntPtr raw_ret = gdk_pixbuf_get_from_surface (surface.Handle, src_x, src_y, width, height);
@@ -72,9 +71,6 @@ public static Gdk.Pixbuf GetFromSurface (Cairo.Surface surface, int src_x, int s
return ret;
}
- [DllImport (GtkInterop.LIBGDK)]
- static extern IntPtr gdk_pixbuf_get_from_window(IntPtr win, int src_x, int src_y, int width, int height);
-
public static Gdk.Pixbuf ToPixbuf (this Gdk.Window window, int src_x, int src_y, int width, int height)
{
IntPtr raw_ret = gdk_pixbuf_get_from_window(window.Handle, src_x, src_y, width, height);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Gtk3FontChooserDialog.cs b/Xwt.Gtk/Xwt.GtkBackend/Gtk3FontChooserDialog.cs
index 9e5daef4a..bd82c3543 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/Gtk3FontChooserDialog.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/Gtk3FontChooserDialog.cs
@@ -25,18 +25,13 @@
// THE SOFTWARE.
using System;
using System.Runtime.InteropServices;
+using static Xwt.Interop.DllImportGtk;
namespace Xwt.GtkBackend
{
public class Gtk3FontChooserDialog : Gtk.Dialog
{
-
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gtk_font_chooser_dialog_new(IntPtr title, IntPtr parent);
-
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gtk_font_chooser_widget_get_type();
-
+
public Gtk3FontChooserDialog (IntPtr raw) : base(raw)
{
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Gtk3ViewPort.cs b/Xwt.Gtk/Xwt.GtkBackend/Gtk3ViewPort.cs
index 93b47e7ed..ed3732602 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/Gtk3ViewPort.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/Gtk3ViewPort.cs
@@ -82,6 +82,13 @@ protected virtual void OnSetScrollAdjustments (Gtk.Adjustment hadj, Gtk.Adjustme
protected virtual void OnSizeRequested (ref Gtk.Requisition requisition)
{
}
+
+#if XWT_GTKSHARP3
+
+ bool Gtk.IScrollableImplementor.GetBorder (Gtk.Border border) {
+ return true;
+ }
+#endif
}
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkDesktopBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkDesktopBackend.cs
index 65bca951c..20274a386 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkDesktopBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkDesktopBackend.cs
@@ -35,12 +35,16 @@ public class GtkDesktopBackend: DesktopBackend
public GtkDesktopBackend ()
{
+#if XWT_GTKSHARP3
+ // TODO GTKSHARP3
+#else
Gdk.Screen.Default.SizeChanged += delegate {
OnScreensChanged ();
};
Gdk.Screen.Default.CompositedChanged += delegate {
OnScreensChanged ();
};
+#endif
}
public override Point GetMouseLocation ()
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
index 8d2f9bd57..e76b4e797 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkInterop.cs
@@ -29,30 +29,31 @@
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Xwt.Drawing;
+using static Xwt.Interop.DllImportPango;
namespace Xwt.GtkBackend
{
public static class GtkInterop
{
- internal const string LIBATK = "libatk-1.0-0.dll";
- internal const string LIBGLIB = "libglib-2.0-0.dll";
- internal const string LIBGOBJECT = "libgobject-2.0-0.dll";
- internal const string LIBPANGO = "libpango-1.0-0.dll";
- internal const string LIBPANGOCAIRO = "libpangocairo-1.0-0.dll";
- internal const string LIBFONTCONFIG = "fontconfig";
+ public const string LIBATK = "libatk-1.0-0.dll";
+ public const string LIBGLIB = "libglib-2.0-0.dll";
+ public const string LIBGOBJECT = "libgobject-2.0-0.dll";
+ public const string LIBPANGO = "libpango-1.0-0.dll";
+ public const string LIBPANGOCAIRO = "libpangocairo-1.0-0.dll";
+ public const string LIBFONTCONFIG = "fontconfig";
#if XWT_GTK3
- internal const string LIBGTK = "libgtk-3-0.dll";
- internal const string LIBGDK = "libgdk-3-0.dll";
- internal const string LIBGTKGLUE = "gtksharpglue-3";
- internal const string LIBGLIBGLUE = "glibsharpglue-3";
- internal const string LIBWEBKIT = "libwebkitgtk-3.0-0.dll";
+ public const string LIBGTK = "libgtk-3-0.dll";
+ public const string LIBGDK = "libgdk-3-0.dll";
+ public const string LIBGTKGLUE = "gtksharpglue-3";
+ public const string LIBGLIBGLUE = "glibsharpglue-3";
+ public const string LIBWEBKIT = "libwebkitgtk-3.0-0.dll";
#else
- internal const string LIBGTK = "libgtk-win32-2.0-0.dll";
- internal const string LIBGDK = "libgdk-win32-2.0-0.dll";
- internal const string LIBGTKGLUE = "gtksharpglue-2";
- internal const string LIBGLIBGLUE = "glibsharpglue-2";
- internal const string LIBWEBKIT = "libwebkitgtk-1.0-0.dll";
+ public const string LIBGTK = "libgtk-win32-2.0-0.dll";
+ public const string LIBGDK = "libgdk-win32-2.0-0.dll";
+ public const string LIBGTKGLUE = "gtksharpglue-2";
+ public const string LIBGLIBGLUE = "glibsharpglue-2";
+ public const string LIBWEBKIT = "libwebkitgtk-1.0-0.dll";
#endif
}
@@ -175,48 +176,6 @@ void Add (IntPtr attribute, uint start, uint end)
pango_attr_list_insert (list, attribute);
}
- [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_size_new_absolute (int size);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_style_new (Pango.Style style);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_stretch_new (Pango.Stretch stretch);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_weight_new (Pango.Weight weight);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_foreground_new (ushort red, ushort green, ushort blue);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_background_new (ushort red, ushort green, ushort blue);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_underline_new (Pango.Underline underline);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_strikethrough_new (bool strikethrough);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_font_desc_new (IntPtr desc);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern IntPtr pango_attr_list_new ();
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern void pango_attr_list_unref (IntPtr list);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern void pango_attr_list_insert (IntPtr list, IntPtr attr);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern void pango_layout_set_attributes (IntPtr layout, IntPtr attrList);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention=CallingConvention.Cdecl)]
- static extern void pango_attr_list_splice (IntPtr attr_list, IntPtr other, Int32 pos, Int32 len);
-
public void Splice (Pango.AttrList attrs, int pos, int len)
{
pango_attr_list_splice (list, attrs.Handle, pos, len);
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkWebKitMini.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkWebKitMini.cs
index 846d90fcd..8d9c77a7c 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkWebKitMini.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkWebKitMini.cs
@@ -25,6 +25,7 @@
// THE SOFTWARE.
using System;
using System.Runtime.InteropServices;
+using static Xwt.Interop.DllImportWebkit;
namespace Xwt.GtkBackend.WebKit
{
@@ -43,6 +44,13 @@ public WebView () : base (IntPtr.Zero)
Raw = webkit_web_view_new();
}
+#if XWT_GTKSHARP3
+
+ bool Gtk.IScrollable.GetBorder (Gtk.Border border) {
+ return true;
+ }
+#endif
+
public void LoadUri(string uri) {
IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
webkit_web_view_load_uri(Handle, native_uri);
@@ -278,51 +286,7 @@ internal static void Initialize ()
return ret;
}
}
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_web_view_new();
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_web_view_get_type();
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_load_uri(IntPtr raw, IntPtr uri);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_web_view_get_uri(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern bool webkit_web_view_get_full_content_zoom(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_set_full_content_zoom(IntPtr raw, bool full_content_zoom);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_stop_loading(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_reload(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern bool webkit_web_view_can_go_back(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_go_back(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern bool webkit_web_view_can_go_forward(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_go_forward(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_web_view_load_string (IntPtr raw, IntPtr content, IntPtr mime_type, IntPtr encoding, IntPtr base_uri);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_web_view_get_title(IntPtr raw);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern double webkit_web_view_get_progress(IntPtr raw);
+
}
@@ -364,17 +328,7 @@ static NetworkRequest ()
WebView.Initialize ();
}
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_network_request_new(IntPtr uri);
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_network_request_get_type();
-
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern IntPtr webkit_network_request_get_uri(IntPtr raw);
- [DllImport (GtkInterop.LIBWEBKIT)]
- static extern void webkit_network_request_set_uri(IntPtr raw, IntPtr uri);
}
public enum NavigationResponse {
diff --git a/Xwt.Gtk/Xwt.GtkBackend/GtkWorkarounds.cs b/Xwt.Gtk/Xwt.GtkBackend/GtkWorkarounds.cs
index 9247d858e..2daf79b8d 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/GtkWorkarounds.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/GtkWorkarounds.cs
@@ -30,6 +30,10 @@
using System.Collections.Generic;
using System.Reflection;
using System.Reflection.Emit;
+using static Xwt.Interop.DllImportGtk;
+using static Xwt.Interop.DllImportGdk;
+using static Xwt.Interop.DllImportPango;
+using static Xwt.Interop.DllImportGObj;
#if XWT_GTK3
using GtkTreeModel = Gtk.ITreeModel;
@@ -433,9 +437,7 @@ public static void AddValueClamped (this Gtk.Adjustment adj, double value)
{
adj.Value = System.Math.Max (adj.Lower, System.Math.Min (adj.Value + value, adj.Upper - adj.PageSize));
}
-
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- extern static bool gdk_event_get_scroll_deltas (IntPtr eventScroll, out double deltaX, out double deltaY);
+
static bool scrollDeltasNotSupported;
public static bool GetEventScrollDeltas (Gdk.EventScroll evt, out double deltaX, out double deltaY)
@@ -552,14 +554,6 @@ struct MappedKeys
public KeyboardShortcut[] Shortcuts;
}
- //introduced in GTK 2.20
- [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
- extern static void gdk_keymap_add_virtual_modifiers (IntPtr keymap, ref Gdk.ModifierType state);
-
- //Custom patch in Mono Mac w/GTK+ 2.24.8+
- [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
- extern static void gdk_quartz_set_fix_modifiers (bool fix);
-
static Gdk.Keymap keymap = Gdk.Keymap.Default;
static Dictionary mappedKeys = new Dictionary ();
@@ -841,7 +835,8 @@ public static void UpdateNativeShadow (Gtk.Window window)
static HashSet fixedContainerTypes;
static Dictionary forallCallbacks;
static bool containerLeakFixed;
-
+
+#if GTK2
// Works around BXC #3801 - Managed Container subclasses are incorrectly resurrected, then leak.
// It does this by registering an alternative callback for gtksharp_container_override_forall, which
// ignores callbacks if the wrapper no longer exists. This means that the objects no longer enter a
@@ -983,6 +978,7 @@ static ForallDelegate CreateForallCallback (IntPtr gtype)
return (ForallDelegate) dm.CreateDelegate (typeof (ForallDelegate));
}
+#endif
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
delegate void ForallDelegate (IntPtr container, bool include_internals, IntPtr cb, IntPtr data);
@@ -1026,12 +1022,6 @@ class ActivateLinkEventArgs : GLib.SignalArgs
static bool canSetOverlayScrollbarPolicy = true;
- [DllImport (GtkInterop.LIBGTK)]
- static extern void gtk_scrolled_window_set_overlay_policy (IntPtr sw, Gtk.PolicyType hpolicy, Gtk.PolicyType vpolicy);
-
- [DllImport (GtkInterop.LIBGTK)]
- static extern void gtk_scrolled_window_get_overlay_policy (IntPtr sw, out Gtk.PolicyType hpolicy, out Gtk.PolicyType vpolicy);
-
public static void SetOverlayScrollbarPolicy (Gtk.ScrolledWindow sw, Gtk.PolicyType hpolicy, Gtk.PolicyType vpolicy)
{
if (!canSetOverlayScrollbarPolicy) {
@@ -1061,9 +1051,6 @@ public static void GetOverlayScrollbarPolicy (Gtk.ScrolledWindow sw, out Gtk.Pol
canSetOverlayScrollbarPolicy = false;
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern bool gtk_tree_view_get_tooltip_context (IntPtr raw, ref int x, ref int y, bool keyboard_tip, out IntPtr model, out IntPtr path, IntPtr iter);
-
//the GTK# version of this has 'out' instead of 'ref', preventing passing the x,y values in
public static bool GetTooltipContext (this Gtk.TreeView tree, ref int x, ref int y, bool keyboardTip,
out GtkTreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter)
@@ -1079,9 +1066,6 @@ public static bool GetTooltipContext (this Gtk.TreeView tree, ref int x, ref int
return result;
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_image_menu_item_set_always_show_image (IntPtr menuitem, bool alwaysShow);
-
public static void ForceImageOnMenuItem (Gtk.ImageMenuItem mi)
{
if (GtkMajorVersion > 2 || GtkMajorVersion <= 2 && GtkMinorVersion >= 16)
@@ -1095,24 +1079,6 @@ public static void ForceImageOnMenuItem (Gtk.ImageMenuItem mi)
static bool supportsHiResIcons = true;
#endif
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_icon_source_set_scale (IntPtr source, double scale);
-
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_icon_source_set_scale_wildcarded (IntPtr source, bool setting);
-
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern double gtk_widget_get_scale_factor (IntPtr widget);
-
- [DllImport (GtkInterop.LIBGDK, CallingConvention = CallingConvention.Cdecl)]
- static extern double gdk_screen_get_monitor_scale_factor (IntPtr widget, int monitor);
-
- [DllImport (GtkInterop.LIBGOBJECT, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr g_object_get_data (IntPtr source, string name);
-
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gtk_icon_set_render_icon_scaled (IntPtr handle, IntPtr style, int direction, int state, int size, IntPtr widget, IntPtr intPtr, ref double scale);
-
public static bool SetSourceScale (Gtk.IconSource source, double scale)
{
if (!supportsHiResIcons)
@@ -1275,20 +1241,11 @@ public static Gtk.Box GetMessageArea(this Gtk.MessageDialog dialog)
#endif
}
-
- [DllImport(GtkInterop.LIBGOBJECT, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr g_signal_stop_emission_by_name(IntPtr raw, string name);
-
public static void StopSignal (this GLib.Object gobject, string signalid)
{
g_signal_stop_emission_by_name (gobject.Handle, signalid);
}
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gtk_binding_set_find (string setName);
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_binding_entry_remove (IntPtr bindingSet, uint keyval, Gdk.ModifierType modifiers);
-
public static void RemoveKeyBindingFromClass (GLib.GType gtype, Gdk.Key key, Gdk.ModifierType modifiers)
{
var bindingSet = gtk_binding_set_find (gtype.ToString ());
@@ -1301,9 +1258,6 @@ public static IntPtr GetData (GLib.Object o, string name)
return g_object_get_data (o.Handle, name);
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_object_set_data (IntPtr raw, IntPtr key, IntPtr data);
-
public static void SetData (GLib.Object gtkobject, string key, T data) where T : struct
{
IntPtr pkey = GLib.Marshaller.StringToPtrGStrdup (key);
@@ -1334,12 +1288,6 @@ public static IntPtr GetGtkWindowNativeHandle (Gtk.Window window)
return gdk_x11_drawable_get_xid (window.GdkWindow.Handle);
}
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- private static extern bool gtk_selection_data_set_uris(IntPtr raw, IntPtr[] uris);
-
- [DllImport(GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- private static extern IntPtr gtk_selection_data_get_uris(IntPtr raw);
-
public static bool SetUris(this Gtk.SelectionData data, string[] uris)
{
return gtk_selection_data_set_uris(data.Handle, GLib.Marshaller.StringArrayToNullTermPointer(uris));
@@ -1451,12 +1399,6 @@ public static bool GetTagForAttributes (this Pango.AttrIterator iter, string nam
return result;
}
- [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
- private static extern IntPtr pango_attribute_copy (IntPtr raw);
-
- [DllImport (GtkInterop.LIBPANGO, CallingConvention = CallingConvention.Cdecl)]
- private static extern IntPtr pango_attr_iterator_get (IntPtr raw, int type);
-
public static Pango.Attribute SafeGetCopy (this Pango.AttrIterator iter, Pango.AttrType type)
{
try {
diff --git a/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
index d4a3e42f0..298e46e91 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/LabelBackend.cs
@@ -31,7 +31,7 @@
using System.Runtime.InteropServices;
using System.Linq;
using System.Collections.Generic;
-
+using static Xwt.Interop.DllImportGtk;
namespace Xwt.GtkBackend
{
@@ -193,9 +193,6 @@ void HandleStyleUpdate (object sender, EventArgs e)
}
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention=CallingConvention.Cdecl)]
- static extern void gtk_label_set_attributes (IntPtr label, IntPtr attrList);
-
public Xwt.Drawing.Color TextColor {
get {
return textColor.HasValue ? textColor.Value : Widget.Style.Foreground (Gtk.StateType.Normal).ToXwtValue ();
diff --git a/Xwt.Gtk/Xwt.GtkBackend/MenuBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/MenuBackend.cs
index f104f7ae0..2470159f6 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/MenuBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/MenuBackend.cs
@@ -75,7 +75,11 @@ public Gtk.MenuBar MenuBar {
public virtual object Font {
get {
+#if XWT_GTKSHARP3
+ return customFont ?? menu.Style.FontDesc;
+#else
return customFont ?? menu.Style.FontDescription;
+#endif
}
set {
customFont = (Pango.FontDescription) value;
diff --git a/Xwt.Gtk/Xwt.GtkBackend/MenuButtonBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/MenuButtonBackend.cs
index 1bcb214b4..61b95b39b 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/MenuButtonBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/MenuButtonBackend.cs
@@ -108,13 +108,19 @@ void PositionFunc (Gtk.Menu mn, out int x, out int y, out bool push_in)
Gdk.Rectangle rect = w.Allocation;
x += rect.X;
y += rect.Y + rect.Height;
-
+
+#if XWT_GTKSHARP3
+ if (y + mn.ChildRequisition.Height > w.Screen.Height) {
+ y -= mn.ChildRequisition.Height;
+ y -= rect.Height;
+ }
+#else
//if the menu would be off the bottom of the screen, "drop" it upwards
if (y + mn.Requisition.Height > w.Screen.Height) {
y -= mn.Requisition.Height;
y -= rect.Height;
}
-
+#endif
//let GTK reposition the button if it still doesn't fit on the screen
push_in = true;
}
diff --git a/Xwt.Gtk/Xwt.GtkBackend/RichTextViewBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/RichTextViewBackend.cs
index d2cbbc559..3be0c6656 100755
--- a/Xwt.Gtk/Xwt.GtkBackend/RichTextViewBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/RichTextViewBackend.cs
@@ -547,7 +547,11 @@ Link GetLinkAtPos (double mousex, double mousey)
{
int x, y;
WindowToBufferCoords (Gtk.TextWindowType.Text, (int)mousex, (int)mousey, out x, out y);
+#if XWT_GTKSHARP3
+ GetIterAtLocation(out var iter, x, y);
+#else
var iter = GetIterAtLocation (x, y);
+#endif
if (Buffer != null) {
foreach (var l in Buffer.Links) {
if (iter.HasTag (l.Key)) {
diff --git a/Xwt.Gtk/Xwt.GtkBackend/SpinnerBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/SpinnerBackend.cs
index 43ddf403f..812f6a5eb 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/SpinnerBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/SpinnerBackend.cs
@@ -7,6 +7,7 @@
// Copyright (c) 2012 Xamarin, Inc.
using System;
using System.Runtime.InteropServices;
+using static Xwt.Interop.DllImportGtk;
using Xwt.Backends;
@@ -49,9 +50,6 @@ public class Spinner : Gtk.Widget
protected Spinner(GLib.GType gtype) : base(gtype) {}
#endif
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gtk_spinner_new();
-
public Spinner () : base(IntPtr.Zero)
{
if (GetType () != typeof(Spinner))
@@ -59,7 +57,7 @@ public Spinner () : base(IntPtr.Zero)
this.CreateNativeObject (new string[0], new GLib.Value[0]);
return;
}
- this.Raw = Spinner.gtk_spinner_new ();
+ this.Raw = gtk_spinner_new ();
}
[GLib.Property ("active")]
@@ -77,25 +75,17 @@ public bool Active {
}
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_spinner_start(IntPtr raw);
-
public void Start()
{
gtk_spinner_start(Handle);
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_spinner_stop(IntPtr raw);
public void Stop ()
{
gtk_spinner_stop(Handle);
}
-
- [DllImport(GtkInterop.LIBGTK)]
- static extern IntPtr gtk_spinner_get_type();
-
+
public static new GLib.GType GType {
get {
IntPtr raw_ret = gtk_spinner_get_type();
diff --git a/Xwt.Gtk/Xwt.GtkBackend/Util.cs b/Xwt.Gtk/Xwt.GtkBackend/Util.cs
index f63aa2cc4..7ccc41d6e 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/Util.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/Util.cs
@@ -31,7 +31,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
-
+using static Xwt.Interop.DllImportGtk;
+
namespace Xwt.GtkBackend
{
public static class Util
@@ -278,9 +279,6 @@ internal static void Dispose (this Cairo.Context cr)
((IDisposable)cr).Dispose ();
}
- [DllImport (GtkInterop.LIBGTK, CallingConvention = CallingConvention.Cdecl)]
- static extern void gtk_label_set_attributes (IntPtr label, IntPtr attrList);
-
internal static TextIndexer ApplyFormattedText(this Gtk.Label label, FormattedText text)
{
TextIndexer indexer = null;
diff --git a/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
index b62207afe..268e64a90 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/WidgetBackend.cs
@@ -347,7 +347,11 @@ public Point ConvertToScreenCoordinates (Point widgetCoordinates)
public virtual object Font {
get {
+#if XWT_GTKSHARP3
+ return customFont ?? Widget.Style.FontDesc;
+#else
return customFont ?? Widget.Style.FontDescription;
+#endif
}
set {
var fd = (Pango.FontDescription) value;
diff --git a/Xwt.Gtk/Xwt.GtkBackend/WindowBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/WindowBackend.cs
index c7d748df1..cc8d49213 100755
--- a/Xwt.Gtk/Xwt.GtkBackend/WindowBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/WindowBackend.cs
@@ -93,7 +93,11 @@ public void SetMainMenu (IMenuBackend menu)
MenuBackend m = (MenuBackend) menu;
mainMenu = m.MenuBar;
mainBox.PackStart (mainMenu, false, false, 0);
+#if XWT_GTKSHARP3
+ mainBox.ReorderChild(mainMenu,0);
+#else
((Gtk.Box.BoxChild)mainBox[mainMenu]).Position = 0;
+#endif
} else
mainMenu = null;
}
diff --git a/Xwt.Gtk/Xwt.Gtk.csproj b/Xwt.Gtk2/Xwt.Gtk.csproj
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk.csproj
rename to Xwt.Gtk2/Xwt.Gtk.csproj
diff --git a/Xwt.Gtk/Xwt.Gtk.dll.config b/Xwt.Gtk2/Xwt.Gtk.dll.config
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk.dll.config
rename to Xwt.Gtk2/Xwt.Gtk.dll.config
diff --git a/Xwt.Gtk/Xwt.Gtk.nuget.props b/Xwt.Gtk2/Xwt.Gtk.nuget.props
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk.nuget.props
rename to Xwt.Gtk2/Xwt.Gtk.nuget.props
diff --git a/Xwt.Gtk/Xwt.Gtk.nuspec b/Xwt.Gtk2/Xwt.Gtk.nuspec
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk.nuspec
rename to Xwt.Gtk2/Xwt.Gtk.nuspec
diff --git a/Xwt.Gtk2/Xwt.Gtk2.csproj b/Xwt.Gtk2/Xwt.Gtk2.csproj
new file mode 100644
index 000000000..2ab905e06
--- /dev/null
+++ b/Xwt.Gtk2/Xwt.Gtk2.csproj
@@ -0,0 +1,389 @@
+
+
+ net472
+ Xwt.Gtk
+ Xwt.Gtk
+ false
+
+
+ TRACE;DEBUG
+ true
+
+
+
+ TRACE;RELEASE
+ true
+
+
+ $(AssemblySearchPaths);{GAC}
+
+
+
+ Always
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AssemblyInfo.cs
+
+
+ Xwt.GtkBackend\TextLayoutBackendHandler.cs
+
+
+ Xwt.GtkBackend\MessageService.cs
+
+
+ Xwt.GtkBackend\ComboBoxBackend.cs
+
+
+ Xwt.GtkBackend\PanedBackend.cs
+
+
+ Xwt.GtkBackend\CheckBoxMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\CanvasBackendGtk2.cs
+
+
+ Xwt.GtkBackend\FontSelectorBackend.cs
+
+
+ Xwt.GtkBackend\SpinButtonBackend.cs
+
+
+ Xwt.GtkBackend\PasswordEntryBackendGtk2.cs
+
+
+ Xwt.GtkBackend\CustomTreeModel.cs
+
+
+ Xwt.GtkBackend\DialogBackend.cs
+
+
+ Xwt.GtkBackend\PopoverBackend.cs
+
+
+ Xwt.GtkBackend\ComboBoxEntryBackend.cs
+
+
+ Xwt.GtkBackend\ScrollAdjustmentBackend.cs
+
+
+ Xwt.GtkBackend\MenuItemBackend.cs
+
+
+ Xwt.GtkBackend\StatusIconBackend.cs
+
+
+ Xwt.GtkBackend\DatePickerBackend.cs
+
+
+ Xwt.GtkBackend\WebViewBackend.cs
+
+
+ Xwt.GtkBackend\TextEntryBackendGtk2.cs
+
+
+ Xwt.GtkBackend\HeaderBoxGtk2.cs
+
+
+ Xwt.GtkBackend\GtkWebKitMini.cs
+
+
+ Xwt.GtkBackend\HeaderBox.cs
+
+
+ Xwt.GtkBackend\Conversion.cs
+
+
+ Xwt.GtkBackend\NotebookBackend.cs
+
+
+ Xwt.GtkBackend\SelectColorDialogBackend.cs
+
+
+ Xwt.GtkBackend\TreeStoreBackend.cs
+
+
+ Xwt.GtkBackend\EmbeddedWidgetBackend.cs
+
+
+ Xwt.GtkBackend\LinkLabelBackend.cs
+
+
+ Xwt.GtkBackend\UtilityWindowBackend.cs
+
+
+ Xwt.GtkBackend\GtkMacInterop.cs
+
+
+ Xwt.GtkBackend\GtkDesktopBackend.cs
+
+
+ Xwt.GtkBackend\BoxBackend.cs
+
+
+ Xwt.GtkBackend\RadioButtonMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\SegmentedButtonBackend.cs
+
+
+ Xwt.GtkBackend\ToggleButtonBackend.cs
+
+
+ Xwt.GtkBackend\FrameBackend.cs
+
+
+ Xwt.GtkBackend\LabelBackend.cs
+
+
+ Xwt.GtkBackend\ButtonBackendGtk2.cs
+
+
+ Xwt.GtkBackend\Gtk2DrawingArea.cs
+
+
+ Xwt.GtkBackend\PopupWindowBackend.cs
+
+
+ Xwt.GtkBackend\SeparatorMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\Util.cs
+
+
+ Xwt.GtkBackend\ColorSelectorBackend.cs
+
+
+ Xwt.GtkBackend\GtkPlatformBackend.cs
+
+
+ Xwt.GtkBackend\MenuButtonBackend.cs
+
+
+ Xwt.GtkBackend\WindowFrameBackend.cs
+
+
+ Xwt.GtkBackend\ExpanderBackend.cs
+
+
+ Xwt.GtkBackend\ClipboardBackend.cs
+
+
+ Xwt.GtkBackend\GtkWorkarounds.cs
+
+
+ Xwt.GtkBackend\ImageViewBackend.cs
+
+
+ Xwt.GtkBackend\SeparatorBackend.cs
+
+
+ Xwt.GtkBackend\SelectFontDialogBackend.cs
+
+
+ Xwt.GtkBackend\GtkEngine.cs
+
+
+ Xwt.GtkBackend\TableViewBackend.cs
+
+
+ Xwt.GtkBackend\ScrollViewBackend.cs
+
+
+ Xwt.GtkBackend\PasswordEntryBackend.cs
+
+
+ Xwt.GtkBackend\GtkKeyboardHandler.cs
+
+
+ Xwt.GtkBackend\TextEntryBackend.cs
+
+
+ Xwt.GtkBackend\SearchTextEntryBackend.cs
+
+
+ Xwt.GtkBackend\AlertDialogBackend.cs
+
+
+ Xwt.GtkBackend\CalendarBackend.cs
+
+
+ Xwt.GtkBackend\CustomListModel.cs
+
+
+ Xwt.GtkBackend\ScrollControlBackend.cs
+
+
+ Xwt.GtkBackend\TextWrapper.cs
+
+
+ Xwt.GtkBackend\WindowBackend.cs
+
+
+ Xwt.GtkBackend\ProgressBarBackend.cs
+
+
+ Xwt.GtkBackend\ScrollbarBackend.cs
+
+
+ Xwt.GtkBackend\RadioButtonBackend.cs
+
+
+ Xwt.GtkBackend\ImageHandler.cs
+
+
+ Xwt.GtkBackend\DesignerSurfaceBackend.cs
+
+
+ Xwt.GtkBackend\ButtonBackend.cs
+
+
+ Xwt.GtkBackend\SpinButtonBackendGtk2.cs
+
+
+ Xwt.GtkBackend\RichTextViewBackend.cs
+
+
+ Xwt.GtkBackend\LabelBackendGtk2.cs
+
+
+ Xwt.GtkBackend\ListViewBackend.cs
+
+
+ Xwt.GtkBackend\Gtk2PopoverWindow.cs
+
+
+ Xwt.GtkBackend\TreeViewBackend.cs
+
+
+ Xwt.GtkBackend\FontBackendHandler.cs
+
+
+ Xwt.GtkBackend\CustomWidgetBackend.cs
+
+
+ Xwt.GtkBackend\GtkInterop.cs
+
+
+ Xwt.GtkBackend\WidgetBackend.cs
+
+
+ Xwt.GtkBackend\Gtk2Extensions.cs
+
+
+ Xwt.GtkBackend\Gtk2ViewPort.cs
+
+
+ Xwt.GtkBackend\ImageBuilderBackend.cs
+
+
+ Xwt.GtkBackend\FileDialogBackend.cs
+
+
+ Xwt.GtkBackend\ImagePatternBackendHandler.cs
+
+
+ Xwt.GtkBackend\Platform.cs
+
+
+ Xwt.GtkBackend\SpinnerBackend.cs
+
+
+ Xwt.GtkBackend\GtkAlertDialog.cs
+
+
+ Xwt.GtkBackend\CanvasBackend.cs
+
+
+ Xwt.GtkBackend\SliderBackend.cs
+
+
+ Xwt.GtkBackend\BoxBackendGtk2.cs
+
+
+ Xwt.GtkBackend\ListBoxBackend.cs
+
+
+ Xwt.GtkBackend\CheckBoxBackend.cs
+
+
+ Xwt.GtkBackend\TableStoreBackend.cs
+
+
+ Xwt.GtkBackend\WidgetBackendGtk2.cs
+
+
+ Xwt.GtkBackend\ColorPickerBackend.cs
+
+
+ Xwt.GtkBackend\MenuBackend.cs
+
+
+ Xwt.GtkBackend\ListStoreBackend.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRenderer.cs
+
+
+ Xwt.GtkBackend.CellViews\CellViewBackend.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererText.cs
+
+
+ Xwt.GtkBackend.CellViews\Gtk2CellRendererCustom.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererComboBox.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererImage.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererToggle.cs
+
+
+ Xwt.GtkBackend.CellViews\CellUtil.cs
+
+
+ Xwt.CairoBackend\CairoConversion.cs
+
+
+ Xwt.CairoBackend\CairoGradientBackendHandler.cs
+
+
+ Xwt.CairoBackend\CairoContextBackendHandler.cs
+
+
+ Limaki.Extended\ComboBoxBackend.cs
+
+
+ Limaki.Extended\GtkClipboardBackend.cs
+
+
+ Limaki.Extended\WidgetBackend.cs
+
+
+ Limaki.Extended\TextEntryMultiLineBackend.cs
+
+
+
+
+
+
diff --git a/Xwt.Gtk/Xwt.Gtk3.csproj b/Xwt.Gtk3/Xwt.Gtk3-mono.csproj
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk3.csproj
rename to Xwt.Gtk3/Xwt.Gtk3-mono.csproj
diff --git a/Xwt.Gtk3/Xwt.Gtk3.csproj b/Xwt.Gtk3/Xwt.Gtk3.csproj
new file mode 100644
index 000000000..5a492b889
--- /dev/null
+++ b/Xwt.Gtk3/Xwt.Gtk3.csproj
@@ -0,0 +1,402 @@
+
+
+ net472
+ Xwt.Gtk3
+ Xwt.Gtk3
+ false
+
+
+ TRACE;DEBUG;XWT_GTK3
+ true
+
+
+
+ TRACE;RELEASE;XWT_GTK3
+ true
+
+
+ $(AssemblySearchPaths);{GAC}
+
+
+
+
+ Always
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Xwt.Gtk\AssemblyInfo.Gtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TextLayoutBackendHandler.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\MessageService.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PasswordEntryBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ComboBoxBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PanedBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CheckBoxMenuItemBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\FontSelectorBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SpinButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SearchTextEntryBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CustomTreeModel.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\DialogBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PopoverBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ComboBoxEntryBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\BoxBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ScrollAdjustmentBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\MenuItemBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\LabelBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\StatusIconBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\DatePickerBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\WebViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkWebKitMini.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ButtonBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\HeaderBox.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Conversion.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\NotebookBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SelectColorDialogBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TreeStoreBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\EmbeddedWidgetBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\LinkLabelBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SpinButtonBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PanedBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\UtilityWindowBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkMacInterop.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkDesktopBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\BoxBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\RadioButtonMenuItemBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SegmentedButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ToggleButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\FrameBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\LabelBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PopupWindowBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SeparatorMenuItemBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Util.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ColorSelectorBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkPlatformBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\MenuButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TextEntryBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\WindowFrameBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ExpanderBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ClipboardBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Gtk3Extensions.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\WidgetBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkWorkarounds.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ImageViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SeparatorBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SelectFontDialogBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkEngine.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TableViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ScrollViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\PasswordEntryBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkKeyboardHandler.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TextEntryBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\AlertDialogBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CalendarBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CustomListModel.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ScrollControlBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TextWrapper.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\WindowBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ProgressBarBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ScrollbarBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Gtk3ViewPort.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\RadioButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ImageHandler.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\DesignerSurfaceBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ButtonBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\RichTextViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ListViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TreeViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\FontBackendHandler.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CustomWidgetBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkInterop.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\WidgetBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ImageBuilderBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Gtk3DrawingArea.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\FileDialogBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ImagePatternBackendHandler.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Platform.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SpinnerBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\GtkAlertDialog.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CanvasBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\SliderBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ListBoxBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CheckBoxBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\TableStoreBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Gtk3FontChooserDialog.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\HeaderBoxGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\Gtk3PopoverWindow.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\CanvasBackendGtk3.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ColorPickerBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\MenuBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend\ListStoreBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CustomCellRenderer.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CellViewBackend.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CustomCellRendererText.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CustomCellRendererComboBox.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CustomCellRendererImage.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\Gtk3CellRendererCustom.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CustomCellRendererToggle.cs
+
+
+ Xwt.Gtk\Xwt.GtkBackend.CellViews\CellUtil.cs
+
+
+ Xwt.Gtk\Xwt.CairoBackend\CairoConversion.cs
+
+
+ Xwt.Gtk\Xwt.CairoBackend\CairoGradientBackendHandler.cs
+
+
+ Xwt.Gtk\Xwt.CairoBackend\CairoContextBackendHandler.cs
+
+
+ Xwt.Gtk\Limaki.Extended\ComboBoxBackend.cs
+
+
+ Xwt.Gtk\Limaki.Extended\TextEntryMultiLineBackend1.cs
+
+
+ Xwt.Gtk\Limaki.Extended\GtkClipboardBackend.cs
+
+
+ Xwt.Gtk\Limaki.Extended\WidgetBackend.cs
+
+
+ Xwt.Gtk\Limaki.Extended\TextEntryMultiLineBackend.cs
+
+
+
+
+
+
+
+
diff --git a/Xwt.Gtk/Xwt.Gtk3.dll.config b/Xwt.Gtk3/Xwt.Gtk3.dll.config
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk3.dll.config
rename to Xwt.Gtk3/Xwt.Gtk3.dll.config
diff --git a/Xwt.Gtk/Xwt.Gtk3.nuget.props b/Xwt.Gtk3/Xwt.Gtk3.nuget.props
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk3.nuget.props
rename to Xwt.Gtk3/Xwt.Gtk3.nuget.props
diff --git a/Xwt.Gtk/Xwt.Gtk3.nuspec b/Xwt.Gtk3/Xwt.Gtk3.nuspec
similarity index 100%
rename from Xwt.Gtk/Xwt.Gtk3.nuspec
rename to Xwt.Gtk3/Xwt.Gtk3.nuspec
diff --git a/Xwt.GtkSharp/Xwt.GtkSharp.csproj b/Xwt.GtkSharp/Xwt.GtkSharp.csproj
new file mode 100644
index 000000000..7a4749f7a
--- /dev/null
+++ b/Xwt.GtkSharp/Xwt.GtkSharp.csproj
@@ -0,0 +1,451 @@
+
+
+ netstandard2.0
+ Xwt.Gtk3
+ Xwt.Gtk3
+ 8
+ false
+
+
+ TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;XWT_GTK3;XWT_GTKSHARP3
+ true
+
+
+
+ TRACE;RELEASE;NETSTANDARD;NETSTANDARD2_0;XWT_GTK3;XWT_GTKSHARP3
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Limaki.Extended\ComboBoxBackend.cs
+
+
+ Limaki.Extended\TextEntryMultiLineBackend1.cs
+
+
+ Limaki.Extended\GtkClipboardBackend.cs
+
+
+ Limaki.Extended\WidgetBackend.cs
+
+
+ Limaki.Extended\TextEntryMultiLineBackend.cs
+
+
+
+
+ GtkInterop\DllImportFontConfig.cs
+
+
+ GtkInterop\DllImportGdk.cs
+
+
+ GtkInterop\DllImportGObj.cs
+
+
+ GtkInterop\DllImportGtk.cs
+
+
+ GtkInterop\DllImportPango.cs
+
+
+ GtkInterop\DllImportPangoCairo.cs
+
+
+ GtkInterop\DllImportWebkit.cs
+
+
+ GtkSharpInterop\GtkSharpWorkarounds.cs
+
+
+ GtkSharpInterop\Library.cs
+
+
+ GtkSharpInterop\GLibrary.cs
+
+
+ GtkSharpInterop\FuncLoader.cs
+
+
+
+
+ AssemblyInfo.Gtk3.cs
+
+
+ Xwt.GtkBackend\AccessibleBackend.cs
+
+
+ Xwt.GtkBackend\TextLayoutBackendHandler.cs
+
+
+ Xwt.GtkBackend\MessageService.cs
+
+
+ Xwt.GtkBackend\PasswordEntryBackendGtk3.cs
+
+
+ Xwt.GtkBackend\ComboBoxBackend.cs
+
+
+ Xwt.GtkBackend\PanedBackend.cs
+
+
+ Xwt.GtkBackend\CheckBoxMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\FontSelectorBackend.cs
+
+
+ Xwt.GtkBackend\SpinButtonBackend.cs
+
+
+ Xwt.GtkBackend\SearchTextEntryBackendGtk3.cs
+
+
+ Xwt.GtkBackend\CustomTreeModel.cs
+
+
+ Xwt.GtkBackend\DialogBackend.cs
+
+
+ Xwt.GtkBackend\PopoverBackend.cs
+
+
+ Xwt.GtkBackend\ComboBoxEntryBackend.cs
+
+
+ Xwt.GtkBackend\BoxBackendGtk3.cs
+
+
+ Xwt.GtkBackend\ScrollAdjustmentBackend.cs
+
+
+ Xwt.GtkBackend\MenuItemBackend.cs
+
+
+ Xwt.GtkBackend\LabelBackendGtk3.cs
+
+
+ Xwt.GtkBackend\StatusIconBackend.cs
+
+
+ Xwt.GtkBackend\DatePickerBackend.cs
+
+
+ Xwt.GtkBackend\WebViewBackend.cs
+
+
+ Xwt.GtkBackend\GtkWebKitMini.cs
+
+
+ Xwt.GtkBackend\ButtonBackendGtk3.cs
+
+
+ Xwt.GtkBackend\HeaderBox.cs
+
+
+ Xwt.GtkBackend\Conversion.cs
+
+
+ Xwt.GtkBackend\NotebookBackend.cs
+
+
+ Xwt.GtkBackend\SelectColorDialogBackend.cs
+
+
+ Xwt.GtkBackend\TreeStoreBackend.cs
+
+
+ Xwt.GtkBackend\EmbeddedWidgetBackend.cs
+
+
+ Xwt.GtkBackend\LinkLabelBackend.cs
+
+
+ Xwt.GtkBackend\SpinButtonBackendGtk3.cs
+
+
+ Xwt.GtkBackend\PanedBackendGtk3.cs
+
+
+ Xwt.GtkBackend\UtilityWindowBackend.cs
+
+
+ Xwt.GtkBackend\GtkMacInterop.cs
+
+
+ Xwt.GtkBackend\GtkDesktopBackend.cs
+
+
+ Xwt.GtkBackend\BoxBackend.cs
+
+
+ Xwt.GtkBackend\RadioButtonMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\SegmentedButtonBackend.cs
+
+
+ Xwt.GtkBackend\ToggleButtonBackend.cs
+
+
+ Xwt.GtkBackend\FrameBackend.cs
+
+
+ Xwt.GtkBackend\LabelBackend.cs
+
+
+ Xwt.GtkBackend\PopupWindowBackend.cs
+
+
+ Xwt.GtkBackend\SeparatorMenuItemBackend.cs
+
+
+ Xwt.GtkBackend\Util.cs
+
+
+ Xwt.GtkBackend\ColorSelectorBackend.cs
+
+
+ Xwt.GtkBackend\GtkPlatformBackend.cs
+
+
+ Xwt.GtkBackend\MenuButtonBackend.cs
+
+
+ Xwt.GtkBackend\TextEntryBackendGtk3.cs
+
+
+ Xwt.GtkBackend\WindowFrameBackend.cs
+
+
+ Xwt.GtkBackend\ExpanderBackend.cs
+
+
+ Xwt.GtkBackend\ClipboardBackend.cs
+
+
+ Xwt.GtkBackend\Gtk3Extensions.cs
+
+
+ Xwt.GtkBackend\WidgetBackendGtk3.cs
+
+
+ Xwt.GtkBackend\GtkWorkarounds.cs
+
+
+ Xwt.GtkBackend\ImageViewBackend.cs
+
+
+ Xwt.GtkBackend\SeparatorBackend.cs
+
+
+ Xwt.GtkBackend\SelectFontDialogBackend.cs
+
+
+ Xwt.GtkBackend\GtkEngine.cs
+
+
+ Xwt.GtkBackend\TableViewBackend.cs
+
+
+ Xwt.GtkBackend\ScrollViewBackend.cs
+
+
+ Xwt.GtkBackend\PasswordEntryBackend.cs
+
+
+ Xwt.GtkBackend\GtkKeyboardHandler.cs
+
+
+ Xwt.GtkBackend\TextEntryBackend.cs
+
+
+ Xwt.GtkBackend\AlertDialogBackend.cs
+
+
+ Xwt.GtkBackend\CalendarBackend.cs
+
+
+ Xwt.GtkBackend\CustomListModel.cs
+
+
+ Xwt.GtkBackend\ScrollControlBackend.cs
+
+
+ Xwt.GtkBackend\WindowBackend.cs
+
+
+ Xwt.GtkBackend\ProgressBarBackend.cs
+
+
+ Xwt.GtkBackend\ScrollbarBackend.cs
+
+
+ Xwt.GtkBackend\Gtk3ViewPort.cs
+
+
+ Xwt.GtkBackend\RadioButtonBackend.cs
+
+
+ Xwt.GtkBackend\ImageHandler.cs
+
+
+ Xwt.GtkBackend\DesignerSurfaceBackend.cs
+
+
+ Xwt.GtkBackend\ButtonBackend.cs
+
+
+ Xwt.GtkBackend\RichTextViewBackend.cs
+
+
+ Xwt.GtkBackend\ListViewBackend.cs
+
+
+ Xwt.GtkBackend\TreeViewBackend.cs
+
+
+ Xwt.GtkBackend\FontBackendHandler.cs
+
+
+ Xwt.GtkBackend\CustomWidgetBackend.cs
+
+
+ Xwt.GtkBackend\GtkInterop.cs
+
+
+ Xwt.GtkBackend\WidgetBackend.cs
+
+
+ Xwt.GtkBackend\ImageBuilderBackend.cs
+
+
+ Xwt.GtkBackend\Gtk3DrawingArea.cs
+
+
+ Xwt.GtkBackend\FileDialogBackend.cs
+
+
+ Xwt.GtkBackend\ImagePatternBackendHandler.cs
+
+
+ Xwt.GtkBackend\Platform.cs
+
+
+ Xwt.GtkBackend\SpinnerBackend.cs
+
+
+ Xwt.GtkBackend\GtkAlertDialog.cs
+
+
+ Xwt.GtkBackend\CanvasBackend.cs
+
+
+ Xwt.GtkBackend\SliderBackend.cs
+
+
+ Xwt.GtkBackend\ListBoxBackend.cs
+
+
+ Xwt.GtkBackend\CheckBoxBackend.cs
+
+
+ Xwt.GtkBackend\TableStoreBackend.cs
+
+
+ Xwt.GtkBackend\Gtk3FontChooserDialog.cs
+
+
+ Xwt.GtkBackend\HeaderBoxGtk3.cs
+
+
+ Xwt.GtkBackend\Gtk3PopoverWindow.cs
+
+
+ Xwt.GtkBackend\CanvasBackendGtk3.cs
+
+
+ Xwt.GtkBackend\ColorPickerBackend.cs
+
+
+ Xwt.GtkBackend\MenuBackend.cs
+
+
+ Xwt.GtkBackend\ListStoreBackend.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRenderer.cs
+
+
+ Xwt.GtkBackend.CellViews\CellViewBackend.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererText.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererComboBox.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererImage.cs
+
+
+ Xwt.GtkBackend.CellViews\Gtk3CellRendererCustom.cs
+
+
+ Xwt.GtkBackend.CellViews\CustomCellRendererToggle.cs
+
+
+ Xwt.GtkBackend.CellViews\CellUtil.cs
+
+
+ Xwt.CairoBackend\CairoConversion.cs
+
+
+ Xwt.CairoBackend\CairoGradientBackendHandler.cs
+
+
+ Xwt.CairoBackend\CairoContextBackendHandler.cs
+
+
+
+
+
+
+
+ ..\libs\GtkSharp\AtkSharp.dll
+
+
+ ..\libs\GtkSharp\CairoSharp.dll
+
+
+ ..\libs\GtkSharp\GdkSharp.dll
+
+
+ ..\libs\GtkSharp\GioSharp.dll
+
+
+ ..\libs\GtkSharp\GLibSharp.dll
+
+
+ ..\libs\GtkSharp\GtkSharp.dll
+
+
+ ..\libs\GtkSharp\PangoSharp.dll
+
+
+
+
+
diff --git a/Xwt.sln b/Xwt.sln
index b780052d4..f0208db7b 100644
--- a/Xwt.sln
+++ b/Xwt.sln
@@ -1,301 +1,288 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt", "Xwt\Xwt.csproj", "{92494904-35FA-4DC9-BDE9-3A3E87AC49D3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk", "Xwt.Gtk\Xwt.Gtk.csproj", "{C3887A93-B2BD-4097-8E2F-3A063EFF32FD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.XamMac", "Xwt.XamMac\Xwt.XamMac.csproj", "{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.WPF", "Xwt.WPF\Xwt.WPF.csproj", "{C93D746E-1586-4D4F-B411-BF5A966E6A08}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Testing", "Testing", "{164E1FED-7688-4AE9-B19B-012F8784F9DD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkTestRunner", "Testing\GtkTestRunner.csproj", "{BC764278-4141-483C-8643-2EA8C40373B2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfTestRunner", "Testing\WpfTestRunner.csproj", "{C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{83D74DDF-581E-4E2A-AE02-F4047A5B96C7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkTest", "TestApps\GtkTest\GtkTest.csproj", "{0AF50CE4-E455-4A9D-92AD-711CBD068A55}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamMacTest", "TestApps\XamMacTest\XamMacTest.csproj", "{2B7FF081-FE53-42F7-9D5D-D4B38E548F94}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfTest", "TestApps\WpfTest\WpfTest.csproj", "{E41F4448-15C3-4E95-B310-FD333FDF5D2F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MixedGtkMacTest", "TestApps\MixedGtkMacTest\MixedGtkMacTest.csproj", "{14CF6E75-0D08-4BBD-B0F5-742196E5656D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkOnMacTest", "TestApps\GtkOnMacTest\GtkOnMacTest.csproj", "{5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples", "TestApps\Samples\Samples.csproj", "{88C04B85-B69B-47B4-AB9F-64F6DD4E0897}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkOnWindowsTest", "TestApps\GtkOnWindowsTest\GtkOnWindowsTest.csproj", "{C1DF0C90-0C4C-4AB5-A45C-A1805587A844}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gtk3Test", "TestApps\Gtk3Test\Gtk3Test.csproj", "{22524E1F-A94D-4204-AD90-A5FFE73970EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk.Mac", "Xwt.Gtk.Mac\Xwt.Gtk.Mac.csproj", "{E95833C9-90AA-4366-9262-0A1BED148249}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk.Windows", "Xwt.Gtk.Windows\Xwt.Gtk.Windows.csproj", "{252117CA-0ABB-4F36-BFC8-DE23A8089BB9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk3", "Xwt.Gtk\Xwt.Gtk3.csproj", "{3B25FD1F-CEBA-4450-8893-DC330FDB56A7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CoreTests", "Testing\CoreTests\CoreTests.csproj", "{F0C03C12-F08A-4378-958D-86DD4CFE966F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Mac-Debug|Any CPU = Mac-Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- Win-Debug|Any CPU = Win-Debug|Any CPU
- Win-Debug|x86 = Win-Debug|x86
- Debug|x86 = Debug|x86
- Linux-Debug|Any CPU = Linux-Debug|Any CPU
- Linux-Debug|x86 = Linux-Debug|x86
- Mac-Debug|x86 = Mac-Debug|x86
- Release|x86 = Release|x86
- XamMac-Debug|Any CPU = XamMac-Debug|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Release|Any CPU.Build.0 = Release|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Win-Debug|Any CPU.Build.0 = Debug|x86
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Release|Any CPU.Build.0 = Release|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Debug|x86.ActiveCfg = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Debug|x86.Build.0 = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Linux-Debug|x86.ActiveCfg = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Linux-Debug|x86.Build.0 = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Mac-Debug|x86.ActiveCfg = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Mac-Debug|x86.Build.0 = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Release|x86.ActiveCfg = Release|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Release|x86.Build.0 = Release|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.Win-Debug|x86.ActiveCfg = Debug|x86
- {22524E1F-A94D-4204-AD90-A5FFE73970EC}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Release|Any CPU.Build.0 = Release|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|Any CPU.Build.0 = Release|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|x86.Build.0 = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|x86.Build.0 = Debug|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|x86.ActiveCfg = Release|Any CPU
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|x86.Build.0 = Release|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Debug|x86.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Debug|x86.Build.0 = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Linux-Debug|x86.Build.0 = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Mac-Debug|x86.Build.0 = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Release|Any CPU.Build.0 = Release|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Release|x86.ActiveCfg = Release|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Release|x86.Build.0 = Release|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
- {3B25FD1F-CEBA-4450-8893-DC330FDB56A7}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Release|Any CPU.Build.0 = Release|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Release|Any CPU.Build.0 = Release|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Release|Any CPU.Build.0 = Release|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|Any CPU.Build.0 = Release|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|x86.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|x86.Build.0 = Debug|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|x86.ActiveCfg = Release|Any CPU
- {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|x86.Build.0 = Release|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Release|Any CPU.Build.0 = Release|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC764278-4141-483C-8643-2EA8C40373B2}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Debug|Any CPU.ActiveCfg = Debug|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Mac-Debug|Any CPU.ActiveCfg = Debug|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Release|Any CPU.ActiveCfg = Release|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Release|Any CPU.Build.0 = Release|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Win-Debug|Any CPU.Build.0 = Debug|x86
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Debug|Any CPU.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|Any CPU.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|Any CPU.Build.0 = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|x86.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|x86.Build.0 = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Release|Any CPU.ActiveCfg = Release|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Release|Any CPU.Build.0 = Release|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|Any CPU.Build.0 = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|x86.ActiveCfg = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|x86.Build.0 = Debug|x86
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.XamMac-Debug|Any CPU.ActiveCfg = Debug|x86
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Debug|x86.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Linux-Debug|x86.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Mac-Debug|x86.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Release|Any CPU.Build.0 = Release|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Release|x86.ActiveCfg = Release|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Release|x86.Build.0 = Release|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3887A93-B2BD-4097-8E2F-3A063EFF32FD}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Release|Any CPU.Build.0 = Release|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {C93D746E-1586-4D4F-B411-BF5A966E6A08}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Release|Any CPU.Build.0 = Release|Any CPU
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Win-Debug|Any CPU.Build.0 = Debug|x86
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Release|Any CPU.Build.0 = Release|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E95833C9-90AA-4366-9262-0A1BED148249}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|Any CPU.Build.0 = Release|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|x86.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|x86.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|x86.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|x86.Build.0 = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|x86.ActiveCfg = Release|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|x86.Build.0 = Release|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0C03C12-F08A-4378-958D-86DD4CFE966F}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {BC764278-4141-483C-8643-2EA8C40373B2} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
- {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
- {0AF50CE4-E455-4A9D-92AD-711CBD068A55} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {2B7FF081-FE53-42F7-9D5D-D4B38E548F94} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {E41F4448-15C3-4E95-B310-FD333FDF5D2F} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {14CF6E75-0D08-4BBD-B0F5-742196E5656D} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {88C04B85-B69B-47B4-AB9F-64F6DD4E0897} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {C1DF0C90-0C4C-4AB5-A45C-A1805587A844} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {22524E1F-A94D-4204-AD90-A5FFE73970EC} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
- {F0C03C12-F08A-4378-958D-86DD4CFE966F} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- Policies = $0
- $0.DotNetNamingPolicy = $1
- $0.VersionControlPolicy = $2
- $0.StandardHeader = $3
- $3.Text = @\n${FileName}\n \nAuthor:\n ${AuthorName} <${AuthorEmail}>\n\nCopyright (c) ${Year} ${CopyrightHolder}\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.
- $0.TextStylePolicy = $4
- $4.FileWidth = 80
- $4.scope = text/x-csharp
- $0.CSharpFormattingPolicy = $5
- $5.scope = text/x-csharp
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt", "Xwt\Xwt.csproj", "{92494904-35FA-4DC9-BDE9-3A3E87AC49D3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.XamMac", "Xwt.XamMac\Xwt.XamMac.csproj", "{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.WPF", "Xwt.WPF\Xwt.WPF.csproj", "{C93D746E-1586-4D4F-B411-BF5A966E6A08}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Testing", "Testing", "{164E1FED-7688-4AE9-B19B-012F8784F9DD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkTestRunner", "Testing\GtkTestRunner.csproj", "{BC764278-4141-483C-8643-2EA8C40373B2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfTestRunner", "Testing\WpfTestRunner.csproj", "{C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{83D74DDF-581E-4E2A-AE02-F4047A5B96C7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkTest", "TestApps\GtkTest\GtkTest.csproj", "{0AF50CE4-E455-4A9D-92AD-711CBD068A55}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamMacTest", "TestApps\XamMacTest\XamMacTest.csproj", "{2B7FF081-FE53-42F7-9D5D-D4B38E548F94}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfTest", "TestApps\WpfTest\WpfTest.csproj", "{E41F4448-15C3-4E95-B310-FD333FDF5D2F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MixedGtkMacTest", "TestApps\MixedGtkMacTest\MixedGtkMacTest.csproj", "{14CF6E75-0D08-4BBD-B0F5-742196E5656D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkOnMacTest", "TestApps\GtkOnMacTest\GtkOnMacTest.csproj", "{5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples", "TestApps\Samples\Samples.csproj", "{88C04B85-B69B-47B4-AB9F-64F6DD4E0897}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkOnWindowsTest", "TestApps\GtkOnWindowsTest\GtkOnWindowsTest.csproj", "{C1DF0C90-0C4C-4AB5-A45C-A1805587A844}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk.Mac", "Xwt.Gtk.Mac\Xwt.Gtk.Mac.csproj", "{E95833C9-90AA-4366-9262-0A1BED148249}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.Gtk.Windows", "Xwt.Gtk.Windows\Xwt.Gtk.Windows.csproj", "{252117CA-0ABB-4F36-BFC8-DE23A8089BB9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CoreTests", "Testing\CoreTests\CoreTests.csproj", "{F0C03C12-F08A-4378-958D-86DD4CFE966F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xwt.GtkSharp", "Xwt.GtkSharp\Xwt.GtkSharp.csproj", "{EF4907E3-F131-4E79-9435-A045A1219128}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkSharpTest", "TestApps\GtkSharpTest\GtkSharpTest.csproj", "{1690CC9B-598D-4F71-A3C9-AEA59A6FD808}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Mac-Debug|Any CPU = Mac-Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ Win-Debug|Any CPU = Win-Debug|Any CPU
+ Win-Debug|x86 = Win-Debug|x86
+ Debug|x86 = Debug|x86
+ Linux-Debug|Any CPU = Linux-Debug|Any CPU
+ Linux-Debug|x86 = Linux-Debug|x86
+ Mac-Debug|x86 = Mac-Debug|x86
+ Release|x86 = Release|x86
+ XamMac-Debug|Any CPU = XamMac-Debug|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.Win-Debug|Any CPU.Build.0 = Debug|x86
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {252117CA-0ABB-4F36-BFC8-DE23A8089BB9}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Debug|x86.Build.0 = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Mac-Debug|x86.Build.0 = Debug|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|x86.ActiveCfg = Release|Any CPU
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94}.Release|x86.Build.0 = Release|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Release|Any CPU.Build.0 = Release|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92494904-35FA-4DC9-BDE9-3A3E87AC49D3}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Mac-Debug|x86.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|x86.Build.0 = Debug|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|x86.ActiveCfg = Release|Any CPU
+ {B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Release|x86.Build.0 = Release|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC764278-4141-483C-8643-2EA8C40373B2}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Mac-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Release|Any CPU.ActiveCfg = Release|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Release|Any CPU.Build.0 = Release|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.Win-Debug|Any CPU.Build.0 = Debug|x86
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|Any CPU.Build.0 = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|x86.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Mac-Debug|x86.Build.0 = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Release|Any CPU.ActiveCfg = Release|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Release|Any CPU.Build.0 = Release|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|Any CPU.Build.0 = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|x86.ActiveCfg = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.Win-Debug|x86.Build.0 = Debug|x86
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844}.XamMac-Debug|Any CPU.ActiveCfg = Debug|x86
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C93D746E-1586-4D4F-B411-BF5A966E6A08}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Win-Debug|Any CPU.ActiveCfg = Debug|x86
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.Win-Debug|Any CPU.Build.0 = Debug|x86
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E95833C9-90AA-4366-9262-0A1BED148249}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Win-Debug|x86.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Debug|x86.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Linux-Debug|x86.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Mac-Debug|x86.Build.0 = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|x86.ActiveCfg = Release|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.Release|x86.Build.0 = Release|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Win-Debug|x86.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Debug|x86.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Linux-Debug|x86.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Mac-Debug|x86.Build.0 = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Release|x86.ActiveCfg = Release|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.Release|x86.Build.0 = Release|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF4907E3-F131-4E79-9435-A045A1219128}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Mac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Mac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Win-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Win-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Win-Debug|x86.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Win-Debug|x86.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Debug|x86.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Linux-Debug|x86.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Linux-Debug|x86.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Mac-Debug|x86.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Mac-Debug|x86.Build.0 = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Release|x86.ActiveCfg = Release|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.Release|x86.Build.0 = Release|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.XamMac-Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808}.XamMac-Debug|Any CPU.Build.0 = Debug|Any CPU
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {BC764278-4141-483C-8643-2EA8C40373B2} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
+ {C13CB518-B840-4FE7-AF3D-8C517A2FAD1F} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
+ {0AF50CE4-E455-4A9D-92AD-711CBD068A55} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {2B7FF081-FE53-42F7-9D5D-D4B38E548F94} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {E41F4448-15C3-4E95-B310-FD333FDF5D2F} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {14CF6E75-0D08-4BBD-B0F5-742196E5656D} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {5CFB1ABA-0CD0-45B9-ABC5-8A32096C0687} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {88C04B85-B69B-47B4-AB9F-64F6DD4E0897} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {C1DF0C90-0C4C-4AB5-A45C-A1805587A844} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ {F0C03C12-F08A-4378-958D-86DD4CFE966F} = {164E1FED-7688-4AE9-B19B-012F8784F9DD}
+ {1690CC9B-598D-4F71-A3C9-AEA59A6FD808} = {83D74DDF-581E-4E2A-AE02-F4047A5B96C7}
+ EndGlobalSection
+ GlobalSection(MonoDevelopProperties) = preSolution
+ Policies = $0
+ $0.DotNetNamingPolicy = $1
+ $0.VersionControlPolicy = $2
+ $0.StandardHeader = $3
+ $3.Text = @\n${FileName}\n \nAuthor:\n ${AuthorName} <${AuthorEmail}>\n\nCopyright (c) ${Year} ${CopyrightHolder}\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.
+ $0.TextStylePolicy = $4
+ $4.FileWidth = 80
+ $4.scope = text/x-csharp
+ $0.CSharpFormattingPolicy = $5
+ $5.scope = text/x-csharp
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/libs/GtkSharp/AtkSharp.deps.json b/libs/GtkSharp/AtkSharp.deps.json
new file mode 100644
index 000000000..8dcf05f3a
--- /dev/null
+++ b/libs/GtkSharp/AtkSharp.deps.json
@@ -0,0 +1,58 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "AtkSharp/1.0.0": {
+ "dependencies": {
+ "GLibSharp": "1.0.0",
+ "NETStandard.Library": "2.0.3"
+ },
+ "runtime": {
+ "AtkSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "GLibSharp/1.0.0": {
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "AtkSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ },
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/AtkSharp.dll b/libs/GtkSharp/AtkSharp.dll
new file mode 100644
index 000000000..81f230d61
Binary files /dev/null and b/libs/GtkSharp/AtkSharp.dll differ
diff --git a/libs/GtkSharp/AtkSharp.pdb b/libs/GtkSharp/AtkSharp.pdb
new file mode 100644
index 000000000..a1653f2e6
Binary files /dev/null and b/libs/GtkSharp/AtkSharp.pdb differ
diff --git a/libs/GtkSharp/CairoSharp.deps.json b/libs/GtkSharp/CairoSharp.deps.json
new file mode 100644
index 000000000..276514e11
--- /dev/null
+++ b/libs/GtkSharp/CairoSharp.deps.json
@@ -0,0 +1,47 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "CairoSharp/1.0.0": {
+ "dependencies": {
+ "NETStandard.Library": "2.0.3"
+ },
+ "runtime": {
+ "CairoSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ }
+ }
+ },
+ "libraries": {
+ "CairoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/CairoSharp.dll b/libs/GtkSharp/CairoSharp.dll
new file mode 100644
index 000000000..947aca73c
Binary files /dev/null and b/libs/GtkSharp/CairoSharp.dll differ
diff --git a/libs/GtkSharp/CairoSharp.pdb b/libs/GtkSharp/CairoSharp.pdb
new file mode 100644
index 000000000..0a5088d4d
Binary files /dev/null and b/libs/GtkSharp/CairoSharp.pdb differ
diff --git a/libs/GtkSharp/GLibSharp.deps.json b/libs/GtkSharp/GLibSharp.deps.json
new file mode 100644
index 000000000..9d2be1589
--- /dev/null
+++ b/libs/GtkSharp/GLibSharp.deps.json
@@ -0,0 +1,47 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "GLibSharp/1.0.0": {
+ "dependencies": {
+ "NETStandard.Library": "2.0.3"
+ },
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ }
+ }
+ },
+ "libraries": {
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/GLibSharp.dll b/libs/GtkSharp/GLibSharp.dll
new file mode 100644
index 000000000..6f58c02ae
Binary files /dev/null and b/libs/GtkSharp/GLibSharp.dll differ
diff --git a/libs/GtkSharp/GLibSharp.pdb b/libs/GtkSharp/GLibSharp.pdb
new file mode 100644
index 000000000..2ac47d74f
Binary files /dev/null and b/libs/GtkSharp/GLibSharp.pdb differ
diff --git a/libs/GtkSharp/GdkSharp.deps.json b/libs/GtkSharp/GdkSharp.deps.json
new file mode 100644
index 000000000..a4c83471c
--- /dev/null
+++ b/libs/GtkSharp/GdkSharp.deps.json
@@ -0,0 +1,98 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "GdkSharp/1.0.0": {
+ "dependencies": {
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0",
+ "GioSharp": "1.0.0",
+ "NETStandard.Library": "2.0.3",
+ "PangoSharp": "1.0.0"
+ },
+ "runtime": {
+ "GdkSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "CairoSharp/1.0.0": {
+ "runtime": {
+ "CairoSharp.dll": {}
+ }
+ },
+ "GioSharp/1.0.0": {
+ "dependencies": {
+ "GLibSharp": "1.0.0"
+ },
+ "runtime": {
+ "GioSharp.dll": {}
+ }
+ },
+ "GLibSharp/1.0.0": {
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ },
+ "PangoSharp/1.0.0": {
+ "dependencies": {
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0"
+ },
+ "runtime": {
+ "PangoSharp.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "GdkSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ },
+ "CairoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GioSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "PangoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/GdkSharp.dll b/libs/GtkSharp/GdkSharp.dll
new file mode 100644
index 000000000..70333730b
Binary files /dev/null and b/libs/GtkSharp/GdkSharp.dll differ
diff --git a/libs/GtkSharp/GdkSharp.pdb b/libs/GtkSharp/GdkSharp.pdb
new file mode 100644
index 000000000..e6f9e65f0
Binary files /dev/null and b/libs/GtkSharp/GdkSharp.pdb differ
diff --git a/libs/GtkSharp/GioSharp.deps.json b/libs/GtkSharp/GioSharp.deps.json
new file mode 100644
index 000000000..e8748098b
--- /dev/null
+++ b/libs/GtkSharp/GioSharp.deps.json
@@ -0,0 +1,58 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "GioSharp/1.0.0": {
+ "dependencies": {
+ "GLibSharp": "1.0.0",
+ "NETStandard.Library": "2.0.3"
+ },
+ "runtime": {
+ "GioSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "GLibSharp/1.0.0": {
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "GioSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ },
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/GioSharp.dll b/libs/GtkSharp/GioSharp.dll
new file mode 100644
index 000000000..bc70c2e48
Binary files /dev/null and b/libs/GtkSharp/GioSharp.dll differ
diff --git a/libs/GtkSharp/GioSharp.pdb b/libs/GtkSharp/GioSharp.pdb
new file mode 100644
index 000000000..f8122d78f
Binary files /dev/null and b/libs/GtkSharp/GioSharp.pdb differ
diff --git a/libs/GtkSharp/GtkSharp.deps.json b/libs/GtkSharp/GtkSharp.deps.json
new file mode 100644
index 000000000..e33339860
--- /dev/null
+++ b/libs/GtkSharp/GtkSharp.deps.json
@@ -0,0 +1,129 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "GtkSharp/1.0.0": {
+ "dependencies": {
+ "AtkSharp": "1.0.0",
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0",
+ "GdkSharp": "1.0.0",
+ "GioSharp": "1.0.0",
+ "NETStandard.Library": "2.0.3",
+ "PangoSharp": "1.0.0"
+ },
+ "runtime": {
+ "GtkSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "AtkSharp/1.0.0": {
+ "dependencies": {
+ "GLibSharp": "1.0.0"
+ },
+ "runtime": {
+ "AtkSharp.dll": {}
+ }
+ },
+ "CairoSharp/1.0.0": {
+ "runtime": {
+ "CairoSharp.dll": {}
+ }
+ },
+ "GdkSharp/1.0.0": {
+ "dependencies": {
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0",
+ "GioSharp": "1.0.0",
+ "PangoSharp": "1.0.0"
+ },
+ "runtime": {
+ "GdkSharp.dll": {}
+ }
+ },
+ "GioSharp/1.0.0": {
+ "dependencies": {
+ "GLibSharp": "1.0.0"
+ },
+ "runtime": {
+ "GioSharp.dll": {}
+ }
+ },
+ "GLibSharp/1.0.0": {
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ },
+ "PangoSharp/1.0.0": {
+ "dependencies": {
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0"
+ },
+ "runtime": {
+ "PangoSharp.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "GtkSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ },
+ "AtkSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "CairoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GdkSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GioSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "PangoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/GtkSharp.dll b/libs/GtkSharp/GtkSharp.dll
new file mode 100644
index 000000000..673c7f010
Binary files /dev/null and b/libs/GtkSharp/GtkSharp.dll differ
diff --git a/libs/GtkSharp/GtkSharp.pdb b/libs/GtkSharp/GtkSharp.pdb
new file mode 100644
index 000000000..f3b5311d6
Binary files /dev/null and b/libs/GtkSharp/GtkSharp.pdb differ
diff --git a/libs/GtkSharp/PangoSharp.deps.json b/libs/GtkSharp/PangoSharp.deps.json
new file mode 100644
index 000000000..e1edd8ea7
--- /dev/null
+++ b/libs/GtkSharp/PangoSharp.deps.json
@@ -0,0 +1,69 @@
+{
+ "runtimeTarget": {
+ "name": ".NETStandard,Version=v2.0/",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETStandard,Version=v2.0": {},
+ ".NETStandard,Version=v2.0/": {
+ "PangoSharp/1.0.0": {
+ "dependencies": {
+ "CairoSharp": "1.0.0",
+ "GLibSharp": "1.0.0",
+ "NETStandard.Library": "2.0.3"
+ },
+ "runtime": {
+ "PangoSharp.dll": {}
+ }
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {},
+ "NETStandard.Library/2.0.3": {
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "CairoSharp/1.0.0": {
+ "runtime": {
+ "CairoSharp.dll": {}
+ }
+ },
+ "GLibSharp/1.0.0": {
+ "runtime": {
+ "GLibSharp.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "PangoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.NETCore.Platforms/1.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+ "path": "microsoft.netcore.platforms/1.1.0",
+ "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "path": "netstandard.library/2.0.3",
+ "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+ },
+ "CairoSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GLibSharp/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/libs/GtkSharp/PangoSharp.dll b/libs/GtkSharp/PangoSharp.dll
new file mode 100644
index 000000000..8ed45437c
Binary files /dev/null and b/libs/GtkSharp/PangoSharp.dll differ
diff --git a/libs/GtkSharp/PangoSharp.pdb b/libs/GtkSharp/PangoSharp.pdb
new file mode 100644
index 000000000..50767ceba
Binary files /dev/null and b/libs/GtkSharp/PangoSharp.pdb differ