|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// Description: Transform pattern provider interface
using System.Runtime.InteropServices;
namespace System.Windows.Automation.Provider
{
/// <summary>
/// Expose an element's ability to change its on-screen position, size or orientation
/// </summary>
[ComVisible(true)]
[Guid("6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
#if (NO_INTERNAL_COMPILE_BUG1080665)
internal interface ITransformProvider
#else
public interface ITransformProvider
#endif
{
/// <summary>
/// Used to adjust an element's current location. The x, and y parameters represent the
/// absolute on-screen position of the top-left corner in pixels, not the delta between the
/// desired location and the window's current location.
/// </summary>
///
/// <param name="x">absolute on-screen position of the top left corner</param>
/// <param name="y">absolute on-screen position of the top left corner</param>
void Move( double x, double y );
/// <summary>
/// Used to modify element's on-screen dimensions (affects the
/// BoundingRectangle and BoundingGeometry properties)
/// When called on a split pane, it may have the side-effect of resizing
/// other surrounding panes.
/// </summary>
/// <param name="width">The requested width of the window.</param>
/// <param name="height">The requested height of the window.</param>
void Resize( double width, double height );
/// <summary>
/// Rotate the element the specified number of degrees.
/// </summary>
/// <param name="degrees">The requested degrees to rotate the element. A positive number rotates clockwise
/// a negative number rotates counter clockwise</param>
void Rotate( double degrees );
/// <summary>Returns true if the element can be moved otherwise returns false.</summary>
bool CanMove
{
[return: MarshalAs(UnmanagedType.Bool)] // Without this, only lower SHORT of BOOL*pRetVal param is updated.
get;
}
/// <summary>Returns true if the element can be resized otherwise returns false.</summary>
bool CanResize
{
[return: MarshalAs(UnmanagedType.Bool)] // Without this, only lower SHORT of BOOL*pRetVal param is updated.
get;
}
/// <summary>Returns true if the element can be rotated otherwise returns false.</summary>
bool CanRotate
{
[return: MarshalAs(UnmanagedType.Bool)] // Without this, only lower SHORT of BOOL*pRetVal param is updated.
get;
}
}
}
|