mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
116 lines
3.7 KiB
Objective-C
116 lines
3.7 KiB
Objective-C
#import "TGPhotoPaintActionsView.h"
|
|
|
|
#import "LegacyComponentsInternal.h"
|
|
#import "TGFont.h"
|
|
#import "TGImageUtils.h"
|
|
|
|
#import <LegacyComponents/TGModernButton.h>
|
|
|
|
@interface TGPhotoPaintActionsView ()
|
|
{
|
|
TGModernButton *_undoButton;
|
|
TGModernButton *_redoButton;
|
|
TGModernButton *_clearButton;
|
|
}
|
|
@end
|
|
|
|
@implementation TGPhotoPaintActionsView
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame
|
|
{
|
|
self = [super initWithFrame:frame];
|
|
if (self != nil)
|
|
{
|
|
_undoButton = [[TGModernButton alloc] init];
|
|
_undoButton.adjustsImageWhenDisabled = false;
|
|
_undoButton.enabled = false;
|
|
_undoButton.exclusiveTouch = true;
|
|
[_undoButton setImage:TGTintedImage([UIImage imageNamed:@"Editor/Undo"], [UIColor whiteColor]) forState:UIControlStateNormal];
|
|
[_undoButton addTarget:self action:@selector(undoButtonPressed) forControlEvents:UIControlEventTouchUpInside];
|
|
[self addSubview:_undoButton];
|
|
|
|
_redoButton = [[TGModernButton alloc] init];
|
|
_redoButton.adjustsImageWhenDisabled = false;
|
|
_redoButton.enabled = false;
|
|
_redoButton.exclusiveTouch = true;
|
|
[_redoButton setImage:TGComponentsImageNamed(@"PaintRedoIcon") forState:UIControlStateNormal];
|
|
[_redoButton addTarget:self action:@selector(redoButtonPressed) forControlEvents:UIControlEventTouchUpInside];
|
|
//[self addSubview:_redoButton];
|
|
|
|
_clearButton = [[TGModernButton alloc] init];
|
|
_clearButton.enabled = false;
|
|
_clearButton.exclusiveTouch = true;
|
|
_clearButton.titleLabel.font = TGSystemFontOfSize(17.0f);
|
|
_clearButton.titleLabel.textAlignment = NSTextAlignmentCenter;
|
|
[_clearButton setTitle:TGLocalized(@"Paint.Clear") forState:UIControlStateNormal];
|
|
[_clearButton setTitleColor:[UIColor whiteColor]];
|
|
[_clearButton addTarget:self action:@selector(clearButtonPressed) forControlEvents:UIControlEventTouchUpInside];
|
|
[_clearButton sizeToFit];
|
|
[self addSubview:_clearButton];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)undoButtonPressed
|
|
{
|
|
if (self.undoPressed != nil)
|
|
self.undoPressed();
|
|
}
|
|
|
|
- (void)redoButtonPressed
|
|
{
|
|
if (self.redoPressed != nil)
|
|
self.redoPressed();
|
|
}
|
|
|
|
- (void)clearButtonPressed
|
|
{
|
|
if (self.clearPressed != nil)
|
|
self.clearPressed(_clearButton);
|
|
}
|
|
|
|
- (void)setUndoEnabled:(bool)enabled
|
|
{
|
|
_undoButton.enabled = enabled;
|
|
}
|
|
|
|
- (void)setRedoEnabled:(bool)enabled
|
|
{
|
|
_redoButton.enabled = enabled;
|
|
}
|
|
|
|
- (void)setClearEnabled:(bool)enabled
|
|
{
|
|
_clearButton.enabled = enabled;
|
|
}
|
|
|
|
- (void)layoutSubviews
|
|
{
|
|
if (self.frame.size.width > self.frame.size.height)
|
|
{
|
|
_undoButton.frame = CGRectMake(6, 0, 40, self.frame.size.height);
|
|
_redoButton.frame = CGRectMake(CGRectGetMaxX(_undoButton.frame) + 18, 0, 40, self.frame.size.height);
|
|
|
|
_clearButton.titleLabel.font = TGSystemFontOfSize(17.0f);
|
|
_clearButton.titleLabel.numberOfLines = 1;
|
|
|
|
if (_clearButton.frame.size.width < FLT_EPSILON) {
|
|
_clearButton.frame = CGRectMake(0, 0, 100, self.frame.size.height);
|
|
[_clearButton sizeToFit];
|
|
}
|
|
|
|
_clearButton.frame = CGRectMake(self.frame.size.width - _clearButton.frame.size.width - 10.0f, 0, _clearButton.frame.size.width, self.frame.size.height);
|
|
}
|
|
else
|
|
{
|
|
//_redoButton.frame = CGRectMake(0, self.frame.size.height - 40 - 14, self.frame.size.width, 40);
|
|
_undoButton.frame = CGRectMake(0, self.frame.size.height - 40 - 6, self.frame.size.width, 40);
|
|
|
|
_clearButton.titleLabel.font = TGSystemFontOfSize(13.0f);
|
|
_clearButton.titleLabel.numberOfLines = 2;
|
|
_clearButton.frame = CGRectMake(0.0f, 10.0f, self.frame.size.width, 24.0f);
|
|
}
|
|
}
|
|
|
|
@end
|