//
// MRGraphView.h
// MyCustomGraphView
//
// Created by Marco Rotatori on 02/02/10.
// Copyright 2010 Marco Rotatori. All rights reserved.
//
#import <Cocoa/Cocoa.h>
enum _pointType {
dot = 0,
circle,
square,
rhombus
};
@interface MRGraphView : NSView {
float *values; // l'array che conterrà i valori da rappresentare (asse Y)
int valuesNumber; // il numero di valori
float yStart; // il valore di partenza dell'asse Y
float yIncrement; // il valore di incremento dell'asse Y
float xStart; // il valore di partenza dell'asse X
float xIncrement; // il valore di incremento dell'asse X
float border; // la distanza del grafico dal bordo della view
float yBorder; // la distanza per rappresentare i valori dell'asse Y
float xBorder; // la distanza per rappresentare i valori dell'asse X
float maxY; // il valore massimo visualizzabile nell'asse Y
BOOL straight; // indica se il grafico verrà rappresentato con segmenti retti o sinuosi
BOOL showPoints; // indica se mostrare i punti dei vari valori
int pointType; // il tipo di punto
float pointScale; // la dimensione in scala del punto
NSColor *pointStrokeColor; // il colore della traccia dei punti
NSColor *pointFillColor; // il colore di riempimento dei punti
float pointStrokeWidth; // lo spessore della traccia dei punti
float defaultStrokeWidth; // lo spessore di default per tutte le tracce
NSColor *backgroundColor; // il colore di fondo
NSColor *graphStrokeColor; // il colore della traccia del grafico
float graphStrokeWidth; // lo spessore della traccia del grafico
BOOL showVerticalStrokes; // indica se mostrare le tracce verticali
BOOL showHorizontalStrokes; // indica se mostrare le tracce orizzontali
BOOL showYValues; // indica se mostrare i valori dell'asse Y
BOOL showXValues; // indica se mostrare i valori dell'asse Y
NSString *yTitle; // il titolo dell'asse Y
NSString *xTitle; // il titolo dell'asse X
NSMutableDictionary *fontAttr; // gli attributi della font che useremo per stampare i valori
}
- (void)setValues:(float *)vals length:(int)itemsNumber;
- (void)drawPointAtPoint:(NSPoint)point;
void fillRhombusInRect(CGContextRef context, CGRect rect);
void strokeRhombusInRect(CGContextRef context, CGRect rect);
CGRect CGRectFromNSRect(NSRect nsrect);
@end