2009-12-03 Jeffrey Stedfast <fejj@novell.com>
[moon.git] / src / value.h
blob201fde5b928392bd5dd009ab13b66457aad6e9e5
1 /*
2 * Automatically generated, do not edit this file directly
3 */
5 /*
6 * value.h: Generated code for the type system.
8 * Contact:
9 * Moonlight List (moonlight-list@lists.ximian.com)
11 * Copyright 2007 Novell, Inc. (http://www.novell.com)
13 * See the LICENSE file included with the distribution for details.
17 #ifndef MOON_VALUE_H
18 #define MOON_VALUE_H
20 #include <glib.h>
22 #include "type.h"
24 /*
25 * ugly file containing the catchall value type we use.
28 struct FontFamily;
29 struct FontSource;
30 struct FontWeight;
31 struct FontStyle;
32 struct FontStretch;
33 struct PropertyPath;
34 struct Color;
35 struct Duration;
36 struct KeyTime;
37 struct Point;
38 struct Rect;
39 struct Size;
40 struct Uri;
41 struct RepeatBehavior;
42 struct GridLength;
43 struct Thickness;
44 struct CornerRadius;
45 struct ManagedTypeInfo;
47 struct Value;
49 class Type;
50 class DependencyProperty;
51 class Surface;
52 class AnimationStorage;
54 class Accessibility;
55 class AlsaSource;
56 class Animation;
57 class AnimationClock;
58 class Application;
59 class ArcSegment;
60 class ASFDemuxer;
61 class ASFMarkerDecoder;
62 class ASFPacket;
63 class ASFParser;
64 class AssemblyPart;
65 class AssemblyPartCollection;
66 class ASXDemuxer;
67 class AudioSource;
68 class AudioStream;
69 class BackEase;
70 class BeginStoryboard;
71 class BezierSegment;
72 class BitmapCache;
73 class BitmapImage;
74 class BitmapSource;
75 class BlurEffect;
76 class Border;
77 class BounceEase;
78 class Brush;
79 class CacheMode;
80 class Canvas;
81 class CircleEase;
82 class Clock;
83 class ClockGroup;
84 class CodecDownloader;
85 class Collection;
86 class CollectionChangedEventArgs;
87 class CollectionItemChangedEventArgs;
88 class ColorAnimation;
89 class ColorAnimationUsingKeyFrames;
90 class ColorKeyFrame;
91 class ColorKeyFrameCollection;
92 class ColumnDefinition;
93 class ColumnDefinitionCollection;
94 class ContentChangedEventArgs;
95 class ContentControl;
96 class Control;
97 class ControlTemplate;
98 class CubicEase;
99 class CursorPositionChangedEventArgs;
100 class DataTemplate;
101 class DeepZoomImageTileSource;
102 class DependencyObject;
103 class DependencyObjectCollection;
104 class Deployment;
105 class DiscreteColorKeyFrame;
106 class DiscreteDoubleKeyFrame;
107 class DiscreteObjectKeyFrame;
108 class DiscretePointKeyFrame;
109 class DispatcherTimer;
110 class DoubleCollection;
111 class DoubleAnimation;
112 class DoubleAnimationUsingKeyFrames;
113 class DoubleKeyFrame;
114 class DoubleKeyFrameCollection;
115 class Downloader;
116 class DownloadProgressEventArgs;
117 class DrawingAttributes;
118 class DropShadowEffect;
119 class EasingColorKeyFrame;
120 class EasingDoubleKeyFrame;
121 class EasingFunctionBase;
122 class EasingPointKeyFrame;
123 class Effect;
124 class ElasticEase;
125 class Ellipse;
126 class EllipseGeometry;
127 class ErrorEventArgs;
128 class EventArgs;
129 class EventListenerProxy;
130 class EventObject;
131 class EventTrigger;
132 class ExponentialEase;
133 class ExtensionPart;
134 class ExternalDecoder;
135 class ExternalDemuxer;
136 class ExternalPart;
137 class ExternalPartCollection;
138 class FfmpegDecoder;
139 class FfmpegDemuxer;
140 class FileDownloader;
141 class FileSource;
142 class FrameworkElement;
143 class FrameworkTemplate;
144 class GeneralTransform;
145 class Geometry;
146 class GeometryCollection;
147 class GeometryGroup;
148 class Glyphs;
149 class GradientBrush;
150 class GradientStop;
151 class GradientStopCollection;
152 class Grid;
153 class HitTestCollection;
154 class Icon;
155 class IconCollection;
156 class IImageConverter;
157 class Image;
158 class ImageBrush;
159 class ImageErrorEventArgs;
160 class ImageSource;
161 class IMediaDecoder;
162 class IMediaDemuxer;
163 class IMediaObject;
164 class IMediaSource;
165 class IMediaStream;
166 class InkPresenter;
167 class Inline;
168 class InlineCollection;
169 class InputMethod;
170 class InternalDownloader;
171 class ItemCollection;
172 class KeyEventArgs;
173 class KeyFrame;
174 class KeyFrameCollection;
175 class KeySpline;
176 class LayoutInformation;
177 class Line;
178 class LinearColorKeyFrame;
179 class LinearDoubleKeyFrame;
180 class LinearGradientBrush;
181 class LinearPointKeyFrame;
182 class LineBreak;
183 class LineGeometry;
184 class LineSegment;
185 class LogReadyRoutedEventArgs;
186 class ManagedStreamSource;
187 class ManualTimeSource;
188 class MarkerStream;
189 class Matrix;
190 class Matrix3D;
191 class Matrix3DProjection;
192 class MatrixTransform;
193 class Media;
194 class MediaAttribute;
195 class MediaAttributeCollection;
196 class MediaBase;
197 class MediaClosure;
198 class MediaDisposeObjectClosure;
199 class MediaElement;
200 class MediaFrame;
201 class MediaGetFrameClosure;
202 class MediaMarker;
203 class MediaMarkerFoundClosure;
204 class MediaPlayer;
205 class MediaReportFrameCompletedClosure;
206 class MediaReportSeekCompletedClosure;
207 class MediaSeekClosure;
208 class MemorySource;
209 class MmsDemuxer;
210 class MmsDownloader;
211 class MmsPlaylistEntry;
212 class MmsSecondDownloader;
213 class MmsSource;
214 class MouseButtonEventArgs;
215 class MouseEventArgs;
216 class MouseWheelEventArgs;
217 class Mp3Demuxer;
218 class MultiScaleImage;
219 class MultiScaleSubImage;
220 class MultiScaleSubImageCollection;
221 class MultiScaleTileSource;
222 class NameScope;
223 class NullDecoder;
224 class ObjectAnimationUsingKeyFrames;
225 class ObjectKeyFrame;
226 class ObjectKeyFrameCollection;
227 class OutOfBrowserSettings;
228 class Panel;
229 class ParallelTimeline;
230 class ParserErrorEventArgs;
231 class PassThroughDecoder;
232 class PasswordBox;
233 class Path;
234 class PathFigure;
235 class PathFigureCollection;
236 class PathGeometry;
237 class PathSegment;
238 class PathSegmentCollection;
239 class PixelShader;
240 class PlaneProjection;
241 class Playlist;
242 class PlaylistEntry;
243 class PlaylistRoot;
244 class PointCollection;
245 class PointAnimation;
246 class PointAnimationUsingKeyFrames;
247 class PointKeyFrame;
248 class PointKeyFrameCollection;
249 class PolyBezierSegment;
250 class Polygon;
251 class Polyline;
252 class PolyLineSegment;
253 class PolyQuadraticBezierSegment;
254 class Popup;
255 class PowerEase;
256 class ProgressEventArgs;
257 class ProgressiveSource;
258 class Projection;
259 class PropertyChangedEventArgs;
260 class PulseSource;
261 class QuadraticBezierSegment;
262 class QuadraticEase;
263 class QuarticEase;
264 class QuinticEase;
265 class RadialGradientBrush;
266 class Rectangle;
267 class RectangleGeometry;
268 class RenderingEventArgs;
269 class ResourceDictionary;
270 class ResourceDictionaryCollection;
271 class RotateTransform;
272 class RoutedEventArgs;
273 class RowDefinition;
274 class RowDefinitionCollection;
275 class Run;
276 class ScaleTransform;
277 class Setter;
278 class SetterBase;
279 class SetterBaseCollection;
280 class ShaderEffect;
281 class Shape;
282 class SineEase;
283 class SizeChangedEventArgs;
284 class SkewTransform;
285 class SolidColorBrush;
286 class SplineColorKeyFrame;
287 class SplineDoubleKeyFrame;
288 class SplinePointKeyFrame;
289 class Storyboard;
290 class Stroke;
291 class StrokeCollection;
292 class Style;
293 class StylusInfo;
294 class StylusPoint;
295 class StylusPointCollection;
296 class Surface;
297 class SystemTimeSource;
298 class TextBlock;
299 class TextBox;
300 class TextBoxBase;
301 class TextBoxModelChangedEventArgs;
302 class TextBoxView;
303 class TextChangedEventArgs;
304 class TextOptions;
305 class TileBrush;
306 class Timeline;
307 class TimelineCollection;
308 class TimelineGroup;
309 class TimelineMarker;
310 class TimelineMarkerCollection;
311 class TimelineMarkerRoutedEventArgs;
312 class TimeManager;
313 class TimeSource;
314 class Transform;
315 class TransformCollection;
316 class TransformGroup;
317 class TranslateTransform;
318 class TriggerCollection;
319 class TriggerAction;
320 class TriggerActionCollection;
321 class TriggerBase;
322 class UIElement;
323 class UIElementCollection;
324 class UnmanagedMatrix;
325 class UnmanagedMatrix3D;
326 class UserControl;
327 class VideoBrush;
328 class VideoStream;
329 class VisualBrush;
330 class WindowSettings;
331 class WriteableBitmap;
332 class YUVConverter;
335 #if SANITY || DEBUG
336 #define checked_get_exact(kind, errval, mem) g_return_val_if_fail (k == (kind), errval); return mem;
337 #define checked_get_subclass(kind, castas) \
338 if (u.dependency_object == NULL || k == (kind)) \
339 return (castas*)u.dependency_object; \
340 g_return_val_if_fail (Types::IsSubclassOrSuperclassOf (types, k, kind), NULL); \
341 return (castas*)u.dependency_object;
342 #else
343 #define checked_get_exact(kind, errval, mem) return mem;
344 #define checked_get_subclass(kind, castas) return (castas*)u.dependency_object;
345 #endif
347 struct Value {
348 public:
349 void Init ();
351 Value ();
352 Value (const Value& v);
353 explicit Value (Type::Kind k);
354 explicit Value (bool z);
355 explicit Value (double d);
356 explicit Value (gint32 i);
357 explicit Value (guint32 i);
358 Value (gunichar c, Type::Kind as); // for use with char values.
359 Value (gint64 i, Type::Kind as); // Use for TimeSpan and int64 values.
360 Value (Color c);
361 Value (EventObject *obj);
362 Value (FontFamily family);
363 Value (FontSource source);
364 Value (FontWeight weight);
365 Value (FontStyle style);
366 Value (FontStretch stretch);
367 Value (PropertyPath propertypath);
368 Value (Point pt);
369 Value (Rect rect);
370 Value (Size size);
371 Value (Uri uri);
372 Value (RepeatBehavior repeat);
373 Value (Duration duration);
374 Value (KeyTime keytime);
375 Value (GridLength grid_length);
376 Value (Thickness thickness);
377 Value (CornerRadius radius);
378 Value (ManagedTypeInfo type_info);
379 Value (const char *s, bool take = false);
380 Value (Point *points, int count);
381 Value (double *values, int count);
382 Value (Type::Kind, void *npobj);
384 ~Value ();
386 // Use these to create Values with dependency objects with
387 // a reference count of 1 (giving the ownership of the object
388 // to Value).
389 // Useful in cases like this:
390 // SetValue (SomeProperty, new DependencyObject ())
391 // in which case we have to unref the newly created object.
392 static Value* CreateUnrefPtr (EventObject* dob);
393 static Value CreateUnref (EventObject* dob);
395 // essentially the same as the copy constructor, except it
396 // does a deep copy of DependencyObjects.
397 static Value* Clone (Value *v, Types *types = NULL);
399 bool GetIsNull ();
400 void SetIsNull (bool isNull);
402 bool operator!= (const Value &v) const;
403 bool operator== (const Value &v) const;
405 Value& operator= (const Value& other);
407 bool Is (Deployment *deployment, Type::Kind type) { return Type::IsSubclassOf (deployment, k, type); }
409 bool AsBool () { checked_get_exact (Type::BOOL, false, (bool)u.i32); }
410 gunichar AsChar () { checked_get_exact (Type::CHAR, 0, u.c); }
411 double AsDouble () { checked_get_exact (Type::DOUBLE, 0.0, u.d); }
412 float AsFloat () { checked_get_exact (Type::FLOAT, 0.0, u.f); }
413 guint64 AsUInt64 () { checked_get_exact (Type::UINT64, 0, u.ui64); }
414 gint64 AsInt64 () { checked_get_exact (Type::INT64, 0, u.i64); }
415 TimeSpan AsTimeSpan () { checked_get_exact (Type::TIMESPAN, 0, (TimeSpan)u.i64); }
416 guint32 AsUInt32 () { checked_get_exact (Type::UINT32, 0, u.ui32); }
417 gint32 AsInt32 () { checked_get_exact (Type::INT32, 0, u.i32); }
418 Color* AsColor () { checked_get_exact (Type::COLOR, NULL, u.color); }
419 Point* AsPoint () { checked_get_exact (Type::POINT, NULL, u.point); }
420 Uri* AsUri () { checked_get_exact (Type::URI, NULL, u.uri); }
421 Rect* AsRect () { checked_get_exact (Type::RECT, NULL, u.rect); }
422 Size* AsSize () { checked_get_exact (Type::SIZE, NULL, u.size); }
423 FontFamily* AsFontFamily () { checked_get_exact (Type::FONTFAMILY, NULL, u.fontfamily); }
424 FontWeight* AsFontWeight () { checked_get_exact (Type::FONTWEIGHT, NULL, u.fontweight); }
425 FontStyle* AsFontStyle () { checked_get_exact (Type::FONTSTYLE, NULL, u.fontstyle); }
426 FontStretch* AsFontStretch() { checked_get_exact (Type::FONTSTRETCH, NULL, u.fontstretch); }
427 FontSource* AsFontSource () { checked_get_exact (Type::FONTSOURCE, NULL, u.fontsource); }
428 PropertyPath* AsPropertyPath () { checked_get_exact (Type::PROPERTYPATH, NULL, u.propertypath); }
429 char* AsString () { checked_get_exact (Type::STRING, NULL, u.s); }
430 DependencyProperty* AsDependencyProperty () { checked_get_exact (Type::DEPENDENCYPROPERTY, NULL, u.dp); }
432 void * AsManagedObject () { checked_get_exact (Type::MANAGED, NULL, u.managed_object); }
433 void * AsNPObj () { checked_get_exact (Type::NPOBJ, NULL, u.npobj); }
435 RepeatBehavior* AsRepeatBehavior () { checked_get_exact (Type::REPEATBEHAVIOR, NULL, u.repeat); }
436 Duration* AsDuration () { checked_get_exact (Type::DURATION, NULL, u.duration); }
437 KeyTime* AsKeyTime () { checked_get_exact (Type::KEYTIME, NULL, u.keytime); }
438 GridLength* AsGridLength () { checked_get_exact (Type::GRIDLENGTH, NULL, u.grid_length); }
439 Thickness* AsThickness () { checked_get_exact (Type::THICKNESS, NULL, u.thickness); }
440 CornerRadius* AsCornerRadius () { checked_get_exact (Type::CORNERRADIUS, NULL, u.corner); }
441 ManagedTypeInfo* AsManagedTypeInfo () { checked_get_exact (Type::MANAGEDTYPEINFO, NULL, u.type_info); }
442 /* nullable primitives (all but bool) */
443 double* AsNullableDouble () { checked_get_exact (Type::DOUBLE, NULL, &u.d); }
444 guint64* AsNullableUint64 () { checked_get_exact (Type::UINT64, NULL, &u.ui64); }
445 gint64* AsNullableInt64 () { checked_get_exact (Type::INT64, NULL, &u.i64); }
446 gint32* AsNullableInt32 () { checked_get_exact (Type::INT32, NULL, &u.i32); }
448 Accessibility* AsAccessibility (Types *types = NULL) { checked_get_subclass (Type::ACCESSIBILITY, Accessibility) }
449 AlsaSource* AsAlsaSource (Types *types = NULL) { checked_get_subclass (Type::ALSASOURCE, AlsaSource) }
450 Animation* AsAnimation (Types *types = NULL) { checked_get_subclass (Type::ANIMATION, Animation) }
451 AnimationClock* AsAnimationClock (Types *types = NULL) { checked_get_subclass (Type::ANIMATIONCLOCK, AnimationClock) }
452 Application* AsApplication (Types *types = NULL) { checked_get_subclass (Type::APPLICATION, Application) }
453 ArcSegment* AsArcSegment (Types *types = NULL) { checked_get_subclass (Type::ARCSEGMENT, ArcSegment) }
454 ASFDemuxer* AsASFDemuxer (Types *types = NULL) { checked_get_subclass (Type::ASFDEMUXER, ASFDemuxer) }
455 ASFMarkerDecoder* AsASFMarkerDecoder (Types *types = NULL) { checked_get_subclass (Type::ASFMARKERDECODER, ASFMarkerDecoder) }
456 ASFPacket* AsASFPacket (Types *types = NULL) { checked_get_subclass (Type::ASFPACKET, ASFPacket) }
457 ASFParser* AsASFParser (Types *types = NULL) { checked_get_subclass (Type::ASFPARSER, ASFParser) }
458 AssemblyPart* AsAssemblyPart (Types *types = NULL) { checked_get_subclass (Type::ASSEMBLYPART, AssemblyPart) }
459 AssemblyPartCollection* AsAssemblyPartCollection (Types *types = NULL) { checked_get_subclass (Type::ASSEMBLYPART_COLLECTION, AssemblyPartCollection) }
460 ASXDemuxer* AsASXDemuxer (Types *types = NULL) { checked_get_subclass (Type::ASXDEMUXER, ASXDemuxer) }
461 AudioSource* AsAudioSource (Types *types = NULL) { checked_get_subclass (Type::AUDIOSOURCE, AudioSource) }
462 AudioStream* AsAudioStream (Types *types = NULL) { checked_get_subclass (Type::AUDIOSTREAM, AudioStream) }
463 BackEase* AsBackEase (Types *types = NULL) { checked_get_subclass (Type::BACKEASE, BackEase) }
464 BeginStoryboard* AsBeginStoryboard (Types *types = NULL) { checked_get_subclass (Type::BEGINSTORYBOARD, BeginStoryboard) }
465 BezierSegment* AsBezierSegment (Types *types = NULL) { checked_get_subclass (Type::BEZIERSEGMENT, BezierSegment) }
466 BitmapCache* AsBitmapCache (Types *types = NULL) { checked_get_subclass (Type::BITMAPCACHE, BitmapCache) }
467 BitmapImage* AsBitmapImage (Types *types = NULL) { checked_get_subclass (Type::BITMAPIMAGE, BitmapImage) }
468 BitmapSource* AsBitmapSource (Types *types = NULL) { checked_get_subclass (Type::BITMAPSOURCE, BitmapSource) }
469 BlurEffect* AsBlurEffect (Types *types = NULL) { checked_get_subclass (Type::BLUREFFECT, BlurEffect) }
470 Border* AsBorder (Types *types = NULL) { checked_get_subclass (Type::BORDER, Border) }
471 BounceEase* AsBounceEase (Types *types = NULL) { checked_get_subclass (Type::BOUNCEEASE, BounceEase) }
472 Brush* AsBrush (Types *types = NULL) { checked_get_subclass (Type::BRUSH, Brush) }
473 CacheMode* AsCacheMode (Types *types = NULL) { checked_get_subclass (Type::CACHEMODE, CacheMode) }
474 Canvas* AsCanvas (Types *types = NULL) { checked_get_subclass (Type::CANVAS, Canvas) }
475 CircleEase* AsCircleEase (Types *types = NULL) { checked_get_subclass (Type::CIRCLEEASE, CircleEase) }
476 Clock* AsClock (Types *types = NULL) { checked_get_subclass (Type::CLOCK, Clock) }
477 ClockGroup* AsClockGroup (Types *types = NULL) { checked_get_subclass (Type::CLOCKGROUP, ClockGroup) }
478 CodecDownloader* AsCodecDownloader (Types *types = NULL) { checked_get_subclass (Type::CODECDOWNLOADER, CodecDownloader) }
479 Collection* AsCollection (Types *types = NULL) { checked_get_subclass (Type::COLLECTION, Collection) }
480 CollectionChangedEventArgs* AsCollectionChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::COLLECTIONCHANGEDEVENTARGS, CollectionChangedEventArgs) }
481 CollectionItemChangedEventArgs* AsCollectionItemChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::COLLECTIONITEMCHANGEDEVENTARGS, CollectionItemChangedEventArgs) }
482 ColorAnimation* AsColorAnimation (Types *types = NULL) { checked_get_subclass (Type::COLORANIMATION, ColorAnimation) }
483 ColorAnimationUsingKeyFrames* AsColorAnimationUsingKeyFrames (Types *types = NULL) { checked_get_subclass (Type::COLORANIMATIONUSINGKEYFRAMES, ColorAnimationUsingKeyFrames) }
484 ColorKeyFrame* AsColorKeyFrame (Types *types = NULL) { checked_get_subclass (Type::COLORKEYFRAME, ColorKeyFrame) }
485 ColorKeyFrameCollection* AsColorKeyFrameCollection (Types *types = NULL) { checked_get_subclass (Type::COLORKEYFRAME_COLLECTION, ColorKeyFrameCollection) }
486 ColumnDefinition* AsColumnDefinition (Types *types = NULL) { checked_get_subclass (Type::COLUMNDEFINITION, ColumnDefinition) }
487 ColumnDefinitionCollection* AsColumnDefinitionCollection (Types *types = NULL) { checked_get_subclass (Type::COLUMNDEFINITION_COLLECTION, ColumnDefinitionCollection) }
488 ContentChangedEventArgs* AsContentChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::CONTENTCHANGEDEVENTARGS, ContentChangedEventArgs) }
489 ContentControl* AsContentControl (Types *types = NULL) { checked_get_subclass (Type::CONTENTCONTROL, ContentControl) }
490 Control* AsControl (Types *types = NULL) { checked_get_subclass (Type::CONTROL, Control) }
491 ControlTemplate* AsControlTemplate (Types *types = NULL) { checked_get_subclass (Type::CONTROLTEMPLATE, ControlTemplate) }
492 CubicEase* AsCubicEase (Types *types = NULL) { checked_get_subclass (Type::CUBICEASE, CubicEase) }
493 CursorPositionChangedEventArgs* AsCursorPositionChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::CURSORPOSITIONCHANGEDEVENTARGS, CursorPositionChangedEventArgs) }
494 DataTemplate* AsDataTemplate (Types *types = NULL) { checked_get_subclass (Type::DATATEMPLATE, DataTemplate) }
495 DeepZoomImageTileSource* AsDeepZoomImageTileSource (Types *types = NULL) { checked_get_subclass (Type::DEEPZOOMIMAGETILESOURCE, DeepZoomImageTileSource) }
496 DependencyObject* AsDependencyObject (Types *types = NULL) { checked_get_subclass (Type::DEPENDENCY_OBJECT, DependencyObject) }
497 DependencyObjectCollection* AsDependencyObjectCollection (Types *types = NULL) { checked_get_subclass (Type::DEPENDENCY_OBJECT_COLLECTION, DependencyObjectCollection) }
498 Deployment* AsDeployment (Types *types = NULL) { checked_get_subclass (Type::DEPLOYMENT, Deployment) }
499 DiscreteColorKeyFrame* AsDiscreteColorKeyFrame (Types *types = NULL) { checked_get_subclass (Type::DISCRETECOLORKEYFRAME, DiscreteColorKeyFrame) }
500 DiscreteDoubleKeyFrame* AsDiscreteDoubleKeyFrame (Types *types = NULL) { checked_get_subclass (Type::DISCRETEDOUBLEKEYFRAME, DiscreteDoubleKeyFrame) }
501 DiscreteObjectKeyFrame* AsDiscreteObjectKeyFrame (Types *types = NULL) { checked_get_subclass (Type::DISCRETEOBJECTKEYFRAME, DiscreteObjectKeyFrame) }
502 DiscretePointKeyFrame* AsDiscretePointKeyFrame (Types *types = NULL) { checked_get_subclass (Type::DISCRETEPOINTKEYFRAME, DiscretePointKeyFrame) }
503 DispatcherTimer* AsDispatcherTimer (Types *types = NULL) { checked_get_subclass (Type::DISPATCHERTIMER, DispatcherTimer) }
504 DoubleCollection* AsDoubleCollection (Types *types = NULL) { checked_get_subclass (Type::DOUBLE_COLLECTION, DoubleCollection) }
505 DoubleAnimation* AsDoubleAnimation (Types *types = NULL) { checked_get_subclass (Type::DOUBLEANIMATION, DoubleAnimation) }
506 DoubleAnimationUsingKeyFrames* AsDoubleAnimationUsingKeyFrames (Types *types = NULL) { checked_get_subclass (Type::DOUBLEANIMATIONUSINGKEYFRAMES, DoubleAnimationUsingKeyFrames) }
507 DoubleKeyFrame* AsDoubleKeyFrame (Types *types = NULL) { checked_get_subclass (Type::DOUBLEKEYFRAME, DoubleKeyFrame) }
508 DoubleKeyFrameCollection* AsDoubleKeyFrameCollection (Types *types = NULL) { checked_get_subclass (Type::DOUBLEKEYFRAME_COLLECTION, DoubleKeyFrameCollection) }
509 Downloader* AsDownloader (Types *types = NULL) { checked_get_subclass (Type::DOWNLOADER, Downloader) }
510 DownloadProgressEventArgs* AsDownloadProgressEventArgs (Types *types = NULL) { checked_get_subclass (Type::DOWNLOADPROGRESSEVENTARGS, DownloadProgressEventArgs) }
511 DrawingAttributes* AsDrawingAttributes (Types *types = NULL) { checked_get_subclass (Type::DRAWINGATTRIBUTES, DrawingAttributes) }
512 DropShadowEffect* AsDropShadowEffect (Types *types = NULL) { checked_get_subclass (Type::DROPSHADOWEFFECT, DropShadowEffect) }
513 EasingColorKeyFrame* AsEasingColorKeyFrame (Types *types = NULL) { checked_get_subclass (Type::EASINGCOLORKEYFRAME, EasingColorKeyFrame) }
514 EasingDoubleKeyFrame* AsEasingDoubleKeyFrame (Types *types = NULL) { checked_get_subclass (Type::EASINGDOUBLEKEYFRAME, EasingDoubleKeyFrame) }
515 EasingFunctionBase* AsEasingFunctionBase (Types *types = NULL) { checked_get_subclass (Type::EASINGFUNCTIONBASE, EasingFunctionBase) }
516 EasingPointKeyFrame* AsEasingPointKeyFrame (Types *types = NULL) { checked_get_subclass (Type::EASINGPOINTKEYFRAME, EasingPointKeyFrame) }
517 Effect* AsEffect (Types *types = NULL) { checked_get_subclass (Type::EFFECT, Effect) }
518 ElasticEase* AsElasticEase (Types *types = NULL) { checked_get_subclass (Type::ELASTICEASE, ElasticEase) }
519 Ellipse* AsEllipse (Types *types = NULL) { checked_get_subclass (Type::ELLIPSE, Ellipse) }
520 EllipseGeometry* AsEllipseGeometry (Types *types = NULL) { checked_get_subclass (Type::ELLIPSEGEOMETRY, EllipseGeometry) }
521 ErrorEventArgs* AsErrorEventArgs (Types *types = NULL) { checked_get_subclass (Type::ERROREVENTARGS, ErrorEventArgs) }
522 EventArgs* AsEventArgs (Types *types = NULL) { checked_get_subclass (Type::EVENTARGS, EventArgs) }
523 EventListenerProxy* AsEventListenerProxy (Types *types = NULL) { checked_get_subclass (Type::EVENTLISTENERPROXY, EventListenerProxy) }
524 EventObject* AsEventObject (Types *types = NULL) { checked_get_subclass (Type::EVENTOBJECT, EventObject) }
525 EventTrigger* AsEventTrigger (Types *types = NULL) { checked_get_subclass (Type::EVENTTRIGGER, EventTrigger) }
526 ExponentialEase* AsExponentialEase (Types *types = NULL) { checked_get_subclass (Type::EXPONENTIALEASE, ExponentialEase) }
527 ExtensionPart* AsExtensionPart (Types *types = NULL) { checked_get_subclass (Type::EXTENSIONPART, ExtensionPart) }
528 ExternalDecoder* AsExternalDecoder (Types *types = NULL) { checked_get_subclass (Type::EXTERNALDECODER, ExternalDecoder) }
529 ExternalDemuxer* AsExternalDemuxer (Types *types = NULL) { checked_get_subclass (Type::EXTERNALDEMUXER, ExternalDemuxer) }
530 ExternalPart* AsExternalPart (Types *types = NULL) { checked_get_subclass (Type::EXTERNALPART, ExternalPart) }
531 ExternalPartCollection* AsExternalPartCollection (Types *types = NULL) { checked_get_subclass (Type::EXTERNALPART_COLLECTION, ExternalPartCollection) }
532 FfmpegDecoder* AsFfmpegDecoder (Types *types = NULL) { checked_get_subclass (Type::FFMPEGDECODER, FfmpegDecoder) }
533 FfmpegDemuxer* AsFfmpegDemuxer (Types *types = NULL) { checked_get_subclass (Type::FFMPEGDEMUXER, FfmpegDemuxer) }
534 FileDownloader* AsFileDownloader (Types *types = NULL) { checked_get_subclass (Type::FILEDOWNLOADER, FileDownloader) }
535 FileSource* AsFileSource (Types *types = NULL) { checked_get_subclass (Type::FILESOURCE, FileSource) }
536 FrameworkElement* AsFrameworkElement (Types *types = NULL) { checked_get_subclass (Type::FRAMEWORKELEMENT, FrameworkElement) }
537 FrameworkTemplate* AsFrameworkTemplate (Types *types = NULL) { checked_get_subclass (Type::FRAMEWORKTEMPLATE, FrameworkTemplate) }
538 GeneralTransform* AsGeneralTransform (Types *types = NULL) { checked_get_subclass (Type::GENERALTRANSFORM, GeneralTransform) }
539 Geometry* AsGeometry (Types *types = NULL) { checked_get_subclass (Type::GEOMETRY, Geometry) }
540 GeometryCollection* AsGeometryCollection (Types *types = NULL) { checked_get_subclass (Type::GEOMETRY_COLLECTION, GeometryCollection) }
541 GeometryGroup* AsGeometryGroup (Types *types = NULL) { checked_get_subclass (Type::GEOMETRYGROUP, GeometryGroup) }
542 Glyphs* AsGlyphs (Types *types = NULL) { checked_get_subclass (Type::GLYPHS, Glyphs) }
543 GradientBrush* AsGradientBrush (Types *types = NULL) { checked_get_subclass (Type::GRADIENTBRUSH, GradientBrush) }
544 GradientStop* AsGradientStop (Types *types = NULL) { checked_get_subclass (Type::GRADIENTSTOP, GradientStop) }
545 GradientStopCollection* AsGradientStopCollection (Types *types = NULL) { checked_get_subclass (Type::GRADIENTSTOP_COLLECTION, GradientStopCollection) }
546 Grid* AsGrid (Types *types = NULL) { checked_get_subclass (Type::GRID, Grid) }
547 HitTestCollection* AsHitTestCollection (Types *types = NULL) { checked_get_subclass (Type::HITTEST_COLLECTION, HitTestCollection) }
548 Icon* AsIcon (Types *types = NULL) { checked_get_subclass (Type::ICON, Icon) }
549 IconCollection* AsIconCollection (Types *types = NULL) { checked_get_subclass (Type::ICON_COLLECTION, IconCollection) }
550 IImageConverter* AsIImageConverter (Types *types = NULL) { checked_get_subclass (Type::IIMAGECONVERTER, IImageConverter) }
551 Image* AsImage (Types *types = NULL) { checked_get_subclass (Type::IMAGE, Image) }
552 ImageBrush* AsImageBrush (Types *types = NULL) { checked_get_subclass (Type::IMAGEBRUSH, ImageBrush) }
553 ImageErrorEventArgs* AsImageErrorEventArgs (Types *types = NULL) { checked_get_subclass (Type::IMAGEERROREVENTARGS, ImageErrorEventArgs) }
554 ImageSource* AsImageSource (Types *types = NULL) { checked_get_subclass (Type::IMAGESOURCE, ImageSource) }
555 IMediaDecoder* AsIMediaDecoder (Types *types = NULL) { checked_get_subclass (Type::IMEDIADECODER, IMediaDecoder) }
556 IMediaDemuxer* AsIMediaDemuxer (Types *types = NULL) { checked_get_subclass (Type::IMEDIADEMUXER, IMediaDemuxer) }
557 IMediaObject* AsIMediaObject (Types *types = NULL) { checked_get_subclass (Type::IMEDIAOBJECT, IMediaObject) }
558 IMediaSource* AsIMediaSource (Types *types = NULL) { checked_get_subclass (Type::IMEDIASOURCE, IMediaSource) }
559 IMediaStream* AsIMediaStream (Types *types = NULL) { checked_get_subclass (Type::IMEDIASTREAM, IMediaStream) }
560 InkPresenter* AsInkPresenter (Types *types = NULL) { checked_get_subclass (Type::INKPRESENTER, InkPresenter) }
561 Inline* AsInline (Types *types = NULL) { checked_get_subclass (Type::INLINE, Inline) }
562 InlineCollection* AsInlineCollection (Types *types = NULL) { checked_get_subclass (Type::INLINE_COLLECTION, InlineCollection) }
563 InputMethod* AsInputMethod (Types *types = NULL) { checked_get_subclass (Type::INPUTMETHOD, InputMethod) }
564 InternalDownloader* AsInternalDownloader (Types *types = NULL) { checked_get_subclass (Type::INTERNALDOWNLOADER, InternalDownloader) }
565 ItemCollection* AsItemCollection (Types *types = NULL) { checked_get_subclass (Type::ITEM_COLLECTION, ItemCollection) }
566 KeyEventArgs* AsKeyEventArgs (Types *types = NULL) { checked_get_subclass (Type::KEYEVENTARGS, KeyEventArgs) }
567 KeyFrame* AsKeyFrame (Types *types = NULL) { checked_get_subclass (Type::KEYFRAME, KeyFrame) }
568 KeyFrameCollection* AsKeyFrameCollection (Types *types = NULL) { checked_get_subclass (Type::KEYFRAME_COLLECTION, KeyFrameCollection) }
569 KeySpline* AsKeySpline (Types *types = NULL) { checked_get_subclass (Type::KEYSPLINE, KeySpline) }
570 LayoutInformation* AsLayoutInformation (Types *types = NULL) { checked_get_subclass (Type::LAYOUTINFORMATION, LayoutInformation) }
571 Line* AsLine (Types *types = NULL) { checked_get_subclass (Type::LINE, Line) }
572 LinearColorKeyFrame* AsLinearColorKeyFrame (Types *types = NULL) { checked_get_subclass (Type::LINEARCOLORKEYFRAME, LinearColorKeyFrame) }
573 LinearDoubleKeyFrame* AsLinearDoubleKeyFrame (Types *types = NULL) { checked_get_subclass (Type::LINEARDOUBLEKEYFRAME, LinearDoubleKeyFrame) }
574 LinearGradientBrush* AsLinearGradientBrush (Types *types = NULL) { checked_get_subclass (Type::LINEARGRADIENTBRUSH, LinearGradientBrush) }
575 LinearPointKeyFrame* AsLinearPointKeyFrame (Types *types = NULL) { checked_get_subclass (Type::LINEARPOINTKEYFRAME, LinearPointKeyFrame) }
576 LineBreak* AsLineBreak (Types *types = NULL) { checked_get_subclass (Type::LINEBREAK, LineBreak) }
577 LineGeometry* AsLineGeometry (Types *types = NULL) { checked_get_subclass (Type::LINEGEOMETRY, LineGeometry) }
578 LineSegment* AsLineSegment (Types *types = NULL) { checked_get_subclass (Type::LINESEGMENT, LineSegment) }
579 LogReadyRoutedEventArgs* AsLogReadyRoutedEventArgs (Types *types = NULL) { checked_get_subclass (Type::LOGREADYROUTEDEVENTARGS, LogReadyRoutedEventArgs) }
580 ManagedStreamSource* AsManagedStreamSource (Types *types = NULL) { checked_get_subclass (Type::MANAGEDSTREAMSOURCE, ManagedStreamSource) }
581 ManualTimeSource* AsManualTimeSource (Types *types = NULL) { checked_get_subclass (Type::MANUALTIMESOURCE, ManualTimeSource) }
582 MarkerStream* AsMarkerStream (Types *types = NULL) { checked_get_subclass (Type::MARKERSTREAM, MarkerStream) }
583 Matrix* AsMatrix (Types *types = NULL) { checked_get_subclass (Type::MATRIX, Matrix) }
584 Matrix3D* AsMatrix3D (Types *types = NULL) { checked_get_subclass (Type::MATRIX3D, Matrix3D) }
585 Matrix3DProjection* AsMatrix3DProjection (Types *types = NULL) { checked_get_subclass (Type::MATRIX3DPROJECTION, Matrix3DProjection) }
586 MatrixTransform* AsMatrixTransform (Types *types = NULL) { checked_get_subclass (Type::MATRIXTRANSFORM, MatrixTransform) }
587 Media* AsMedia (Types *types = NULL) { checked_get_subclass (Type::MEDIA, Media) }
588 MediaAttribute* AsMediaAttribute (Types *types = NULL) { checked_get_subclass (Type::MEDIAATTRIBUTE, MediaAttribute) }
589 MediaAttributeCollection* AsMediaAttributeCollection (Types *types = NULL) { checked_get_subclass (Type::MEDIAATTRIBUTE_COLLECTION, MediaAttributeCollection) }
590 MediaBase* AsMediaBase (Types *types = NULL) { checked_get_subclass (Type::MEDIABASE, MediaBase) }
591 MediaClosure* AsMediaClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIACLOSURE, MediaClosure) }
592 MediaDisposeObjectClosure* AsMediaDisposeObjectClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIADISPOSEOBJECTCLOSURE, MediaDisposeObjectClosure) }
593 MediaElement* AsMediaElement (Types *types = NULL) { checked_get_subclass (Type::MEDIAELEMENT, MediaElement) }
594 MediaFrame* AsMediaFrame (Types *types = NULL) { checked_get_subclass (Type::MEDIAFRAME, MediaFrame) }
595 MediaGetFrameClosure* AsMediaGetFrameClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIAGETFRAMECLOSURE, MediaGetFrameClosure) }
596 MediaMarker* AsMediaMarker (Types *types = NULL) { checked_get_subclass (Type::MEDIAMARKER, MediaMarker) }
597 MediaMarkerFoundClosure* AsMediaMarkerFoundClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIAMARKERFOUNDCLOSURE, MediaMarkerFoundClosure) }
598 MediaPlayer* AsMediaPlayer (Types *types = NULL) { checked_get_subclass (Type::MEDIAPLAYER, MediaPlayer) }
599 MediaReportFrameCompletedClosure* AsMediaReportFrameCompletedClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIAREPORTFRAMECOMPLETEDCLOSURE, MediaReportFrameCompletedClosure) }
600 MediaReportSeekCompletedClosure* AsMediaReportSeekCompletedClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIAREPORTSEEKCOMPLETEDCLOSURE, MediaReportSeekCompletedClosure) }
601 MediaSeekClosure* AsMediaSeekClosure (Types *types = NULL) { checked_get_subclass (Type::MEDIASEEKCLOSURE, MediaSeekClosure) }
602 MemorySource* AsMemorySource (Types *types = NULL) { checked_get_subclass (Type::MEMORYSOURCE, MemorySource) }
603 MmsDemuxer* AsMmsDemuxer (Types *types = NULL) { checked_get_subclass (Type::MMSDEMUXER, MmsDemuxer) }
604 MmsDownloader* AsMmsDownloader (Types *types = NULL) { checked_get_subclass (Type::MMSDOWNLOADER, MmsDownloader) }
605 MmsPlaylistEntry* AsMmsPlaylistEntry (Types *types = NULL) { checked_get_subclass (Type::MMSPLAYLISTENTRY, MmsPlaylistEntry) }
606 MmsSecondDownloader* AsMmsSecondDownloader (Types *types = NULL) { checked_get_subclass (Type::MMSSECONDDOWNLOADER, MmsSecondDownloader) }
607 MmsSource* AsMmsSource (Types *types = NULL) { checked_get_subclass (Type::MMSSOURCE, MmsSource) }
608 MouseButtonEventArgs* AsMouseButtonEventArgs (Types *types = NULL) { checked_get_subclass (Type::MOUSEBUTTONEVENTARGS, MouseButtonEventArgs) }
609 MouseEventArgs* AsMouseEventArgs (Types *types = NULL) { checked_get_subclass (Type::MOUSEEVENTARGS, MouseEventArgs) }
610 MouseWheelEventArgs* AsMouseWheelEventArgs (Types *types = NULL) { checked_get_subclass (Type::MOUSEWHEELEVENTARGS, MouseWheelEventArgs) }
611 Mp3Demuxer* AsMp3Demuxer (Types *types = NULL) { checked_get_subclass (Type::MP3DEMUXER, Mp3Demuxer) }
612 MultiScaleImage* AsMultiScaleImage (Types *types = NULL) { checked_get_subclass (Type::MULTISCALEIMAGE, MultiScaleImage) }
613 MultiScaleSubImage* AsMultiScaleSubImage (Types *types = NULL) { checked_get_subclass (Type::MULTISCALESUBIMAGE, MultiScaleSubImage) }
614 MultiScaleSubImageCollection* AsMultiScaleSubImageCollection (Types *types = NULL) { checked_get_subclass (Type::MULTISCALESUBIMAGE_COLLECTION, MultiScaleSubImageCollection) }
615 MultiScaleTileSource* AsMultiScaleTileSource (Types *types = NULL) { checked_get_subclass (Type::MULTISCALETILESOURCE, MultiScaleTileSource) }
616 NameScope* AsNameScope (Types *types = NULL) { checked_get_subclass (Type::NAMESCOPE, NameScope) }
617 NullDecoder* AsNullDecoder (Types *types = NULL) { checked_get_subclass (Type::NULLDECODER, NullDecoder) }
618 ObjectAnimationUsingKeyFrames* AsObjectAnimationUsingKeyFrames (Types *types = NULL) { checked_get_subclass (Type::OBJECTANIMATIONUSINGKEYFRAMES, ObjectAnimationUsingKeyFrames) }
619 ObjectKeyFrame* AsObjectKeyFrame (Types *types = NULL) { checked_get_subclass (Type::OBJECTKEYFRAME, ObjectKeyFrame) }
620 ObjectKeyFrameCollection* AsObjectKeyFrameCollection (Types *types = NULL) { checked_get_subclass (Type::OBJECTKEYFRAME_COLLECTION, ObjectKeyFrameCollection) }
621 OutOfBrowserSettings* AsOutOfBrowserSettings (Types *types = NULL) { checked_get_subclass (Type::OUTOFBROWSERSETTINGS, OutOfBrowserSettings) }
622 Panel* AsPanel (Types *types = NULL) { checked_get_subclass (Type::PANEL, Panel) }
623 ParallelTimeline* AsParallelTimeline (Types *types = NULL) { checked_get_subclass (Type::PARALLELTIMELINE, ParallelTimeline) }
624 ParserErrorEventArgs* AsParserErrorEventArgs (Types *types = NULL) { checked_get_subclass (Type::PARSERERROREVENTARGS, ParserErrorEventArgs) }
625 PassThroughDecoder* AsPassThroughDecoder (Types *types = NULL) { checked_get_subclass (Type::PASSTHROUGHDECODER, PassThroughDecoder) }
626 PasswordBox* AsPasswordBox (Types *types = NULL) { checked_get_subclass (Type::PASSWORDBOX, PasswordBox) }
627 Path* AsPath (Types *types = NULL) { checked_get_subclass (Type::PATH, Path) }
628 PathFigure* AsPathFigure (Types *types = NULL) { checked_get_subclass (Type::PATHFIGURE, PathFigure) }
629 PathFigureCollection* AsPathFigureCollection (Types *types = NULL) { checked_get_subclass (Type::PATHFIGURE_COLLECTION, PathFigureCollection) }
630 PathGeometry* AsPathGeometry (Types *types = NULL) { checked_get_subclass (Type::PATHGEOMETRY, PathGeometry) }
631 PathSegment* AsPathSegment (Types *types = NULL) { checked_get_subclass (Type::PATHSEGMENT, PathSegment) }
632 PathSegmentCollection* AsPathSegmentCollection (Types *types = NULL) { checked_get_subclass (Type::PATHSEGMENT_COLLECTION, PathSegmentCollection) }
633 PixelShader* AsPixelShader (Types *types = NULL) { checked_get_subclass (Type::PIXELSHADER, PixelShader) }
634 PlaneProjection* AsPlaneProjection (Types *types = NULL) { checked_get_subclass (Type::PLANEPROJECTION, PlaneProjection) }
635 Playlist* AsPlaylist (Types *types = NULL) { checked_get_subclass (Type::PLAYLIST, Playlist) }
636 PlaylistEntry* AsPlaylistEntry (Types *types = NULL) { checked_get_subclass (Type::PLAYLISTENTRY, PlaylistEntry) }
637 PlaylistRoot* AsPlaylistRoot (Types *types = NULL) { checked_get_subclass (Type::PLAYLISTROOT, PlaylistRoot) }
638 PointCollection* AsPointCollection (Types *types = NULL) { checked_get_subclass (Type::POINT_COLLECTION, PointCollection) }
639 PointAnimation* AsPointAnimation (Types *types = NULL) { checked_get_subclass (Type::POINTANIMATION, PointAnimation) }
640 PointAnimationUsingKeyFrames* AsPointAnimationUsingKeyFrames (Types *types = NULL) { checked_get_subclass (Type::POINTANIMATIONUSINGKEYFRAMES, PointAnimationUsingKeyFrames) }
641 PointKeyFrame* AsPointKeyFrame (Types *types = NULL) { checked_get_subclass (Type::POINTKEYFRAME, PointKeyFrame) }
642 PointKeyFrameCollection* AsPointKeyFrameCollection (Types *types = NULL) { checked_get_subclass (Type::POINTKEYFRAME_COLLECTION, PointKeyFrameCollection) }
643 PolyBezierSegment* AsPolyBezierSegment (Types *types = NULL) { checked_get_subclass (Type::POLYBEZIERSEGMENT, PolyBezierSegment) }
644 Polygon* AsPolygon (Types *types = NULL) { checked_get_subclass (Type::POLYGON, Polygon) }
645 Polyline* AsPolyline (Types *types = NULL) { checked_get_subclass (Type::POLYLINE, Polyline) }
646 PolyLineSegment* AsPolyLineSegment (Types *types = NULL) { checked_get_subclass (Type::POLYLINESEGMENT, PolyLineSegment) }
647 PolyQuadraticBezierSegment* AsPolyQuadraticBezierSegment (Types *types = NULL) { checked_get_subclass (Type::POLYQUADRATICBEZIERSEGMENT, PolyQuadraticBezierSegment) }
648 Popup* AsPopup (Types *types = NULL) { checked_get_subclass (Type::POPUP, Popup) }
649 PowerEase* AsPowerEase (Types *types = NULL) { checked_get_subclass (Type::POWEREASE, PowerEase) }
650 ProgressEventArgs* AsProgressEventArgs (Types *types = NULL) { checked_get_subclass (Type::PROGRESSEVENTARGS, ProgressEventArgs) }
651 ProgressiveSource* AsProgressiveSource (Types *types = NULL) { checked_get_subclass (Type::PROGRESSIVESOURCE, ProgressiveSource) }
652 Projection* AsProjection (Types *types = NULL) { checked_get_subclass (Type::PROJECTION, Projection) }
653 PropertyChangedEventArgs* AsPropertyChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::PROPERTYCHANGEDEVENTARGS, PropertyChangedEventArgs) }
654 PulseSource* AsPulseSource (Types *types = NULL) { checked_get_subclass (Type::PULSESOURCE, PulseSource) }
655 QuadraticBezierSegment* AsQuadraticBezierSegment (Types *types = NULL) { checked_get_subclass (Type::QUADRATICBEZIERSEGMENT, QuadraticBezierSegment) }
656 QuadraticEase* AsQuadraticEase (Types *types = NULL) { checked_get_subclass (Type::QUADRATICEASE, QuadraticEase) }
657 QuarticEase* AsQuarticEase (Types *types = NULL) { checked_get_subclass (Type::QUARTICEASE, QuarticEase) }
658 QuinticEase* AsQuinticEase (Types *types = NULL) { checked_get_subclass (Type::QUINTICEASE, QuinticEase) }
659 RadialGradientBrush* AsRadialGradientBrush (Types *types = NULL) { checked_get_subclass (Type::RADIALGRADIENTBRUSH, RadialGradientBrush) }
660 Rectangle* AsRectangle (Types *types = NULL) { checked_get_subclass (Type::RECTANGLE, Rectangle) }
661 RectangleGeometry* AsRectangleGeometry (Types *types = NULL) { checked_get_subclass (Type::RECTANGLEGEOMETRY, RectangleGeometry) }
662 RenderingEventArgs* AsRenderingEventArgs (Types *types = NULL) { checked_get_subclass (Type::RENDERINGEVENTARGS, RenderingEventArgs) }
663 ResourceDictionary* AsResourceDictionary (Types *types = NULL) { checked_get_subclass (Type::RESOURCE_DICTIONARY, ResourceDictionary) }
664 ResourceDictionaryCollection* AsResourceDictionaryCollection (Types *types = NULL) { checked_get_subclass (Type::RESOURCE_DICTIONARY_COLLECTION, ResourceDictionaryCollection) }
665 RotateTransform* AsRotateTransform (Types *types = NULL) { checked_get_subclass (Type::ROTATETRANSFORM, RotateTransform) }
666 RoutedEventArgs* AsRoutedEventArgs (Types *types = NULL) { checked_get_subclass (Type::ROUTEDEVENTARGS, RoutedEventArgs) }
667 RowDefinition* AsRowDefinition (Types *types = NULL) { checked_get_subclass (Type::ROWDEFINITION, RowDefinition) }
668 RowDefinitionCollection* AsRowDefinitionCollection (Types *types = NULL) { checked_get_subclass (Type::ROWDEFINITION_COLLECTION, RowDefinitionCollection) }
669 Run* AsRun (Types *types = NULL) { checked_get_subclass (Type::RUN, Run) }
670 ScaleTransform* AsScaleTransform (Types *types = NULL) { checked_get_subclass (Type::SCALETRANSFORM, ScaleTransform) }
671 Setter* AsSetter (Types *types = NULL) { checked_get_subclass (Type::SETTER, Setter) }
672 SetterBase* AsSetterBase (Types *types = NULL) { checked_get_subclass (Type::SETTERBASE, SetterBase) }
673 SetterBaseCollection* AsSetterBaseCollection (Types *types = NULL) { checked_get_subclass (Type::SETTERBASE_COLLECTION, SetterBaseCollection) }
674 ShaderEffect* AsShaderEffect (Types *types = NULL) { checked_get_subclass (Type::SHADEREFFECT, ShaderEffect) }
675 Shape* AsShape (Types *types = NULL) { checked_get_subclass (Type::SHAPE, Shape) }
676 SineEase* AsSineEase (Types *types = NULL) { checked_get_subclass (Type::SINEEASE, SineEase) }
677 SizeChangedEventArgs* AsSizeChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::SIZECHANGEDEVENTARGS, SizeChangedEventArgs) }
678 SkewTransform* AsSkewTransform (Types *types = NULL) { checked_get_subclass (Type::SKEWTRANSFORM, SkewTransform) }
679 SolidColorBrush* AsSolidColorBrush (Types *types = NULL) { checked_get_subclass (Type::SOLIDCOLORBRUSH, SolidColorBrush) }
680 SplineColorKeyFrame* AsSplineColorKeyFrame (Types *types = NULL) { checked_get_subclass (Type::SPLINECOLORKEYFRAME, SplineColorKeyFrame) }
681 SplineDoubleKeyFrame* AsSplineDoubleKeyFrame (Types *types = NULL) { checked_get_subclass (Type::SPLINEDOUBLEKEYFRAME, SplineDoubleKeyFrame) }
682 SplinePointKeyFrame* AsSplinePointKeyFrame (Types *types = NULL) { checked_get_subclass (Type::SPLINEPOINTKEYFRAME, SplinePointKeyFrame) }
683 Storyboard* AsStoryboard (Types *types = NULL) { checked_get_subclass (Type::STORYBOARD, Storyboard) }
684 Stroke* AsStroke (Types *types = NULL) { checked_get_subclass (Type::STROKE, Stroke) }
685 StrokeCollection* AsStrokeCollection (Types *types = NULL) { checked_get_subclass (Type::STROKE_COLLECTION, StrokeCollection) }
686 Style* AsStyle (Types *types = NULL) { checked_get_subclass (Type::STYLE, Style) }
687 StylusInfo* AsStylusInfo (Types *types = NULL) { checked_get_subclass (Type::STYLUSINFO, StylusInfo) }
688 StylusPoint* AsStylusPoint (Types *types = NULL) { checked_get_subclass (Type::STYLUSPOINT, StylusPoint) }
689 StylusPointCollection* AsStylusPointCollection (Types *types = NULL) { checked_get_subclass (Type::STYLUSPOINT_COLLECTION, StylusPointCollection) }
690 Surface* AsSurface (Types *types = NULL) { checked_get_subclass (Type::SURFACE, Surface) }
691 SystemTimeSource* AsSystemTimeSource (Types *types = NULL) { checked_get_subclass (Type::SYSTEMTIMESOURCE, SystemTimeSource) }
692 TextBlock* AsTextBlock (Types *types = NULL) { checked_get_subclass (Type::TEXTBLOCK, TextBlock) }
693 TextBox* AsTextBox (Types *types = NULL) { checked_get_subclass (Type::TEXTBOX, TextBox) }
694 TextBoxBase* AsTextBoxBase (Types *types = NULL) { checked_get_subclass (Type::TEXTBOXBASE, TextBoxBase) }
695 TextBoxModelChangedEventArgs* AsTextBoxModelChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::TEXTBOXMODELCHANGEDEVENTARGS, TextBoxModelChangedEventArgs) }
696 TextBoxView* AsTextBoxView (Types *types = NULL) { checked_get_subclass (Type::TEXTBOXVIEW, TextBoxView) }
697 TextChangedEventArgs* AsTextChangedEventArgs (Types *types = NULL) { checked_get_subclass (Type::TEXTCHANGEDEVENTARGS, TextChangedEventArgs) }
698 TextOptions* AsTextOptions (Types *types = NULL) { checked_get_subclass (Type::TEXTOPTIONS, TextOptions) }
699 TileBrush* AsTileBrush (Types *types = NULL) { checked_get_subclass (Type::TILEBRUSH, TileBrush) }
700 Timeline* AsTimeline (Types *types = NULL) { checked_get_subclass (Type::TIMELINE, Timeline) }
701 TimelineCollection* AsTimelineCollection (Types *types = NULL) { checked_get_subclass (Type::TIMELINE_COLLECTION, TimelineCollection) }
702 TimelineGroup* AsTimelineGroup (Types *types = NULL) { checked_get_subclass (Type::TIMELINEGROUP, TimelineGroup) }
703 TimelineMarker* AsTimelineMarker (Types *types = NULL) { checked_get_subclass (Type::TIMELINEMARKER, TimelineMarker) }
704 TimelineMarkerCollection* AsTimelineMarkerCollection (Types *types = NULL) { checked_get_subclass (Type::TIMELINEMARKER_COLLECTION, TimelineMarkerCollection) }
705 TimelineMarkerRoutedEventArgs* AsTimelineMarkerRoutedEventArgs (Types *types = NULL) { checked_get_subclass (Type::TIMELINEMARKERROUTEDEVENTARGS, TimelineMarkerRoutedEventArgs) }
706 TimeManager* AsTimeManager (Types *types = NULL) { checked_get_subclass (Type::TIMEMANAGER, TimeManager) }
707 TimeSource* AsTimeSource (Types *types = NULL) { checked_get_subclass (Type::TIMESOURCE, TimeSource) }
708 Transform* AsTransform (Types *types = NULL) { checked_get_subclass (Type::TRANSFORM, Transform) }
709 TransformCollection* AsTransformCollection (Types *types = NULL) { checked_get_subclass (Type::TRANSFORM_COLLECTION, TransformCollection) }
710 TransformGroup* AsTransformGroup (Types *types = NULL) { checked_get_subclass (Type::TRANSFORMGROUP, TransformGroup) }
711 TranslateTransform* AsTranslateTransform (Types *types = NULL) { checked_get_subclass (Type::TRANSLATETRANSFORM, TranslateTransform) }
712 TriggerCollection* AsTriggerCollection (Types *types = NULL) { checked_get_subclass (Type::TRIGGER_COLLECTION, TriggerCollection) }
713 TriggerAction* AsTriggerAction (Types *types = NULL) { checked_get_subclass (Type::TRIGGERACTION, TriggerAction) }
714 TriggerActionCollection* AsTriggerActionCollection (Types *types = NULL) { checked_get_subclass (Type::TRIGGERACTION_COLLECTION, TriggerActionCollection) }
715 TriggerBase* AsTriggerBase (Types *types = NULL) { checked_get_subclass (Type::TRIGGERBASE, TriggerBase) }
716 UIElement* AsUIElement (Types *types = NULL) { checked_get_subclass (Type::UIELEMENT, UIElement) }
717 UIElementCollection* AsUIElementCollection (Types *types = NULL) { checked_get_subclass (Type::UIELEMENT_COLLECTION, UIElementCollection) }
718 UnmanagedMatrix* AsUnmanagedMatrix (Types *types = NULL) { checked_get_subclass (Type::UNMANAGEDMATRIX, UnmanagedMatrix) }
719 UnmanagedMatrix3D* AsUnmanagedMatrix3D (Types *types = NULL) { checked_get_subclass (Type::UNMANAGEDMATRIX3D, UnmanagedMatrix3D) }
720 UserControl* AsUserControl (Types *types = NULL) { checked_get_subclass (Type::USERCONTROL, UserControl) }
721 VideoBrush* AsVideoBrush (Types *types = NULL) { checked_get_subclass (Type::VIDEOBRUSH, VideoBrush) }
722 VideoStream* AsVideoStream (Types *types = NULL) { checked_get_subclass (Type::VIDEOSTREAM, VideoStream) }
723 VisualBrush* AsVisualBrush (Types *types = NULL) { checked_get_subclass (Type::VISUALBRUSH, VisualBrush) }
724 WindowSettings* AsWindowSettings (Types *types = NULL) { checked_get_subclass (Type::WINDOWSETTINGS, WindowSettings) }
725 WriteableBitmap* AsWriteableBitmap (Types *types = NULL) { checked_get_subclass (Type::WRITEABLEBITMAP, WriteableBitmap) }
726 YUVConverter* AsYUVConverter (Types *types = NULL) { checked_get_subclass (Type::YUVCONVERTER, YUVConverter) }
729 char *ToString ();
731 Type::Kind GetKind ();
733 void FreeValue ();
735 private:
736 Type::Kind k;
738 gint32 padding;
740 union {
741 double d;
742 float f;
743 guint64 ui64;
744 gint64 i64;
745 guint32 ui32;
746 gint32 i32;
747 gunichar c;
748 char *s;
749 EventObject *dependency_object;
750 Color *color;
751 DependencyProperty *dp;
752 Point *point;
753 Uri *uri;
754 Rect *rect;
755 Size *size;
756 FontFamily *fontfamily;
757 FontSource *fontsource;
758 FontWeight *fontweight;
759 FontStretch *fontstretch;
760 FontStyle *fontstyle;
761 PropertyPath *propertypath;
762 RepeatBehavior *repeat;
763 Duration *duration;
764 KeyTime *keytime;
765 GridLength *grid_length;
766 Thickness *thickness;
767 CornerRadius *corner;
768 ManagedTypeInfo *type_info;
769 void *managed_object;
770 void *npobj;
771 } u;
773 // You don't want to be using this ctor. it's here to help
774 // c++ recognize bad unspecified pointer args to Value ctors
775 // (it normally converts them to bool, which we handle, so you
776 // never see the error of your ways). So do the world a
777 // favor, and don't expose this ctor. :)
778 Value (void *v) { }
779 // You don't want to be using this ctor either.
780 // Use the Value (gint64, Type::Kind) ctor
781 // (Both for TimeSpan and int64_t)
782 // This one is bad because it get used by either int64_t
783 // and TimeSpan, and the constructor doesn't know which
784 // of the two types it is.
785 explicit Value (gint64 i) {};
787 void Copy (const Value& other);
788 char *GetName ();
791 G_BEGIN_DECLS
792 /* @GeneratePInvoke */
793 void value_free_value (Value *value);
794 /* @GeneratePInvoke */
795 void value_free_value2 (/* @MarshalAs=IntPtr */ Value *value);
796 G_END_DECLS
799 #endif /* MOON_VALUE_H */