<summary> Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words. </summary> <param name="minWidth">Minimum width.</param> <returns> Standard HRESULT error code. </returns>
<summary> Initiate drawing of the text. </summary> <param name="clientDrawingContext">An application defined value included in rendering callbacks.</param> <param name="renderer">The set of application-defined callbacks that do the actual rendering.</param> <param name="originX">X-coordinate of the layout's left side.</param> <param name="originY">Y-coordinate of the layout's top side.</param> <returns> Standard HRESULT error code. </returns>
<summary> Retrieve logical properties and measurement of each cluster. </summary> <param name="clusterMetrics">The array to fill with cluster information.</param> <param name="maxClusterCount">The maximum size of the clusterMetrics array.</param> <param name="actualClusterCount">The actual size of the clusterMetrics array that is needed.</param> <returns> Standard HRESULT error code. </returns> <remarks> If maxClusterCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualClusterCount is set to the number of clusters needed. </remarks>
<summary> Get the application-defined drawing effect where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="drawingEffect">The current application-defined drawing effect.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font collection where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontCollection">The current font collection</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Copy the font family name where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontFamilyName">Character array that receives the current font family name</param> <param name="nameSize">Size of the character array in character count including the terminated NULL character.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the length of the font family name where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="nameLength">Size of the character array in character count not including the terminated NULL character.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font em height where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontSize">The current font em height</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font stretch where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontStretch">The current font stretch</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font style where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontStyle">The current font style</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font weight where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="fontWeight">The current font weight</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the inline object at the given position. </summary> <param name="currentPosition">The given text position.</param> <param name="inlineObject">The inline object.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> GetLineMetrics returns properties of each line. </summary> <param name="lineMetrics">The array to fill with line information.</param> <param name="maxLineCount">The maximum size of the lineMetrics array.</param> <param name="actualLineCount">The actual size of the lineMetrics array that is needed.</param> <returns> Standard HRESULT error code. </returns> <remarks> If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualLineCount is set to the number of lines needed. </remarks>
<summary> Get the locale name where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="localeName">Character array that receives the current locale name</param> <param name="nameSize">Size of the character array in character count including the terminated NULL character.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the length of the locale name where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="nameLength">Size of the character array in character count not including the terminated NULL character.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get layout maximum height </summary>
<summary> Get layout maximum width </summary>
<summary> GetMetrics retrieves overall metrics for the formatted string. </summary> <param name="textMetrics">The returned metrics.</param> <returns> Standard HRESULT error code. </returns> <remarks> Drawing effects like underline and strikethrough do not contribute to the text size, which is essentially the sum of advance widths and line heights. Additionally, visible swashes and other graphic adornments may extend outside the returned width and height. </remarks>
<summary> GetOverhangMetrics returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects. </summary> <param name="overhangs">Overshoots of visible extents (in DIPs) outside the layout.</param> <returns> Standard HRESULT error code. </returns> <remarks> Any underline and strikethrough do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles. </remarks>
<summary> Get the strikethrough presence where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="hasStrikethrough">The Boolean flag indicates whether text has strikethrough.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the typography setting where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="typography">The current typography setting.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the underline presence where the current position is at. </summary> <param name="currentPosition">The current text position.</param> <param name="hasUnderline">The Boolean flag indicates whether text is underlined.</param> <param name="textRange">The position range of the current format.</param> <returns> Standard HRESULT error code. </returns>
<summary> Given a coordinate (in DIPs) relative to the top-left of the layout box, this returns the corresponding hit-test metrics of the text string where the hit-test has occurred. This is useful for mapping mouse clicks to caret positions. When the given coordinate is outside the text string, the function sets the output value *isInside to false but returns the nearest character position. </summary> <param name="pointX">X coordinate to hit-test, relative to the top-left location of the layout box.</param> <param name="pointY">Y coordinate to hit-test, relative to the top-left location of the layout box.</param> <param name="isTrailingHit">Output flag indicating whether the hit-test location is at the leading or the trailing side of the character. When the output *isInside value is set to false, this value is set according to the output *position value to represent the edge closest to the hit-test location. </param> <param name="isInside">Output flag indicating whether the hit-test location is inside the text string. When false, the position nearest the text's edge is returned.</param> <param name="hitTestMetrics">Output geometry fully enclosing the hit-test location. When the output *isInside value is set to false, this structure represents the geometry enclosing the edge closest to the hit-test location.</param> <returns> Standard HRESULT error code. </returns>
<summary> Given a text position and whether the caret is on the leading or trailing edge of that position, this returns the corresponding coordinate (in DIPs) relative to the top-left of the layout box. This is most useful for drawing the caret's current position, but it could also be used to anchor an IME to the typed text or attach a floating menu near the point of interest. It may also be used to programmatically obtain the geometry of a particular text position for UI automation. </summary> <param name="textPosition">Text position to get the coordinate of.</param> <param name="isTrailingHit">Flag indicating whether the location is of the leading or the trailing side of the specified text position. </param> <param name="pointX">Output caret X, relative to the top-left of the layout box.</param> <param name="pointY">Output caret Y, relative to the top-left of the layout box.</param> <param name="hitTestMetrics">Output geometry fully enclosing the specified text position.</param> <returns> Standard HRESULT error code. </returns> <remarks> When drawing a caret at the returned X,Y, it should be centered on X and drawn from the Y coordinate down. The height will be the size of the hit-tested text (which can vary in size within a line). Reading direction also affects which side of the character the caret is drawn. However, the returned X coordinate will be correct for either case. You can get a text length back that is larger than a single character. This happens for complex scripts when multiple characters form a single cluster, when diacritics join their base character, or when you test a surrogate pair. </remarks>
<summary> The application calls this function to get a set of hit-test metrics corresponding to a range of text positions. The main usage for this is to draw highlighted selection of the text string.
<summary> Set application-defined drawing effect. </summary> <param name="drawingEffect">Pointer to an application-defined drawing effect.</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns> <remarks> This drawing effect is associated with the specified range and will be passed back to the application via the callback when the range is drawn at drawing time. </remarks>
<summary> Set the font collection. </summary> <param name="fontCollection">The font collection to set</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set null-terminated font family name. </summary> <param name="fontFamilyName">Font family name</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set font em height. </summary> <param name="fontSize">Font em height</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set font stretch. </summary> <param name="fontStretch">font stretch</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set font style. </summary> <param name="fontStyle">Font style</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set font weight. </summary> <param name="fontWeight">Font weight</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set inline object. </summary> <param name="inlineObject">Pointer to an application-implemented inline object.</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns> <remarks> This inline object applies to the specified range and will be passed back to the application via the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed. </remarks>
<summary> Set locale name. </summary> <param name="localeName">Locale name</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set layout maximum height </summary> <param name="maxHeight">Layout maximum height</param> <returns> Standard HRESULT error code. </returns>
<summary> Set layout maximum width </summary> <param name="maxWidth">Layout maximum width</param> <returns> Standard HRESULT error code. </returns>
<summary> Set strikethrough. </summary> <param name="hasStrikethrough">The Boolean flag indicates whether strikethrough takes place</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set font typography features. </summary> <param name="typography">Pointer to font typography setting.</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set underline. </summary> <param name="hasUnderline">The Boolean flag indicates whether underline takes place</param> <param name="textRange">Text range to which this change applies.</param> <returns> Standard HRESULT error code. </returns>
<summary> Set alignment option of text relative to layout box's leading and trailing edge. </summary> <param name="textAlignment">Text alignment option</param> <returns> Standard HRESULT error code. </returns>
<summary> Set alignment option of paragraph relative to layout box's top and bottom edge. </summary> <param name="paragraphAlignment">Paragraph alignment option</param> <returns> Standard HRESULT error code. </returns>
<summary> Set word wrapping option. </summary> <param name="wordWrapping">Word wrapping option</param> <returns> Standard HRESULT error code. </returns>
<summary> Set paragraph reading direction. </summary> <param name="readingDirection">Text reading direction</param> <returns> Standard HRESULT error code. </returns> <remarks> The flow direction must be perpendicular to the reading direction. Setting both to a vertical direction or both to horizontal yields DWRITE_E_FLOWDIRECTIONCONFLICTS when calling GetMetrics or Draw. </remark>
<summary> Set paragraph flow direction. </summary> <param name="flowDirection">Paragraph flow direction</param> <returns> Standard HRESULT error code. </returns> <remarks> The flow direction must be perpendicular to the reading direction. Setting both to a vertical direction or both to horizontal yields DWRITE_E_FLOWDIRECTIONCONFLICTS when calling GetMetrics or Draw. </remark>
<summary> Set incremental tab stop position. </summary> <param name="incrementalTabStop">The incremental tab stop value</param> <returns> Standard HRESULT error code. </returns>
<summary> Set trimming options for any trailing text exceeding the layout width or for any far text exceeding the layout height. </summary> <param name="trimmingOptions">Text trimming options.</param> <param name="trimmingSign">Application-defined omission sign. This parameter may be NULL if no trimming sign is desired.</param> <remarks> Any inline object can be used for the trimming sign, but CreateEllipsisTrimmingSign provides a typical ellipsis symbol. Trimming is also useful vertically for hiding partial lines. </remarks> <returns> Standard HRESULT error code. </returns>
<summary> Set line spacing. </summary> <param name="lineSpacingMethod">How to determine line height.</param> <param name="lineSpacing">The line height, or rather distance between one baseline to another.</param> <param name="baseline">Distance from top of line to baseline. A reasonable ratio to lineSpacing is 80%.</param> <remarks> For the default method, spacing depends solely on the content. For uniform spacing, the given line height will override the content. </remarks> <returns> Standard HRESULT error code. </returns>
<summary> Get alignment option of text relative to layout box's leading and trailing edge. </summary>
<summary> Get alignment option of paragraph relative to layout box's top and bottom edge. </summary>
<summary> Get word wrapping option. </summary>
<summary> Get paragraph reading direction. </summary>
<summary> Get paragraph flow direction. </summary>
<summary> Get incremental tab stop position. </summary>
<summary> Get trimming options for text overflowing the layout width. </summary> <param name="trimmingOptions">Text trimming options.</param> <param name="trimmingSign">Trimming omission sign. This parameter may be NULL.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get line spacing. </summary> <param name="lineSpacingMethod">How line height is determined.</param> <param name="lineSpacing">The line height, or rather distance between one baseline to another.</param> <param name="baseline">Distance from top of line to baseline.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font collection. </summary> <param name="fontCollection">The current font collection.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the length of the font family name, in characters, not including the terminating NULL character. </summary>
<summary> Get a copy of the font family name. </summary> <param name="fontFamilyName">Character array that receives the current font family name</param> <param name="nameSize">Size of the character array in character count including the terminated NULL character.</param> <returns> Standard HRESULT error code. </returns>
<summary> Get the font weight. </summary>
<summary> Get the font style. </summary>
<summary> Get the font stretch. </summary>
<summary> Get the font em height. </summary>
<summary> Get the length of the locale name, in characters, not including the terminating NULL character. </summary>
<summary> Get a copy of the locale name. </summary> <param name="localeName">Character array that receives the current locale name</param> <param name="nameSize">Size of the character array in character count including the terminated NULL character.</param> <returns> Standard HRESULT error code. </returns>
<summary> The IDWriteTextLayout interface represents a block of text after it has been fully analyzed and formatted.
All coordinates are in device independent pixels (DIPs). </summary>