Facilitating presentation functionality through a programming interface media namespace
First Claim
Patent Images
1. An application program interface embodied on one or more computer readable media, comprising:
- a presentation namespace having a plurality of namespaces enabling presentation functionality for applications; and
a media namespace as one of the plurality of namespaces, the media namespace providing a plurality of sub-namespaces and a collection of types that enable development of media presentation functionality.
1 Assignment
0 Petitions
Accused Products
Abstract
An Application programming interface (API) provides functions for generating applications, documents, media presentations and other content. These functions allow developers to obtain services from an operating system, object model service, or other system or service.
-
Citations
37 Claims
-
1. An application program interface embodied on one or more computer readable media, comprising:
-
a presentation namespace having a plurality of namespaces enabling presentation functionality for applications; and
a media namespace as one of the plurality of namespaces, the media namespace providing a plurality of sub-namespaces and a collection of types that enable development of media presentation functionality. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
2. An application program interface as recited in claim 1, wherein the plurality of sub-namespaces comprises:
-
a Media.Core namespace to enable media presentation functionality;
a Media.Types namespace to describe various media types;
a Media.Animation namespace to enable animation effects; and
a Media.TextFormatting namespace to enable text services.
-
-
3. An application program interface as recited in claim 2, wherein the Media.Core namespace provides a collection of types which enable media presentation functionality, the collection of types comprising:
-
classes;
interfaces;
delegates;
enumerations; and
structures.
-
-
4. An application program interface as recited in claim 3, wherein the classes are selected from a group of classes comprising:
-
an AsfProfile to describe a configuration of a file that uses an Advanced Systems Format (ASF) file structure;
an AsfProfileMutualExclusion to describe streams that are mutually exclusive;
an AsfProfileMutualExclusionCollection to describe a collection of AsfProfileMutualExlusion Objects;
an AsfProfileSharedStreamBandwidth to describe a set of steams that, when combine, are warranted not to exceed a specified bandwidth;
an AsfProfileSharedSreamBandwidthCollection to describe a collection of AsfProfileSharedStreamBandwidth objects;
an AttributeValuePair to represent an extensible attribute for media sample;
a BlackBoxPlaybackControl to play media for which an application cannot explicitly set a destination;
a Capabilities to provide information about media engine methods that are supported for a current media source;
a CapabilitiesChangedEventArgs to contain information about a MediaEngine;
a Capture for capturing data from an input device such as a camera or microphone;
a ContentEnabler to handle license acquisition and Media Player Individualization for digital-rights-management-protected content;
a ContentEnableEventArgs to hold information regarding an asynchronous license acquisition or individualization attempt;
a CredentialManager to handle user credentials for password-based authentication schemes such as basic, digest MTLM, and Kerberos authentication;
a Destination to represent an output of a presentation;
a DestinationCollection to provide a container for Destination Objects;
an ExternalDevice to represent external devices such as webcams, digital video (DV) cameras or VCRs;
an ExternalTransport to represent transport controls (the physical tape transport mechanism) on an external device such as a VCR or DV camera;
a FanOutDestination for sharing the media stream with several network destinations for a broadcast presentation;
a FrameCacher;
an IndividualizationStatus to describe the status of an individualization attempt;
a LicenseData to hold data from a digitial-rights-management version 7 header that is required to obtain a license for content, and results of a license request;
a MediaBuffer to represent a block of memory that contains media data;
a MediaClip to provide high-level access to simple editing functions such as trimming a file or combining two files;
a MediaClipStream to represent a single media stream within a file;
a MediaClipStreamCollection to represent a collection of MediaClipStream objects;
a MediaEngine to provide a simple API for playing and transcoding media;
a MediaEventArgs to contain information about an event generated by an asynchronous process;
a MediaFormatConverter to convert a file from one encoding format to another;
a MediaFoundationException to contain information about an exception that has been raised in executing code specific to a media services API;
a MediaGetServiceResoltuionAttribute to create custom attributes for a class that implements a service;
a MedaSample to represent a multimedia sample for a multimedia stream type;
a MediaServerDestination to connect to a broadcast publishing point on a Windows Media server to enable push distribution;
a MediaSink to represent a device that handles final output of a media stream;
a MediaSource to represent a source of data, such as a device or file;
a MediaTransform to represent a transform which takes input data, processes it, and generates output data;
a Media TransformiDesciptor to describe a media transform which has been implemented in unmanaged code as a DirectX Media Object (DMO);
a MediaTransformDescriptorCollection to represent a collection of MediaTransformDescriptor objects;
a NetListener to listen to a particular HTTP or RTSP port for client requests and forward the requests to other components;
a PresentationClock to use a presentation clock to start, stop, pause, and rate components that synchronize a multimedia presentation;
a PresentationDescriptor having information about a related set of media streams;
a PresentationTimer to represent a presentation timer;
a PropertyKeys to represent Property keys for metadata;
a PublishBroadcastMeda to stream content to connected clients through a URL;
a PublishBroadcastMediaToServer to push content to a broadcast publishing point on a Windows Media Server;
a RateControl to control playback rate;
a SampleProperties to represent core attributes of a media sample;
a Sound to represent a sound which can be played synchronously or asynchronously;
a SourceResolver to create a MediaSource from a URL or byte stream;
a StateChangedEventArgs to expose properties that an application uses to determine a state of a media engine;
a StatisticEntryUInt32 to provide access to unsigned 32-bit network statistic entry;
a StatisticEntryUInt64 to provide access to an unsigned 64-bit network statistic entry;
a StatisticUInt32Collection to represent a collection of StatisticEntryUInt32 objects;
a StatisticUInt64Collection to represent a collection of StatisticEntryUInt64 objects;
a SteamConfiguration to contain information about a configuration of a data stream;
a StreamconfigurationCollection representing a collection of stream configuration objects describing various streams in a presentation;
a StreamDescriptor having information about a single stream in a media presentation;
a StreamDescriptorCollection to represent a collection of stream descriptors describing the streams in a media source;
a StreamSink to represent a final output of a media stream;
a TimerEventArgs to contain information about a timer event;
a TranscodingEstimator to estimate time that will be required to transcode a file, and a size of an output file;
a VideoControl to represent a control on a video renderer;
a VirtualRoot to enable NetListener to retrieve essential components necessary to stream content to clients; and
a VolumeControl to control audio volume on a media sink or on a media engine.
-
-
5. An application program interface as recited in claim 3, wherein the interfaces are selected from a group of interfaces comprising:
-
an IAudioMuteControl to mute a media engine;
an IAudioVolumeChannelControl to specify and retrieve a volume on individual channels of an audio rendering device;
an IAudioVolumeControl to control a volume on an audio rendering device;
an IByteSinkCallback implemented by a custom media sink;
an IContentProtectionManager to manage acquisition of licenses for digital-rights-management-protected content;
an IMangedMediaSink implemented by custom sinks; and
an IMangedStreamSink implemented by custom sinks.
-
-
6. An application program interface as recited in claim 3, wherein the enumerations are selected from a group of enumerations comprising:
-
an ArchiveType to specify a file type for Destination constructors that create file destinations;
an EstimatorOutputFileTypes to specify a file type for a transcoding estimator;
an HttpStatus to specify a status of an HTTP connection in an individualization attempt;
a Status property;
an InternalState to specify a current state of a media engine;
a Media Event Type to specify a type of media event that has occurred;
a MediaSinkCharacteristic to specify characteristics of a media sink;
a NetworkProtocol to specify a network protocol used by a NetListener object;
an Operation to specify which underlying unmanaged method a media engine is currently processing;
a State to specify a current state of a PublishBroadcastMedia Object;
a State to specify a current state of a PublishBroadcastMediaToServer object;
a StatusFlags to specify a status of individualization attempt;
a SuspendedState to specify why a media engine is in a suspended state;
a SystemSoundId to specify a system-defined sound for Sound.
-
-
7. An application program interface as recited in claim 3, wherein the structures are selected from a group of structures comprising:
-
an ASF that contains values used as property keys for an ASF media source;
an AudioVolume to represent volume on a device or on one channel of a device;
a BandwidthProperties to contain values for a AsfProfileSharedStreamBandwidth;
a SharedStreamBandwidthProperties property;
a CD to contain values used as a property keys for a compact disc;
a ContentProtection to contain values used as property keys for content;
a Creation to contain values used as property keys related to content creation;
a Descriptors to contain values used as property keys that describe content;
a Drn to contain values used as property keys related to digital rights management;
a File to contain values used as property keys related to content metadata;
an Identifiers to contain values used as property keys related to identifying content;
a State to provide information about a current state of a media engine;
a Text to contain values used as property keys for a compact disc; and
a Urls to contains values used as property keys related to content-related URLs.
-
-
8. An application program interface as recited in claim 3, wherein the delegates are selected from a group of delegates comprising:
-
a ContentEnablerEventHandler to represent AccessDenied, Individualization, LicenseAcquisition, and MonitorLicenseAquisition events for a ContentEnabler;
a CredentialRequestHandlerCallback to handle a callback function raised to obtain a user'"'"'s credentials;
a GetPresentationDescriptorCallback to represent a method that retrieves a presentationDescriptor;
a MediaEventHandler to represent a delegate type for objects that handle media events;
an OnConnectionpenCallback;
a SetDestinationCallback to represent a method that handles Destination after it is created by VirtualRoot;
a SourceEventHandler to represent a delegate type for objects that handle media source events;
a TimerEventHandler to represent a delegate type for objects that handle timer events;
a BitmapInforamtion to contain information about an ImageMediaType;
an HTMLFormat to contain information about an HTMLMediaType; and
an SmpteTimeCode to contain information about an SMPTE (society of Motion Picture and Television Engineers) time code.
-
-
9. An application program interface as recited in claim 2, wherein the Media.Animation namespace provides a collection of types which enable animation effects, the collection of types comprising:
-
classes;
interfaces;
delegates;
enumerations; and
structures.
-
-
10. An application program interface as recited in claim 9, wherein the classes are selected from a group of classes comprising:
-
an Animatable which has properties that can be animated but does not derive from DependencyObject;
an AnimationCollection to provide base functionality for animation collection, such as ColorAnimationCollection, DoubleAnimationCollection, and SizeAnimationCollection;
an AnimationEffectOverride to implement element level animations which can participate in a rendering process to instantiate animations on multiple elements at rendering time;
an AnimationEffectCollection to hold a collection of AnimationEffects;
a BoolAnimationCollection to represent a collection of BoolModifier animations;
a BoolModifier;
a BoolTimedModifier;
a BytAnimationColleciton to represent a collection of BoolModifier animations;
a ByteModifier;
a ByteTimedModifier;
a CharAnimationCollection to represent a collection of CharModifier animations;
a CharModifier;
a CharTimedModifier;
a ColorAnimation to animate a color value of a property;
a ColorAnimationCollection to represent a collection of ColorModifier animations;
a ColorKeyFrameCollection;
a ColorModifier;
a ColorTimedModifier;
a DecimalAnimationCollection to represent a collection of DecimalModifier animations;
a DecimalModier;
a DecimalTimedModifier;
a DoubleAnimation to animate properties that accept a Double value;
a DoubleAnimationCollection to represent a collection of DoubleModifier animations;
a DoubleKeyFrameCollection;
a DoubleModifier;
a DoubleTimedModifier;
a FloatAnimation to animate properties that accept a Single value;
a FloatAnimationCollection to represent a collection of FloatModifier Animations;
a FloatKeyFramecollection;
a FloatModifier;
a FloatTimed Modifier;
an IntAnimationCollection to represent a collection of IntModifier animations;
an IntModifier;
an IntTimedModifier;
a LengthAnimation to animate properties that accept a Length value;
a LenghtAnimationCollection to represent a collection of LengthModifier animations;
a LegthKeyFramecollection;
a LengthModifier;
a LengthTimedModifier;
a LongAnimationCollection to represent a collection of LongModifier animations;
a LongModifier;
a LongTimedModifier;
a MatrixAnimationCollection to represent a collection of MatrixModifier animations;
a MatrixModifier;
a MatrixTimedModifier;
a Modifier;
an ObjectAnimationCollection to represent a collection of ObjectModifier animations;
an ObjectModifier;
an ObjectTimedModifier;
a PathAnimation for use inside of a MatrixAnimationCollection to move a visual object along a path;
a PointAnimation to animate properties that accept Point Values;
a PointAnimationCollection to represent a collection of PointModifier animations;
a PointKeyFrameCollection;
a PointModifier;
a PointTimedModifier;
a RectAnimation to animate properties that accept a Rect value;
a RectAnimationCollection to represent a collection of RectModifier animations;
a RectKeyFrameCollection;
a RectModifier;
a RectTimedModifier;
a ShortAnimationCollection to represent a collection of ShortModifier animations;
a ShortModifier;
a ShortTimedModifier;
a SizeAnimation to define an animation based on the Size of an object;
a SizeAnimationCollection to represent a collection of SizeModifier animations;
a SizeKeyFrameCollection;
a SizeModifier;
a SizeTimedModifier;
a StringAnimationCollection to represent a collection of StringModifier animations;
a StringModifier;
a StringTimedModifier;
a Timeline to maintain run-time timing state for timed objects;
a TimelineBuilder to create Timeline objects;
a TimeManager to control an entire timing tree;
a TimeSyncValueTypeConverter to perform type conversions involving TimeSyncValue values;
a TimeTypeConverter to perform type conversions involving Time values;
a VetorAnimation to animate properties that accept a Vector value;
a VectorAnimationCollection to represent a collection of VectorModifier animations;
a VectorKeyFrameCollection;
a VectorModifier; and
a VectorTimedModifier.
-
-
11. An application program interface as recited in claim 9, wherein the interfaces are selected from a group of interfaces comprising:
-
an IClock to represent an object that can provide linear time values;
an IModifier to define behavior of a modifier object;
an ITimingControl to define behavior of timelines and times objects; and
an ITimingControlBuilder to represent an object that can build a timeline template.
-
-
12. An application program interface as recited in claim 9, wherein the enumerations are selected from a group of enumerations comprising:
-
an AnimationType to describe behavior of an animation;
a CloneType representing types of clones that CloneCore may request;
an InterpolationMethod to describe how an animation calculates output values;
a KeyTimeType representing different types of KeyTimes;
a TimeEndSync representing values for an endSync attribute, which specifies how a container calculates its duration based on children'"'"'s durations;
a TimeFill to specify how a timeline behaves after it is no longer active;
a TimeRestart representing values for a Timeline;
a TimeSeekOrigian to indicate a timeline position; and
a TimeSyncBase representing an event to synchronize a begin or end value to.
-
-
13. An application program interface as recited in claim 9, wherein the structures are selected from a group of structures comprising:
-
a ColorKeyFrame;
a DoubleKeyFrame;
a FloatKeyFrame;
a KeySpline to pass an array of key splines into a KeySplines property of an animation fragment;
a KeyTime to specify when relative to a time of an animation that a KeyFrame takes place;
a LengthKeyFrame;
a PointKeyFrame;
a RectKeyFrame;
a SizeKeyFrame;
a Time representing time, with associated time arithmetic operations;
a TimelineEnumerator to enumerates items in an TimelineList Collection;
a TimeSyncValue representing an absolute or relative begin or end time for a timeline; and
a VectorKeyFrame.
-
-
14. An application program interface as recited in claim 2, wherein the Media.TextFommatting namespace provides a collection of types to enable text services, the collection of types comprising:
-
classes;
interfaces;
delegates;
enumerations; and
structures.
-
-
15. An application program interface as recited in claim 14, wherein the classes are selected from a group of classes comprising:
-
an InlineObjectlnfo to provide measurement details for inline text objects;
a TextFormatter to provide services for formatting text and breaking text lines;
a TextHighlightBounds to bound a text range;
a TextInfo to represent information about a block of text in a client'"'"'s text source character store;
a TextLine to provide services to a line of text;
a TextMarkerGeneratedContent to generate line list marker output;
a TextMarkerInfo to define a style and type of a paragraph'"'"'s list marker;
a TextParagraphProperties to represent properties that can change from one paragraph to a next paragraph, such as flow direction, alignment, or indentation;
a TexRun to define a sequence of characters that share a single property set;
a TextRunBounds to bound a text run;
a TextRunCache to provide caching services to a TextFormatter object in order to improve performance;
a TextRunClientData to represent client information data associated with a TextRun;
a TextRunProperties to provide properties that can change form one TextRun to another, such as typeface or foreground brush;
a TextRunTypographyProperties to provide typography properties for TextRun;
a TextSource to provide character data and formatting properties to a TextFormatter; and
a TextTrimminglnfo to provide description of text trimming characteristics.
-
-
16. An application program interface as recited in claim 14, wherein the enumerations are selected from a group of enumerations comprising:
-
a TextParagraphFlags to flag describing paragraph characteristics;
a TextRunCacheFlags to represent content in text run cache; and
a TextRunType to indicate a type of TextRun.
-
-
17. An application program interface as recited in claim 14, wherein the structure are selected from a group of structures comprising:
a TestSourceCharacterIndex to represent a caret or character position in text.
-
18. An application program interface as recited in claim 1, wherein the collection of types from the media namespace comprises:
-
classes;
interfaces;
delegates;
enumerations; and
structures.
-
-
19. An application program interface as recited in claim 18, wherein the classes are selected from a group of classes comprising:
-
an ArcSegment representing an elliptical arc between two points;
an AudioData enabling playing of audio files according to the state of a time node;
an AudioDataConverter representing an audio data converter;
a BezierSegment representing a cubic Bezier curve drawn between two points;
a Brush providing a generic means for filling an area using solid colors (SolidColorBrush), gradients (LinearGradientBrush, RadialGradientBrush), images (ImageBrush), and video;
a BrushConverter to convert a Brush object to or from another object type;
a Brushes to implement a set of predefined solid colors;
aCloseSegment representing a line that connects the last point of a PathFigure object with its starting point;
a CodecFilter for enumerating codecs;
a CodecInfo representing information about a specific codec and a factory for creating the specific codec;
a ColorCollection;
a ColorCollectionConverter for converting instances of other types to and from ColorCollection instances;
a ColorContext;
a ColorConverter to convert a color object to or from another object types;
a Colors to implement a set of predefined colors;
a ContainerVisual to manage a collection of visual objects;
a DashArrays to contain properties for well known dash styles;
a DoubleCollection;
a DoubleCollectionConverter for converting instances of other types to and from DoubleCollection instances;
a Drawing representing a list of 2-dimensional drawing primitives;
a DrawingBrush to define its content as a Drawing;
a DrawingContext representing a Drawing context;
a DrawingVisual to contain graphical content to be drawn;
an Ellipse Geometry representing the geometry of a circle or ellipse;
a FontFamily representing a Font family;
a FormattedText for adding text to a MIL visual;
a Geometry providing base functionality for all geometry classes;
a GeometryCollection representing a collection of Geometry objects;
a GetPageEventArgs;
a GlyphRun;
a GlyphTypeface representing a physical font face corresponding to a font file on a disk;
a GradientBrush describing a gradient fill;
a GradientStop describing a location and color of a transition point in a gradient;
a GradientStopCollection representing a collection of GradientStop gradient stops;
a HitTestParameters to pack together parameters for a hit test pass;
a HitTestResult to return a visual that was hit during a hit test pass;
a HwndInterop;
a HwndVisual;
a HyphenationCandidate describing a hyphenation candidate;
an ICCProfile;
an ImageBrush to fill an area with an image;
an ImageCodecCollection representing a collection of codecs on a system;
an ImageCodecEnumerator representing an enumerator for Image frames;
an ImageColorTransform to perform color mangament on an imaging pipeline;
an ImageData containing an image and related data;
an ImageDataBuilder to build and ImageData object;
an ImageDecoder to contain image frames;
an ImageDecoderBmp to provide bitmap decoding;
an ImageDecoderGif to provide GIF decoding;
an ImageDecoderIcon to provide Icon decoding;
an ImageDecoderInternal for internal use only;
an ImageDecoderJpeg to provide Jpeg decoding;
an ImageDecoderPng to provide PNG decoding;
an ImageDecoderTiff to provide Tiff decoding;
an ImageEffect to provide imaging effects;
an ImageEffectBlur to provide a Gaussian blur effect;
an ImageEffectFlipRotate to flip an image in X or Y and rotate by multiples of 90 degrees;
an ImageEffectGammaCorrect to change the gamma of an image;
an ImageEffectGlow to perform a glow effect;
an ImageEffectGrayscale to convert an image to grayscale;
an ImageEffectNegate to negate an image;
an ImageEffectSource;
an ImageEffectSourceCollection to provide a collection of image effect outputs;
an ImageEffectTint to provide a tint output effect;
an ImageEncoder to collect a set of frames with their associated thumbnails and metadata and save them to a specified stream;
an ImageEncoderBmp to provide an encoder for Bmpfiles;
an ImageEncoderGif to provide an encoder for Gif files;
an ImageEncoderInternal to collect a set of frames with their associated thumbnails and metadata and saves them to a specified stream;
an ImageEncoderJpeg to provide an encoder for Jpeg files;
an ImageEncoderPng to provide an encoder for Png files;
an ImageEncoderTiff to provide an encoder for Tiff files;
an ImageExchangeMetaData to access and set metadata for ImageFiles which have Exif style metadata;
an Image ExchangeProperty representing a tuple of an ImageExchangelD and object which is the value of that property;
an ImageMetaData to access and set metadata for Images;
an ImagePalette;
an ImageSizeOptions to size options for an image;
an ImageSource to define methods, properties, and events for an imaging pipeline, including decoders and effects;
an ImageSourceCollection representing a collection of codecs on a system;
an ImageSourceConverter;
an IntegerCollection;
an IntegerCollectionConverter for converting instances of other types to and from IntegerCollection instances;
a LinearGradientBrush to define a linear gradient used to fill and area;
a LineGeometry representing a geometry of a line;
a LineSegment representing a line between two points;
a MatrixTransform to create an arbitrary affine matrix transformation used to manipulate objects or coordinate systems in a two-dimensional plane;
a MedaData to playback AudioNideo content;
a MedaSystem to control a media layer;
a NineGridBrush to fill an entire area with an image;
a PathFigure representing a sub-section of a geometry, a single connected series of two-dimensional geometric segments;
a PathFigureCollection;
a PathFigureConverter;
a PathGeometry representing a complex shape that may be composed of arcs, curves ellipses, lines, and rectangles;
a PathGeometryConverter;
a PathSegment that represents a segment of a PathFigure object;
a PathSegmentCollection that represents a list of PathSegment objects;
a PathSegmentConverter;
a Pen to describe how a shape is outlined;
a PixelFormats representing a collection of supported Pixel Formats;
a PointCollection;
a PointCollectionConverter for converting instances of other types to and from PointCollection instances;
a PointHitTestParameters for specifying parameters hit testing with a point;
a PointHitTestResult to return a point and visual hit during a hit test pass;
a PolyBezierSegment;
a PlyLineSegment PolyLineSegment;
a PolyQuadraticBezierSegment;
a PrintContext PrintContext to hold a state and context for a printer interation;
a QuadraticBezierSegment;
a RadialGradientBrush to define a radial gradient used to fill an object;
a RectangleGeometry representing a geometry of a rectangle;
a RetainedVisual;
a RotateTransform to rotate an object about a specified point in a two-dimensional x-y plane;
a ScaleTransform to scale an object in a two-dimensional x-y plane, starting from a defined center point;
a SkewTransform representing a two-dimensional skew;
a SolidColorBrush representing a solid, uniform fill;
a StartSegment;
a SubLineCollection;
a TileBrush that describes a way to fill a region with one or more tiles;
a Transform used as a parent class of all types of transformations in a two-dimensional place, including rotation (RotateTransform), scal (ScaleTransform), skew (SkewTransform), and translation (TranslateTransform);
a TransformCollection to create and manipulate a list of Transform objects;
a TransformConverter to convert a Transform object to or from another object type;
a TranslateTransform to translate an object in a two-dimensional x-y place;
a Typeface representing a combination of family, weight, style and stretch;
a VectorCollection;
a VectorCollectionConverter for converting instances of other types to and from VectorCollection instances;
a VideoData for playing of video files according to a state of a time node;
a VideoDataConverter;
a Visual Base class for providing services and properties common to all Visual, including hit-testing, coordinate transformation, and bounding box calculations;
a VisualCollection representing a collection of Visual objects; and
a Visual Manager to render a tree of Visual objects to a rendering target.
-
-
20. An application program interface as recited in claim 18, wherein the interfaces are selected from a group of interfaces comprising:
-
an Ihyphenate representing an interface for a Hyphenation Service Provider;
an IretainedRender; and
an Ivisual to define common methods and services available from a visual object.
-
-
21. An application program interface as recited in claim 18, wherein the delegates are selected from a group of delegates comprising:
-
a GetPageEventHandler;
a HitTestFilterDelegate to control whether to test against children of visual; and
a HitTestResultDelegate to control returning of a hit information on visual.
-
-
22. An application program interface as recited in claim 18, wherein the enumerations are selected from a group of enumerations comprising:
-
a BrushMappingMode to describe whether certain values should be considered as absolute local coordinates or whether they should be considered multiples of a bounding box'"'"'s size;
a ChannelDescription to describe order of each channel of pixel data;
a ColorInterpolationMode to determine how colors in a gradient are interpolated;
a Combinemode to specifie a method used to combine two geometric areas;
a FillRule;
a GradientSpreadMethod to specify how a gradient should be drawn outside of a specified gradient vector or space;
a HitTestFilterBehavior for filtering visual while hit testing;
a HitTestResultBehavior to control behavior when a positive hit occurs during hit testing;
a HorizontalAlightment to describe how content is positioned horizontally within a container;
a HyphenationRule representing supported hyphenation rules;
an ImagePaletteType representing pre-defined palette types;
a MediaState to hold a current state of media;
a PenDashCap to describe drawing of ends of a dash within a dashed line;
a PenLineCap to describe a shape at an end of a line or segment;
a PenLineJoin to describe drawing corners, of the line;
a Rotation representing rotation to be applied in multiples of 90 degrees;
a StandardColorSpace;
a Stretch to describe how a source rect should be stretched to fit a destination rect;
a StyleSimulations representing a font style simulation;
a TiffCompressOptions representing compress options for saving TIFF images;
a Tile Mode to describe drawing ends of a line; and
a VerticalAlignment to describe how content is positioned vertically within a container.
-
-
23. An application program interface as recited in claim 18, wherein the structures are selected from a group of structures comprising:
-
a CharacterIndexer to implement named indexers for characters;
a Color to represent colors in terms of alpha, red, green, and blue channels;
a GlyphIndexer to implement named indexers for glyph metrics;
an ImageExhangeID representing a key for a property in an ImageMetaData instance;
an ImageExchangeMetaDataEnumerator to contain an IEnumerator interface;
an ImageFramEnumerator for Image frames;
an ImageMetaDataRational to represent a signed numerator and a signed denominator;
an ImagePaletteColor;
an IntegerRect to specify a source rect of interest from an image;
a Matrix representing a 3×
3 matrix used for transformations in two-dimensional space;
a NamedStringIndexer to implement named indexers for strings localized in multiple cultures; and
a PixelFormat providing a pixel format definition for images and pixel-based surfaces.
-
-
2. An application program interface as recited in claim 1, wherein the plurality of sub-namespaces comprises:
-
-
24. An application program interface embodied on one or more computer readable media, comprising:
-
a first group of services related to presenting media;
a second group of services related to animation;
a third group of services related to text formatting; and
a fourth group of services related to media types. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
25. The interface of claim 24, further comprising a fifth group of services including at least one of recording, playback, and editing of media.
-
26. The interface of claim 25, wherein the fifth group of services further comprises at least one service related to digital rights management of content.
-
27. The interface of claim 26, wherein the fifth group of services further comprises at least one service related to manipulation of metadata of media.
-
28. The interface of claim 25, wherein the groups of services are in relative hierarchical relationship.
-
29. The interface of claim 28, wherein the first group of services are embodied in a namespace, and wherein the second, third, fourth and fifth groups of services are respectively embodied as sub-namespaces within the namespace.
-
30. The interface of claim 24, wherein the fourth group of services comprises at least one service related to describing a media type including at least one of audio, video, script and html.
-
31. The interface of claim 30, wherein the at least one service comprises a service relating to classifying the media type according to at least one of a bitrate and a format type.
-
32. The interface of claim 24, wherein the first group of services includes at least one of recording, playback, and editing of media.
-
33. A software architecture comprising the application program interface as recited in claim 24.
-
25. The interface of claim 24, further comprising a fifth group of services including at least one of recording, playback, and editing of media.
-
-
34. A computer system including one or more microprocessor and one or more software programs, the one or more software programs utilizing an application programming interface including separate commands to request services including the following groups of services:
-
a first group of services related to presenting media;
a second group of services related to animation;
a third group of services related to text formatting; and
a fourth group of services related to media types. - View Dependent Claims (35)
-
35. The computer system of claim 34, wherein the application programming interface further comprises a separate command to request a fifth group of services including at least one of recording playback, and editing of media.
-
35. The computer system of claim 34, wherein the application programming interface further comprises a separate command to request a fifth group of services including at least one of recording playback, and editing of media.
-
-
36. A method comprising:
-
calling one or more first functions to facilitate presenting media;
calling one or more second functions to facilitate animation;
calling one or more third functions to facilitate text formatting; and
calling one or more fourth functions to facilitate describing media. - View Dependent Claims (37)
-
37. The method of claim 36, further comprising calling one or more fifth functions to facilitate at least one of recording, playback, and editing of media.
-
37. The method of claim 36, further comprising calling one or more fifth functions to facilitate at least one of recording, playback, and editing of media.
-
Specification
- Resources
Thank you for your request. You will receive a custom alert email when the Litigation Campaign Assessment is available.
×
-
Current AssigneeMicrosoft Technology Licensing LLC (Microsoft Corporation)
-
Original AssigneeMicrosoft Corporation
-
InventorsDeshpande, Rajesh A., Debique, Kirt A., Punniamoorthy, Pranavakumar, Bordenet, Matthew J.
-
Granted Patent
-
Time in Patent OfficeDays
-
Field of Search
-
US Class Current719/328
-
CPC Class CodesG06F 8/20 Software design