2009-11-13 Jeffrey Stedfast <fejj@novell.com>
[moon.git] / src / effect.h
blob08249383caef4656300ccf009c657990d8ced756
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 /*
4 * Contact:
5 * Moonlight List (moonlight-list@lists.ximian.com)
7 * Copyright 2009 Novell, Inc. (http://www.novell.com)
9 * See the LICENSE file included with the distribution for details.
13 #ifndef __MOONLIGHT_EFFECT_H__
14 #define __MOONLIGHT_EFFECT_H__
16 #include <glib.h>
17 #include "enums.h"
18 #include "dependencyobject.h"
20 /* @Namespace=System.Windows.Media.Effects */
21 class Effect : public DependencyObject {
22 public:
23 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Protected */
24 Effect ();
26 protected:
27 virtual ~Effect () {}
30 /* @Namespace=System.Windows.Media.Effects */
31 class BlurEffect : public Effect {
32 public:
33 /* @GenerateCBinding,GeneratePInvoke */
34 BlurEffect ();
36 /* @PropertyType=double,DefaultValue=5.0,GenerateAccessors */
37 const static int RadiusProperty;
40 // Property Accessors
42 void SetRadius (double radius);
43 double GetRadius ();
45 protected:
46 virtual ~BlurEffect () {}
49 /* @Namespace=System.Windows.Media.Effects */
50 class DropShadowEffect : public Effect {
51 public:
52 /* @GenerateCBinding,GeneratePInvoke */
53 DropShadowEffect ();
55 /* @PropertyType=double,DefaultValue=5.0,GenerateAccessors */
56 const static int BlurRadiusProperty;
57 /* @PropertyType=Color,DefaultValue=Color(0xFF000000),GenerateAccessors */
58 const static int ColorProperty;
59 /* @PropertyType=double,DefaultValue=315,GenerateAccessors */
60 const static int DirectionProperty;
61 /* @PropertyType=double,DefaultValue=1.0,GenerateAccessors */
62 const static int OpacityProperty;
63 /* @PropertyType=double,DefaultValue=5,GenerateAccessors */
64 const static int ShadowDepthProperty;
67 // Property Accessors
69 void SetBlurRadius (double radius);
70 double GetBlurRadius ();
72 void SetColor (Color* color);
73 Color* GetColor ();
75 void SetDirection (double direction);
76 double GetDirection ();
78 void SetOpacity (double opacity);
79 double GetOpacity ();
81 void SetShadowDepth (double shadowDepth);
82 double GetShadowDepth ();
84 protected:
85 virtual ~DropShadowEffect () {}
88 #endif /* __MOONLIGHT_EFFECT_H__ */