diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 287 |
1 files changed, 0 insertions, 287 deletions
diff --git a/README.md b/README.md deleted file mode 100644 index 35e931a..0000000 --- a/README.md +++ /dev/null @@ -1,287 +0,0 @@ -ESDL2 -===== - -SDL2 Erlang NIF. - -Status ------- - -Week-end project. Work in progress. - -The following limitations apply: - - * Erlang 17.0+ is required - * SDL 2.0.3+ is required - * No support for UTF-8 strings, only Latin-1 - -The following ideas need to be investigated: - - * We may benefit from the reference receive optimization when doing calls - * We may want a way to pipeline draw operations - * Using HiPE mutable bytearrays for "void* pixels" types - -The following tasks remain to be done: - -* http://hg.libsdl.org/SDL/file/default/include/SDL_hints.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_error.h - * Anything that can produce errors will have an automatic call to SDL_GetError. - * I am not sure we need any direct access to those functions. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_log.h - * We already have logging in Erlang. Not sure we need this. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_assert.h - * I am not sure we need this, and we can't use the assert macro directly anyway. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_version.h - * It might be useful to provide access to some of the macros as functions. - * The SDL_GetRevisionNumber function needs to be implemented. - * It might be interesting to use the macros to conditionally implement some features, - this way we could be compatible with all versions >= 2.0.0. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_video.h - * The SDL_DisplayMode structure and related functions need to be implemented: - * SDL_GetNumDisplayModes() - * SDL_GetDisplayMode() - * SDL_GetDesktopDisplayMode() - * SDL_GetCurrentDisplayMode() - * SDL_GetClosestDisplayMode() - * SDL_SetWindowDisplayMode() - * SDL_GetWindowDisplayMode() - * Most other display functions are also not implemented: - * SDL_GetNumVideoDisplays() - * SDL_GetDisplayName() - * SDL_GetDisplayBounds() - * SDL_GetDisplayDPI() - * Some window functions need to be implemented: - * SDL_CreateWindowFrom() - * SDL_GetWindowData() - * SDL_SetWindowData() - * SDL_GetWindowPixelFormat() - * SDL_GetWindowFromID() - * SDL_GetWindowSurface() - * SDL_UpdateWindowSurface() - * SDL_UpdateWindowSurfaceRects() - * SDL_GetGrabbedWindow() - * SDL_SetWindowGammaRamp() - * SDL_GetWindowGammaRamp() - * SDL_SetWindowModalFor() - * SDL_SetWindowInputFocus() - * SDL_SetWindowOpacity() - * SDL_GetWindowOpacity() - * SDL_SetWindowResizable() - * There is an SDL_WINDOW_MOUSE_CAPTURE window flag we need to implement. - * There are two window pos flags, related to multi monitors, that we don't support: - * SDL_WINDOWPOS_UNDEFINED_DISPLAY(X) - * SDL_WINDOWPOS_CENTERED_DISPLAY(X) - * We do not support OpenGL at all yet: - * SDL_GLContext - * SDL_GLattr - * SDL_GLprofile - * SDL_GLcontextFlag - * SDL_GLcontextReleaseFlag - * SDL_GL_LoadLibrary() - * SDL_GL_GetProcAddress() - * SDL_GL_UnloadLibrary() - * SDL_GL_ExtensionSupported() - * SDL_GL_ResetAttributes() - * SDL_GL_SetAttribute() - * SDL_GL_GetAttribute() - * SDL_GL_MakeCurrent() - * SDL_GL_GetCurrentWindow() - * SDL_GL_GetCurrentContext() - * SDL_GL_GetDrawableSize() - * SDL_GL_SetSwapInterval() - * SDL_GL_GetSwapInterval() - * We do not support any of the video driver related functions: - * SDL_GetNumVideoDrivers() - * SDL_GetVideoDriver() - * SDL_VideoInit() - * SDL_VideoQuit() - * SDL_GetCurrentVideoDriver() - * Flags and functions relating to SDL_HitTest are not implemented: - * SDL_HitTestResult - * SDL_HitTest() callback - * SDL_SetWindowHitTest() - * Screensaver related functions are not implemented: - * SDL_IsScreenSaverEnabled() - * SDL_EnableScreenSaver() - * SDL_DisableScreenSaver() - -* http://hg.libsdl.org/SDL/file/default/include/SDL_render.h - * The SDL_RendererInfo structure and related functions are not implemented: - * SDL_GetRenderDriverInfo() - * SDL_GetRendererInfo() - * The SDL_TextureAccess enum is not implemented. - * The SDL_TextureModulate enum is not implemented. - * A number of other functions are not implemented: - * SDL_CreateSoftwareRenderer() - * SDL_GetRenderer() - * SDL_CreateTexture() - * SDL_QueryTexture() - * SDL_UpdateTexture() - * SDL_UpdateYUVTexture() - * SDL_LockTexture() - * SDL_UnlockTexture() - * SDL_SetRenderTarget() - * SDL_GetRenderTarget() - * SDL_RenderIsClipEnabled() - * SDL_RenderReadPixels() - * SDL_RenderSetIntegerScale() - * We do not support OpenGL at all yet: - * SDL_GL_BindTexture() - * SDL_GL_UnbindTexture() - -* http://hg.libsdl.org/SDL/file/default/include/SDL_pixels.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_rect.h - * We need to implement everything, though we already have points and rects as maps elsewhere. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_surface.h - * We need to implement everything except SDL_FreeSurface(). - -* http://hg.libsdl.org/SDL/file/default/include/SDL_syswm.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_events.h - * The following event types need to be implemented: - * SDL_APP_TERMINATING (iOS and Android) - * SDL_APP_LOWMEMORY (iOS and Android) - * SDL_APP_WILLENTERBACKGROUND (iOS and Android) - * SDL_APP_DIDENTERBACKGROUND (iOS and Android) - * SDL_APP_WILLENTERFOREGROUND (iOS and Android) - * SDL_APP_DIDENTERFOREGROUND (iOS and Android) - * SDL_SYSWMEVENT (SDL_SysWMEvent, SDL_SysWMmsg) - * SDL_TEXTEDITING (SDL_TEXTEDITINGEVENT_TEXT_SIZE, SDL_TextEditingEvent) - * SDL_TEXTINPUT (SDL_TEXTINPUTEVENT_TEXT_SIZE, SDL_TextInputEvent) - * SDL_JOYAXISMOTION (SDL_JoyAxisEvent) - * SDL_JOYBALLMOTION (SDL_JoyBallEvent) - * SDL_JOYHATMOTION (SDL_JoyHatEvent) - * SDL_JOYBUTTONDOWN (SDL_JoyButtonEvent) - * SDL_JOYBUTTONUP (SDL_JoyButtonEvent) - * SDL_JOYDEVICEADDED (SDL_JoyDeviceEvent) - * SDL_JOYDEVICEREMOVED (SDL_JoyDeviceEvent) - * SDL_CONTROLLERAXISMOTION (SDL_ControllerAxisEvent) - * SDL_CONTROLLERBUTTONDOWN (SDL_ControllerButtonEvent) - * SDL_CONTROLLERBUTTONUP (SDL_ControllerButtonEvent) - * SDL_CONTROLLERDEVICEADDED (SDL_ControllerDeviceEvent) - * SDL_CONTROLLERDEVICEREMOVED (SDL_ControllerDeviceEvent) - * SDL_CONTROLLERDEVICEREMAPPED (SDL_ControllerDeviceEvent) - * SDL_FINGERDOWN (SDL_TouchFingerEvent) - * SDL_FINGERUP (SDL_TouchFingerEvent) - * SDL_FINGERMOTION (SDL_TouchFingerEvent) - * SDL_DOLLARGESTURE (SDL_DollarGestureEvent) - * SDL_DOLLARRECORD (SDL_DollarGestureEvent) - * SDL_MULTIGESTURE (SDL_MultiGestureEvent) - * SDL_CLIPBOARDUPDATE - * SDL_DROPFILE (SDL_DropEvent) - * SDL_AUDIODEVICEADDED (SDL_AudioDeviceEvent) - * SDL_AUDIODEVICEREMOVED (SDL_AudioDeviceEvent) - * SDL_RENDER_TARGETS_RESET - * SDL_RENDER_DEVICE_RESET - * SDL_WINDOWEVENT_HIT_TEST - * SDL_WINDOWEVENT_TAKE_FOCUS - * SDL_KEYMAPCHANGED - * User defined events, from SDL_USEREVENT to SDL_LASTEVENT (SDL_UserEvent) - * We currently do not handle the SDL_MouseMotionEvent.state value - * We currently do not handle the SDL_MouseWheelEvent.direction value (SDL >= 2.0.4, unreleased yet) - * We need to implement the following functions: - * SDL_PumpEvents() - * SDL_PeepEvents() - * SDL_HasEvent() - * SDL_HasEvents() - * SDL_FlushEvent() - * SDL_FlushEvents() - * SDL_WaitEvent() - * SDL_WaitEventTimeout() - * SDL_PushEvent() - * SDL_SetEventFilter() - * SDL_GetEventFilter() - * SDL_AddEventWatch() - * SDL_DelEventWatch() - * SDL_FilterEvents() - * SDL_EventState() - * SDL_RegisterEvents() - -* http://hg.libsdl.org/SDL/file/default/include/SDL_keyboard.h - * We need to implement the following functions: - * SDL_GetKeyboardFocus() - * SDL_GetKeyboardState() - * SDL_GetModState() - * SDL_SetModState() - * SDL_GetKeyFromScancode() - * SDL_GetScancodeFromKey() - * SDL_GetScancodeName() - * SDL_GetScancodeFromName() - * SDL_GetKeyName() - * SDL_GetKeyFromName() - * SDL_SetTextInputRect() - * SDL_HasScreenKeyboardSupport() - * SDL_IsScreenKeyboardShown() - -* http://hg.libsdl.org/SDL/file/default/include/SDL_keycode.h - * We probably should make it easy to identify keycodes and scancodes. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_scancode.h - * We probably should make it easy to identify keycodes and scancodes. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_joystick.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_gamecontroller.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_haptic.h - * We need to implement everything. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_audio.h - * We need to implement everything. - * We might want to implement SDL_mixer first. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_thread.h - * We don't really need this for Erlang, do we? - -* http://hg.libsdl.org/SDL/file/default/include/SDL_mutex.h - * We don't really need this for Erlang, do we? - -* http://hg.libsdl.org/SDL/file/default/include/SDL_atomic.h - * We don't really need this for Erlang, do we? - -* http://hg.libsdl.org/SDL/file/default/include/SDL_timer.h - * We need to implement everything. - * It's not the most useful to have, but doesn't hurt to have it. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_rwops.h - * We need to implement everything. - * It's currently unclear if and how this should be implemented. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_loadso.h - * We don't really need this for Erlang, do we? - -* http://hg.libsdl.org/SDL/file/default/include/SDL_platform.h - * We need to implement the one function in there. Can always be useful. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_cpuinfo.h - * The function SDL_HasAVX2() needs to be implemented. (SDL >= 2.0.4, unreleased yet) - * SDL_HasNEON() - -* http://hg.libsdl.org/SDL/file/default/include/SDL_endian.h - * We need to implement everything. - * It's currently unclear if and how this should be implemented. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_bits.h - * We need to implement everything. - * It's currently unclear if and how this should be implemented. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_system.h - * We need to implement everything. - * It's currently unclear if and how this should be implemented. - -* http://hg.libsdl.org/SDL/file/default/include/SDL_stdinc.h - * Nothing except support for SDL_bool was implemented. - * There might be useful bits and pieces in there, in particular the math or iconv functions. - -* SDL_image, SDL_mixer, ... also need to be investigated and implemented. |