// // MPFunctionLayout.h // MathPad // // Created by Kim Wittenburg on 07.08.14. // Copyright (c) 2014 Kim Wittenburg. All rights reserved. // @import Cocoa; #import "MPLayout.h" @interface MPFunctionLayout : MPLayout + (MPFunctionLayout *)functionLayoutForFunctionAtIndexPath:(NSIndexPath *)path inRootExpression:(MPExpression *)rootExpression parent:(MPExpressionLayout *)parent; @property (readonly, nonatomic, weak) MPFunction *function; @end @interface MPFunctionLayout (MPSubclassOverride) #pragma mark Cache Methods - (CTLineRef)lineForPrivateCacheIndex:(NSUInteger)index generator:(CTLineRef (^)())generator; // Should also implement accessor method for special function type: // - (MPCustomFunction *)customFunction // { // return (MPCustomFunction *)self.function; // } #pragma mark Size and Drawing Methods - (NSPoint)offsetOfChildLayoutAtIndex:(NSUInteger)index; // To be implemented - (NSIndexPath *)indexPathForMousePoint:(NSPoint)point; // To be implemented - (NSRect)generateBounds; // To be implemented - (void)drawAtPoint:(NSPoint)point; // To be implemented @end