JNGL
Easy to use cross-platform 2D game library
Loading...
Searching...
No Matches
other.hpp
Go to the documentation of this file.
1// Copyright 2014-2025 Jan Niklas Hasse <jhasse@bixense.com>
2// For conditions of distribution and use, see copyright notice in LICENSE.txt
5#pragma once
6
7#include <cstdint>
8#include <sstream>
9#include <string>
10#include <vector>
11
12namespace jngl {
13
15bool running();
16
22
27
32
36bool canQuit();
37
42void quit() noexcept;
43
50void forceQuit(uint8_t exitcode);
51
54
58[[deprecated("Not really intuitive or robust, use your own calculations instead")]] double getFPS();
59
61unsigned int getStepsPerSecond();
62
64void setStepsPerSecond(unsigned int);
65
69void setAntiAliasing(bool enabled);
70
73
75void setVerticalSync(bool enabled);
76
79
81void setIcon(const std::string& filename);
82
84void setPrefix(const std::string& path);
85
87std::string getPrefix();
88
90void setConfigPath(const std::string& path);
91
99[[deprecated("use jngl::writeConfig and jngl::readConfig instead")]] std::string getConfigPath();
100
103
107std::vector<std::string> getArgs();
108
110std::stringstream readAsset(const std::string& filename);
111
119std::string readConfig(const std::string& key);
120
127void writeConfig(const std::string& key, const std::string& value);
128
131
133void openURL(const std::string&);
134
136int round(double v);
137
139int utf8Length(std::string_view);
140
141namespace internal {
142
145
153
154} // namespace internal
155
156} // namespace jngl
JNGL's main namespace.
std::string readConfig(const std::string &key)
Read in a configuration value which has been saved under key.
unsigned int getStepsPerSecond()
How many times Work::step is called per second (default: 60)
void clearBackBuffer()
Clears the back buffer and resets the ModelView matrix, see jngl::reset()
void swapBuffers()
Swaps back and front buffer.
void setPrefix(const std::string &path)
Sets a global prefix which will be prepended whenever images or sounds are loaded.
double getFPS()
Calculates FPS if called once per frame.
std::stringstream readAsset(const std::string &filename)
Returns a stringstream containing the whole file. This will read from the .apk on Android.
void cancelQuit()
Undo quit() or ignore a quit event caused by the user closing the main window.
bool canQuit()
Some platforms (e.g.
int round(double v)
Rounds a double to an integer, just like std::lround.
void openURL(const std::string &)
Opens a link (e.g. https://bixense.com) in the browser.
std::string getConfigPath()
void forceQuit(uint8_t exitcode)
Exit main loop with and let the OS process return exitcode.
int utf8Length(std::string_view)
Returns the number of characters in the UTF-8 string.
void writeConfig(const std::string &key, const std::string &value)
Write value into the persistent storage which can be read in again using jngl::readConfig(key)
void setVerticalSync(bool enabled)
Toggles V-SYNC.
bool getVerticalSync()
Returns whether V-SYNC is enabled. Many devices always enable V-SYNC with no way to turn it off.
void setStepsPerSecond(unsigned int)
How many times Work::step should be called per second (default: 60)
bool running()
Returns true until the main window is closed or quit() has been called.
bool getAntiAliasing()
Returns whether MSAA is enabled. If the device doesn't support it, it will always return false.
std::string getPrefix()
Returns the global prefix set by jngl::setPrefix.
std::string getBinaryPath()
Returns the directory of the currently running binary.
std::string getPreferredLanguage()
Returns user preferred language, i.e. "en" for English, "de" for German.
std::vector< std::string > getArgs()
Returns the command line arguments passed to the executable (empty when there are no arguments)
void setConfigPath(const std::string &path)
void quit() noexcept
Emit a quit event (i.e.
void updateInput()
Updates the input state.
void setIcon(const std::string &filename)
Sets the icon for the window (Desktop-only)
void setAntiAliasing(bool enabled)
Toggles Multisample anti-aliasing (MSAA)
void setArgs(std::vector< std::string >)
Called by JNGL_MAIN_BEGIN to set command line arguments.