10#ifndef UTILS_GUTILS_H_
11#define UTILS_GUTILS_H_
47 #include "TargetConditionals.h"
48 #if TARGET_IPHONE_SIMULATOR
50 #elif TARGET_OS_IPHONE
54 #define TARGET_OS_OSX 1
57 #define APPLE __APPLE__
66 #define LINUX __linux__
74#if ANDROID || TARGET_OS_IPHONE || TARGET_OS_SIMULATOR || EMSCRIPTEN
76#define GLIST_OPENGLES 1
85#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
92#define GLIST_ANDROID 1
98 #define PI 3.14159265358979323846
141#if defined(WIN32) || defined(LINUX) || defined(APPLE)
142uint64_t gGetAvailableRamSize();
145#if defined(WIN32) || defined(LINUX) || defined(APPLE)
146uint64_t gGetRamSizeUsedbyGE();
149#if defined(WIN32) || defined(LINUX) || defined(APPLE)
150uint64_t gGetTotalRamSize();
160void gStringReplace(std::string& input,
const std::string& searchStr,
const std::string& replaceStr);
162std::string
gToLower(
const std::string& src,
const std::string & locale =
"");
163std::string
gToUpper(
const std::string& src,
const std::string & locale =
"");
164std::vector<std::string>
gSplitString(
const std::string& textToSplit,
const std::string& delimiter);
166std::string
gReplaceAll(
const std::string& source,
const std::string& from,
const std::string& to);
178 std::ostringstream out;
185 std::ostringstream stream;
187 << std::setfill (
'0') << std::setw(
width)
188 << std::hex << numValue;
194 std::ostringstream out;
195 out << std::fixed << std::setfill(fill) << std::setw(
width) << value;
206 return (T(0) < val) - (val < T(0));
222 utf8::iterator<std::string::const_iterator>
begin()
const;
223 utf8::iterator<std::string::const_iterator>
end()
const;
224 utf8::iterator<std::string::const_reverse_iterator>
rbegin()
const;
225 utf8::iterator<std::string::const_reverse_iterator>
rend()
const;
228 std::string src_valid;
249 template <
typename T>
297 return t > max ? max : t < min ? min : t;
337 const std::string& dialogTitle,
338 const std::string& defaultPathAndFile,
340 const std::string* filterPatterns,
341 const std::string& filterDescription,
342 bool isMultipleSelectionAllowed =
false);
369 const std::string& dialogTitle,
370 const std::string& defaultPathAndFile,
371 std::initializer_list<const char*> filterPatterns,
372 const std::string& filterDescription,
373 bool isMultipleSelectionAllowed =
false);
376 const std::string& dialogTitle,
377 const std::string& defaultPathAndFile,
379 const char** filterPatterns,
380 const std::string& filterDescription,
381 bool isMultipleSelectionAllowed =
false);
384 const std::string& dialogTitle,
385 const std::string& defaultPathAndFile,
387 const std::string* filterPatterns,
388 const std::string& filterDescription);
392 const std::string& dialogTitle,
393 const std::string& defaultPathAndFile,
394 std::initializer_list<const char*> filterPatterns,
395 const std::string& filterDescription);
398 const std::string& dialogTitle,
399 const std::string& defaultPathAndFile,
401 const char** filterPatterns,
402 const std::string& filterDescription);
405 const std::string& dialogTitle,
406 const std::string& defaultPath);
419 const std::string& title,
420 const std::string& message,
421 const std::string& dialogue,
422 const std::string& iconType,
434 const std::string& title,
435 const std::string& message,
436 const std::string& defaultInput);
447 const std::string& title,
448 const std::string& defaultHex,
449 unsigned char const defaultRGB[3]);
452 int xLeft2,
int yUp2,
int xRight2,
int yBottom2);
gLog(const std::string &tag)
static bool isloggingenabled
Definition gUtils.h:261
static void setLoggingEnabled(bool isLoggingEnabled)
std::string logtag
Definition gUtils.h:264
gLog & operator<<(const T &value)
Definition gUtils.h:250
static std::string getLogLevelName(int logLevel)
gLog & operator<<(std::ostream &(*func)(std::ostream &))
Definition gUtils.h:244
static std::string loglevelname[]
Definition gUtils.h:265
static bool isLoggingEnabled()
@ LOGLEVEL_DEBUG
Definition gUtils.h:235
@ LOGLEVEL_WARNING
Definition gUtils.h:236
@ LOGLEVEL_ERROR
Definition gUtils.h:237
@ LOGLEVEL_INFO
Definition gUtils.h:234
int loglevel
Definition gUtils.h:262
std::stringstream logmessage
Definition gUtils.h:263
gLogd(const std::string &tag="")
gLoge(const std::string &tag="")
gLogi(const std::string &tag="")
gLogw(const std::string &tag="")
unsigned int format
Definition gTexture.h:147
int width
Definition gTexture.h:150
int height
Definition gTexture.h:150
unsigned char * data
Definition gTexture.h:151
utf8::iterator< std::string::const_iterator > begin() const
gUTF8Iterator(const std::string &str)
utf8::iterator< std::string::const_reverse_iterator > rbegin() const
utf8::iterator< std::string::const_iterator > end() const
utf8::iterator< std::string::const_reverse_iterator > rend() const
std::string gToStr(const T &numValue)
Definition gUtils.h:177
bool gCheckCollision(int xLeft1, int yUp1, int xRight1, int yBottom1, int xLeft2, int yUp2, int xRight2, int yBottom2)
int gDefaultMonitorHeight()
std::string gToLower(const std::string &src, const std::string &locale="")
std::string gShowOpenFileDialog(const std::string &dialogTitle, const std::string &defaultPathAndFile, int filterNum, const std::string *filterPatterns, const std::string &filterDescription, bool isMultipleSelectionAllowed=false)
int gShowMessageBox(const std::string &title, const std::string &message, const std::string &dialogue, const std::string &iconType, int defaultButton)
bool gIsValidFilename(std::string fileName)
bool gIsString(const std::string &str)
std::string gToHex(const T &numValue, int width=sizeof(T) *2)
Definition gUtils.h:184
void gFlipImageDataVertically(unsigned char *pixelData, int width, int height, int numChannels)
std::string gShowSelectFolderDialog(const std::string &dialogTitle, const std::string &defaultPath)
uint64_t gGetSystemTimeMillis()
int gToInt(const std::string &intString)
std::string gCodepointToStr(unsigned int codepoint)
std::string gGetFirstLineOfTextFile(std::string fullFilepath)
double gToDouble(const std::string &doubleString)
std::vector< std::string > gSplitString(const std::string &textToSplit, const std::string &delimiter)
std::string gReplaceAll(const std::string &source, const std::string &from, const std::string &to)
gColor gShowColorChooser(const std::string &title, const std::string &defaultHex, unsigned char const defaultRGB[3])
std::string gToUpper(const std::string &src, const std::string &locale="")
std::string gShowInputBox(const std::string &title, const std::string &message, const std::string &defaultInput)
std::string gWStrToStr(const std::wstring &s)
void gOpenUrlInDefaultBrowser(std::string url)
std::string gDecodeBase64(const std::string &encoded_string)
bool gCheckPixelPerfectCollision(gImage *image1, int x1, int y1, gImage *image2, int x2, int y2)
float gRadToDeg(float radians)
std::string gFixPath(const std::string &path)
int gSign(T val)
Definition gUtils.h:205
std::locale gGetLocale(const std::string &locale)
unsigned int gGetUnixTime()
bool gIsNumber(const std::string &str)
T gClamp(T t, T min, T max)
Definition gUtils.h:296
int gDefaultMonitorWidth()
float gToFloat(const std::string &floatString)
std::string gEncodeBase64(unsigned char *data, int len)
std::string gShowSaveFileDialog(const std::string &dialogTitle, const std::string &defaultPathAndFile, int filterNum, const std::string *filterPatterns, const std::string &filterDescription)
int gDefaultScreenScaling()
bool gIsFloat(const std::string &str)
std::deque< std::string > gSplitStringToDeque(const std::string &textToSplit, const std::string &delimiter)
float gDegToRad(float degrees)
std::string gGetTimestampString()
void gStringReplace(std::string &input, const std::string &searchStr, const std::string &replaceStr)
bool gIsInt(const std::string &str)