Blame client/iOS/Views/RDPSessionView.m

Packit Service fa4841
/*
Packit Service fa4841
 RDP Session View
Packit Service fa4841
Packit Service fa4841
 Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
Packit Service fa4841
Packit Service fa4841
 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit Service fa4841
 If a copy of the MPL was not distributed with this file, You can obtain one at
Packit Service fa4841
 http://mozilla.org/MPL/2.0/.
Packit Service fa4841
 */
Packit Service fa4841
Packit Service fa4841
#import "RDPSessionView.h"
Packit Service fa4841
Packit Service fa4841
@implementation RDPSessionView
Packit Service fa4841
Packit Service fa4841
- (void)setSession:(RDPSession *)session
Packit Service fa4841
{
Packit Service fa4841
	_session = session;
Packit Service fa4841
}
Packit Service fa4841
Packit Service fa4841
- (void)awakeFromNib
Packit Service fa4841
{
Packit Service fa4841
	[super awakeFromNib];
Packit Service fa4841
	_session = nil;
Packit Service fa4841
}
Packit Service fa4841
Packit Service fa4841
- (void)drawRect:(CGRect)rect
Packit Service fa4841
{
Packit Service fa4841
	if (_session != nil && [_session bitmapContext])
Packit Service fa4841
	{
Packit Service fa4841
		CGContextRef context = UIGraphicsGetCurrentContext();
Packit Service fa4841
		CGImageRef cgImage = CGBitmapContextCreateImage([_session bitmapContext]);
Packit Service fa4841
Packit Service fa4841
		CGContextTranslateCTM(context, 0, [self bounds].size.height);
Packit Service fa4841
		CGContextScaleCTM(context, 1.0, -1.0);
Packit Service fa4841
		CGContextClipToRect(context,
Packit Service fa4841
		                    CGRectMake(rect.origin.x,
Packit Service fa4841
		                               [self bounds].size.height - rect.origin.y - rect.size.height,
Packit Service fa4841
		                               rect.size.width, rect.size.height));
Packit Service fa4841
		CGContextDrawImage(context,
Packit Service fa4841
		                   CGRectMake(0, 0, [self bounds].size.width, [self bounds].size.height),
Packit Service fa4841
		                   cgImage);
Packit Service fa4841
Packit Service fa4841
		CGImageRelease(cgImage);
Packit Service fa4841
	}
Packit Service fa4841
	else
Packit Service fa4841
	{
Packit Service fa4841
		// just clear the screen with black
Packit Service fa4841
		[[UIColor blackColor] set];
Packit Service fa4841
		UIRectFill([self bounds]);
Packit Service fa4841
	}
Packit Service fa4841
}
Packit Service fa4841
Packit Service fa4841
- (void)dealloc
Packit Service fa4841
{
Packit Service fa4841
	[super dealloc];
Packit Service fa4841
}
Packit Service fa4841
Packit Service fa4841
@end