Index: VisualHeal.lua
===================================================================
--- VisualHeal.lua	(revision 1)
+++ VisualHeal.lua	(working copy)
@@ -21,10 +21,13 @@
 PitBull4_VisualHeal:SetDescription(L["Visualises healing done by you and your group members before it happens."])
 PitBull4_VisualHeal:SetDefaults({
 	show_overheal = true,
+	highlight_on_heal = false,
+	highlight_style = "border",
 	}, {
 	incoming_color = { 0.4, 0.6, 0.4, 0.75 },
 	outgoing_color = { 0, 1, 0, 1 },
 	outgoing_color_overheal = { 1, 0, 0, 0.65 },
+	highlight_color = { 0.4, 0.6, 0.4, 0.75 },
 	auto_luminance = true,
 })
 
@@ -91,6 +94,8 @@
 	local player_healing = LibHealComm:GetHealAmount(guid, LibHealComm.ALL_HEALS, current_time + time_band, player_guid)
 	local others_healing = LibHealComm:GetOthersHealAmount(guid, LibHealComm.ALL_HEALS, current_time + time_band)
 	
+	self:SetHighlight(frame, player_healing, others_healing)
+	
 	-- Bail out early if nothing going on for this unit
 	if not player_healing and not others_healing then
 		return self:ClearFrame(frame)
@@ -299,6 +304,15 @@
 		hasAlpha = true,
 		width = 'double',
 	},
+	'highlight_color', {
+		type = 'color',
+		name = L['Highlight color'],
+		desc = L['The color of the frame highlight that is visible when heal is incoming.'],
+		get = get,
+		set = set,
+		hasAlpha = true,
+		width = 'double',
+	},
 	'auto_luminance', {
 		type = 'toggle',
 		name = L["Auto-luminance"],
@@ -336,5 +350,79 @@
 			PitBull4.Options.GetLayoutDB(self).show_overheal = value
 		end,
 		disabled = disabled,
+	}, 'highlight_group', {
+		type = 'group',
+		inline = true,
+		name = L["Highlight"],
+		args = {
+			highlight_on_heal = {
+				type = 'toggle',
+				name = L["Highlight on heal"],
+				desc = L["Highlight unit frame when heal is incoming."],
+				get = function(info)
+					return PitBull4.Options.GetLayoutDB(self).highlight_on_heal
+				end,
+				set = function(info, value)
+					PitBull4.Options.GetLayoutDB(self).highlight_on_heal = value
+				end,
+			},
+			highlight_style = {
+				type = 'select',
+				name = L['Style'],
+				desc = L['Select the style of the highlight for this layout.'],
+				get = function(info)
+					return PitBull4.Options.GetLayoutDB(self).highlight_style
+				end,
+				set = function(info, value)
+					PitBull4.Options.GetLayoutDB(self).highlight_style = value
+				end,
+				values = {
+					border = L["Border"],
+					thinborder = L["Thin Border"],
+					normal = L["Normal"],
+				},
+				disabled = function(info)
+					local db = PitBull4.Options.GetLayoutDB(self)
+					return not db.enabled or not db.highlight_on_heal
+				end,
+				order = order,
+			}
+		}
 	}
 end)
+
+function PitBull4_VisualHeal:SetHighlight(frame, player_healing, others_healing)
+	
+  local db = self.db.profile.global
+  local highlight_on_heal = PitBull4.Options.GetLayoutDB(self).highlight_on_heal
+
+	local heal_highlight = frame.heal_highlight
+	
+	if highlight_on_heal and (player_healing or others_healing) then
+		-- Display the highlight
+		if not heal_highlight then
+			heal_highlight = PitBull4.Controls.MakeTexture(frame.overlay, "OVERLAY")
+			frame.heal_highlight = heal_highlight
+		end
+
+		local highlight_style = PitBull4.Options.GetLayoutDB(self).highlight_style
+		if highlight_style == "border" then
+			heal_highlight:SetTexture("Interface\\AddOns\\PitBull4_Aura\\HighlightBorder")
+		elseif highlight_style == "thinborder" then
+			heal_highlight:SetTexture("Interface\\AddOns\\PitBull4_Aura\\HighlightThinBorder")
+		else
+			heal_highlight:SetTexture("Interface\\AddOns\\PitBull4_Aura\\HighlightNormal")
+		end
+
+		local r, g, b, a = unpack(db.highlight_color)
+		heal_highlight:SetBlendMode("ADD")
+		heal_highlight:SetAlpha(a)
+		heal_highlight:SetAllPoints(frame)
+		heal_highlight:SetVertexColor(r, g, b)
+	else
+		-- No highlight so remove one if we have one showing
+		if heal_highlight then
+			frame.heal_highlight = heal_highlight:Delete()
+		end
+	end
+end
