Browse Source

Merge remote-tracking branch 'AvaloniaUI/master' into CakeBuid

pull/688/head
Wiesław Šoltés 10 years ago
parent
commit
3c088d1d69
  1. 4
      samples/XamlTestApplication/XamlTestApplication.csproj
  2. 2
      samples/XamlTestApplication/packages.config
  3. 6
      src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj
  4. 4
      src/Android/Avalonia.AndroidTestApplication/packages.config
  5. 53
      src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs
  6. 5
      src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
  7. 1
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs
  8. 39
      src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs
  9. 2
      src/Markup/Avalonia.Markup.Xaml/packages.config
  10. 4
      tests/Avalonia.Markup.UnitTests/Properties/AssemblyInfo.cs
  11. 4
      tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
  12. 2
      tests/Avalonia.Markup.Xaml.UnitTests/packages.config

4
samples/XamlTestApplication/XamlTestApplication.csproj

@ -48,8 +48,8 @@
<HintPath>..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Sprache, Version=2.0.0.50, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Sprache.2.0.0.50\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Reference Include="Sprache, Version=2.0.0.51, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Sprache.2.0.0.51\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />

2
samples/XamlTestApplication/packages.config

@ -2,7 +2,7 @@
<packages>
<package id="Serilog" version="1.5.14" targetFramework="net45" />
<package id="Splat" version="1.6.2" targetFramework="net45" />
<package id="Sprache" version="2.0.0.50" targetFramework="net45" />
<package id="Sprache" version="2.0.0.51" targetFramework="net45" />
<package id="System.Reactive" version="3.0.0" targetFramework="net45" />
<package id="System.Reactive.Core" version="3.0.0" targetFramework="net45" />
<package id="System.Reactive.Interfaces" version="3.0.0" targetFramework="net45" />

6
src/Android/Avalonia.AndroidTestApplication/Avalonia.AndroidTestApplication.csproj

@ -65,15 +65,15 @@
<Reference Include="Mono.Android" />
<Reference Include="mscorlib" />
<Reference Include="Serilog, Version=1.5.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll</HintPath>
<HintPath>..\..\..\packages\Serilog.1.5.14\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Splat.1.6.2\lib\monoandroid\Splat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Sprache, Version=2.0.0.47, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Sprache.2.0.0.47\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid1+MonoTouch1\Sprache.dll</HintPath>
<Reference Include="Sprache, Version=2.0.0.51, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Sprache.2.0.0.51\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />

4
src/Android/Avalonia.AndroidTestApplication/packages.config

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Serilog" version="1.5.9" targetFramework="monoandroid51" />
<package id="Serilog" version="1.5.14" targetFramework="monoandroid44" />
<package id="Splat" version="1.6.2" targetFramework="monoandroid51" />
<package id="Sprache" version="2.0.0.47" targetFramework="monoandroid51" />
<package id="Sprache" version="2.0.0.51" targetFramework="monoandroid44" />
<package id="System.Collections" version="4.0.11" targetFramework="monoandroid44" />
<package id="System.Collections.Concurrent" version="4.0.12" targetFramework="monoandroid44" />
<package id="System.ComponentModel" version="4.0.1" targetFramework="monoandroid44" />

53
src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs

@ -77,25 +77,40 @@ namespace Avalonia.Cairo.Media
/// <param name="destRect">The rect in the output to draw to.</param>
public void DrawImage(IBitmap bitmap, double opacity, Rect sourceRect, Rect destRect)
{
var impl = bitmap.PlatformImpl as BitmapImpl;
var size = new Size(impl.PixelWidth, impl.PixelHeight);
var scale = new Vector(destRect.Width / sourceRect.Width, destRect.Height / sourceRect.Height);
_context.Save();
Gdk.CairoHelper.SetSourcePixbuf (
_context,
impl,
-sourceRect.X + destRect.X,
-sourceRect.Y + destRect.Y);
impl.Scale (impl, (int)destRect.X, (int)destRect.Y, (int)destRect.Width, (int)destRect.Height, 0, 0, scale.X, scale.Y, Gdk.InterpType.Bilinear);
_context.PushGroup ();
_context.Rectangle (destRect.ToCairo ());
_context.Fill ();
_context.PopGroupToSource ();
_context.PaintWithAlpha (opacityOverride);
_context.Restore();
var impl = bitmap.PlatformImpl as BitmapImpl;
var size = new Size(impl.PixelWidth, impl.PixelHeight);
var scale = new Vector(destRect.Width / sourceRect.Width, destRect.Height / sourceRect.Height);
_context.Save();
_context.Scale(scale.X, scale.Y);
destRect /= scale;
if (opacityOverride < 1.0f) {
_context.PushGroup ();
Gdk.CairoHelper.SetSourcePixbuf (
_context,
impl,
-sourceRect.X + destRect.X,
-sourceRect.Y + destRect.Y);
_context.Rectangle (destRect.ToCairo ());
_context.Fill ();
_context.PopGroupToSource ();
_context.PaintWithAlpha (opacityOverride);
} else {
_context.PushGroup ();
Gdk.CairoHelper.SetSourcePixbuf (
_context,
impl,
-sourceRect.X + destRect.X,
-sourceRect.Y + destRect.Y);
_context.Rectangle (destRect.ToCairo ());
_context.Fill ();
_context.PopGroupToSource ();
_context.PaintWithAlpha (opacityOverride);
}
_context.Restore();
}
/// <summary>

5
src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj

@ -60,6 +60,7 @@
<Compile Include="Converters\ColumnDefinitionsTypeConverter.cs" />
<Compile Include="Converters\CursorTypeConverter.cs" />
<Compile Include="Converters\DateTimeTypeConverter.cs" />
<Compile Include="Converters\FontWeightConverter.cs" />
<Compile Include="Converters\GeometryTypeConverter.cs" />
<Compile Include="Converters\GridLengthTypeConverter.cs" />
<Compile Include="Converters\IconTypeConverter.cs" />
@ -321,8 +322,8 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="Sprache, Version=2.0.0.50, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Sprache.2.0.0.50\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Reference Include="Sprache, Version=2.0.0.51, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Sprache.2.0.0.51\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Reactive.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">

1
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs

@ -174,6 +174,7 @@ namespace Avalonia.Markup.Xaml.Context
RegisterTypeConverter(typeof(Uri), new UriTypeConverter());
RegisterTypeConverter(typeof(Cursor), new CursorTypeConverter());
RegisterTypeConverter(typeof(WindowIcon), new IconTypeConverter());
RegisterTypeConverter(typeof(FontWeight), new FontWeightConverter());
}
}
}

39
src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs

@ -0,0 +1,39 @@
namespace Avalonia.Markup.Xaml.Converters
{
using Avalonia.Media;
using OmniXaml.TypeConversion;
using System;
using System.Globalization;
public class FontWeightConverter : ITypeConverter
{
public bool CanConvertFrom(IValueContext context, Type sourceType)
{
return sourceType == typeof(string);
}
public bool CanConvertTo(IValueContext context, Type destinationType)
{
return false;
}
public object ConvertFrom(IValueContext context, CultureInfo culture, object value)
{
FontWeight result;
if (Enum.TryParse(value as string, out result))
{
return result;
}
else
{
throw new ArgumentException("unable to convert parameter to FontWeight");
}
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
}

2
src/Markup/Avalonia.Markup.Xaml/packages.config

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Sprache" version="2.0.0.50" targetFramework="portable45-net45+win8" />
<package id="Sprache" version="2.0.0.51" targetFramework="portable45-net45+win8" />
<package id="System.Reactive" version="3.0.0" targetFramework="portable45-net45+win8" />
<package id="System.Reactive.Core" version="3.0.0" targetFramework="portable45-net45+win8" />
<package id="System.Reactive.Interfaces" version="3.0.0" targetFramework="portable45-net45+win8" />

4
tests/Avalonia.Markup.UnitTests/Properties/AssemblyInfo.cs

@ -1,6 +1,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Xunit;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
@ -34,3 +35,6 @@ using System.Runtime.InteropServices;
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// Don't run tests in parallel.
[assembly: CollectionBehavior(DisableTestParallelization = true)]

4
tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj

@ -50,8 +50,8 @@
<HintPath>..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Sprache, Version=2.0.0.50, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Sprache.2.0.0.50\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Reference Include="Sprache, Version=2.0.0.51, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Sprache.2.0.0.51\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid+Xamarin.iOS10+MonoTouch\Sprache.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />

2
tests/Avalonia.Markup.Xaml.UnitTests/packages.config

@ -2,7 +2,7 @@
<packages>
<package id="Moq" version="4.2.1510.2205" targetFramework="net451" />
<package id="Splat" version="1.6.2" targetFramework="net451" />
<package id="Sprache" version="2.0.0.50" targetFramework="net451" />
<package id="Sprache" version="2.0.0.51" targetFramework="net451" />
<package id="System.Reactive.Core" version="3.0.0" targetFramework="net451" />
<package id="System.Reactive.Interfaces" version="3.0.0" targetFramework="net451" />
<package id="System.Reactive.Linq" version="3.0.0" targetFramework="net451" />

Loading…
Cancel
Save