chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// TLImageMessage.m
|
||||
// TLChat
|
||||
//
|
||||
// Created by libokun on 16/3/28.
|
||||
// Copyright © 2016年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLImageMessage.h"
|
||||
|
||||
@implementation TLImageMessage
|
||||
@synthesize imagePath = _imagePath;
|
||||
@synthesize imageURL = _imageURL;
|
||||
|
||||
- (id)init
|
||||
{
|
||||
if (self = [super init]) {
|
||||
[self setMessageType:TLMessageTypeImage];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
- (NSString *)imagePath
|
||||
{
|
||||
if (_imagePath == nil) {
|
||||
_imagePath = [self.content objectForKey:@"path"];
|
||||
}
|
||||
return _imagePath;
|
||||
}
|
||||
- (void)setImagePath:(NSString *)imagePath
|
||||
{
|
||||
_imagePath = imagePath;
|
||||
[self.content setObject:imagePath forKey:@"path"];
|
||||
}
|
||||
|
||||
- (NSString *)imageURL
|
||||
{
|
||||
if (_imageURL == nil) {
|
||||
_imageURL = [self.content objectForKey:@"url"];
|
||||
}
|
||||
return _imageURL;
|
||||
}
|
||||
- (void)setImageURL:(NSString *)imageURL
|
||||
{
|
||||
_imageURL = imageURL;
|
||||
[self.content setObject:imageURL forKey:@"url"];
|
||||
}
|
||||
|
||||
- (CGSize)imageSize
|
||||
{
|
||||
CGFloat width = [[self.content objectForKey:@"w"] doubleValue];
|
||||
CGFloat height = [[self.content objectForKey:@"h"] doubleValue];
|
||||
return CGSizeMake(width, height);
|
||||
}
|
||||
- (void)setImageSize:(CGSize)imageSize
|
||||
{
|
||||
[self.content setObject:[NSNumber numberWithDouble:imageSize.width] forKey:@"w"];
|
||||
[self.content setObject:[NSNumber numberWithDouble:imageSize.height] forKey:@"h"];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
- (TLMessageFrame *)messageFrame
|
||||
{
|
||||
if (kMessageFrame == nil) {
|
||||
kMessageFrame = [[TLMessageFrame alloc] init];
|
||||
kMessageFrame.height = 20 + (self.showTime ? 30 : 0) + (self.showName ? 15 : 0);
|
||||
|
||||
CGSize imageSize = self.imageSize;
|
||||
if (CGSizeEqualToSize(imageSize, CGSizeZero)) {
|
||||
kMessageFrame.contentSize = CGSizeMake(100, 100);
|
||||
}
|
||||
else if (imageSize.width > imageSize.height) {
|
||||
CGFloat height = MAX_MESSAGE_IMAGE_WIDTH * imageSize.height / imageSize.width;
|
||||
height = height < MIN_MESSAGE_IMAGE_WIDTH ? MIN_MESSAGE_IMAGE_WIDTH : height;
|
||||
kMessageFrame.contentSize = CGSizeMake(MAX_MESSAGE_IMAGE_WIDTH, height);
|
||||
}
|
||||
else {
|
||||
CGFloat width = MAX_MESSAGE_IMAGE_WIDTH * imageSize.width / imageSize.height;
|
||||
width = width < MIN_MESSAGE_IMAGE_WIDTH ? MIN_MESSAGE_IMAGE_WIDTH : width;
|
||||
kMessageFrame.contentSize = CGSizeMake(width, MAX_MESSAGE_IMAGE_WIDTH);
|
||||
}
|
||||
|
||||
kMessageFrame.height += kMessageFrame.contentSize.height;
|
||||
}
|
||||
return kMessageFrame;
|
||||
}
|
||||
|
||||
- (NSString *)conversationContent
|
||||
{
|
||||
return @"[图片]";
|
||||
}
|
||||
|
||||
- (NSString *)messageCopy
|
||||
{
|
||||
return [self.content mj_JSONString];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user