I am not sure if what I want to do is possible in Mathematica. I've provided something simple below to convey what I want to do.
Basically what I want to happen is that when the Locator crosses over the blue line, the Disk[] will turn red and stay red until the Locator crosses the blue line again (it should stay red regardless of where the Locator is).
Manipulate[
Plot[x^3, {x, 0, 1}, PlotRange -> {{0, 1.5}, {0, 1.5}}, Frame -> True,
Epilog ->
Inset[Graphics[{Blue, Disk[]}, ImageSize -> 30], {0.2, 1}]],
{{comp, {0.5, 0.7}}, Locator}]

I am trying to make a Demonstration that shows the behavior of a single component (water in this case) on a pressure vs. temperature phase diagram. Water exists in 3 distinct phases and there is only a phase change from liquid to vapor (or supercritical) if a certain boundary is crossed (looks like the one I showed here) but you can go around that boundary and not change phase. So that's what I am trying to show here with the colored disk as the indicator of "phase change"
EDIT:
Manipulate[
DynamicModule[{col = False, acc = 0, p = {420, Log[6]}},
EventHandler[Show[Quiet@LogPlot[Log[T], {T, 273.16, 647.096}, PlotStyle -> Thick] /.
l_Line :> EventHandler[l, {"MouseEntered" :> If[acc === 0,
(col = col /. {True -> False, False -> True})]}],
Frame -> True, PlotRange -> {{273.16, 700}, {Log[5.6], Log[7]}},
Epilog ->
Inset[Graphics[
Text[Style[Dynamic@If[col == True, "liquid", "vapor"], 18],
Scaled[{0.400, 0.1}]]]]],
{"MouseDown" :> (acc = 1; MousePosition[Dynamic@p]),
"MouseDragged" :> (MousePosition[Dynamic@p]),
"MouseUp" :> (acc = 0; MousePosition[Dynamic@p])},
PassEventsDown -> True]],
{{p, {420, Log[6]}}, Locator,
Appearance -> Graphics[{Disk[]}, ImageSize -> 12]}]
It will only work if the mouse is not depressed.





If[acc === 1,toIf[acc === 0,on purpose. P.s. in case ofTrue/Falseyou can just usecol = !colinstead of rules. – Kuba Jul 02 '14 at 08:48