ferroui-native 0.3.0

The macOS platform of FerroUI: windows, input, clipboard, drag and drop, menus and Metal and OpenGL graphics over a native library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
#include "ferro-native.h"
#include "FrnAccessibility.h"

// Defines a means for managed code to raise accessibility events.
class FrnAutomationNode : public ComSingleObject<IFrnAutomationNode, &IID_IFrnAutomationNode>
{
public:
    FORWARD_IUNKNOWN()
    FrnAutomationNode(id <FrnAccessibility> owner) { _owner = owner; }
    FrnAccessibilityElement* GetOwner() { return _owner; }
    virtual void Dispose() override { _owner = nil; }
    virtual void ChildrenChanged () override { [_owner raiseChildrenChanged]; }
    virtual void PropertyChanged (FrnAutomationProperty property) override { [_owner raisePropertyChanged:property]; }
    virtual void FocusChanged () override { [_owner raiseFocusChanged]; }
private:
    __strong id <FrnAccessibility> _owner;
};