These are chat archives for AvaloniaUI/Avalonia

25th
Nov 2015
Darnell Williams
@Seeker1437
Nov 25 2015 11:45
@kekekeks remember when I fould something similar to Xamarin?
@grokys how about requiring unit test for each pr?
it was something another project I contributed to required.
Steven Kirk
@grokys
Nov 25 2015 11:48
yeah, i think that would be a good idea
Darnell Williams
@Seeker1437
Nov 25 2015 11:49
I just funished a side project and I am ready to start being useful again.
Steven Kirk
@grokys
Nov 25 2015 11:50
are you volunteering to write unit tests? ;)
Darnell Williams
@Seeker1437
Nov 25 2015 11:51
I am curious about learning about side-by-side execution but I will wait on that a bit more... COM is more difficult than I thought.
Yes :)
Steven Kirk
@grokys
Nov 25 2015 11:51
coool!
if you check out our code coverage, there are lots of places missing tests
Darnell Williams
@Seeker1437
Nov 25 2015 11:54
Gonna take a showerr then start digging in :)
Nikita Tsukanov
@kekekeks
Nov 25 2015 12:35

COM is more difficult

COM is simple. ActiveX is less simple. Whatever technology that works on top of it is even less simple

But COM is basically an ABI standard
Darnell Williams
@Seeker1437
Nov 25 2015 12:51
AH okay

ALso just a heads up, I figured out why I always get an issue with HtmlRenderer:

D:\Documents\GitHub\Perspex\src\Perspex.HtmlRenderer\external [(9b58697...) +0 ~3 -0]> git status
HEAD detached at 9b58697
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

    modified:   Source/Demo/Common/Samples/02.Text.htm
    modified:   Source/Demo/Common/TestSamples/12.Text.htm
    modified:   Source/Demo/Common/TestSamples/22.RTL.htm

no changes added to commit (use "git add" and/or "git commit -a")

Nikita Tsukanov
@kekekeks
Nov 25 2015 12:52
That has something to do with line endings
Darnell Williams
@Seeker1437
Nov 25 2015 12:54
Ah
Those three files are saved in a different encoding though idk if that even matters.
bitbonk
@bitbonk
Nov 25 2015 13:03
What is the rendering sack used for Windows ?
*stack
Nikita Tsukanov
@kekekeks
Nov 25 2015 13:04
Direct2D
Darnell Williams
@Seeker1437
Nov 25 2015 13:04
Direct2D
Nikita Tsukanov
@kekekeks
Nov 25 2015 13:04
You can also use Skia
Both backends have some issues
bitbonk
@bitbonk
Nov 25 2015 13:05
Why do you support multiple backends for one plattform ?
Darnell Williams
@Seeker1437
Nov 25 2015 13:06
From what I understand (correct me if I am wrong) Skia may soon be the main backend because it is much more cross platform and will have XP support. @kekekeks please correct me if I am wrong
ANd if not for desktop, minimally for mobile
Nikita Tsukanov
@kekekeks
Nov 25 2015 13:07
Well, I was planning to replace Cairo backend first
bitbonk
@bitbonk
Nov 25 2015 13:08
are you using c++/CLI or pinvoke for the interop to the backend ?
Nikita Tsukanov
@kekekeks
Nov 25 2015 13:08
P/Invoke for skia, SlimDX for Direct2D
You can't have C++/CLI on non-windows platforms
bitbonk
@bitbonk
Nov 25 2015 13:10
I always thought that skia has a significat part of c++ in it
Nikita Tsukanov
@kekekeks
Nov 25 2015 13:11
It's mostly in C++
We are using a native wrapper that implements our rendering API
bitbonk
@bitbonk
Nov 25 2015 13:15
nice
Steven Kirk
@grokys
Nov 25 2015 13:54
SharpDX, not SlimDX
Weston
@ronnyek
Nov 25 2015 15:07
hmm
how are you finding skia is at vector stuff
performance wise
I always wondered about that... full vector from the get go or pixel library with good vector support
Nikita Tsukanov
@kekekeks
Nov 25 2015 16:01
It's competely fine on desktop
On my old iPad with retina display I'm experiencing some issues
But I guess that apple caches every view's contents in a bitmap for a reason
Basically every textbox, button, etc is drawn to a bitmap
Unfortunately we can't afford that
Since our visual tree is full of elements that don't actually draw anything, just define layout, margins, etc
Nikita Tsukanov
@kekekeks
Nov 25 2015 16:06
So we need something smarter than that
I'm also afraid that using unmanaged function pointers is inefficient on iOS
But that should be easily fixed by using P/Invoke directly
Method table was mainly needed for dynamic library discovery
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:33
@grokys I was trying to reliably reproduce #212 and somehow got this
blob
blob
Tab control has entered herpderp mode
Steven Kirk
@grokys
Nov 25 2015 19:41
wow!
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:42
It's still running in debugger
if you need some info
Steven Kirk
@grokys
Nov 25 2015 19:42
i suspect that what you're seeing is caused by the same problem somehow
anyway, i know why #212 is happening, i mentioned it in the issue
just fixing #311 and then i will take another look at that
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:43
I was pressing ↑ and ↓ randomly
Steven Kirk
@grokys
Nov 25 2015 19:43
yeah, sounds like it's caused by not being able to cancel animations
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:43
BTW, how exaclty should they be cancelled?
Steven Kirk
@grokys
Nov 25 2015 19:44
that's what i have to work out ;)
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:44
If you'll just rollback to original state or forward to target one
That will look a bit ugly
And you can't just leave things as they are
Steven Kirk
@grokys
Nov 25 2015 19:45
yeah, i need to look at what other frameworks do
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:45
Might be worth to start another animation and cancel logic that happens after current one
Steven Kirk
@grokys
Nov 25 2015 19:46
yeah, may just be that Carousel needs to be more intellegent
but we definitely need to be able to cancel the animations
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:46
In what state should be the animated object when animation is cancelled?
Original, intermediate or final?
Steven Kirk
@grokys
Nov 25 2015 19:47
like i said, i'll take a look what WPF, HTML etc do
i'm not sure atm
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:48
So we are releasing next week, right?
I'll postpone tinywm stuff then
Steven Kirk
@grokys
Nov 25 2015 19:49
yeah, if possible
btw designer doesn't seem to work for me again
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:49
Might as well add scaling support to designer

btw designer doesn't seem to work for me again

Standalone or extension?

Currently extension is using built-in Perspex.Designer.exe
Steven Kirk
@grokys
Nov 25 2015 19:53
VS extension
so do i have to update Perspex.Designer.exe somewhere?
Nikita Tsukanov
@kekekeks
Nov 25 2015 19:54
Try to update Perspex.Designer.exe in %LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Extensions
Steven Kirk
@grokys
Nov 25 2015 19:55
ok
Steven Kirk
@grokys
Nov 25 2015 20:00
now saying:
System.TypeLoadException: Unable to find any of types: Perspex.Direct2D1.Direct2D1Platform
   at Perspex.Designer.AppHost.PerspexAppHost.LookupType(String[] names)
   at Perspex.Designer.AppHost.PerspexAppHost.LookupStaticMethod(String typeName, String method)
   at Perspex.Designer.AppHost.PerspexAppHost.DoInit(String targetExe, StringBuilder logger)
   at Perspex.Designer.AppHost.PerspexAppHost.Init(String targetExe)
Nikita Tsukanov
@kekekeks
Nov 25 2015 20:01
Make sure that solution is compiled
Steven Kirk
@grokys
Nov 25 2015 20:02
yeah, it is
Nikita Tsukanov
@kekekeks
Nov 25 2015 20:02
Well, it seems that designer needs to be refactored
Steven Kirk
@grokys
Nov 25 2015 20:02
anyway, i'm close to fixing this textbox problem, will look at the designer again afterward
Nikita Tsukanov
@kekekeks
Nov 25 2015 20:02
Perspex should expose designer hosting api or something
Steven Kirk
@grokys
Nov 25 2015 20:03
yeah, definitely
Nikita Tsukanov
@kekekeks
Nov 25 2015 20:04
And metadata import should be separated from that