 |
raylib-cpp
C++ object-oriented wrapper library for raylib.
|
4 #ifndef RAYLIB_CPP_INCLUDE_FUNCTIONS_HPP_
5 #define RAYLIB_CPP_INCLUDE_FUNCTIONS_HPP_
10 #include "./raylib.hpp"
16 #define RLCPPAPI static
24 RLCPPAPI
inline void InitWindow(
int width,
int height,
const std::string& title =
"raylib") {
39 return ::GetMonitorName(monitor);
53 return ::GetClipboardText();
67 return ::GetGamepadName(gamepad);
76 std::string output(text);
77 ::UnloadFileText(text);
84 RLCPPAPI
inline bool SaveFileText(
const std::string& fileName,
const std::string& text) {
85 return ::SaveFileText(fileName.c_str(),
const_cast<char*
>(text.c_str()));
91 RLCPPAPI
inline bool FileExists(
const std::string& fileName) {
92 return ::FileExists(fileName.c_str());
99 return ::DirectoryExists(dirPath.c_str());
105 RLCPPAPI
inline bool IsFileExtension(
const std::string& fileName,
const std::string& ext) {
106 return ::IsFileExtension(fileName.c_str(), ext.c_str());
113 return ::GetFileExtension(fileName.c_str());
119 RLCPPAPI
inline std::string
GetFileName(
const std::string& filePath) {
120 return ::GetFileName(filePath.c_str());
127 return ::GetFileNameWithoutExt(filePath.c_str());
134 return ::GetDirectoryPath(filePath.c_str());
141 return ::GetPrevDirectoryPath(dirPath.c_str());
148 return ::GetWorkingDirectory();
158 std::vector<std::string> output(files, files + count);
159 ::ClearDirectoryFiles();
167 return ::ChangeDirectory(dir.c_str());
175 if (!::IsFileDropped()) {
176 return std::vector<std::string>();
180 std::vector<std::string> output(files, files + count);
181 ::ClearDroppedFiles();
189 return ::GetFileModTime(fileName.c_str());
195 RLCPPAPI
inline void OpenURL(
const std::string& url) {
196 return ::OpenURL(url.c_str());
210 RLCPPAPI inline ::Image
LoadImage(
const std::string& fileName) {
211 return ::LoadImage(fileName.c_str());
218 int width,
int height,
219 int format,
int headerSize) {
220 return ::LoadImageRaw(fileName.c_str(), width, height, format, headerSize);
226 RLCPPAPI inline ::Image
LoadImageAnim(
const std::string& fileName,
int *frames) {
227 return ::LoadImageAnim(fileName.c_str(), frames);
234 const unsigned char *fileData,
236 return ::LoadImageFromMemory(fileType.c_str(), fileData, dataSize);
243 return ::ExportImage(image, fileName.c_str());
250 return ::ExportImageAsCode(image, fileName.c_str());
256 RLCPPAPI
inline void DrawText(
const std::string& text,
int posX,
int posY,
int fontSize, ::
Color color) {
257 ::DrawText(text.c_str(), posX, posY, fontSize, color);
264 float fontSize,
float spacing, ::
Color tint) {
265 ::DrawTextEx(font, text.c_str(), position, fontSize, spacing, tint);
272 Vector2 origin,
float rotation,
float fontSize,
float spacing, ::
Color tint) {
273 ::DrawTextPro(font, text.c_str(), position, origin, rotation, fontSize, spacing, tint);
279 RLCPPAPI
inline int MeasureText(
const std::string& text,
int fontSize) {
280 return ::MeasureText(text.c_str(), fontSize);
286 RLCPPAPI
inline bool TextIsEqual(
const std::string& text1,
const std::string& text2) {
287 return ::TextIsEqual(text1.c_str(), text2.c_str());
293 RLCPPAPI
inline unsigned int TextLength(
const std::string& text) {
294 return ::TextLength(text.c_str());
300 RLAPI
inline std::string
TextSubtext(
const std::string& text,
int position,
int length) {
301 return ::TextSubtext(text.c_str(), position, length);
307 RLAPI
inline std::string
TextReplace(
const std::string& text,
const std::string& replace,
const std::string& by) {
308 const char* input = text.c_str();
309 char* output =
::TextReplace(
const_cast<char*
>(input), replace.c_str(), by.c_str());
310 if (output != NULL) {
311 std::string stringOutput(output);
321 RLAPI
inline std::string
TextInsert(
const std::string& text,
const std::string& insert,
int position) {
322 char* output =
::TextInsert(text.c_str(), insert.c_str(), position);
323 if (output != NULL) {
324 std::string stringOutput(output);
334 RLAPI
inline int TextFindIndex(
const std::string& text,
const std::string& find) {
335 return ::TextFindIndex(text.c_str(), find.c_str());
342 return ::TextToUpper(text.c_str());
349 return ::TextToLower(text.c_str());
356 return ::TextToPascal(text.c_str());
363 return ::TextToInteger(text.c_str());
368 #endif // RAYLIB_CPP_INCLUDE_FUNCTIONS_HPP_
RLAPI std::string TextToPascal(const std::string &text)
Get Pascal case notation version of provided string.
All raylib-cpp classes and functions appear in the raylib namespace.
static inline ::Image LoadImage(const std::string &fileName)
Load an image.
static std::string GetFileName(const std::string &filePath)
Get pointer to filename for a path string.
static void UpdateCamera(const ::Camera &camera)
Update camera depending on selected mode.
RLAPI int TextFindIndex(const std::string &text, const std::string &find)
Find first text occurrence within a string.
static inline ::Image LoadImageRaw(const std::string &fileName, int width, int height, int format, int headerSize)
Load an image from RAW file data.
static std::string GetPrevDirectoryPath(const std::string &dirPath)
Get previous directory path for a given path.
static bool TextIsEqual(const std::string &text1, const std::string &text2)
Check if two text string are equal.
static inline ::Image LoadImageFromMemory(const std::string &fileType, const unsigned char *fileData, int dataSize)
Load image from memory buffer, fileType refers to extension like "png".
static void SetWindowTitle(const std::string &title)
Set title for window.
Image type, bpp always RGBA (32bit)
static std::string GetMonitorName(int monitor=0)
Get the human-readable, UTF-8 encoded name of the primary monitor.
static inline ::Image LoadImageAnim(const std::string &fileName, int *frames)
Load animated image data.
RLAPI std::string TextToUpper(const std::string &text)
Get upper case version of provided string.
static long GetFileModTime(const std::string &fileName)
Get file modification time (last write time)
static void TakeScreenshot(const std::string &fileName)
Takes a screenshot of current screen (saved a .png)
static std::vector< std::string > GetDroppedFiles()
Get dropped files names.
static std::string GetGamepadName(int gamepad)
Get gamepad internal name id.
RLAPI std::string TextSubtext(const std::string &text, int position, int length)
Get text length, checks for '\0' ending.
static void InitWindow(int width, int height, const std::string &title="raylib")
Initialize window and OpenGL context.
static bool ExportImageAsCode(const Image &image, const std::string &fileName)
Export image as code file (.h) defining an array of bytes.
Camera type, defines a camera position/orientation in 3d space.
static bool DirectoryExists(const std::string &dirPath)
Check if directory path exists.
static std::string GetFileNameWithoutExt(const std::string &filePath)
Get filename string without extension.
static std::string GetDirectoryPath(const std::string &filePath)
Get full path for a given fileName with path.
static bool IsFileExtension(const std::string &fileName, const std::string &ext)
Check file extension (including point: .png, .wav)
static bool FileExists(const std::string &fileName)
Check if file exists.
static std::vector< std::string > GetDirectoryFiles(const std::string &dirPath)
Get filenames in a directory path.
static void DrawTextPro(const Font &font, const std::string &text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, ::Color tint)
Draw text using Font and pro parameters (rotation)
Font type, includes texture and charSet array data.
static bool ExportImage(const Image &image, const std::string &fileName)
Export image data to file.
static bool ChangeDirectory(const std::string &dir)
Change working directory, return true on success.
static int MeasureText(const std::string &text, int fontSize)
Measure string width for default font.
RLAPI std::string TextReplace(const std::string &text, const std::string &replace, const std::string &by)
Replace text string.
static void SetClipboardText(const std::string &text)
Set clipboard text content.
static std::string GetFileExtension(const std::string &fileName)
Get pointer to extension for a filename string (including point: ".png")
static bool SaveFileText(const std::string &fileName, const std::string &text)
Save text data to file (write)
RLAPI std::string TextToLower(const std::string &text)
Get lower case version of provided string.
static void DrawText(const std::string &text, int posX, int posY, int fontSize, ::Color color)
Draw text (using default font)
static std::string LoadFileText(const std::string &fileName)
Load text data from file (read)
static void OpenURL(const std::string &url)
Open URL with default system browser (if available)
static unsigned int TextLength(const std::string &text)
Check if two text string are equal.
static void DrawTextEx(const Font &font, const std::string &text, Vector2 position, float fontSize, float spacing, ::Color tint)
Draw text using font and additional parameters.
static std::string GetWorkingDirectory()
Get current working directory.
RLAPI std::string TextInsert(const std::string &text, const std::string &insert, int position)
Insert text in a position.
static std::string GetClipboardText()
Get clipboard text content.
RLAPI int TextToInteger(const std::string &text)
Get integer value from text (negative values not supported)