Skip to content

Commit 79b0de5

Browse files
authored
Merge pull request #28 from darquro/tool_icon_highlighted_color
Add toolIconHighlightedColor
2 parents c485180 + 455b343 commit 79b0de5

File tree

5 files changed

+33
-0
lines changed

5 files changed

+33
-0
lines changed

Sources/Extensions/UIColor+ZLImageEditor.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,8 @@ extension ZLImageEditorWrapper where Base: UIColor {
5858
static var toolTitleTintColor: UIColor {
5959
ZLImageEditorUIConfiguration.default().toolTitleTintColor
6060
}
61+
62+
static var toolIconHighlightedColor: UIColor? {
63+
ZLImageEditorUIConfiguration.default().toolIconHighlightedColor
64+
}
6165
}

Sources/Extensions/UIImage+ZLImageEditor.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,18 @@ extension ZLImageEditorWrapper where Base: UIImage {
338338
}
339339
return UIImage(data: data) ?? base
340340
}
341+
342+
func fillColor(_ color: UIColor) -> UIImage? {
343+
UIGraphicsBeginImageContextWithOptions(base.size, false, base.scale)
344+
let drawRect = CGRect(x: 0, y: 0, width: base.size.width, height: base.size.height)
345+
color.setFill()
346+
UIRectFill(drawRect)
347+
base.draw(in: drawRect, blendMode: .destinationIn, alpha: 1)
348+
349+
let tintedImage = UIGraphicsGetImageFromCurrentImageContext()
350+
UIGraphicsEndImageContext()
351+
return tintedImage
352+
}
341353
}
342354

343355
extension ZLImageEditorWrapper where Base: UIImage {

Sources/General/ZLEditToolCells.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ class ZLEditToolCell: UICollectionViewCell {
5252
icon.image = getImage("zl_adjust")
5353
icon.highlightedImage = getImage("zl_adjust_selected")
5454
}
55+
if let color = UIColor.zl.toolIconHighlightedColor {
56+
icon.highlightedImage = icon.highlightedImage?
57+
.zl.fillColor(color)
58+
}
5559
}
5660
}
5761

@@ -164,6 +168,10 @@ class ZLAdjustToolCell: UICollectionViewCell {
164168
imageView.highlightedImage = getImage("zl_saturation_selected")
165169
nameLabel.text = localLanguageTextValue(.saturation)
166170
}
171+
if let color = UIColor.zl.toolIconHighlightedColor {
172+
imageView.highlightedImage = imageView.highlightedImage?
173+
.zl.fillColor(color)
174+
}
167175
}
168176
}
169177

Sources/General/ZLImageEditorUIConfiguration+Chaining.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,10 @@ public extension ZLImageEditorUIConfiguration {
104104
toolTitleTintColor = color
105105
return self
106106
}
107+
108+
@discardableResult
109+
func toolIconHighlightedColor(_ color: UIColor) -> ZLImageEditorUIConfiguration {
110+
toolIconHighlightedColor = color
111+
return self
112+
}
107113
}

Sources/General/ZLImageEditorUIConfiguration.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ public class ZLImageEditorUIConfiguration: NSObject {
123123

124124
/// The tint color of the title below the various tools in the image editor.
125125
@objc public var toolTitleTintColor = UIColor.white
126+
127+
/// The highlighted color of the tool icon.
128+
@objc public var toolIconHighlightedColor: UIColor?
126129
}
127130

128131
// MARK: Image source deploy

0 commit comments

Comments
 (0)