Browse Source

Started on TextBox.

pull/4/head
Steven Kirk 12 years ago
parent
commit
52b7d08541
  1. 31
      Perspex/Controls/ContentControl.cs
  2. 49
      Perspex/Controls/Control.cs
  3. 36
      Perspex/Controls/TemplatedControl.cs
  4. 5
      Perspex/Controls/TextBlock.cs
  5. 69
      Perspex/Controls/TextBox.cs
  6. 125
      Perspex/Controls/TextBoxView.cs
  7. 14
      Perspex/Input/FocusEventArgs.cs
  8. 17
      Perspex/Input/IFocusable.cs
  9. 18
      Perspex/Input/InputManager.cs
  10. 13
      Perspex/Media/FormattedText.cs
  11. 7
      Perspex/Perspex.csproj
  12. 2
      Perspex/Themes/Default/DefaultTheme.cs
  13. 58
      Perspex/Themes/Default/TextBoxStyle.cs
  14. 1
      Perspex/Visual.cs
  15. 13
      Perspex/VisualExtensions.cs
  16. 2
      Perspex/packages.config
  17. 21
      TestApplication/Program.cs
  18. 3
      TestApplication/TestApplication.csproj
  19. BIN
      packages/Splat.1.3.3/Splat.1.3.3.nupkg
  20. BIN
      packages/Splat.1.3.3/lib/MonoMac/Splat.dll
  21. BIN
      packages/Splat.1.3.3/lib/MonoMac/Splat.dll.mdb
  22. BIN
      packages/Splat.1.3.3/lib/Net45/Splat.dll
  23. BIN
      packages/Splat.1.3.3/lib/NetCore45/Splat.dll
  24. BIN
      packages/Splat.1.3.3/lib/NetCore45/Splat.pri
  25. BIN
      packages/Splat.1.3.3/lib/Portable-Win81+Wpa81/Splat.dll
  26. BIN
      packages/Splat.1.3.3/lib/Portable-Win81+Wpa81/Splat.pri
  27. BIN
      packages/Splat.1.3.3/lib/Portable-net45+win+wpa81+wp80/Splat.dll
  28. BIN
      packages/Splat.1.3.3/lib/monoandroid/Splat.dll
  29. BIN
      packages/Splat.1.3.3/lib/monoandroid/Splat.dll.mdb
  30. BIN
      packages/Splat.1.3.3/lib/monotouch/Splat.dll
  31. BIN
      packages/Splat.1.3.3/lib/monotouch/Splat.dll.mdb
  32. BIN
      packages/Splat.1.3.3/lib/wp8/Splat.dll

31
Perspex/Controls/ContentControl.cs

@ -47,36 +47,5 @@ namespace Perspex.Controls
return Enumerable.Repeat(logicalChild, logicalChild != null ? 1 : 0); return Enumerable.Repeat(logicalChild, logicalChild != null ? 1 : 0);
} }
} }
protected override Size ArrangeOverride(Size finalSize)
{
Control child = ((IVisual)this).VisualChildren.SingleOrDefault() as Control;
if (child != null)
{
child.Arrange(new Rect(finalSize));
return child.ActualSize;
}
else
{
return new Size();
}
}
protected override Size MeasureOverride(Size availableSize)
{
if (this.Visibility != Visibility.Collapsed)
{
Control child = ((IVisual)this).VisualChildren.SingleOrDefault() as Control;
if (child != null)
{
child.Measure(availableSize);
return child.DesiredSize.Value;
}
}
return new Size();
}
} }
} }

49
Perspex/Controls/Control.cs

@ -33,7 +33,7 @@ namespace Perspex.Controls
Bottom, Bottom,
} }
public class Control : Interactive, ILayoutable, ILogical, IStyleable, IStyled public class Control : Interactive, ILayoutable, IFocusable, ILogical, IStyleable, IStyled
{ {
public static readonly PerspexProperty<Brush> BackgroundProperty = public static readonly PerspexProperty<Brush> BackgroundProperty =
PerspexProperty.Register<Control, Brush>("Background", inherits: true); PerspexProperty.Register<Control, Brush>("Background", inherits: true);
@ -44,6 +44,9 @@ namespace Perspex.Controls
public static readonly PerspexProperty<double> BorderThicknessProperty = public static readonly PerspexProperty<double> BorderThicknessProperty =
PerspexProperty.Register<Control, double>("BorderThickness"); PerspexProperty.Register<Control, double>("BorderThickness");
public static readonly PerspexProperty<bool> FocusableProperty =
PerspexProperty.Register<Control, bool>("Focusable");
public static readonly PerspexProperty<double> FontSizeProperty = public static readonly PerspexProperty<double> FontSizeProperty =
PerspexProperty.Register<Control, double>( PerspexProperty.Register<Control, double>(
"FontSize", "FontSize",
@ -56,6 +59,9 @@ namespace Perspex.Controls
public static readonly PerspexProperty<double> HeightProperty = public static readonly PerspexProperty<double> HeightProperty =
PerspexProperty.Register<Control, double>("Height", double.NaN); PerspexProperty.Register<Control, double>("Height", double.NaN);
public static readonly PerspexProperty<bool> IsFocusedProperty =
PerspexProperty.Register<Control, bool>("IsFocused", false);
public static readonly PerspexProperty<bool> IsPointerOverProperty = public static readonly PerspexProperty<bool> IsPointerOverProperty =
PerspexProperty.Register<Control, bool>("IsPointerOver"); PerspexProperty.Register<Control, bool>("IsPointerOver");
@ -129,6 +135,18 @@ namespace Perspex.Controls
this.Classes.Remove(":pointerover"); this.Classes.Remove(":pointerover");
} }
}); });
this.GetObservable(IsFocusedProperty).Subscribe(x =>
{
if (x)
{
this.Classes.Add(":focus");
}
else
{
this.Classes.Remove(":focus");
}
});
} }
public event EventHandler<PointerEventArgs> PointerEnter public event EventHandler<PointerEventArgs> PointerEnter
@ -207,12 +225,30 @@ namespace Perspex.Controls
set { this.SetValue(FontSizeProperty, value); } set { this.SetValue(FontSizeProperty, value); }
} }
public bool Focusable
{
get { return this.GetValue(FocusableProperty); }
set { this.SetValue(FocusableProperty, value); }
}
public Brush Foreground public Brush Foreground
{ {
get { return this.GetValue(ForegroundProperty); } get { return this.GetValue(ForegroundProperty); }
set { this.SetValue(ForegroundProperty, value); } set { this.SetValue(ForegroundProperty, value); }
} }
public double Height
{
get { return this.GetValue(HeightProperty); }
set { this.SetValue(HeightProperty, value); }
}
public bool IsFocused
{
get { return this.GetValue(IsFocusedProperty); }
set { this.SetValue(IsFocusedProperty, value); }
}
public string Id public string Id
{ {
get get
@ -236,12 +272,6 @@ namespace Perspex.Controls
} }
} }
public double Height
{
get { return this.GetValue(HeightProperty); }
set { this.SetValue(HeightProperty, value); }
}
public bool IsPointerOver public bool IsPointerOver
{ {
get { return this.GetValue(IsPointerOverProperty); } get { return this.GetValue(IsPointerOverProperty); }
@ -353,6 +383,11 @@ namespace Perspex.Controls
this.DesiredSize = this.MeasureCore(availableSize).Constrain(availableSize); this.DesiredSize = this.MeasureCore(availableSize).Constrain(availableSize);
} }
public void Focus()
{
this.IsFocused = true;
}
public void InvalidateArrange() public void InvalidateArrange()
{ {
ILayoutRoot root = this.GetLayoutRoot(); ILayoutRoot root = this.GetLayoutRoot();

36
Perspex/Controls/TemplatedControl.cs

@ -45,6 +45,7 @@ namespace Perspex.Controls
this.visualChild = template.Build(this); this.visualChild = template.Build(this);
this.visualChild.VisualParent = this; this.visualChild.VisualParent = this;
this.OnTemplateApplied();
} }
return Enumerable.Repeat(this.visualChild, this.visualChild != null ? 1 : 0); return Enumerable.Repeat(this.visualChild, this.visualChild != null ? 1 : 0);
@ -59,5 +60,40 @@ namespace Perspex.Controls
public sealed override void Render(IDrawingContext context) public sealed override void Render(IDrawingContext context)
{ {
} }
protected override Size ArrangeOverride(Size finalSize)
{
Control child = ((IVisual)this).VisualChildren.SingleOrDefault() as Control;
if (child != null)
{
child.Arrange(new Rect(finalSize));
return child.ActualSize;
}
else
{
return new Size();
}
}
protected override Size MeasureOverride(Size availableSize)
{
if (this.Visibility != Visibility.Collapsed)
{
Control child = ((IVisual)this).VisualChildren.SingleOrDefault() as Control;
if (child != null)
{
child.Measure(availableSize);
return child.DesiredSize.Value;
}
}
return new Size();
}
protected virtual void OnTemplateApplied()
{
}
} }
} }

5
Perspex/Controls/TextBlock.cs

@ -59,12 +59,9 @@ namespace Perspex.Controls
{ {
if (this.Visibility != Visibility.Collapsed) if (this.Visibility != Visibility.Collapsed)
{ {
IPlatformFactory factory = Locator.Current.GetService<IPlatformFactory>();
ITextService service = factory.GetTextService();
if (!string.IsNullOrEmpty(this.Text)) if (!string.IsNullOrEmpty(this.Text))
{ {
return service.Measure(this.FormattedText); return this.FormattedText.Size;
} }
} }

69
Perspex/Controls/TextBox.cs

@ -0,0 +1,69 @@
// -----------------------------------------------------------------------
// <copyright file="TextBox.cs" company="Steven Kirk">
// Copyright 2014 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Controls
{
using System;
using System.Linq;
using Perspex.Styling;
public class TextBox : TemplatedControl
{
public static readonly PerspexProperty<string> TextProperty =
TextBlock.TextProperty.AddOwner<TextBox>();
private int caretIndex;
private TextBoxView textBoxView;
public TextBox()
{
this.GetObservable(TextProperty).Subscribe(_ => this.InvalidateVisual());
FocusableProperty.OverrideDefaultValue(typeof(TextBox), true);
}
public int CaretIndex
{
get
{
return this.caretIndex;
}
set
{
value = Math.Min(Math.Max(value, 0), this.Text.Length);
if (this.caretIndex != value)
{
this.caretIndex = value;
this.textBoxView.CaretMoved();
}
}
}
public string Text
{
get { return this.GetValue(TextProperty); }
set { this.SetValue(TextProperty, value); }
}
protected override void OnTemplateApplied()
{
Decorator textContainer = this.GetVisualDescendents()
.OfType<Decorator>()
.FirstOrDefault(x => x.Id == "textContainer");
if (textContainer == null)
{
throw new Exception(
"TextBox template doesn't contain a textContainer " +
"or textContainer is not a Decorator.");
}
textContainer.Content = this.textBoxView = new TextBoxView(this);
}
}
}

125
Perspex/Controls/TextBoxView.cs

@ -0,0 +1,125 @@
// -----------------------------------------------------------------------
// <copyright file="TextBoxView.cs" company="Steven Kirk">
// Copyright 2013 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Controls
{
using System;
using System.Globalization;
using Perspex.Media;
internal class TextBoxView : Control
{
private TextBox parent;
private FormattedText formattedText;
//private DispatcherTimer caretTimer;
private bool caretBlink;
public TextBoxView(TextBox parent)
{
//this.caretTimer = new DispatcherTimer();
//this.caretTimer.Interval = PlatformInterface.Instance.CaretBlinkTime;
//this.caretTimer.Tick += this.CaretTimerTick;
this.parent = parent;
}
public FormattedText FormattedText
{
get
{
if (this.formattedText == null)
{
this.formattedText = this.CreateFormattedText();
}
return this.formattedText;
}
}
public void GotFocus()
{
this.caretBlink = true;
//this.caretTimer.Start();
}
public void LostFocus()
{
//this.caretTimer.Stop();
this.InvalidateVisual();
}
public void InvalidateText()
{
this.formattedText = null;
this.InvalidateMeasure();
}
internal void CaretMoved()
{
//this.caretBlink = true;
//this.caretTimer.Stop();
//this.caretTimer.Start();
this.InvalidateVisual();
}
public override void Render(IDrawingContext context)
{
Rect rect = new Rect(this.ActualSize);
context.DrawText(Brushes.Black, rect, this.FormattedText);
//if (this.parent.IsKeyboardFocused)
//{
// Point caretPos = this.FormattedText.GetCaretPosition(this.parent.CaretIndex);
// Brush caretBrush = this.parent.CaretBrush;
// if (caretBrush == null)
// {
// Color color = Colors.Black;
// SolidColorBrush background = this.parent.Background as SolidColorBrush;
// if (background != null)
// {
// color = Color.FromUInt32(0x00ffffffu ^ background.Color.ToUint32());
// }
// caretBrush = new SolidColorBrush(color);
// }
// if (this.caretBlink)
// {
// drawingContext.DrawLine(
// new Pen(caretBrush, 1),
// caretPos,
// caretPos + new Vector(0, this.FormattedText.Height));
// }
//}
}
protected override Size MeasureOverride(Size constraint)
{
return new Size(this.FormattedText.Size.Width, this.FormattedText.Size.Height);
}
private FormattedText CreateFormattedText()
{
return new FormattedText
{
FontFamilyName = "Segoe UI",
FontSize = this.FontSize,
Text = this.parent.Text,
};
}
private void CaretTimerTick(object sender, EventArgs e)
{
this.caretBlink = !this.caretBlink;
this.InvalidateVisual();
}
}
}

14
Perspex/Input/FocusEventArgs.cs

@ -0,0 +1,14 @@
// -----------------------------------------------------------------------
// <copyright file="FocusEventArgs.cs" company="Steven Kirk">
// Copyright 2013 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Input
{
using System;
public class FocusEventArgs : RoutedEventArgs
{
}
}

17
Perspex/Input/IFocusable.cs

@ -0,0 +1,17 @@
// -----------------------------------------------------------------------
// <copyright file="IFocusable.cs" company="Steven Kirk">
// Copyright 2014 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Input
{
public interface IFocusable
{
bool Focusable { get; }
bool IsFocused { get; }
void Focus();
}
}

18
Perspex/Input/InputManager.cs

@ -66,18 +66,26 @@ namespace Perspex.Input
if (hit != null) if (hit != null)
{ {
Interactive source = device.Captured ?? (hit as Interactive) ?? hit.GetVisualAncestor<Interactive>(); Interactive interactive = device.Captured ?? (hit as Interactive) ?? hit.GetVisualAncestor<Interactive>();
IFocusable focusable =
device.Captured as IFocusable ??
hit.GetVisualAncestorsAndSelf().OfType<IFocusable>().FirstOrDefault(x => x.Focusable);
if (source != null) if (interactive != null)
{ {
source.RaiseEvent(new PointerEventArgs interactive.RaiseEvent(new PointerEventArgs
{ {
Device = device, Device = device,
RoutedEvent = Control.PointerPressedEvent, RoutedEvent = Control.PointerPressedEvent,
OriginalSource = source, OriginalSource = interactive,
Source = source, Source = interactive,
}); });
} }
if (focusable != null && focusable.Focusable)
{
focusable.Focus();
}
} }
} }

13
Perspex/Media/FormattedText.cs

@ -6,6 +6,9 @@
namespace Perspex.Media namespace Perspex.Media
{ {
using Perspex.Platform;
using Splat;
public class FormattedText public class FormattedText
{ {
public string FontFamilyName { get; set; } public string FontFamilyName { get; set; }
@ -13,5 +16,15 @@ namespace Perspex.Media
public double FontSize { get; set; } public double FontSize { get; set; }
public string Text { get; set; } public string Text { get; set; }
public Size Size
{
get
{
IPlatformFactory factory = Locator.Current.GetService<IPlatformFactory>();
ITextService service = factory.GetTextService();
return service.Measure(this);
}
}
} }
} }

7
Perspex/Perspex.csproj

@ -78,15 +78,19 @@
<Compile Include="Controls\GridLength.cs" /> <Compile Include="Controls\GridLength.cs" />
<Compile Include="Controls\RowDefinition.cs" /> <Compile Include="Controls\RowDefinition.cs" />
<Compile Include="Controls\RowDefinitions.cs" /> <Compile Include="Controls\RowDefinitions.cs" />
<Compile Include="Controls\TextBox.cs" />
<Compile Include="Controls\TextBoxView.cs" />
<Compile Include="Controls\ToggleButton.cs" /> <Compile Include="Controls\ToggleButton.cs" />
<Compile Include="Controls\LogicalChildren.cs" /> <Compile Include="Controls\LogicalChildren.cs" />
<Compile Include="Controls\Panel.cs" /> <Compile Include="Controls\Panel.cs" />
<Compile Include="Controls\StackPanel.cs" /> <Compile Include="Controls\StackPanel.cs" />
<Compile Include="Input\IFocusable.cs" />
<Compile Include="Input\IMouseDevice.cs" /> <Compile Include="Input\IMouseDevice.cs" />
<Compile Include="Input\IPointerDevice.cs" /> <Compile Include="Input\IPointerDevice.cs" />
<Compile Include="Input\IInputDevice.cs" /> <Compile Include="Input\IInputDevice.cs" />
<Compile Include="Input\IInputManager.cs" /> <Compile Include="Input\IInputManager.cs" />
<Compile Include="Input\InputManager.cs" /> <Compile Include="Input\InputManager.cs" />
<Compile Include="Input\FocusEventArgs.cs" />
<Compile Include="Input\Raw\RawInputEventArgs.cs" /> <Compile Include="Input\Raw\RawInputEventArgs.cs" />
<Compile Include="Input\Raw\RawMouseEventArgs.cs" /> <Compile Include="Input\Raw\RawMouseEventArgs.cs" />
<Compile Include="Layout\LayoutHelper.cs" /> <Compile Include="Layout\LayoutHelper.cs" />
@ -163,6 +167,7 @@
<Compile Include="Controls\TemplatedControl.cs" /> <Compile Include="Controls\TemplatedControl.cs" />
<Compile Include="Styling\Style.cs" /> <Compile Include="Styling\Style.cs" />
<Compile Include="Styling\Styles.cs" /> <Compile Include="Styling\Styles.cs" />
<Compile Include="Themes\Default\TextBoxStyle.cs" />
<Compile Include="Themes\Default\CheckBoxStyle.cs" /> <Compile Include="Themes\Default\CheckBoxStyle.cs" />
<Compile Include="Themes\Default\ButtonStyle.cs" /> <Compile Include="Themes\Default\ButtonStyle.cs" />
<Compile Include="Themes\Default\DefaultTheme.cs" /> <Compile Include="Themes\Default\DefaultTheme.cs" />
@ -173,7 +178,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Splat"> <Reference Include="Splat">
<HintPath>..\packages\Splat.1.1.1\lib\Portable-Net45+WinRT45+WP8\Splat.dll</HintPath> <HintPath>..\packages\Splat.1.3.3\lib\Portable-net45+win+wpa81+wp80\Splat.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Reactive.Core"> <Reference Include="System.Reactive.Core">
<HintPath>..\packages\Rx-Core.2.1.30214.0\lib\Portable-Net45+WinRT45+WP8\System.Reactive.Core.dll</HintPath> <HintPath>..\packages\Rx-Core.2.1.30214.0\lib\Portable-Net45+WinRT45+WP8\System.Reactive.Core.dll</HintPath>

2
Perspex/Themes/Default/DefaultTheme.cs

@ -14,6 +14,8 @@ namespace Perspex.Themes.Default
{ {
this.Add(new ButtonStyle()); this.Add(new ButtonStyle());
this.Add(new CheckBoxStyle()); this.Add(new CheckBoxStyle());
this.Add(new TextBoxStyle());
} }
} }
} }

58
Perspex/Themes/Default/TextBoxStyle.cs

@ -0,0 +1,58 @@
// -----------------------------------------------------------------------
// <copyright file="TextBoxStyle.cs" company="Steven Kirk">
// Copyright 2014 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Themes.Default
{
using System;
using System.Linq;
using Perspex.Controls;
using Perspex.Media;
using Perspex.Shapes;
using Perspex.Styling;
public class TextBoxStyle : Styles
{
public TextBoxStyle()
{
this.AddRange(new[]
{
new Style(x => x.OfType<TextBox>())
{
Setters = new[]
{
new Setter(Button.TemplateProperty, ControlTemplate.Create<TextBox>(this.Template)),
new Setter(TextBox.BorderBrushProperty, new SolidColorBrush(0xff707070)),
new Setter(TextBox.BorderThicknessProperty, 2.0),
},
},
new Style(x => x.OfType<TextBox>().Class(":focus").Template().Id("border"))
{
Setters = new[]
{
new Setter(TextBox.BorderBrushProperty, Brushes.Black),
},
}
});
}
private Control Template(TextBox control)
{
Border result = new Border
{
Id = "border",
[~Border.BackgroundProperty] = control[~TextBox.BackgroundProperty],
[~Border.BorderBrushProperty] = control[~TextBox.BorderBrushProperty],
[~Border.BorderThicknessProperty] = control[~TextBox.BorderThicknessProperty],
Content = new Decorator
{
Id = "textContainer",
}
};
return result;
}
}
}

1
Perspex/Visual.cs

@ -9,7 +9,6 @@ namespace Perspex
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Perspex.Controls;
using Perspex.Layout; using Perspex.Layout;
using Perspex.Media; using Perspex.Media;
using Perspex.Rendering; using Perspex.Rendering;

13
Perspex/VisualExtensions.cs

@ -69,6 +69,19 @@ namespace Perspex
} }
} }
public static IEnumerable<IVisual> GetVisualAncestorsAndSelf(this IVisual visual)
{
yield return visual;
visual = visual.VisualParent;
while (visual != null)
{
yield return visual;
visual = visual.VisualParent;
}
}
public static IVisual GetVisualAt(this IVisual visual, Point p) public static IVisual GetVisualAt(this IVisual visual, Point p)
{ {
Contract.Requires<NullReferenceException>(visual != null); Contract.Requires<NullReferenceException>(visual != null);

2
Perspex/packages.config

@ -5,6 +5,6 @@
<package id="Rx-Linq" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" /> <package id="Rx-Linq" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" />
<package id="Rx-Main" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" /> <package id="Rx-Main" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" />
<package id="Rx-PlatformServices" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" /> <package id="Rx-PlatformServices" version="2.1.30214.0" targetFramework="portable-net45+wp80+win" />
<package id="Splat" version="1.1.1" targetFramework="portable-net45+win" /> <package id="Splat" version="1.3.3" targetFramework="portable-net45+win" />
<package id="StyleCop.MSBuild" version="4.7.46.0" targetFramework="portable-net45+wp80+win" /> <package id="StyleCop.MSBuild" version="4.7.46.0" targetFramework="portable-net45+wp80+win" />
</packages> </packages>

21
TestApplication/Program.cs

@ -18,12 +18,29 @@ using Splat;
namespace TestApplication namespace TestApplication
{ {
class TestLogger : ILogger
{
public LogLevel Level
{
get;
set;
}
public void Write(string message, LogLevel logLevel)
{
if ((int)logLevel < (int)Level) return;
System.Diagnostics.Debug.WriteLine(message);
}
}
class Program class Program
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
App application = new App(); App application = new App();
Locator.CurrentMutable.Register(() => new TestLogger { Level = LogLevel.Debug } , typeof(ILogger));
Window window = new Window Window window = new Window
{ {
Content = new StackPanel Content = new StackPanel
@ -47,6 +64,10 @@ namespace TestApplication
{ {
Content = "Checkbox", Content = "Checkbox",
}, },
new TextBox
{
Text = "Hello World!",
}
} }
} }
}; };

3
TestApplication/TestApplication.csproj

@ -31,6 +31,9 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="SharpDX, Version=2.5.0.0, Culture=neutral, PublicKeyToken=627a3d6d1956f55a, processorArchitecture=MSIL"> <Reference Include="SharpDX, Version=2.5.0.0, Culture=neutral, PublicKeyToken=627a3d6d1956f55a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

BIN
packages/Splat.1.3.3/Splat.1.3.3.nupkg

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/MonoMac/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/MonoMac/Splat.dll.mdb

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/Net45/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/NetCore45/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/NetCore45/Splat.pri

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/Portable-Win81+Wpa81/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/Portable-Win81+Wpa81/Splat.pri

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/Portable-net45+win+wpa81+wp80/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/monoandroid/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/monoandroid/Splat.dll.mdb

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/monotouch/Splat.dll

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/monotouch/Splat.dll.mdb

Binary file not shown.

BIN
packages/Splat.1.3.3/lib/wp8/Splat.dll

Binary file not shown.
Loading…
Cancel
Save