summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/rendutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/rendutil.h')
-rw-r--r--src/emu/rendutil.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/emu/rendutil.h b/src/emu/rendutil.h
index 9208d729352..71e5bdc95c3 100644
--- a/src/emu/rendutil.h
+++ b/src/emu/rendutil.h
@@ -15,7 +15,11 @@
#include "rendertypes.h"
+#include "utilfwd.h"
+
+#include <algorithm>
#include <cmath>
+#include <utility>
/* ----- image formats ----- */
@@ -38,14 +42,14 @@ enum ru_imgformat
/* ----- render utilities ----- */
-void render_resample_argb_bitmap_hq(bitmap_argb32 &dest, bitmap_argb32 &source, const render_color &color, bool force = false);
-bool render_clip_line(render_bounds *bounds, const render_bounds *clip);
-bool render_clip_quad(render_bounds *bounds, const render_bounds *clip, render_quad_texuv *texcoords);
-void render_line_to_quad(const render_bounds *bounds, float width, float length_extension, render_bounds *bounds0, render_bounds *bounds1);
-void render_load_msdib(bitmap_argb32 &bitmap, util::core_file &file);
-void render_load_jpeg(bitmap_argb32 &bitmap, util::core_file &file);
-bool render_load_png(bitmap_argb32 &bitmap, util::core_file &file, bool load_as_alpha_to_existing = false);
-ru_imgformat render_detect_image(util::core_file &file);
+void render_resample_argb_bitmap_hq(bitmap_argb32 &dest, bitmap_argb32 &source, const render_color &color, bool force = false) noexcept;
+bool render_clip_line(render_bounds &bounds, const render_bounds &clip);
+bool render_clip_quad(render_bounds &bounds, const render_bounds &clip, render_quad_texuv *texcoords);
+std::pair<render_bounds, render_bounds> render_line_to_quad(const render_bounds &bounds, float width, float length_extension);
+void render_load_msdib(bitmap_argb32 &bitmap, util::random_read &file) noexcept;
+void render_load_jpeg(bitmap_argb32 &bitmap, util::random_read &file) noexcept;
+bool render_load_png(bitmap_argb32 &bitmap, util::random_read &file, bool load_as_alpha_to_existing = false) noexcept;
+ru_imgformat render_detect_image(util::random_read &file) noexcept;
@@ -69,7 +73,7 @@ static inline float render_round_nearest(float f)
flip flags
-------------------------------------------------*/
-static inline int orientation_swap_flips(int orientation)
+constexpr int orientation_swap_flips(int orientation)
{
return (orientation & ORIENTATION_SWAP_XY) |
((orientation & ORIENTATION_FLIP_X) ? ORIENTATION_FLIP_Y : 0) |
@@ -82,7 +86,7 @@ static inline int orientation_swap_flips(int orientation)
that will undo another orientation
-------------------------------------------------*/
-static inline int orientation_reverse(int orientation)
+constexpr int orientation_reverse(int orientation)
{
/* if not swapping X/Y, then just apply the same transform to reverse */
if (!(orientation & ORIENTATION_SWAP_XY))
@@ -99,7 +103,7 @@ static inline int orientation_reverse(int orientation)
after applying two subsequent orientations
-------------------------------------------------*/
-static inline int orientation_add(int orientation1, int orientation2)
+constexpr int orientation_add(int orientation1, int orientation2)
{
/* if the 2nd transform doesn't swap, just XOR together */
if (!(orientation2 & ORIENTATION_SWAP_XY))
@@ -126,11 +130,7 @@ static inline float apply_brightness_contrast_gamma_fp(float srcval, float brigh
srcval = (srcval * contrast) + brightness - 1.0f;
/* clamp and return */
- if (srcval < 0.0f)
- srcval = 0.0f;
- if (srcval > 1.0f)
- srcval = 1.0f;
- return srcval;
+ return std::clamp(srcval, 0.0f, 1.0f);
}