2 * Automatically generated, do not edit this file directly
5 #ifndef __MOONLIGHT_C_BINDING_H__
6 #define __MOONLIGHT_C_BINDING_H__
20 class ASFMarkerDecoder
;
24 class AssemblyPartCollection
;
29 class BeginStoryboard
;
43 class CodecDownloader
;
45 class CollectionChangedEventArgs
;
46 class CollectionItemChangedEventArgs
;
48 class ColorAnimationUsingKeyFrames
;
50 class ColorKeyFrameCollection
;
51 class ColumnDefinition
;
52 class ColumnDefinitionCollection
;
53 class ContentChangedEventArgs
;
56 class ControlTemplate
;
58 class CursorPositionChangedEventArgs
;
60 class DeepZoomImageTileSource
;
61 class DependencyObject
;
62 class DependencyObjectCollection
;
64 class DiscreteColorKeyFrame
;
65 class DiscreteDoubleKeyFrame
;
66 class DiscreteObjectKeyFrame
;
67 class DiscretePointKeyFrame
;
68 class DispatcherTimer
;
69 class DoubleCollection
;
70 class DoubleAnimation
;
71 class DoubleAnimationUsingKeyFrames
;
73 class DoubleKeyFrameCollection
;
75 class DownloadProgressEventArgs
;
76 class DrawingAttributes
;
77 class DropShadowEffect
;
78 class EasingColorKeyFrame
;
79 class EasingDoubleKeyFrame
;
80 class EasingFunctionBase
;
81 class EasingPointKeyFrame
;
85 class EllipseGeometry
;
88 class EventListenerProxy
;
91 class ExponentialEase
;
93 class ExternalDecoder
;
94 class ExternalDemuxer
;
96 class ExternalPartCollection
;
101 class FrameworkElement
;
102 class FrameworkTemplate
;
103 class GeneralTransform
;
105 class GeometryCollection
;
110 class GradientStopCollection
;
112 class HitTestCollection
;
114 class IconCollection
;
115 class IImageConverter
;
118 class ImageErrorEventArgs
;
127 class InlineCollection
;
129 class InternalDownloader
;
130 class ItemCollection
;
133 class KeyFrameCollection
;
135 class LayoutInformation
;
137 class LinearColorKeyFrame
;
138 class LinearDoubleKeyFrame
;
139 class LinearGradientBrush
;
140 class LinearPointKeyFrame
;
144 class LogReadyRoutedEventArgs
;
145 class ManagedStreamSource
;
146 class ManualTimeSource
;
150 class Matrix3DProjection
;
151 class MatrixTransform
;
153 class MediaAttribute
;
154 class MediaAttributeCollection
;
157 class MediaDisposeObjectClosure
;
160 class MediaGetFrameClosure
;
162 class MediaMarkerFoundClosure
;
164 class MediaReportFrameCompletedClosure
;
165 class MediaReportSeekCompletedClosure
;
166 class MediaSeekClosure
;
170 class MmsPlaylistEntry
;
171 class MmsSecondDownloader
;
173 class MouseButtonEventArgs
;
174 class MouseEventArgs
;
175 class MouseWheelEventArgs
;
177 class MultiScaleImage
;
178 class MultiScaleSubImage
;
179 class MultiScaleSubImageCollection
;
180 class MultiScaleTileSource
;
183 class ObjectAnimationUsingKeyFrames
;
184 class ObjectKeyFrame
;
185 class ObjectKeyFrameCollection
;
186 class OutOfBrowserSettings
;
188 class ParallelTimeline
;
189 class ParserErrorEventArgs
;
190 class PassThroughDecoder
;
194 class PathFigureCollection
;
197 class PathSegmentCollection
;
199 class PlaneProjection
;
203 class PointCollection
;
204 class PointAnimation
;
205 class PointAnimationUsingKeyFrames
;
207 class PointKeyFrameCollection
;
208 class PolyBezierSegment
;
211 class PolyLineSegment
;
212 class PolyQuadraticBezierSegment
;
215 class ProgressEventArgs
;
216 class ProgressiveSource
;
218 class PropertyChangedEventArgs
;
220 class QuadraticBezierSegment
;
224 class RadialGradientBrush
;
226 class RectangleGeometry
;
227 class RenderingEventArgs
;
228 class ResourceDictionary
;
229 class ResourceDictionaryCollection
;
230 class RotateTransform
;
231 class RoutedEventArgs
;
233 class RowDefinitionCollection
;
235 class ScaleTransform
;
238 class SetterBaseCollection
;
242 class SizeChangedEventArgs
;
244 class SolidColorBrush
;
245 class SplineColorKeyFrame
;
246 class SplineDoubleKeyFrame
;
247 class SplinePointKeyFrame
;
250 class StrokeCollection
;
254 class StylusPointCollection
;
256 class SystemTimeSource
;
260 class TextBoxModelChangedEventArgs
;
262 class TextChangedEventArgs
;
266 class TimelineCollection
;
268 class TimelineMarker
;
269 class TimelineMarkerCollection
;
270 class TimelineMarkerRoutedEventArgs
;
274 class TransformCollection
;
275 class TransformGroup
;
276 class TranslateTransform
;
277 class TriggerCollection
;
279 class TriggerActionCollection
;
282 class UIElementCollection
;
283 class UnmanagedMatrix
;
284 class UnmanagedMatrix3D
;
289 class WindowSettings
;
290 class WriteableBitmap
;
298 class AnimationClock
;
299 class AnimationStorage
;
305 class ASFDemuxerInfo
;
306 class ASFFrameReader
;
307 class ASFMarkerDecoder
;
308 class ASFMarkerDecoderInfo
;
313 class AssemblyPartCollection
;
315 class ASXDemuxerInfo
;
321 class AutoCreatePropertyValueProvider
;
324 class BeginStoryboard
;
340 class CodecDownloader
;
342 class CollectionChangedEventArgs
;
343 class CollectionItemChangedEventArgs
;
344 class CollectionIterator
;
345 class ColorAnimation
;
346 class ColorAnimationUsingKeyFrames
;
348 class ColorKeyFrameCollection
;
349 class ColumnDefinition
;
350 class ColumnDefinitionCollection
;
351 class ContentChangedEventArgs
;
352 class ContentControl
;
353 class ContentDescription
;
354 class ContentDescriptionList
;
356 class ControlTemplate
;
359 class CursorPositionChangedEventArgs
;
362 class DeepTreeWalker
;
363 class DeepZoomImageTileSource
;
364 class DefaultValuePropertyValueProvider
;
366 class DependencyObject
;
367 class DependencyObjectCollection
;
368 class DependencyProperty
;
370 class DeploymentStack
;
372 class DiscreteColorKeyFrame
;
373 class DiscreteDoubleKeyFrame
;
374 class DiscreteObjectKeyFrame
;
375 class DiscretePointKeyFrame
;
376 class DispatcherTimer
;
377 class DoubleAnimation
;
378 class DoubleAnimationUsingKeyFrames
;
379 class DoubleCollection
;
380 class DoubleKeyFrame
;
381 class DoubleKeyFrameCollection
;
383 class DownloaderRequest
;
384 class DownloaderResponse
;
385 class DownloadProgressEventArgs
;
386 class DrawingAttributes
;
387 class DropShadowEffect
;
388 class EasingColorKeyFrame
;
389 class EasingDoubleKeyFrame
;
390 class EasingFunctionBase
;
391 class EasingPointKeyFrame
;
395 class EllipseGeometry
;
396 class ErrorEventArgs
;
398 class EventListenerProxy
;
401 class ExponentialEase
;
403 class ExternalDecoder
;
404 class ExternalDecoderInfo
;
405 class ExternalDemuxer
;
407 class ExternalPartCollection
;
409 class FfmpegDecoderInfo
;
411 class FileDownloader
;
415 class FrameworkElement
;
416 class FrameworkElementProvider
;
417 class FrameworkTemplate
;
418 class GeneralTransform
;
420 class GeometryCollection
;
425 class GradientStopCollection
;
429 class HitTestCollection
;
431 class IconCollection
;
433 class IImageConverter
;
436 class ImageErrorEventArgs
;
443 class InheritedPropertyValueProvider
;
446 class InlineCollection
;
448 class InternalDownloader
;
449 class ItemCollection
;
450 class ITextAttributes
;
454 class KeyFrameCollection
;
456 class LayoutInformation
;
458 class LinearColorKeyFrame
;
459 class LinearDoubleKeyFrame
;
460 class LinearGradientBrush
;
461 class LinearPointKeyFrame
;
466 class LocalPropertyValueProvider
;
467 class LogReadyRoutedEventArgs
;
468 class ManagedStreamSource
;
469 class ManualTimeSource
;
473 class Matrix3DProjection
;
474 class MatrixTransform
;
476 class MediaAttribute
;
477 class MediaAttributeCollection
;
480 class MediaDisposeObjectClosure
;
482 class MediaElementPropertyValueProvider
;
484 class MediaGetFrameClosure
;
487 class MediaMarkerFoundClosure
;
489 class MediaReportFrameCompletedClosure
;
490 class MediaReportSeekCompletedClosure
;
491 class MediaSeekClosure
;
492 class MediaThreadPool
;
497 class MmsPlaylistEntry
;
498 class MmsSecondDownloader
;
501 class MoonlightConfiguration
;
504 class MoonWindowless
;
505 class MouseButtonEventArgs
;
506 class MouseEventArgs
;
507 class MouseWheelEventArgs
;
509 class Mp3DemuxerInfo
;
510 class Mp3FrameReader
;
511 class MultiScaleImage
;
512 class MultiScaleImagePropertyValueProvider
;
513 class MultiScaleSubImage
;
514 class MultiScaleSubImageCollection
;
515 class MultiScaleTileSource
;
518 class NPStreamRequest
;
520 class NullDecoderInfo
;
521 class ObjectAnimationUsingKeyFrames
;
522 class ObjectKeyFrame
;
523 class ObjectKeyFrameCollection
;
525 class OutOfBrowserSettings
;
527 class ParallelTimeline
;
528 class ParserErrorEventArgs
;
529 class PassThroughDecoder
;
530 class PassThroughDecoderInfo
;
534 class PathFigureCollection
;
537 class PathSegmentCollection
;
539 class PlaneProjection
;
544 class PlaylistParser
;
545 class PlaylistParserInternal
;
547 class PluginDownloader
;
548 class PluginInstance
;
549 class PluginXamlLoader
;
550 class PointAnimation
;
551 class PointAnimationUsingKeyFrames
;
552 class PointCollection
;
554 class PointKeyFrameCollection
;
555 class PolyBezierSegment
;
558 class PolyLineSegment
;
559 class PolyQuadraticBezierSegment
;
562 class ProgressEventArgs
;
563 class ProgressiveSource
;
565 class PropertyChangedEventArgs
;
566 class PropertyValueProvider
;
569 class QuadraticBezierSegment
;
574 class RadialGradientBrush
;
576 class RectangleGeometry
;
578 class RenderingEventArgs
;
580 class ResourceDictionary
;
581 class ResourceDictionaryCollection
;
582 class RotateTransform
;
583 class RoutedEventArgs
;
585 class RowDefinitionCollection
;
587 class ScaleTransform
;
590 class SetterBaseCollection
;
594 class SizeChangedEventArgs
;
596 class SolidColorBrush
;
597 class SplineColorKeyFrame
;
598 class SplineDoubleKeyFrame
;
599 class SplinePointKeyFrame
;
603 class StrokeCollection
;
605 class StylePropertyValueProvider
;
608 class StylusPointCollection
;
610 class SystemTimeSource
;
611 class TabNavigationWalker
;
615 class TextBoxModelChangedEventArgs
;
617 class TextChangedEventArgs
;
619 class TextFontDescription
;
621 class TextLayoutAttributes
;
626 class TimelineCollection
;
628 class TimelineMarker
;
629 class TimelineMarkerCollection
;
630 class TimelineMarkerRoutedEventArgs
;
633 class ToggleNotifyListener
;
635 class TransformCollection
;
636 class TransformGroup
;
637 class TranslateTransform
;
639 class TriggerActionCollection
;
641 class TriggerCollection
;
645 class UIElementCollection
;
647 class UnmanagedMatrix
;
648 class UnmanagedMatrix3D
;
654 class VisualTreeWalker
;
655 class WindowSettings
;
656 class WriteableBitmap
;
661 class YUVConverterInfo
;
663 struct asf_bitrate_mutual_exclusion
;
664 struct asf_codec_list
;
665 struct asf_content_description
;
667 struct asf_error_correction
;
668 struct asf_error_correction_data
;
669 struct asf_extended_content_description
;
670 struct asf_extended_stream_name
;
671 struct asf_extended_stream_properties
;
672 struct asf_file_properties
;
675 struct asf_header_extension
;
677 struct asf_marker_entry
;
678 struct asf_multiple_payloads
;
680 struct asf_payload_extension_system
;
681 struct asf_payload_parsing_information
;
682 struct asf_script_command
;
683 struct asf_script_command_entry
;
684 struct asf_single_payload
;
685 struct asf_stream_bitrate_properties
;
686 struct asf_stream_properties
;
687 struct asf_video_stream_data
;
689 struct ASFFrameReaderData
;
690 struct ASFFrameReaderIndex
;
692 struct BITMAPINFOHEADER
;
696 struct FontFaceExtents
;
706 struct ManagedStreamCallbacks
;
707 struct ManagedTypeInfo
;
708 struct MmsDataPacket
;
710 struct MmsHeaderReason
;
712 struct MoonlightCollectionObject
;
713 struct MoonlightCollectionType
;
714 struct MoonlightContentObject
;
715 struct MoonlightContentType
;
716 struct MoonlightControlObject
;
717 struct MoonlightControlType
;
718 struct MoonlightCornerRadius
;
719 struct MoonlightCornerRadiusType
;
720 struct MoonlightDependencyObjectObject
;
721 struct MoonlightDependencyObjectType
;
722 struct MoonlightDownloaderObject
;
723 struct MoonlightDownloaderType
;
724 struct MoonlightDownloadProgressEventArgs
;
725 struct MoonlightDownloadProgressEventArgsType
;
726 struct MoonlightDuration
;
727 struct MoonlightDurationType
;
728 struct MoonlightErrorEventArgs
;
729 struct MoonlightErrorEventArgsType
;
730 struct MoonlightEventArgs
;
731 struct MoonlightEventArgsType
;
732 struct MoonlightEventObjectObject
;
733 struct MoonlightEventObjectType
;
734 struct MoonlightGridLength
;
735 struct MoonlightGridLengthType
;
736 struct MoonlightImageBrushObject
;
737 struct MoonlightImageBrushType
;
738 struct MoonlightImageObject
;
739 struct MoonlightImageType
;
740 struct MoonlightKeyEventArgsObject
;
741 struct MoonlightKeyEventArgsType
;
742 struct MoonlightKeyTime
;
743 struct MoonlightKeyTimeType
;
744 struct MoonlightMediaElementObject
;
745 struct MoonlightMediaElementType
;
746 struct MoonlightMouseEventArgsObject
;
747 struct MoonlightMouseEventArgsType
;
748 struct MoonlightMultiScaleImageObject
;
749 struct MoonlightMultiScaleImageType
;
750 struct MoonlightObject
;
751 struct MoonlightObjectType
;
752 struct MoonlightPasswordBoxObject
;
753 struct MoonlightPasswordBoxType
;
754 struct MoonlightPoint
;
755 struct MoonlightPointType
;
756 struct MoonlightRect
;
757 struct MoonlightRectType
;
758 struct MoonlightRoutedEventArgs
;
759 struct MoonlightRoutedEventArgsType
;
760 struct MoonlightScriptableObjectObject
;
761 struct MoonlightScriptableObjectType
;
762 struct MoonlightScriptControlObject
;
763 struct MoonlightScriptControlType
;
764 struct MoonlightSettingsObject
;
765 struct MoonlightSettingsType
;
766 struct MoonlightStoryboardObject
;
767 struct MoonlightStoryboardType
;
768 struct MoonlightStrokeCollectionObject
;
769 struct MoonlightStrokeCollectionType
;
770 struct MoonlightStrokeObject
;
771 struct MoonlightStrokeType
;
772 struct MoonlightStylusInfoObject
;
773 struct MoonlightStylusInfoType
;
774 struct MoonlightStylusPointCollectionObject
;
775 struct MoonlightStylusPointCollectionType
;
776 struct MoonlightTextBlockObject
;
777 struct MoonlightTextBlockType
;
778 struct MoonlightTextBoxObject
;
779 struct MoonlightTextBoxType
;
780 struct MoonlightThickness
;
781 struct MoonlightThicknessType
;
782 struct MoonlightTimelineMarkerRoutedEventArgsObject
;
783 struct MoonlightTimelineMarkerRoutedEventArgsType
;
784 struct MoonlightTimeSpan
;
785 struct MoonlightTimeSpanType
;
786 struct MoonlightUIElementObject
;
787 struct MoonlightUIElementType
;
788 struct MoonNameIdMapping
;
790 struct MpegFrameHeader
;
791 struct MpegVBRHeader
;
795 struct RepeatBehavior
;
798 struct TextLayoutGlyphCluster
;
799 struct TextLayoutLine
;
800 struct TextLayoutRun
;
805 struct WAVEFORMATEXTENSIBLE
;
806 struct XamlCallbackData
;
807 struct XamlLoaderCallbacks
;
809 typedef void ( * ApplyDefaultStyleCallback
) ( FrameworkElement
* fwe
, ManagedTypeInfo
* key
) ;
810 typedef void ( * ApplyStyleCallback
) ( FrameworkElement
* fwe
, Style
* style
) ;
811 typedef void * ( * ConvertKeyframeValueCallback
) ( int kind
, DependencyProperty
* property
, Value
* original
, Value
* converted
) ;
812 typedef ManagedStreamCallbacks ( * GetResourceCallback
) ( const char * resourceBase
, const char * name
) ;
813 typedef void ( * TickCallHandler
) ( EventObject
* object
) ;
814 typedef void ( * EventHandler
) ( EventObject
* sender
, EventArgs
* args
, gpointer closure
) ;
815 typedef void ( * ToggleNotifyHandler
) ( EventObject
* sender
, bool isLastRef
) ;
816 typedef void ( * PropertyChangeHandler
) ( DependencyObject
* sender
, PropertyChangedEventArgs
* args
, MoonError
* error
, gpointer closure
) ;
817 typedef void ( * DownloaderResponseHeaderCallback
) ( gpointer context
, const char * header
, const char * value
) ;
818 typedef void ( * DownloaderWriteFunc
) ( void * buf
, gint32 offset
, gint32 n
, gpointer cb_data
) ;
819 typedef void ( * DownloaderNotifySizeFunc
) ( gint64 size
, gpointer cb_data
) ;
820 typedef gpointer ( * DownloaderCreateStateFunc
) ( Downloader
* dl
) ;
821 typedef void ( * DownloaderDestroyStateFunc
) ( gpointer state
) ;
822 typedef void ( * DownloaderOpenFunc
) ( gpointer state
, const char * verb
, const char * uri
, bool custom_header_support
, bool disable_cache
) ;
823 typedef void ( * DownloaderSendFunc
) ( gpointer state
) ;
824 typedef void ( * DownloaderAbortFunc
) ( gpointer state
) ;
825 typedef void ( * DownloaderHeaderFunc
) ( gpointer state
, const char * header
, const char * value
) ;
826 typedef void ( * DownloaderBodyFunc
) ( gpointer state
, void * body
, guint32 length
) ;
827 typedef gpointer ( * DownloaderCreateWebRequestFunc
) ( const char * method
, const char * uri
, gpointer context
) ;
828 typedef void ( * DownloaderSetResponseHeaderCallbackFunc
) ( gpointer state
, DownloaderResponseHeaderCallback callback
, gpointer context
) ;
829 typedef DownloaderResponse
* ( * DownloaderGetResponseFunc
) ( gpointer state
) ;
830 typedef guint32 ( * DownloaderResponseStartedHandler
) ( DownloaderResponse
* response
, gpointer context
) ;
831 typedef guint32 ( * DownloaderResponseDataAvailableHandler
) ( DownloaderResponse
* response
, gpointer context
, char * buffer
, guint32 length
) ;
832 typedef guint32 ( * DownloaderResponseFinishedHandler
) ( DownloaderResponse
* response
, gpointer context
, bool success
, gpointer data
, const char * uri
) ;
833 typedef double ( * EasingFunction
) ( double normalizedTime
) ;
834 typedef Size ( * MeasureOverrideCallback
) ( Size availableSize
) ;
835 typedef Size ( * ArrangeOverrideCallback
) ( Size finalSize
) ;
836 typedef UIElement
* ( * GetDefaultTemplateCallback
) ( FrameworkElement
* element
) ;
837 typedef void ( * LoadedCallback
) ( FrameworkElement
* element
) ;
838 typedef void ( * CloseDemuxerCallback
) ( void * instance
) ;
839 typedef void ( * GetDiagnosticAsyncCallback
) ( void * instance
, int diagnosticKind
) ;
840 typedef void ( * GetFrameAsyncCallback
) ( void * instance
, int mediaStreamType
) ;
841 typedef void ( * OpenDemuxerAsyncCallback
) ( void * instance
, IMediaDemuxer
* demuxer
) ;
842 typedef void ( * SeekAsyncCallback
) ( void * instance
, guint64 seekToTime
) ;
843 typedef void ( * SwitchMediaStreamAsyncCallback
) ( void * instance
, IMediaStream
* mediaStreamDescription
) ;
844 typedef void ( * ExternalDecoder_DecodeFrameAsyncCallback
) ( void * instance
, MediaFrame
* frame
) ;
845 typedef void ( * ExternalDecoder_OpenDecoderAsyncCallback
) ( void * instance
) ;
846 typedef void ( * ExternalDecoder_CleanupCallback
) ( void * instance
, MediaFrame
* frame
) ;
847 typedef void ( * ExternalDecoder_CleanStateCallback
) ( void * instance
) ;
848 typedef bool ( * ExternalDecoder_HasDelayedFrameCallback
) ( void * instance
) ;
849 typedef void ( * ExternalDecoder_DisposeCallback
) ( void * instance
) ;
850 typedef void ( * ExternalDecoder_DtorCallback
) ( void * instance
) ;
851 typedef bool ( * ExternalDecoderInfo_SupportsCallback
) ( void * instance
, const char * codec
) ;
852 typedef IMediaDecoder
* ( * ExternalDecoderInfo_Create
) ( void * instance
, Media
* media
, IMediaStream
* stream
) ;
853 typedef void ( * ExternalDecoderInfo_dtor
) ( void * instance
) ;
854 typedef bool ( * get_image_uri_func
) ( int level
, int posX
, int posY
, Uri
* uri
, void * user_data
) ;
855 typedef gint64 TimeSpan
;
863 /* @GeneratePInvoke */
864 void *plugin_instance_evaluate (PluginInstance
*instance
, const char *code
);
866 /* @GeneratePInvoke */
867 gint32
plugin_instance_get_actual_height (PluginInstance
*instance
);
869 /* @GeneratePInvoke */
870 gint32
plugin_instance_get_actual_width (PluginInstance
*instance
);
872 /* @GeneratePInvoke */
873 bool plugin_instance_get_allow_html_popup_window (PluginInstance
*instance
);
875 /* @GeneratePInvoke */
876 void *plugin_instance_get_browser_host (PluginInstance
*instance
);
878 /* @GeneratePInvoke */
879 bool plugin_instance_get_enable_html_access (PluginInstance
*instance
);
881 /* @GeneratePInvoke */
882 const char *plugin_instance_get_init_params (PluginInstance
*instance
);
884 /* @GeneratePInvoke */
885 const char *plugin_instance_get_source (PluginInstance
*instance
);
887 /* @GeneratePInvoke */
888 const char *plugin_instance_get_source_location (PluginInstance
*instance
);
890 /* @GeneratePInvoke */
891 const char *plugin_instance_get_source_location_original (PluginInstance
*instance
);
893 /* @GeneratePInvoke */
894 const char *plugin_instance_get_source_original (PluginInstance
*instance
);
896 /* @GeneratePInvoke */
897 Surface
*plugin_instance_get_surface (PluginInstance
*instance
);
899 /* @GeneratePInvoke */
900 bool plugin_instance_get_windowless (PluginInstance
*instance
);
902 /* @GeneratePInvoke */
903 void plugin_instance_report_exception (PluginInstance
*instance
, char *msg
, char *details
, char* *stack_trace
, int num_frames
);