A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

320 lines
6.6 KiB

using System;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.Marshalling;
namespace Avalonia.Win32.Automation.Interop;
[Flags]
internal enum ProviderOptions
{
ClientSideProvider = 0x0001,
ServerSideProvider = 0x0002,
NonClientAreaProvider = 0x0004,
OverrideProvider = 0x0008,
ProviderOwnsSetFocus = 0x0010,
UseComThreading = 0x0020
}
internal enum UiaPropertyId
{
RuntimeId = 30000,
BoundingRectangle,
ProcessId,
ControlType,
LocalizedControlType,
Name,
AcceleratorKey,
AccessKey,
HasKeyboardFocus,
IsKeyboardFocusable,
IsEnabled,
AutomationId,
ClassName,
HelpText,
ClickablePoint,
Culture,
IsControlElement,
IsContentElement,
LabeledBy,
IsPassword,
NativeWindowHandle,
ItemType,
IsOffscreen,
Orientation,
FrameworkId,
IsRequiredForForm,
ItemStatus,
IsDockPatternAvailable,
IsExpandCollapsePatternAvailable,
IsGridItemPatternAvailable,
IsGridPatternAvailable,
IsInvokePatternAvailable,
IsMultipleViewPatternAvailable,
IsRangeValuePatternAvailable,
IsScrollPatternAvailable,
IsScrollItemPatternAvailable,
IsSelectionItemPatternAvailable,
IsSelectionPatternAvailable,
IsTablePatternAvailable,
IsTableItemPatternAvailable,
IsTextPatternAvailable,
IsTogglePatternAvailable,
IsTransformPatternAvailable,
IsValuePatternAvailable,
IsWindowPatternAvailable,
ValueValue,
ValueIsReadOnly,
RangeValueValue,
RangeValueIsReadOnly,
RangeValueMinimum,
RangeValueMaximum,
RangeValueLargeChange,
RangeValueSmallChange,
ScrollHorizontalScrollPercent,
ScrollHorizontalViewSize,
ScrollVerticalScrollPercent,
ScrollVerticalViewSize,
ScrollHorizontallyScrollable,
ScrollVerticallyScrollable,
SelectionSelection,
SelectionCanSelectMultiple,
SelectionIsSelectionRequired,
GridRowCount,
GridColumnCount,
GridItemRow,
GridItemColumn,
GridItemRowSpan,
GridItemColumnSpan,
GridItemContainingGrid,
DockDockPosition,
ExpandCollapseExpandCollapseState,
MultipleViewCurrentView,
MultipleViewSupportedViews,
WindowCanMaximize,
WindowCanMinimize,
WindowWindowVisualState,
WindowWindowInteractionState,
WindowIsModal,
WindowIsTopmost,
SelectionItemIsSelected,
SelectionItemSelectionContainer,
TableRowHeaders,
TableColumnHeaders,
TableRowOrColumnMajor,
TableItemRowHeaderItems,
TableItemColumnHeaderItems,
ToggleToggleState,
TransformCanMove,
TransformCanResize,
TransformCanRotate,
IsLegacyIAccessiblePatternAvailable,
LegacyIAccessibleChildId,
LegacyIAccessibleName,
LegacyIAccessibleValue,
LegacyIAccessibleDescription,
LegacyIAccessibleRole,
LegacyIAccessibleState,
LegacyIAccessibleHelp,
LegacyIAccessibleKeyboardShortcut,
LegacyIAccessibleSelection,
LegacyIAccessibleDefaultAction,
AriaRole,
AriaProperties,
IsDataValidForForm,
ControllerFor,
DescribedBy,
FlowsTo,
ProviderDescription,
IsItemContainerPatternAvailable,
IsVirtualizedItemPatternAvailable,
IsSynchronizedInputPatternAvailable,
OptimizeForVisualContent,
IsObjectModelPatternAvailable,
AnnotationAnnotationTypeId,
AnnotationAnnotationTypeName,
AnnotationAuthor,
AnnotationDateTime,
AnnotationTarget,
IsAnnotationPatternAvailable,
IsTextPattern2Available,
StylesStyleId,
StylesStyleName,
StylesFillColor,
StylesFillPatternStyle,
StylesShape,
StylesFillPatternColor,
StylesExtendedProperties,
IsStylesPatternAvailable,
IsSpreadsheetPatternAvailable,
SpreadsheetItemFormula,
SpreadsheetItemAnnotationObjects,
SpreadsheetItemAnnotationTypes,
IsSpreadsheetItemPatternAvailable,
Transform2CanZoom,
IsTransformPattern2Available,
LiveSetting,
IsTextChildPatternAvailable,
IsDragPatternAvailable,
DragIsGrabbed,
DragDropEffect,
DragDropEffects,
IsDropTargetPatternAvailable,
DropTargetDropTargetEffect,
DropTargetDropTargetEffects,
DragGrabbedItems,
Transform2ZoomLevel,
Transform2ZoomMinimum,
Transform2ZoomMaximum,
FlowsFrom,
IsTextEditPatternAvailable,
IsPeripheral,
IsCustomNavigationPatternAvailable,
PositionInSet,
SizeOfSet,
Level,
AnnotationTypes,
AnnotationObjects,
LandmarkType,
LocalizedLandmarkType,
FullDescription,
FillColor,
OutlineColor,
FillType,
VisualEffects,
OutlineThickness,
CenterPoint,
Rotatation,
Size,
IsSelectionPattern2Available,
Selection2FirstSelectedItem,
Selection2LastSelectedItem,
Selection2CurrentSelectedItem,
Selection2ItemCount,
HeadingLevel,
IsDialog
}
internal enum UiaPatternId
{
Invoke = 10000,
Selection,
Value,
RangeValue,
Scroll,
ExpandCollapse,
Grid,
GridItem,
MultipleView,
Window,
SelectionItem,
Dock,
Table,
TableItem,
Text,
Toggle,
Transform,
ScrollItem,
LegacyIAccessible,
ItemContainer,
VirtualizedItem,
SynchronizedInput,
ObjectModel,
Annotation,
Text2,
Styles,
Spreadsheet,
SpreadsheetItem,
Transform2,
TextChild,
Drag,
DropTarget,
TextEdit,
CustomNavigation
};
internal enum UiaControlTypeId
{
Button = 50000,
Calendar,
CheckBox,
ComboBox,
Edit,
Hyperlink,
Image,
ListItem,
List,
Menu,
MenuBar,
MenuItem,
ProgressBar,
RadioButton,
ScrollBar,
Slider,
Spinner,
StatusBar,
Tab,
TabItem,
Text,
ToolBar,
ToolTip,
Tree,
TreeItem,
Custom,
Group,
Thumb,
DataGrid,
DataItem,
Document,
SplitButton,
Window,
Pane,
Header,
HeaderItem,
Table,
TitleBar,
Separator,
SemanticZoom,
AppBar
};
internal enum UiaLandmarkType
{
Custom = 80000,
Form,
Main,
Navigation,
Search,
};
internal enum UiaHeadingLevel
{
None = 80050,
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
Level8,
Level9
};
internal enum UiaLiveSetting
{
Off = 0,
Polite,
Assertive,
};
[GeneratedComInterface]
[Guid("d6dd68d1-86fd-4332-8666-9abedea2d24c")]
internal partial interface IRawElementProviderSimple
{
ProviderOptions GetProviderOptions();
[return: MarshalAs(UnmanagedType.Interface)]
object? GetPatternProvider(int patternId);
[return: MarshalUsing(typeof(ComVariantMarshaller))]
object? GetPropertyValue(int propertyId);
IRawElementProviderSimple? GetHostRawElementProvider();
}