Reorganized File Structure
Added Documentation
This commit is contained in:
67
MathKit/MPPowerFunctionLayout.m
Normal file
67
MathKit/MPPowerFunctionLayout.m
Normal file
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// MPPowerFunctionLayout.m
|
||||
// MathPad
|
||||
//
|
||||
// Created by Kim Wittenburg on 30.09.14.
|
||||
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPPowerFunctionLayout.h"
|
||||
|
||||
#import "MPPowerFunction.h"
|
||||
|
||||
#define kPowerFunctionExponentXOffset 1
|
||||
#define kPowerFunctionTrailingOffset 2
|
||||
|
||||
@implementation MPPowerFunctionLayout
|
||||
|
||||
- (NSRect)baseBounds
|
||||
{
|
||||
if (NSEqualRects(_baseBounds, NSZeroRect)) {
|
||||
return NSMakeRect(0, kMPEmptyBoxYOrigin, 0, kMPEmptyBoxHeight);
|
||||
}
|
||||
return _baseBounds;
|
||||
}
|
||||
|
||||
- (MPPowerFunction *)powerFunction
|
||||
{
|
||||
return (MPPowerFunction *)self.function;
|
||||
}
|
||||
|
||||
- (NSIndexSet *)indexesOfRemainingChildren
|
||||
{
|
||||
return [NSIndexSet indexSetWithIndex:0];
|
||||
}
|
||||
|
||||
#warning Broken Power Layout
|
||||
- (NSPoint)offsetOfChildLayoutAtIndex:(NSUInteger)index
|
||||
{
|
||||
NSRect exponentBounds = [self childLayoutAtIndex:0].bounds;
|
||||
CGFloat y = (self.baseBounds.size.height + self.baseBounds.origin.y) - ((exponentBounds.size.height + exponentBounds.origin.y) / 2);
|
||||
return NSMakePoint(kPowerFunctionExponentXOffset, y);
|
||||
}
|
||||
|
||||
- (BOOL)childAtIndexUsesSmallSize:(NSUInteger)index
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (NSIndexPath *)indexPathForLocalMousePoint:(NSPoint)point
|
||||
{
|
||||
return [[NSIndexPath indexPathWithIndex:0] indexPathByAddingIndex:0];
|
||||
}
|
||||
|
||||
- (NSRect)generateBounds
|
||||
{
|
||||
NSRect exponentBounds = [self childLayoutAtIndex:0].bounds;
|
||||
CGFloat height = [self offsetOfChildLayoutAtIndex:0].y + exponentBounds.size.height + exponentBounds.origin.y;
|
||||
CGFloat width = kPowerFunctionExponentXOffset + exponentBounds.size.width + kPowerFunctionTrailingOffset;
|
||||
return NSMakeRect(0, 0, width, height);
|
||||
}
|
||||
|
||||
- (void)draw
|
||||
{
|
||||
[[NSBezierPath bezierPathWithRect:self.bounds] stroke];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user