All pastes #2081601 Raw Edit

Something

public text v1 · immutable
#2081601 ·published 2011-09-20 17:13 UTC
rendered paste body
//
//  WaveView.m
//  Wave
//
//  Created by Isha on 20.09.11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "WaveView.h"


@implementation WaveView

@synthesize ySlider,ycSlider,xSlider;

#pragma mark init functions
- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        NSLog(@"Init called");
        NSLog(@"Myself %@", self);
    }
    return self;
}

- (void)initValues 
{
    x=400;
    yc=50;
    width=0;
    y=200;
    xSlider.value = x;
    [ySlider setValue:y];
    [ycSlider setValue:yc];
}

#pragma mark draw functions

- (void)drawRect:(CGRect)rect
{
    NSLog(@"Myself %@", self);
    if (x == 0 && yc == 0 || width== 0 || y == 0) {
        [self initValues];
    }
    
    NSLog(@"x:%f y:%f yc:%f w: %f", x,y,yc,width);
    NSLog(@"Slider: %f %f %f", xSlider.value, ySlider.value, ycSlider.value);
    while (width<=rect.size.width) {
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGMutablePathRef path = CGPathCreateMutable();
        CGPathMoveToPoint(path, nil, width,y/2);
        CGPathAddQuadCurveToPoint(path, nil, width+x/4, -yc,width+ x/2, y/2);
        CGPathMoveToPoint(path, nil, width+x/2,y/2);
        CGPathAddQuadCurveToPoint(path, nil, width+3*x/4, y+yc, width+x, y/2);
        CGContextAddPath(context, path);
        CGContextDrawPath(context, kCGPathStroke);
        width+=x;
    }
    NSLog(@"Jumping out!");
}

#pragma mark sliders

- (IBAction)changeSliderX
{
    NSLog(@"Myself %@", self);
    x = [xSlider value];
    [self setNeedsDisplay];
}

- (IBAction)changeSliderY
{
    y = [ySlider value];
    [self setNeedsDisplay];
}

- (IBAction)changeSliderYC
{
    yc = [ycSlider value];
    [self setNeedsDisplay];
}

#pragma mark deallocations

- (void)dealloc
{
    [super dealloc];
}

@end