//
//  GlyphsToolAuxiliaryDrawing.h
//  GlyphsCore
//
//  Created by Martin Winter on 20.06.18.
//  Copyright © 2018 schriftgestaltung.de. All rights reserved.
//

/**
 This is the base protocol for both `GlyphsToolDraw` and `GlyphsToolEvent`.
 */
@protocol GlyphsToolAuxiliaryDrawing <NSObject>

/** Draws some general things to the background of the edit view.

 This should be only additional items, as the actual glyphs are drawn by the layer plugin.

 @see drawForegroundInRect:

 @param fillRect The minimal rectangle that needs to be drawn. Implementers may use this to optimize their drawing.
 */
- (void)drawBackgroundInRect:(NSRect)fillRect;

/** Draws some general things to the foreground of the edit view.

 This should be only additional items, as the actual glyphs are drawn by the layer plugin.

 @see drawBackgroundInRect:

 @param fillRect The minimal rectangle that needs to be drawn. Implementers may use this to optimize their drawing.
 */
- (void)drawForegroundInRect:(NSRect)fillRect;

#pragma mark - Deprecated Methods

@optional

- (void)drawBackground GSDeprecated("drawBackgroundInRect:");

- (void)drawForeground GSDeprecated("drawForegroundInRect:");

@end
