diff --git a/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.adb b/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.adb index 80428af..1b5524d 100644 --- a/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.adb +++ b/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.adb @@ -1029,6 +1029,13 @@ is end rid; + function Exists (Id : in openGL.light.Id_t) return Boolean + is + begin + return the_Lights.Contains (Id); + end Exists; + + function get (Id : in openGL.Light.Id_t) return openGL.Light.item is begin @@ -1087,6 +1094,13 @@ is end rid; + function Exists (Self : in out Item; Id : in openGL.light.Id_t) return Boolean + is + begin + return Self.Lights.Exists (Id); + end; + + function Light (Self : in out Item; Id : in openGL.light.Id_t) return openGL.Light.item is begin diff --git a/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.ads b/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.ads index 697a661..82fd67f 100644 --- a/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.ads +++ b/3-mid/opengl/source/lean/renderer/opengl-renderer-lean.ads @@ -46,8 +46,10 @@ is procedure add (Self : in out Item; the_Light : in Light.item); procedure set (Self : in out Item; the_Light : in Light.item); procedure rid (Self : in out Item; the_Light : in Light.item); - function Light (Self : in out Item; Id : in light.Id_t) return openGL.Light.item; - function fetch (Self : in out Item) return openGL.Light.items; + + function Exists (Self : in out Item; Id : in light.Id_t) return Boolean; + function Light (Self : in out Item; Id : in light.Id_t) return openGL.Light.item; + function fetch (Self : in out Item) return openGL.Light.items; type context_Setter is access procedure; type context_Clearer is access procedure; @@ -272,7 +274,8 @@ private procedure set (Light : in openGL.Light.item); procedure rid (Light : in openGL.Light.item); - function get (Id : in openGL.light.Id_t) return openGL.Light.item; + function Exists (Id : in openGL.light.Id_t) return Boolean; + function get (Id : in openGL.light.Id_t) return openGL.Light.item; function fetch return openGL.Light.items; private the_Lights : id_Map_of_light;