blob: 20828611ac2a78697b0ab352db7d0b8f4a6d20a9 [file] [log] [blame]
//
// Created by Jesse Squires
// http://www.jessesquires.com
//
//
// Documentation
// http://cocoadocs.org/docsets/JSQMessagesViewController
//
//
// GitHub
// https://github.com/jessesquires/JSQMessagesViewController
//
//
// License
// Copyright (c) 2014 Jesse Squires
// Released under an MIT license: http://opensource.org/licenses/MIT
//
#import "JSQMessagesAvatarImage.h"
@implementation JSQMessagesAvatarImage
#pragma mark - Initialization
+ (instancetype)avatarWithImage:(UIImage *)image
{
NSParameterAssert(image != nil);
return [[JSQMessagesAvatarImage alloc] initWithAvatarImage:image
highlightedImage:image
placeholderImage:image];
}
+ (instancetype)avatarImageWithPlaceholder:(UIImage *)placeholderImage
{
return [[JSQMessagesAvatarImage alloc] initWithAvatarImage:nil
highlightedImage:nil
placeholderImage:placeholderImage];
}
- (instancetype)initWithAvatarImage:(UIImage *)avatarImage
highlightedImage:(UIImage *)highlightedImage
placeholderImage:(UIImage *)placeholderImage
{
NSParameterAssert(placeholderImage != nil);
self = [super init];
if (self) {
_avatarImage = avatarImage;
_avatarHighlightedImage = highlightedImage;
_avatarPlaceholderImage = placeholderImage;
}
return self;
}
#pragma mark - NSObject
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@: avatarImage=%@, avatarHighlightedImage=%@, avatarPlaceholderImage=%@>",
[self class], self.avatarImage, self.avatarHighlightedImage, self.avatarPlaceholderImage];
}
- (id)debugQuickLookObject
{
return [[UIImageView alloc] initWithImage:self.avatarImage ?: self.avatarPlaceholderImage];
}
#pragma mark - NSCopying
- (instancetype)copyWithZone:(NSZone *)zone
{
return [[[self class] allocWithZone:zone] initWithAvatarImage:[UIImage imageWithCGImage:self.avatarImage.CGImage]
highlightedImage:[UIImage imageWithCGImage:self.avatarHighlightedImage.CGImage]
placeholderImage:[UIImage imageWithCGImage:self.avatarPlaceholderImage.CGImage]];
}
@end