View Single Post
Old 2007-12-30, 12:57   #1 (permalink)
frodo
Portal Developer
 
frodo's Avatar
 
Join Date: Apr 2004
Location: The Netherlands
Age: 36
Posts: 1,516
Thanks: 3
Thanked 119 Times in 44 Posts

Country:

My System

Default MediaPortal II gets opensource xaml skinengine

Some people wondered why we didnt use WPF for our skinengine.
WPF (Windows Presentation Foundation) , is a new technology from Microsoft for creating really cool GUIs

Although WPF is a wonderfull piece of technology, it also has some major drawbacks. One of those drawbacks is that there is no way to integrate WPF with DirectX and/or DirectShow. Although WPF contains its own internal video player that player is so limited and unusable for an application like MediaPortal. Another drawbacks are the focus/input management and offcourse the fact that its closed source.

That said, WPF still rocks. Skinners get really nice features like vector graphics, linear/gradient/image brushes, panels, storyboards, triggers, animations etc etc etc

So I have started on a new mission:

For MP-II I'm creating my own opensource version of WPF


With our own opensource WPF skinengine we get all the nice stuff from WPF and since its opensource we can perfectly integrate with other technologies like DirectX and DirectShow

Creating an opensource version of WPF is not a light task, but in the last couple of weeks we already came a long way.


Here's a list of whats already done:

Layout engine


* StackPanel
* Canvas
* DockPanel


Animation engine


* Storyboard
* ColorAnimation & ColorAnimationUsingKeyFrames
* DoubleAnimation & DoubleAnimationUsingKeyFrames
* PointAnimation & PointAnimationUsingKeyFrames
* Trigger
* EventTrigger


Brushes:


* LinearGradientBrush
* RadialGradientBrush
* ImageBrush
* VisualBrush


Visuals:


* Border
* Button
* UIElement
* FrameworkElement

General:


* XamlParser (We use MyXaml here, thx Marc!)
* Resources


For performance reasons we offload as much work as possible to the graphics card. For example the brushes (like the RadialGradientBrush) is fully rendered by the use of vertex/pixel shaders

We also try to make our version as compatible as possible with Microsoft WPF so that if you use Expression blend, or if you have exisiting xaml files they should be very easy to port to MP-II


Note: you can follow the development progress on MP-II (and the skinengine) on our project-management website for MP-II
URL : http://pms.team-mediaportal.com
Username : community
Password : public

Frodo

Last edited by frodo; 2007-12-30 at 13:30.
frodo is offline   Reply With Quote
6 Users Say Thank You: