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