Add background color management on text message highlights

This commit is contained in:
ismailgulek
2022-01-18 16:20:12 +03:00
parent 4f58e0cfcc
commit 0d74667d7d
5 changed files with 30 additions and 9 deletions

View File

@@ -50,7 +50,8 @@
The optional text pattern to be highlighted in the body of the message.
*/
NSString *highlightedPattern;
UIColor *highlightedPatternColor;
UIColor *highlightedPatternForegroundColor;
UIColor *highlightedPatternBackgroundColor;
UIFont *highlightedPatternFont;
}

View File

@@ -351,10 +351,14 @@
return customAttributedTextMsg;
}
- (void)highlightPatternInTextMessage:(NSString*)pattern withForegroundColor:(UIColor*)patternColor andFont:(UIFont*)patternFont
- (void)highlightPatternInTextMessage:(NSString*)pattern
withBackgroundColor:(UIColor *)backgroundColor
foregroundColor:(UIColor*)foregroundColor
andFont:(UIFont*)patternFont
{
highlightedPattern = pattern;
highlightedPatternColor = patternColor;
highlightedPatternBackgroundColor = backgroundColor;
highlightedPatternForegroundColor = foregroundColor;
highlightedPatternFont = patternFont;
// Indicate that the text message layout should be recomputed.
@@ -889,10 +893,16 @@
while (range.location != NSNotFound)
{
if (highlightedPatternColor)
if (highlightedPatternBackgroundColor)
{
// Update background color
[customAttributedTextMsg addAttribute:NSBackgroundColorAttributeName value:highlightedPatternBackgroundColor range:range];
}
if (highlightedPatternForegroundColor)
{
// Update text color
[customAttributedTextMsg addAttribute:NSForegroundColorAttributeName value:highlightedPatternColor range:range];
[customAttributedTextMsg addAttribute:NSForegroundColorAttributeName value:highlightedPatternForegroundColor range:range];
}
if (highlightedPatternFont)

View File

@@ -269,10 +269,14 @@ Update the event because its sent state changed or it is has been redacted.
Highlight all the occurrences of a pattern in the resulting message body 'attributedTextMessage'.
@param pattern the text pattern to highlight.
@param patternColor optional text color (the pattern text color is unchanged if nil).
@param backgroundColor optional text background color (the patterns background color is unchanged if nil)
@param foregroundColor optional text color (the pattern text color is unchanged if nil).
@param patternFont optional text font (the pattern font is unchanged if nil).
*/
- (void)highlightPatternInTextMessage:(NSString*)pattern withForegroundColor:(UIColor*)patternColor andFont:(UIFont*)patternFont;
- (void)highlightPatternInTextMessage:(NSString*)pattern
withBackgroundColor:(UIColor *)backgroundColor
foregroundColor:(UIColor*)foregroundColor
andFont:(UIFont*)patternFont;
/**
Refresh the sender flair information