//
//  LCBitmapCanvas.h
//  LogoistCore
//
//  Created by Mendel Kucharzeck on 19.12.11.
//  Copyright 2011 AvisNocturna Software. All rights reserved.
//

#import <LogoistCore/LCCanvasProtocol.h>
#import <LogoistCore/LCBitmapCanvasProgressDelegate.h>

@class LCObjectsContainer;

@interface LCBitmapCanvas : NSObject <LCCanvasProtocol>
{
    LCObjectsContainer *objectsContainer;
    
    NSInteger antiAliasingFactor;
    float zoomFactor;
    BOOL renderBackground;
    BOOL drawDemoString;
    
    BOOL useBlendingModes;
    
    BOOL isRendering;
    
    //Delegates
    id <LCBitmapCanvasProgressDelegate> progressDelegate;
}

- (id) initWithObjectsContainer:(LCObjectsContainer*)o;

@property (assign) NSInteger antiAliasingFactor;
@property (assign) float zoomFactor;
@property (readonly) BOOL isZooming;    //Only for protocol
@property (assign) BOOL drawDemoString;

@property (assign) BOOL useBlendingModes;   //Defaults to YES

@property (assign) BOOL renderBackground;

- (CGImageRef) renderImage;

@property (assign) id <LCBitmapCanvasProgressDelegate> progressDelegate;

@end
