rapptz / gum Goto Github PK
View Code? Open in Web Editor NEWThin C++11 SDL 2 wrapper with other nice things.
License: Other
Thin C++11 SDL 2 wrapper with other nice things.
License: Other
SDL offers a generic way of doing file I/O streaming. However, its API is very C-like. It'd be a good idea to offer a similar iostream
interface though that might prove difficult.
At the moment, there are some singular shapes that are drawables such as:
However, they use the singular form of the drawable using SDL_RenderDrawShape
instead of SDL_RenderDrawShapes
. For batching, there should be an alternative that uses the latter since the former would invoke a malloc
and free
call for only one and batching would invoke a malloc
and free
call for multiple instead of one.
Move from "../stuff.hpp"
way of including to <gum/thing/stuff.hpp>
instead. Update documentation when doing so too.
There are a lot of member functions that aren't provided by sdl::window
. Would be a good idea to finish those.
There are a lot of references to the underlying SDL functions but the documentation doesn't externally link to them. It'd be cool if we could have a special directive for it. Something akin to :sdl:
. Should be worth researching to find out how to do this.title
At the moment all errors are exceptions that are thrown. When I initially went into this, this seemed like a sensible thing to do because I assumed all errors that SDL reports must be substantial enough to warrant an exception thrown.
However, I soon realised this isn't the case. SDL decides to report errors for relatively small and silly things such as simple setters and getters. It might be a good idea to have a macro to change the error handling. Example:
#ifndef GUM_ERROR_HANDLER
#if defined(GUM_NO_EXCEPTIONS)
#define GUM_ERROR_HANDLER(x) SDL_Log("%s", sdl::last_error())
#else
#define GUM_ERROR_HANDLER(x) throw error()
#endif // GUM_NO_EXCEPTIONS
#endif // GUM_ERROR_HANDLER
Wrap up the small filesystem functions provided by SDL. Maybe provide other small utilities.
Possibly wrap up SDL_Event
. There's nothing inherently wrong with it, so just typedefs for consistency would do.
Wrap up SDL_DisplayMode
and allow it to interact with sdl::window
.
SDL2 offers a nice platform independent way of doing message boxes. Would be nice to wrap them up a little.
SDL offers a nice way to do input facilities. Wrapping them up would be good to do to make some distinctions clear.
Find a way to wrap up SDL2_image
. This allows loading of pngs, jpegs, etc.
SDL2 offers hardware accelerated primitives. Would be nice to wrap them up.
Some primitive shapes to wrap:
There's currently no way to create a texture to render anything to. Should probably wrap it around. This is relevant to issue #9 due to textures also being in part images/surfaces.
Wrap up SDL_audio.h
. Note that this would probably mean wrapping up SDL_mixer
.
Currently sdl::rectangle
has only a one pixel thickness. Would be nice to be able to customise this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.