diff options
Diffstat (limited to 'src/libui_sdl/libui/darwin/control.m')
-rw-r--r-- | src/libui_sdl/libui/darwin/control.m | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/libui_sdl/libui/darwin/control.m b/src/libui_sdl/libui/darwin/control.m new file mode 100644 index 0000000..9eaf47a --- /dev/null +++ b/src/libui_sdl/libui/darwin/control.m @@ -0,0 +1,84 @@ +// 16 august 2015 +#import "uipriv_darwin.h" + +void uiDarwinControlSyncEnableState(uiDarwinControl *c, int state) +{ + (*(c->SyncEnableState))(c, state); +} + +void uiDarwinControlSetSuperview(uiDarwinControl *c, NSView *superview) +{ + (*(c->SetSuperview))(c, superview); +} + +BOOL uiDarwinControlHugsTrailingEdge(uiDarwinControl *c) +{ + return (*(c->HugsTrailingEdge))(c); +} + +BOOL uiDarwinControlHugsBottom(uiDarwinControl *c) +{ + return (*(c->HugsBottom))(c); +} + +void uiDarwinControlChildEdgeHuggingChanged(uiDarwinControl *c) +{ + (*(c->ChildEdgeHuggingChanged))(c); +} + +NSLayoutPriority uiDarwinControlHuggingPriority(uiDarwinControl *c, NSLayoutConstraintOrientation orientation) +{ + return (*(c->HuggingPriority))(c, orientation); +} + +void uiDarwinControlSetHuggingPriority(uiDarwinControl *c, NSLayoutPriority priority, NSLayoutConstraintOrientation orientation) +{ + (*(c->SetHuggingPriority))(c, priority, orientation); +} + +void uiDarwinControlChildVisibilityChanged(uiDarwinControl *c) +{ + (*(c->ChildVisibilityChanged))(c); +} + +void uiDarwinSetControlFont(NSControl *c, NSControlSize size) +{ + [c setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:size]]]; +} + +#define uiDarwinControlSignature 0x44617277 + +uiDarwinControl *uiDarwinAllocControl(size_t n, uint32_t typesig, const char *typenamestr) +{ + return uiDarwinControl(uiAllocControl(n, uiDarwinControlSignature, typesig, typenamestr)); +} + +BOOL uiDarwinShouldStopSyncEnableState(uiDarwinControl *c, BOOL enabled) +{ + int ce; + + ce = uiControlEnabled(uiControl(c)); + // only stop if we're going from disabled back to enabled; don't stop under any other condition + // (if we stop when going from enabled to disabled then enabled children of a disabled control won't get disabled at the OS level) + if (!ce && enabled) + return YES; + return NO; +} + +void uiDarwinNotifyEdgeHuggingChanged(uiDarwinControl *c) +{ + uiControl *parent; + + parent = uiControlParent(uiControl(c)); + if (parent != NULL) + uiDarwinControlChildEdgeHuggingChanged(uiDarwinControl(parent)); +} + +void uiDarwinNotifyVisibilityChanged(uiDarwinControl *c) +{ + uiControl *parent; + + parent = uiControlParent(uiControl(c)); + if (parent != NULL) + uiDarwinControlChildVisibilityChanged(uiDarwinControl(parent)); +} |