Manipulate[y=If[c<0,0,1];y2=If[c-δ<0,0,1];y3=If[c+δ<0,0,1];good=Apply[And,Table[L-ε<If[z<0,0,1]<L+ε,{z,c-δ,c+δ,δ/5}]];
Row[{
Show[Plot[If[z<0,0,1],{z,-3,3},PlotRange->{-1,2},PlotStyle->AbsoluteThickness[3],AspectRatio->1,ImageSize->400],
Plot[If[z<0,0,1],{z,c-δ,c+δ},PlotStyle->{Red,AbsoluteThickness[5]}],
Graphics[
{
{RGBColor[0.0,0.4,0.8,0.3],Polygon[{{-3,L-ε},{4,L-ε},{4,L+ε},{-3,L+ε}}]},
{PointSize[0.03],Point[{c,y}]},
{PointSize[0.015],Point[{c-δ,y2}]},
{PointSize[0.015],Point[{c+δ,y3}]},
{AbsoluteThickness[2],
Line[{{c,0.07},{c,-0.07}}],
Line[{{c-δ,0.07},{c-δ,-0.07}}],
Line[{{c+δ,0.07},{c+δ,-0.07}}],
Line[{{-0.12,L},{0.12,L}}],
Line[{{-0.12,L+ε},{0.12,L+ε}}],
Line[{{-0.12,L-ε},{0.12,L-ε}}],
},
Text[Style[x^3-8x+1,20],{-2.1,32}],
Text[Style["c",16],{c,-0.16}],
{If[δ>0.25,Black,If[δ>0.16,GrayLevel[0.8],RGBColor[0,0,0,0]]],Text[Style["c-δ",13],{c-δ,-0.28}]},
{If[δ>0.25,Black,If[δ>0.16,GrayLevel[0.8],RGBColor[0,0,0,0]]],Text[Style["c+δ",13],{c+δ,-0.28}]},
Text[Style["L",16],{-0.4,y}],
{If[ε>0.12,Black,If[ε>0.06,GrayLevel[0.8],RGBColor[0,0,0,0]]],Text[Style["L-ε",16],{-0.5,L-ε}]},
{If[ε>0.1,Black,If[ε>0.06,GrayLevel[0.8],RGBColor[0,0,0,0]]],Text[Style["L+ε",16],{-0.5,L+ε}]}
}
]
],"  ",Show[Graphics[{AbsoluteThickness[4],If[!Face,{White,Circle[]},
If[good,{Circle[],Disk[{-0.4,0.4},0.12],Disk[{0.4,0.4},0.12],Circle[{0,0},0.5,{-0.2Pi,-Pi+0.2Pi}]},
{Circle[],Disk[{-0.4,0.4},0.12],Disk[{0.4,0.4},0.12],Circle[{0,-0.75},0.5,{0.2Pi,Pi-0.2Pi}]}]]}],ImageSize->100]}],{{c,2},-3,3},{{L,1},-2,2},{ε,0.01,0.3},{δ,0.01,0.4},{Face,{False,True}}]