Verify Views files against decompiled, extract embedded types
Fixed files: - SkiaImageButton.cs: Added SVG support with multi-path search - SkiaNavigationPage.cs: Added LinuxApplication.IsGtkMode check - SkiaRefreshView.cs: Added ICommand support (Command, CommandParameter) - SkiaTemplatedView.cs: Added missing using statements Extracted embedded types to separate files (matching decompiled pattern): - From SkiaMenuBar.cs: MenuBarItem, MenuItem, SkiaMenuFlyout, MenuItemClickedEventArgs - From SkiaNavigationPage.cs: NavigationEventArgs - From SkiaTabbedPage.cs: TabItem - From SkiaVisualStateManager.cs: SkiaVisualStateGroupList, SkiaVisualStateGroup, SkiaVisualState, SkiaVisualStateSetter - From SkiaSwipeView.cs: SwipeItem, SwipeStartedEventArgs, SwipeEndedEventArgs - From SkiaFlyoutPage.cs: FlyoutLayoutBehavior (already separate) - From SkiaIndicatorView.cs: IndicatorShape (already separate) - From SkiaBorder.cs: SkiaFrame - From SkiaCarouselView.cs: PositionChangedEventArgs - From SkiaCollectionView.cs: SkiaSelectionMode, ItemsLayoutOrientation - From SkiaContentPresenter.cs: LayoutAlignment Verified matching decompiled: - SkiaContextMenu.cs, SkiaFlexLayout.cs, SkiaGraphicsView.cs Build: 0 errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -64,373 +64,3 @@ public interface IAccessibilityService
|
||||
/// </summary>
|
||||
void Shutdown();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for accessible objects.
|
||||
/// </summary>
|
||||
public interface IAccessible
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the unique identifier for this accessible.
|
||||
/// </summary>
|
||||
string AccessibleId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the accessible name (label for screen readers).
|
||||
/// </summary>
|
||||
string AccessibleName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the accessible description (additional context).
|
||||
/// </summary>
|
||||
string AccessibleDescription { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the accessible role.
|
||||
/// </summary>
|
||||
AccessibleRole Role { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the accessible states.
|
||||
/// </summary>
|
||||
AccessibleStates States { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the parent accessible.
|
||||
/// </summary>
|
||||
IAccessible? Parent { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the child accessibles.
|
||||
/// </summary>
|
||||
IReadOnlyList<IAccessible> Children { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the bounding rectangle in screen coordinates.
|
||||
/// </summary>
|
||||
AccessibleRect Bounds { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the available actions.
|
||||
/// </summary>
|
||||
IReadOnlyList<AccessibleAction> Actions { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Performs an action.
|
||||
/// </summary>
|
||||
/// <param name="actionName">The name of the action to perform.</param>
|
||||
/// <returns>True if the action was performed.</returns>
|
||||
bool DoAction(string actionName);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the accessible value (for sliders, progress bars, etc.).
|
||||
/// </summary>
|
||||
double? Value { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the minimum value.
|
||||
/// </summary>
|
||||
double? MinValue { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the maximum value.
|
||||
/// </summary>
|
||||
double? MaxValue { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Sets the accessible value.
|
||||
/// </summary>
|
||||
bool SetValue(double value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for accessible text components.
|
||||
/// </summary>
|
||||
public interface IAccessibleText : IAccessible
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the text content.
|
||||
/// </summary>
|
||||
string Text { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the caret offset.
|
||||
/// </summary>
|
||||
int CaretOffset { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of selections.
|
||||
/// </summary>
|
||||
int SelectionCount { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the selection at the specified index.
|
||||
/// </summary>
|
||||
(int Start, int End) GetSelection(int index);
|
||||
|
||||
/// <summary>
|
||||
/// Sets the selection.
|
||||
/// </summary>
|
||||
bool SetSelection(int index, int start, int end);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the character at the specified offset.
|
||||
/// </summary>
|
||||
char GetCharacterAtOffset(int offset);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the text in the specified range.
|
||||
/// </summary>
|
||||
string GetTextInRange(int start, int end);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the bounds of the character at the specified offset.
|
||||
/// </summary>
|
||||
AccessibleRect GetCharacterBounds(int offset);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for editable text components.
|
||||
/// </summary>
|
||||
public interface IAccessibleEditableText : IAccessibleText
|
||||
{
|
||||
/// <summary>
|
||||
/// Sets the text content.
|
||||
/// </summary>
|
||||
bool SetText(string text);
|
||||
|
||||
/// <summary>
|
||||
/// Inserts text at the specified position.
|
||||
/// </summary>
|
||||
bool InsertText(int position, string text);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes text in the specified range.
|
||||
/// </summary>
|
||||
bool DeleteText(int start, int end);
|
||||
|
||||
/// <summary>
|
||||
/// Copies text to clipboard.
|
||||
/// </summary>
|
||||
bool CopyText(int start, int end);
|
||||
|
||||
/// <summary>
|
||||
/// Cuts text to clipboard.
|
||||
/// </summary>
|
||||
bool CutText(int start, int end);
|
||||
|
||||
/// <summary>
|
||||
/// Pastes text from clipboard.
|
||||
/// </summary>
|
||||
bool PasteText(int position);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Accessible roles (based on AT-SPI2 roles).
|
||||
/// </summary>
|
||||
public enum AccessibleRole
|
||||
{
|
||||
Unknown,
|
||||
Window,
|
||||
Application,
|
||||
Panel,
|
||||
Frame,
|
||||
Button,
|
||||
CheckBox,
|
||||
RadioButton,
|
||||
ComboBox,
|
||||
Entry,
|
||||
Label,
|
||||
List,
|
||||
ListItem,
|
||||
Menu,
|
||||
MenuBar,
|
||||
MenuItem,
|
||||
ScrollBar,
|
||||
Slider,
|
||||
SpinButton,
|
||||
StatusBar,
|
||||
Tab,
|
||||
TabPanel,
|
||||
Text,
|
||||
ToggleButton,
|
||||
ToolBar,
|
||||
ToolTip,
|
||||
Tree,
|
||||
TreeItem,
|
||||
Image,
|
||||
ProgressBar,
|
||||
Separator,
|
||||
Link,
|
||||
Table,
|
||||
TableCell,
|
||||
TableRow,
|
||||
TableColumnHeader,
|
||||
TableRowHeader,
|
||||
PageTab,
|
||||
PageTabList,
|
||||
Dialog,
|
||||
Alert,
|
||||
Filler,
|
||||
Icon,
|
||||
Canvas
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Accessible states.
|
||||
/// </summary>
|
||||
[Flags]
|
||||
public enum AccessibleStates : long
|
||||
{
|
||||
None = 0,
|
||||
Active = 1L << 0,
|
||||
Armed = 1L << 1,
|
||||
Busy = 1L << 2,
|
||||
Checked = 1L << 3,
|
||||
Collapsed = 1L << 4,
|
||||
Defunct = 1L << 5,
|
||||
Editable = 1L << 6,
|
||||
Enabled = 1L << 7,
|
||||
Expandable = 1L << 8,
|
||||
Expanded = 1L << 9,
|
||||
Focusable = 1L << 10,
|
||||
Focused = 1L << 11,
|
||||
HasToolTip = 1L << 12,
|
||||
Horizontal = 1L << 13,
|
||||
Iconified = 1L << 14,
|
||||
Modal = 1L << 15,
|
||||
MultiLine = 1L << 16,
|
||||
MultiSelectable = 1L << 17,
|
||||
Opaque = 1L << 18,
|
||||
Pressed = 1L << 19,
|
||||
Resizable = 1L << 20,
|
||||
Selectable = 1L << 21,
|
||||
Selected = 1L << 22,
|
||||
Sensitive = 1L << 23,
|
||||
Showing = 1L << 24,
|
||||
SingleLine = 1L << 25,
|
||||
Stale = 1L << 26,
|
||||
Transient = 1L << 27,
|
||||
Vertical = 1L << 28,
|
||||
Visible = 1L << 29,
|
||||
ManagesDescendants = 1L << 30,
|
||||
Indeterminate = 1L << 31,
|
||||
Required = 1L << 32,
|
||||
Truncated = 1L << 33,
|
||||
Animated = 1L << 34,
|
||||
InvalidEntry = 1L << 35,
|
||||
SupportsAutocompletion = 1L << 36,
|
||||
SelectableText = 1L << 37,
|
||||
IsDefault = 1L << 38,
|
||||
Visited = 1L << 39,
|
||||
ReadOnly = 1L << 40
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Accessible state enumeration for notifications.
|
||||
/// </summary>
|
||||
public enum AccessibleState
|
||||
{
|
||||
Active,
|
||||
Armed,
|
||||
Busy,
|
||||
Checked,
|
||||
Collapsed,
|
||||
Defunct,
|
||||
Editable,
|
||||
Enabled,
|
||||
Expandable,
|
||||
Expanded,
|
||||
Focusable,
|
||||
Focused,
|
||||
Horizontal,
|
||||
Iconified,
|
||||
Modal,
|
||||
MultiLine,
|
||||
Opaque,
|
||||
Pressed,
|
||||
Resizable,
|
||||
Selectable,
|
||||
Selected,
|
||||
Sensitive,
|
||||
Showing,
|
||||
SingleLine,
|
||||
Stale,
|
||||
Transient,
|
||||
Vertical,
|
||||
Visible,
|
||||
ManagesDescendants,
|
||||
Indeterminate,
|
||||
Required,
|
||||
InvalidEntry,
|
||||
ReadOnly
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Accessible property for notifications.
|
||||
/// </summary>
|
||||
public enum AccessibleProperty
|
||||
{
|
||||
Name,
|
||||
Description,
|
||||
Role,
|
||||
Value,
|
||||
Parent,
|
||||
Children
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Announcement priority.
|
||||
/// </summary>
|
||||
public enum AnnouncementPriority
|
||||
{
|
||||
/// <summary>
|
||||
/// Low priority - can be interrupted.
|
||||
/// </summary>
|
||||
Polite,
|
||||
|
||||
/// <summary>
|
||||
/// High priority - interrupts current speech.
|
||||
/// </summary>
|
||||
Assertive
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents an accessible action.
|
||||
/// </summary>
|
||||
public class AccessibleAction
|
||||
{
|
||||
/// <summary>
|
||||
/// The action name.
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// The action description.
|
||||
/// </summary>
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// The keyboard shortcut for this action.
|
||||
/// </summary>
|
||||
public string? KeyBinding { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a rectangle in accessible coordinates.
|
||||
/// </summary>
|
||||
public struct AccessibleRect
|
||||
{
|
||||
public int X { get; set; }
|
||||
public int Y { get; set; }
|
||||
public int Width { get; set; }
|
||||
public int Height { get; set; }
|
||||
|
||||
public AccessibleRect(int x, int y, int width, int height)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
Width = width;
|
||||
Height = height;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user