Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Calculates the length of the geometry as though each segment were unrolled into a line.
Overload list
Method | Description |
---|---|
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT*) | Calculates the length of the geometry as though each segment were unrolled into a line. |
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT*) | Calculates the length of the geometry as though each segment were unrolled into a line. |
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT,FLOAT*) | Calculates the length of the geometry as though each segment were unrolled into a line. |
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT,FLOAT*) | Calculates the length of the geometry as though each segment were unrolled into a line. |
Examples
The following code shows how to use ComputeLength to compute the length of a specified path geometry.
float length = 0;
hr = m_pPathGeometry->ComputeLength(
NULL, //no transform
&length
);
if (SUCCEEDED(hr))
{
m_Animation.SetStart(0); //start at beginning of path
m_Animation.SetEnd(length); //length at end of path
m_Animation.SetDuration(5.0f); //seconds
ZeroMemory(&m_DwmTimingInfo, sizeof(m_DwmTimingInfo));
m_DwmTimingInfo.cbSize = sizeof(m_DwmTimingInfo);
// Get the composition refresh rate. If the DWM isn't running,
// get the refresh rate from GDI -- probably going to be 60Hz
if (FAILED(DwmGetCompositionTimingInfo(NULL, &m_DwmTimingInfo)))
{
HDC hdc = GetDC(m_hwnd);
m_DwmTimingInfo.rateCompose.uiDenominator = 1;
m_DwmTimingInfo.rateCompose.uiNumerator = GetDeviceCaps(hdc, VREFRESH);
ReleaseDC(m_hwnd, hdc);
}
ShowWindow(m_hwnd, SW_SHOWNORMAL);
UpdateWindow(m_hwnd);
}
Requirements
Requirement | Value |
---|---|
Library |
|
DLL |
|