Add symbols module
This commit is contained in:
parent
ce20471e09
commit
7f78ad1576
9 changed files with 123 additions and 594 deletions
|
|
@ -6,10 +6,8 @@ description = "SDL2 Autogenerated wrapper"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
srcDir = "src"
|
srcDir = "src"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
requires "nim >= 1.0.6", "nimterop#head"
|
requires "nim >= 1.0.6", "nimterop#cpluginpath", "regex"
|
||||||
|
|
||||||
when gorgeEx("nimble path nimterop").exitCode == 0:
|
when gorgeEx("nimble path nimterop").exitCode == 0:
|
||||||
import nimterop/docs
|
import nimterop/docs
|
||||||
|
|
|
||||||
108
src/sdl2/cleansymbols.nim
Normal file
108
src/sdl2/cleansymbols.nim
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
# import macros, nimterop / plugin
|
||||||
|
import strutils, regex
|
||||||
|
import sets
|
||||||
|
|
||||||
|
proc firstLetterLower(m: RegexMatch, s: string): string =
|
||||||
|
s[m.group(0)[0]].toLowerAscii
|
||||||
|
|
||||||
|
proc camelCase(m: RegexMatch, s: string): string =
|
||||||
|
s[m.group(0)[0]].toUpperAscii
|
||||||
|
|
||||||
|
proc nothing(m: RegexMatch, s: string): string =
|
||||||
|
s[m.group(0)[0]]
|
||||||
|
|
||||||
|
const gpuReg = re"^GPU_(.)"
|
||||||
|
const sdlReg = re"^SDL_(.)"
|
||||||
|
const underscoreReg = re"_(.)"
|
||||||
|
|
||||||
|
const EVENT_TYPES = toHashSet([
|
||||||
|
"FIRSTEVENT",
|
||||||
|
"QUIT",
|
||||||
|
"APP_TERMINATING",
|
||||||
|
"APP_LOWMEMORY",
|
||||||
|
"APP_WILLENTERBACKGROUND",
|
||||||
|
"APP_DIDENTERBACKGROUND",
|
||||||
|
"APP_WILLENTERFOREGROUND",
|
||||||
|
"APP_DIDENTERFOREGROUND",
|
||||||
|
"DISPLAYEVENT",
|
||||||
|
"WINDOWEVENT",
|
||||||
|
"SYSWMEVENT",
|
||||||
|
"KEYDOWN",
|
||||||
|
"KEYUP",
|
||||||
|
"TEXTEDITING",
|
||||||
|
"TEXTINPUT",
|
||||||
|
"KEYMAPCHANGED",
|
||||||
|
"MOUSEMOTION",
|
||||||
|
"MOUSEBUTTONDOWN",
|
||||||
|
"MOUSEBUTTONUP",
|
||||||
|
"MOUSEWHEEL",
|
||||||
|
"JOYAXISMOTION",
|
||||||
|
"JOYBALLMOTION",
|
||||||
|
"JOYHATMOTION",
|
||||||
|
"JOYBUTTONDOWN",
|
||||||
|
"JOYBUTTONUP",
|
||||||
|
"JOYDEVICEADDED",
|
||||||
|
"JOYDEVICEREMOVED",
|
||||||
|
"CONTROLLERAXISMOTION",
|
||||||
|
"CONTROLLERBUTTONDOWN",
|
||||||
|
"CONTROLLERBUTTONUP",
|
||||||
|
"CONTROLLERDEVICEADDED",
|
||||||
|
"CONTROLLERDEVICEREMOVED",
|
||||||
|
"CONTROLLERDEVICEREMAPPED",
|
||||||
|
"FINGERDOWN",
|
||||||
|
"FINGERUP",
|
||||||
|
"FINGERMOTION",
|
||||||
|
"DOLLARGESTURE",
|
||||||
|
"DOLLARRECORD",
|
||||||
|
"MULTIGESTURE",
|
||||||
|
"CLIPBOARDUPDATE",
|
||||||
|
"DROPFILE",
|
||||||
|
"DROPTEXT",
|
||||||
|
"DROPBEGIN",
|
||||||
|
"DROPCOMPLETE",
|
||||||
|
"AUDIODEVICEADDED",
|
||||||
|
"AUDIODEVICEREMOVED",
|
||||||
|
"SENSORUPDATE",
|
||||||
|
"RENDER_TARGETS_RESET",
|
||||||
|
"RENDER_DEVICE_RESET",
|
||||||
|
"USEREVENT",
|
||||||
|
"LASTEVENT",
|
||||||
|
])
|
||||||
|
|
||||||
|
# Symbol renaming examples
|
||||||
|
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
||||||
|
# Remove prefixes or suffixes from procs
|
||||||
|
if sym.name == "SDL_init_flags":
|
||||||
|
sym.name = "sdlInitFlags"
|
||||||
|
if sym.name == "GPU_init_flags":
|
||||||
|
sym.name = "gpuInitFlags"
|
||||||
|
|
||||||
|
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
||||||
|
if sym.name != "_":
|
||||||
|
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
||||||
|
|
||||||
|
if sym.kind == nskProc:
|
||||||
|
sym.name = sym.name.replace(gpuReg, firstLetterLower)
|
||||||
|
sym.name = sym.name.replace(sdlReg, firstLetterLower)
|
||||||
|
else:
|
||||||
|
sym.name = sym.name.replace(gpuReg, nothing)
|
||||||
|
sym.name = sym.name.replace(sdlReg, nothing)
|
||||||
|
|
||||||
|
if sym.name.startsWith("SDLK_"):
|
||||||
|
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
||||||
|
|
||||||
|
if EVENT_TYPES.contains(sym.name):
|
||||||
|
sym.name = "EVENT_" & sym.name
|
||||||
|
|
||||||
|
if sym.name == "version":
|
||||||
|
sym.name = "Version"
|
||||||
|
|
||||||
|
if sym.name == "ThreadID":
|
||||||
|
sym.name = "CurrentThreadID"
|
||||||
|
if sym.name == "GLContextResetNotification":
|
||||||
|
sym.name = "GLContextResetNotificationEnum"
|
||||||
|
if sym.name == "KeyCode":
|
||||||
|
sym.name = "KeyCodeEnum"
|
||||||
|
|
||||||
|
if sym.kind == nskField:
|
||||||
|
sym.name = sym.name.replace(underscoreReg, camelCase)
|
||||||
|
|
@ -5,6 +5,7 @@ const
|
||||||
baseDir = currentSourcePath.parentDir().parentDir().parentDir()
|
baseDir = currentSourcePath.parentDir().parentDir().parentDir()
|
||||||
srcDir = baseDir / "build" / "sdl2"
|
srcDir = baseDir / "build" / "sdl2"
|
||||||
buildDir = srcDir / "buildcache"
|
buildDir = srcDir / "buildcache"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL.h",
|
"SDL.h",
|
||||||
|
|
@ -58,94 +59,7 @@ cOverride:
|
||||||
Sint8* = int8
|
Sint8* = int8
|
||||||
Bool* = bool
|
Bool* = bool
|
||||||
|
|
||||||
cPlugin:
|
cPluginPath(symbolPluginPath)
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
# sym.name = sym.name.strip(chars = {'_'})
|
|
||||||
if sym.name == "SDL_init_flags":
|
|
||||||
sym.name = "sdlInitFlags"
|
|
||||||
if sym.name == "GPU_init_flags":
|
|
||||||
sym.name = "gpuInitFlags"
|
|
||||||
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
when defined(SDL_Static):
|
when defined(SDL_Static):
|
||||||
cImport(SDL_Path, recurse = true, flags = "-f=ast2 -DDOXYGEN_SHOULD_IGNORE_THIS")
|
cImport(SDL_Path, recurse = true, flags = "-f=ast2 -DDOXYGEN_SHOULD_IGNORE_THIS")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ const
|
||||||
buildDir = baseDir / "build"
|
buildDir = baseDir / "build"
|
||||||
sdlIncludeDir = buildDir / "sdl2" / "include"
|
sdlIncludeDir = buildDir / "sdl2" / "include"
|
||||||
srcDir = buildDir / "sdl2_gfx"
|
srcDir = buildDir / "sdl2_gfx"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL2_gfxPrimitives.h",
|
"SDL2_gfxPrimitives.h",
|
||||||
|
|
@ -21,89 +22,7 @@ getHeader(
|
||||||
# cDebug()
|
# cDebug()
|
||||||
# cDisableCaching()
|
# cDisableCaching()
|
||||||
|
|
||||||
cPlugin:
|
cPluginPath(symbolPluginPath)
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
|
|
||||||
when defined(SDL2_GfxPrimitives_Static):
|
when defined(SDL2_GfxPrimitives_Static):
|
||||||
cImport(srcDir / "SDL2_gfxPrimitives.h", recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(srcDir / "SDL2_gfxPrimitives.h", recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ const
|
||||||
sdlIncludeDir = sdlDir / "include"
|
sdlIncludeDir = sdlDir / "include"
|
||||||
cmakeModPath = baseDir / "cmake" / "sdl2"
|
cmakeModPath = baseDir / "cmake" / "sdl2"
|
||||||
srcDir = buildDir / "sdl2_gpu"
|
srcDir = buildDir / "sdl2_gpu"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL_gpu.h",
|
"SDL_gpu.h",
|
||||||
|
|
@ -39,94 +40,7 @@ cOverride:
|
||||||
LOG_LEVEL_WARNING
|
LOG_LEVEL_WARNING
|
||||||
LOG_LEVEL_ERROR
|
LOG_LEVEL_ERROR
|
||||||
|
|
||||||
cPlugin:
|
cPluginPath(symbolPluginPath)
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Remove prefixes or suffixes from procs
|
|
||||||
if sym.name == "SDL_init_flags":
|
|
||||||
sym.name = "sdlInitFlags"
|
|
||||||
if sym.name == "GPU_init_flags":
|
|
||||||
sym.name = "gpuInitFlags"
|
|
||||||
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^GPU_", "")
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
when defined(SDL_gpu_Static):
|
when defined(SDL_gpu_Static):
|
||||||
cImport(SDL_gpuPath, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(SDL_gpuPath, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ const
|
||||||
buildDir = baseDir / "build"
|
buildDir = baseDir / "build"
|
||||||
sdlIncludeDir = buildDir / "sdl2" / "include"
|
sdlIncludeDir = buildDir / "sdl2" / "include"
|
||||||
srcDir = buildDir / "sdl2_image"
|
srcDir = buildDir / "sdl2_image"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL_image.h",
|
"SDL_image.h",
|
||||||
|
|
@ -21,90 +22,7 @@ getHeader(
|
||||||
# cDebug()
|
# cDebug()
|
||||||
# cDisableCaching()
|
# cDisableCaching()
|
||||||
|
|
||||||
|
cPluginPath(symbolPluginPath)
|
||||||
cPlugin:
|
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
|
|
||||||
when defined(SDL_image_Static):
|
when defined(SDL_image_Static):
|
||||||
cImport(SDL_image_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(SDL_image_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ const
|
||||||
buildDir = baseDir / "build"
|
buildDir = baseDir / "build"
|
||||||
sdlIncludeDir = buildDir / "sdl2" / "include"
|
sdlIncludeDir = buildDir / "sdl2" / "include"
|
||||||
srcDir = buildDir / "sdl2_mixer"
|
srcDir = buildDir / "sdl2_mixer"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL_mixer.h",
|
"SDL_mixer.h",
|
||||||
|
|
@ -21,88 +22,7 @@ getHeader(
|
||||||
# cDebug()
|
# cDebug()
|
||||||
# cDisableCaching()
|
# cDisableCaching()
|
||||||
|
|
||||||
cPlugin:
|
cPluginPath(symbolPluginPath)
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
when defined(SDL_mixer_Static):
|
when defined(SDL_mixer_Static):
|
||||||
cImport(SDL_mixer_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(SDL_mixer_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ const
|
||||||
buildDir = baseDir / "build"
|
buildDir = baseDir / "build"
|
||||||
sdlIncludeDir = buildDir / "sdl2" / "include"
|
sdlIncludeDir = buildDir / "sdl2" / "include"
|
||||||
srcDir = buildDir / "sdl2_net"
|
srcDir = buildDir / "sdl2_net"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL_net.h",
|
"SDL_net.h",
|
||||||
|
|
@ -21,90 +22,7 @@ getHeader(
|
||||||
# cDebug()
|
# cDebug()
|
||||||
# cDisableCaching()
|
# cDisableCaching()
|
||||||
|
|
||||||
|
cPluginPath(symbolPluginPath)
|
||||||
cPlugin:
|
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
|
|
||||||
when defined(SDL_net_Static):
|
when defined(SDL_net_Static):
|
||||||
cImport(SDL_net_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(SDL_net_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ const
|
||||||
sdlIncludeDir = sdlDir / "include"
|
sdlIncludeDir = sdlDir / "include"
|
||||||
cmakeModPath = baseDir / "cmake" / "sdl2"
|
cmakeModPath = baseDir / "cmake" / "sdl2"
|
||||||
srcDir = buildDir / "sdl2_ttf"
|
srcDir = buildDir / "sdl2_ttf"
|
||||||
|
symbolPluginPath = currentSourcePath.parentDir() / "cleansymbols.nim"
|
||||||
|
|
||||||
getHeader(
|
getHeader(
|
||||||
"SDL_ttf.h",
|
"SDL_ttf.h",
|
||||||
|
|
@ -25,88 +26,7 @@ getHeader(
|
||||||
# cDebug()
|
# cDebug()
|
||||||
# cDisableCaching()
|
# cDisableCaching()
|
||||||
|
|
||||||
cPlugin:
|
cPluginPath(symbolPluginPath)
|
||||||
import strutils, nre
|
|
||||||
import sets
|
|
||||||
|
|
||||||
const EVENT_TYPES = toHashSet([
|
|
||||||
"FIRSTEVENT",
|
|
||||||
"QUIT",
|
|
||||||
"APP_TERMINATING",
|
|
||||||
"APP_LOWMEMORY",
|
|
||||||
"APP_WILLENTERBACKGROUND",
|
|
||||||
"APP_DIDENTERBACKGROUND",
|
|
||||||
"APP_WILLENTERFOREGROUND",
|
|
||||||
"APP_DIDENTERFOREGROUND",
|
|
||||||
"DISPLAYEVENT",
|
|
||||||
"WINDOWEVENT",
|
|
||||||
"SYSWMEVENT",
|
|
||||||
"KEYDOWN",
|
|
||||||
"KEYUP",
|
|
||||||
"TEXTEDITING",
|
|
||||||
"TEXTINPUT",
|
|
||||||
"KEYMAPCHANGED",
|
|
||||||
"MOUSEMOTION",
|
|
||||||
"MOUSEBUTTONDOWN",
|
|
||||||
"MOUSEBUTTONUP",
|
|
||||||
"MOUSEWHEEL",
|
|
||||||
"JOYAXISMOTION",
|
|
||||||
"JOYBALLMOTION",
|
|
||||||
"JOYHATMOTION",
|
|
||||||
"JOYBUTTONDOWN",
|
|
||||||
"JOYBUTTONUP",
|
|
||||||
"JOYDEVICEADDED",
|
|
||||||
"JOYDEVICEREMOVED",
|
|
||||||
"CONTROLLERAXISMOTION",
|
|
||||||
"CONTROLLERBUTTONDOWN",
|
|
||||||
"CONTROLLERBUTTONUP",
|
|
||||||
"CONTROLLERDEVICEADDED",
|
|
||||||
"CONTROLLERDEVICEREMOVED",
|
|
||||||
"CONTROLLERDEVICEREMAPPED",
|
|
||||||
"FINGERDOWN",
|
|
||||||
"FINGERUP",
|
|
||||||
"FINGERMOTION",
|
|
||||||
"DOLLARGESTURE",
|
|
||||||
"DOLLARRECORD",
|
|
||||||
"MULTIGESTURE",
|
|
||||||
"CLIPBOARDUPDATE",
|
|
||||||
"DROPFILE",
|
|
||||||
"DROPTEXT",
|
|
||||||
"DROPBEGIN",
|
|
||||||
"DROPCOMPLETE",
|
|
||||||
"AUDIODEVICEADDED",
|
|
||||||
"AUDIODEVICEREMOVED",
|
|
||||||
"SENSORUPDATE",
|
|
||||||
"RENDER_TARGETS_RESET",
|
|
||||||
"RENDER_DEVICE_RESET",
|
|
||||||
"USEREVENT",
|
|
||||||
"LASTEVENT",
|
|
||||||
])
|
|
||||||
|
|
||||||
# Symbol renaming examples
|
|
||||||
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
|
|
||||||
# Get rid of leading and trailing underscores
|
|
||||||
if sym.kind == nskProc or sym.kind == nskType or sym.kind == nskConst:
|
|
||||||
if sym.name != "_":
|
|
||||||
sym.name = sym.name.strip(chars={'_'}).replace("___", "_")
|
|
||||||
|
|
||||||
sym.name = sym.name.replace(re"^SDL_", "")
|
|
||||||
|
|
||||||
if sym.name.startsWith("SDLK_"):
|
|
||||||
sym.name = sym.name.replace("SDLK_", "KEYCODE_")
|
|
||||||
|
|
||||||
if EVENT_TYPES.contains(sym.name):
|
|
||||||
sym.name = "EVENT_" & sym.name
|
|
||||||
|
|
||||||
if sym.name == "version":
|
|
||||||
sym.name = "Version"
|
|
||||||
|
|
||||||
if sym.name == "ThreadID":
|
|
||||||
sym.name = "CurrentThreadID"
|
|
||||||
if sym.name == "GLContextResetNotification":
|
|
||||||
sym.name = "GLContextResetNotificationEnum"
|
|
||||||
if sym.name == "KeyCode":
|
|
||||||
sym.name = "KeyCodeEnum"
|
|
||||||
|
|
||||||
when defined(SDL_ttf_Static):
|
when defined(SDL_ttf_Static):
|
||||||
cImport(SDL_ttf_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
cImport(SDL_ttf_Path, recurse = false, flags = &"-I={sdlIncludeDir} -f=ast2")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue