9#include "path_location_intf.hpp"
10#include "../metadata/metadata.hpp"
11#include "../telemetry/telemetry.hpp"
12#include "../utility/utility.hpp"
13#include "../macros.hpp"
17hi_export_module(hikogui.path.path_location : impl);
32 hi_log_fatal(
"Could not get known folder path.");
38 return std::filesystem::path{
wpath} /
"";
58 hi_no_default(
"Could not get module path. It exceeds the buffer length of 32768 chars.");
63 return get_module_path(
nullptr);
71 return local_app_data / get_application_vendor() / get_application_name() /
"";
83 return data_dir() /
"preferences.json";
103 co_yield data_dir() /
"resources" /
"";
117 for (hilet& path : system_font_dirs()) {
Rules for working with win32 headers.
DOXYGEN BUG.
Definition algorithm.hpp:16
hi_export std::filesystem::path get_path_by_id(const KNOWNFOLDERID &folder_id) noexcept
Convenience function for SHGetKnownFolderPath().
Definition path_location_win32_impl.hpp:28
hi_export std::filesystem::path executable_file() noexcept
Get the full path to this executable.
hi_export std::filesystem::path data_dir() noexcept
Get the full path to the directory where the application should store its data.
hi_export std::filesystem::path log_dir() noexcept
Get the full path to the directory where the application should store its log files.
std::optional< std::filesystem::path > library_install_dir() noexcept
The full path where HikoGUI is installed during compilation of the application.
Definition path_location_intf.hpp:146
hi_export generator< std::filesystem::path > resource_dirs() noexcept
The directories to search for resource files.
hi_export std::filesystem::path executable_dir() noexcept
Get the full path to the directory when this executable is located.
Definition path_location_intf.hpp:66
hi_export std::filesystem::path preferences_file() noexcept
Get the full path to application preferences file.
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377
hi_export std::optional< std::filesystem::path > source_dir() noexcept
Get the full path to source code of this executable.
Definition path_location_intf.hpp:106