diff options
author | 2021-09-06 06:34:42 +1000 | |
---|---|---|
committer | 2021-09-06 06:34:42 +1000 | |
commit | 4f495994c41cd2fbaf89c08f755e828ae3261828 (patch) | |
tree | 8ea2c8522b807e394ea942460687b66e3ec7e381 /src/lib/util/path.h | |
parent | 5e02ff231e2472e7e75a97b6e8758a070b227f8e (diff) |
-ui: Made zoom controls a bit more intuitive.
* The UI controls are described as zoom in/out, but they had the
opposite effect on the palette and tile viewers. That has been
changed to make them consistent with the tilemap viewer.
* Made the default zoom key not act as a toggle. People are familiar
with the function of Ctrl+0/=/- in web browsers, so making them behave
similarly in MAME should make it more approachable. Also added the
default zoom key to the relevant documentation page.
* Implemented the default zoom key for the palette and tile viewers.
* In the tilemap viewer, if the view is in default expand to fit mode,
zoom in/out starting from the actual zoom ratio. Once again, this
behaves more like the zoom controls in a web browser displaying an
image so it should be more intuitive.
* Made more messages from the tilemap viewer localisable.
-util/zippath.cpp: Fixed MT08074.
* There were multiple issues at play here. After #8443 was applied,
is_root was simply never returning true on Windows, as OSD_WINDOWS
isn't actually defined outside libosd and libocore. This caused
phantom parent items to appear in disk roots on Windows, but it meant
that the check in zippath_resolve would always fail so the trailing
backslash would be trimmed. Fixing the macro test in is_root meant
the trailing backslash from C:\ would no longer be trimmed, which
caused the stat in zippath_resolve to fail.
-bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost.
-Reduced tag map lookups in several drivers and devices.
-util/coretmpl.h: Removed an overload of bitswap that can be avoided
using if constexpr.
-Added doxygen comments to some classes, and fixed several doxygen
warnings.
-util, osd: Test for _WIN32 rather than WIN32.
* In C++17 mode, WIN32 is no longer a predefined macro, although various
things in 3rdparty define it to maintain legacy support. We're better
off moving forward anyway for when WIN32 disappears entirely. (WIN32
is not a reserved name, while _WIN32 is, starting with an underscore
follwed by an uppercase letter.)
Diffstat (limited to 'src/lib/util/path.h')
-rw-r--r-- | src/lib/util/path.h | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/src/lib/util/path.h b/src/lib/util/path.h index 1291d7b17d3..8638bcb332b 100644 --- a/src/lib/util/path.h +++ b/src/lib/util/path.h @@ -18,15 +18,19 @@ namespace util { -/*************************************************************************** - INLINE FUNCTIONS -***************************************************************************/ - -// is a given character a directory separator? - +/// \defgroup pathutils Filesystem path utilities +/// \{ + +/// \brief Is a character a directory separator? +/// +/// Determine whether a character is used to separate components within +/// a filesystem path. +/// \param [in] c A character to test. +/// \return True if the character is used to separate components in +/// filesystem paths. constexpr bool is_directory_separator(char c) { -#if defined(WIN32) +#if defined(_WIN32) return ('\\' == c) || ('/' == c) || (':' == c); #else return '/' == c; @@ -34,8 +38,15 @@ constexpr bool is_directory_separator(char c) } -// append to a path - +/// \brief Append components to a filesystem path +/// +/// Appends directory components to a filesystem path. +/// \param [in,out] path The path to append to. +/// \param [in] next The first directory component to append to the +/// path. +/// \param [in] more Additional directory components to append to the +/// path. +/// \return A reference to the modified path. template <typename T, typename... U> inline std::string &path_append(std::string &path, T &&next, U &&... more) { @@ -49,8 +60,13 @@ inline std::string &path_append(std::string &path, T &&next, U &&... more) } -// concatenate paths - +/// \brief Concatenate filsystem paths +/// +/// Concatenates multiple filesystem paths. +/// \param [in] first Initial filesystem path. +/// \param [in] more Additional directory components to append to the +/// intial path. +/// \return The concatenated filesystem path. template <typename T, typename... U> inline std::string path_concat(T &&first, U &&... more) { @@ -60,6 +76,8 @@ inline std::string path_concat(T &&first, U &&... more) return result; } +/// \} + } // namespace util #endif // MAME_LIB_UTIL_PATH_H |