MLECO-2946: Draw boxes directly on the LCD

* No longer copy the source image
* Boxes are drawn directly to LCD rather than on source image
* Change c style casts to static casts

Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: Ib8e926cb1a87bc2c40424eb5aace40170c526f1d
diff --git a/source/hal/components/lcd_mps3/glcd_mps3.c b/source/hal/components/lcd_mps3/glcd_mps3.c
index 08d4c5e..55a6575 100644
--- a/source/hal/components/lcd_mps3/glcd_mps3.c
+++ b/source/hal/components/lcd_mps3/glcd_mps3.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -283,7 +283,7 @@
     wr_dat_stop();
 }
 
-void GLCD_Image(void *data, const uint32_t width,
+void GLCD_Image(const void *data, const uint32_t width,
     const uint32_t height, const uint32_t channels,
     const uint32_t pos_x, const uint32_t pos_y,
     const uint32_t downsample_factor)
diff --git a/source/hal/components/lcd_mps3/include/glcd_mps3.h b/source/hal/components/lcd_mps3/include/glcd_mps3.h
index c2810c0..313d4ca 100644
--- a/source/hal/components/lcd_mps3/include/glcd_mps3.h
+++ b/source/hal/components/lcd_mps3/include/glcd_mps3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -182,7 +182,7 @@
  * @param[in]  downsample_factor    Factor by which the image
  *                                  is downsampled by.
  */
-void GLCD_Image(void *data, const uint32_t width,
+void GLCD_Image(const void *data, const uint32_t width,
                const uint32_t height, const uint32_t channels,
                const uint32_t pos_x, const uint32_t pos_y,
                const uint32_t downsample_factor);
diff --git a/source/hal/include/data_psn.h b/source/hal/include/data_psn.h
index 8c14c77..05d7649 100644
--- a/source/hal/include/data_psn.h
+++ b/source/hal/include/data_psn.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,7 +31,7 @@
     int (* system_init)(void);  /**< pointer to init function */
 
     /** Pointer to the image presentation function */
-    int (* present_data_image)(uint8_t *data, const uint32_t width,
+    int (* present_data_image)(const uint8_t *data, const uint32_t width,
         const uint32_t height, const uint32_t channels,
         const uint32_t pos_x, const uint32_t pos_y,
         const uint32_t downsample_factor);
diff --git a/source/hal/profiles/bare-metal/data_presentation/lcd/include/lcd_img.h b/source/hal/profiles/bare-metal/data_presentation/lcd/include/lcd_img.h
index e4ad791..b447767 100644
--- a/source/hal/profiles/bare-metal/data_presentation/lcd/include/lcd_img.h
+++ b/source/hal/profiles/bare-metal/data_presentation/lcd/include/lcd_img.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
  *                                  downsampled.
  * @return      0 if successful, non-zero otherwise.
  **/
-int lcd_display_image(uint8_t* data, const uint32_t width,
+int lcd_display_image(const uint8_t* data, const uint32_t width,
     const uint32_t height, const uint32_t channels,
     const uint32_t pos_x, const uint32_t pos_y,
     const uint32_t downsample_factor);
diff --git a/source/hal/profiles/bare-metal/data_presentation/lcd/lcd_img.c b/source/hal/profiles/bare-metal/data_presentation/lcd/lcd_img.c
index f03566f..7064396 100644
--- a/source/hal/profiles/bare-metal/data_presentation/lcd/lcd_img.c
+++ b/source/hal/profiles/bare-metal/data_presentation/lcd/lcd_img.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -60,7 +60,7 @@
     return show_title();
 }
 
-int lcd_display_image(uint8_t* data, const uint32_t width,
+int lcd_display_image(const uint8_t* data, const uint32_t width,
     const uint32_t height, const uint32_t channels,
     const uint32_t pos_x, const uint32_t pos_y,
     const uint32_t downsample_factor)
diff --git a/source/hal/profiles/native/data_presentation/log/include/log.h b/source/hal/profiles/native/data_presentation/log/include/log.h
index 9b9928f..796d0ef 100644
--- a/source/hal/profiles/native/data_presentation/log/include/log.h
+++ b/source/hal/profiles/native/data_presentation/log/include/log.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -39,7 +39,7 @@
  * @return      0 if successful, non-zero otherwise.
  **/
 
-int log_display_image(uint8_t* data, const uint32_t width,
+int log_display_image(const uint8_t* data, const uint32_t width,
                       const uint32_t height, const uint32_t channels,
                       const uint32_t pos_x, const uint32_t pos_y,
                       const uint32_t downsample_factor);
diff --git a/source/hal/profiles/native/data_presentation/log/log.c b/source/hal/profiles/native/data_presentation/log/log.c
index 1673af1..e37b4ca 100644
--- a/source/hal/profiles/native/data_presentation/log/log.c
+++ b/source/hal/profiles/native/data_presentation/log/log.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022 Arm Limited. All rights reserved.
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -32,7 +32,7 @@
     return 0;
 }
 
-int log_display_image(uint8_t* data, const uint32_t width,
+int log_display_image(const uint8_t* data, const uint32_t width,
                       const uint32_t height, const uint32_t channels,
                       const uint32_t pos_x, const uint32_t pos_y,
                       const uint32_t downsample_factor)