1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00
CLK/OSBindings/Mac/Clock Signal/CSApplication.h
2024-01-16 23:34:46 -05:00

30 lines
926 B
Objective-C

//
// CSApplication.h
// Clock Signal
//
// Created by Thomas Harte on 22/09/2019.
// Copyright © 2019 Thomas Harte. All rights reserved.
//
#pragma once
#import <Cocoa/Cocoa.h>
@class CSApplication;
@protocol CSApplicationEventDelegate <NSObject>
- (BOOL)application:(nonnull CSApplication *)application shouldSendEvent:(nonnull NSEvent *)event;
@end
/*!
CSApplication differs from NSApplication in only one regard: it supports an eventDelegate.
If conected, an eventDelegate will be offered all application events prior to their propagation
into the application proper. It may opt to remove those events from the queue. This primarily
provides a way to divert things like the command key that will otherwise trigger menu
shortcuts, for periods when it is appropriate to do so.
*/
@interface CSApplication: NSApplication
@property(nonatomic, weak, nullable) id<CSApplicationEventDelegate> eventDelegate;
@end