OSDN Git Service

[fixed] blending for pixel, line and other drawing methods of Gdx2DPixmap. Circle...
authorbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 25 Jan 2011 15:40:28 +0000 (15:40 +0000)
committerbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 25 Jan 2011 15:40:28 +0000 (15:40 +0000)
gdx/.cproject
gdx/jni/gdx2d/gdx2d.c
gdx/libs/windows/gdx.dll
gdx/src/com/badlogic/gdx/graphics/g2d/Gdx2DPixmap.java
tests/gdx-tests/src/com/badlogic/gdx/tests/Gdx2DTest.java

index e2ed1ed..6e7bf18 100644 (file)
        <storageModule moduleId="org.eclipse.cdt.core.settings">\r
                <cconfiguration id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085">\r
                        <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085" moduleId="org.eclipse.cdt.core.settings" name="windows">\r
-<externalSettings>\r
-<externalSetting>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/windows"/>\r
-<entry flags="RESOLVED" kind="libraryFile" name="gdx"/>\r
-</externalSetting>\r
-</externalSettings>\r
-<extensions>\r
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-</extensions>\r
-</storageModule>\r
+                               <externalSettings>\r
+                                       <externalSetting>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/windows"/>\r
+                                               <entry flags="RESOLVED" kind="libraryFile" name="gdx"/>\r
+                                       </externalSetting>\r
+                               </externalSettings>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-<configuration artifactExtension="dll" artifactName="gdx" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085" name="windows" parent="cdt.managedbuild.config.gnu.mingw.so.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">\r
-<folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085." name="/" resourcePath="">\r
-<toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.mingw.so.debug.16658404" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.so.debug">\r
-<targetPlatform binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.so.debug.745396192" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.so.debug"/>\r
-<builder buildPath="${workspace_loc:/gdx/Debug}" enableAutoBuild="true" errorParsers="" id="cdt.managedbuild.tool.gnu.builder.mingw.base.438963208" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>\r
-<tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.892062880" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug">\r
-<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1927594799" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.811567727" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>\r
-<tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.445030819" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug">\r
-<option id="gnu.cpp.compiler.mingw.so.debug.option.optimization.level.1403482899" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.mingw.so.debug.option.debugging.level.80327525" name="Debug Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.preprocessor.def.351061383" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def"/>\r
-<option id="gnu.cpp.compiler.option.include.paths.342753884" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
-</option>\r
-<option id="gnu.cpp.compiler.option.other.other.717141589" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2 -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/win32&quot;" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.702080840" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
-</tool>\r
-<tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.417875152" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug">\r
-<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.so.debug.option.optimization.level.1206607295" name="Optimization Level" superClass="gnu.c.compiler.mingw.so.debug.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.mingw.so.debug.option.debugging.level.1319184470" name="Debug Level" superClass="gnu.c.compiler.mingw.so.debug.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.preprocessor.def.symbols.2088174990" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="FIXED_POINT"/>\r
-</option>\r
-<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.966438241" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.892542662" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug">\r
-<option defaultValue="true" id="gnu.c.link.mingw.so.debug.option.shared.210579811" name="Shared (-shared)" superClass="gnu.c.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
-</tool>\r
-<tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.918978318" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug">\r
-<option defaultValue="true" id="gnu.cpp.link.mingw.so.debug.option.shared.965695348" name="Shared (-shared)" superClass="gnu.cpp.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
-<option id="gnu.cpp.link.option.paths.1024905934" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/mpg123}&quot;"/>\r
-</option>\r
-<option id="gnu.cpp.link.option.libs.378572703" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"/>\r
-<option id="gnu.cpp.link.option.flags.726210831" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Wl,--kill-at" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.812493336" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
-<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
-<additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
-</inputType>\r
-<outputType id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.output.2023413069" outputPrefix="" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.output"/>\r
-</tool>\r
-</toolChain>\r
-</folderInfo>\r
-<folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085.1692805321" name="/" resourcePath="jni">\r
-<toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.mingw.so.debug.1536640816" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.so.debug" unusedChildren="">\r
-<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.so.debug" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.so.debug"/>\r
-<tool errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.1665202124" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.892062880">\r
-<inputType id="cdt.managedbuild.tool.gnu.assembler.input.813374153" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1768280657" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base.811567727"/>\r
-<tool errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.1012897538" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.445030819">\r
-<option id="gnu.cpp.compiler.mingw.so.debug.option.optimization.level.2134640346" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.mingw.so.debug.option.debugging.level.1914017186" name="Debug Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.include.paths.556148142" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${JDK_HOME}/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/libvorbis}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${JDK_HOME}/include/win32&quot;"/>\r
-</option>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1036499231" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
-</tool>\r
-<tool errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.820442457" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.417875152">\r
-<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.so.debug.option.optimization.level.666150281" name="Optimization Level" superClass="gnu.c.compiler.mingw.so.debug.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.mingw.so.debug.option.debugging.level.1465294390" name="Debug Level" superClass="gnu.c.compiler.mingw.so.debug.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.include.paths.77139211" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/libvorbis}&quot;"/>\r
-</option>\r
-<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1529465493" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.1430881103" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.892542662">\r
-<option defaultValue="true" id="gnu.c.link.mingw.so.debug.option.shared.361684176" name="Shared (-shared)" superClass="gnu.c.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.1523840875" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.918978318">\r
-<option defaultValue="true" id="gnu.cpp.link.mingw.so.debug.option.shared.57759911" name="Shared (-shared)" superClass="gnu.cpp.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
-</tool>\r
-</toolChain>\r
-</folderInfo>\r
-<sourceEntries>\r
-<entry excluding="mpg123|Mpg123Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
-</sourceEntries>\r
-</configuration>\r
-</storageModule>\r
+                               <configuration artifactExtension="dll" artifactName="gdx" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085" name="windows" parent="cdt.managedbuild.config.gnu.mingw.so.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">\r
+                                       <folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085." name="/" resourcePath="">\r
+                                               <toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.mingw.so.debug.16658404" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.so.debug">\r
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.so.debug.745396192" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.so.debug"/>\r
+                                                       <builder buildPath="${workspace_loc:/gdx/Debug}" enableAutoBuild="true" errorParsers="" id="cdt.managedbuild.tool.gnu.builder.mingw.base.438963208" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>\r
+                                                       <tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.892062880" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug">\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1927594799" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.811567727" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>\r
+                                                       <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.445030819" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug">\r
+                                                               <option id="gnu.cpp.compiler.mingw.so.debug.option.optimization.level.1403482899" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.mingw.so.debug.option.debugging.level.80327525" name="Debug Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.default" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.preprocessor.def.351061383" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def"/>\r
+                                                               <option id="gnu.cpp.compiler.option.include.paths.342753884" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.compiler.option.other.other.717141589" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2 -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/win32&quot;" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.702080840" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.417875152" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug">\r
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.so.debug.option.optimization.level.1206607295" name="Optimization Level" superClass="gnu.c.compiler.mingw.so.debug.option.optimization.level" value="gnu.c.optimization.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.mingw.so.debug.option.debugging.level.1319184470" name="Debug Level" superClass="gnu.c.compiler.mingw.so.debug.option.debugging.level" value="gnu.c.debugging.level.default" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.preprocessor.def.symbols.2088174990" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="FIXED_POINT"/>\r
+                                                               </option>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.966438241" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.892542662" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug">\r
+                                                               <option defaultValue="true" id="gnu.c.link.mingw.so.debug.option.shared.210579811" name="Shared (-shared)" superClass="gnu.c.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
+                                                       </tool>\r
+                                                       <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.918978318" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug">\r
+                                                               <option defaultValue="true" id="gnu.cpp.link.mingw.so.debug.option.shared.965695348" name="Shared (-shared)" superClass="gnu.cpp.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
+                                                               <option id="gnu.cpp.link.option.paths.1024905934" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/mpg123}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.link.option.libs.378572703" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>\r
+                                                               <option id="gnu.cpp.link.option.flags.726210831" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Wl,--kill-at" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.812493336" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
+                                                               </inputType>\r
+                                                               <outputType id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.output.2023413069" outputPrefix="" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.output"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1412059085.1692805321" name="/" resourcePath="jni">\r
+                                               <toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.mingw.so.debug.1536640816" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.so.debug" unusedChildren="">\r
+                                                       <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.so.debug" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.so.debug"/>\r
+                                                       <tool errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.1665202124" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.so.debug.892062880">\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.813374153" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1768280657" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base.811567727"/>\r
+                                                       <tool errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.1012897538" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.so.debug.445030819">\r
+                                                               <option id="gnu.cpp.compiler.mingw.so.debug.option.optimization.level.2134640346" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.mingw.so.debug.option.debugging.level.1914017186" name="Debug Level" superClass="gnu.cpp.compiler.mingw.so.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.default" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.include.paths.556148142" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${JDK_HOME}/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/libvorbis}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${JDK_HOME}/include/win32&quot;"/>\r
+                                                               </option>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1036499231" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.820442457" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.so.debug.417875152">\r
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.so.debug.option.optimization.level.666150281" name="Optimization Level" superClass="gnu.c.compiler.mingw.so.debug.option.optimization.level" value="gnu.c.optimization.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.mingw.so.debug.option.debugging.level.1465294390" name="Debug Level" superClass="gnu.c.compiler.mingw.so.debug.option.debugging.level" value="gnu.c.debugging.level.default" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.include.paths.77139211" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni/libvorbis}&quot;"/>\r
+                                                               </option>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1529465493" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.1430881103" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.debug.892542662">\r
+                                                               <option defaultValue="true" id="gnu.c.link.mingw.so.debug.option.shared.361684176" name="Shared (-shared)" superClass="gnu.c.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.1523840875" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.debug.918978318">\r
+                                                               <option defaultValue="true" id="gnu.cpp.link.mingw.so.debug.option.shared.57759911" name="Shared (-shared)" superClass="gnu.cpp.link.mingw.so.debug.option.shared" valueType="boolean"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <sourceEntries>\r
+                                               <entry excluding="mpg123|Mpg123Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
                        <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
                        <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
                                        </profile>\r
                                </scannerConfigBuildInfo>\r
                        </storageModule>\r
-</cconfiguration>\r
+               </cconfiguration>\r
                <cconfiguration id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470">\r
                        <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470" moduleId="org.eclipse.cdt.core.settings" name="linux">\r
-<externalSettings>\r
-<externalSetting>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug-lin32"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux"/>\r
-<entry flags="RESOLVED" kind="libraryFile" name="gdx"/>\r
-</externalSetting>\r
-</externalSettings>\r
-<extensions>\r
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
-</extensions>\r
-</storageModule>\r
+                               <externalSettings>\r
+                                       <externalSetting>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug-lin32"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux"/>\r
+                                               <entry flags="RESOLVED" kind="libraryFile" name="gdx"/>\r
+                                       </externalSetting>\r
+                               </externalSettings>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
                        <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-<configuration artifactExtension="so" artifactName="gdx" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470" name="linux" parent="cdt.managedbuild.config.gnu.mingw.so.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">\r
-<folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470." name="/" resourcePath="">\r
-<toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.base.1175177631" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">\r
-<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.324417124" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>\r
-<builder buildPath="${workspace_loc:/gdx/Debug-lin32}" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator" id="cdt.managedbuild.target.gnu.builder.base.133829561" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>\r
-<tool id="cdt.managedbuild.tool.gnu.archiver.base.830161879" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>\r
-<tool command="g++ -fPIC" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1485838342" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">\r
-<option id="gnu.cpp.compiler.option.include.paths.84440414" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
-</option>\r
-<option id="gnu.cpp.compiler.option.optimization.level.1289272877" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.debugging.level.732049915" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.preprocessor.def.2031532254" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="FIXED_POINT"/>\r
-<listOptionValue builtIn="false" value="CHECK_OVERFLOW"/>\r
-</option>\r
-<option id="gnu.cpp.compiler.option.other.other.1796264297" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2  -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/linux&quot;" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1255029881" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
-</tool>\r
-<tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.base.2032860300" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">\r
-<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1361365312" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.debugging.level.323441732" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.misc.other.1077312182" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fPIC" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.784305609" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.c.linker.base.384175419" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base">\r
-<option defaultValue="true" id="gnu.c.link.option.shared.731921812" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>\r
-</tool>\r
-<tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cpp.linker.base.1399094889" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">\r
-<option defaultValue="true" id="gnu.cpp.link.option.shared.1962673577" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>\r
-<option id="gnu.cpp.link.option.libs.1122080286" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.827943034" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
-<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
-<additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
-</inputType>\r
-</tool>\r
-<tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.base.1883733500" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">\r
-<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2141207341" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
-</tool>\r
-</toolChain>\r
-</folderInfo>\r
-<sourceEntries>\r
-<entry excluding="mpg123/|Mpg123Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
-</sourceEntries>\r
-</configuration>\r
-</storageModule>\r
+                               <configuration artifactExtension="so" artifactName="gdx" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470" name="linux" parent="cdt.managedbuild.config.gnu.mingw.so.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">\r
+                                       <folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470." name="/" resourcePath="">\r
+                                               <toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.base.1175177631" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">\r
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.324417124" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>\r
+                                                       <builder buildPath="${workspace_loc:/gdx/Debug-lin32}" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator" id="cdt.managedbuild.target.gnu.builder.base.133829561" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.archiver.base.830161879" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>\r
+                                                       <tool command="g++ -fPIC" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1485838342" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">\r
+                                                               <option id="gnu.cpp.compiler.option.include.paths.84440414" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1289272877" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.debugging.level.732049915" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.preprocessor.def.2031532254" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="FIXED_POINT"/>\r
+                                                                       <listOptionValue builtIn="false" value="CHECK_OVERFLOW"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.compiler.option.other.other.1796264297" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2  -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/linux&quot;" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1255029881" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.base.2032860300" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">\r
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1361365312" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.debugging.level.323441732" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.other.1077312182" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fPIC" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.784305609" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.c.linker.base.384175419" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base">\r
+                                                               <option defaultValue="true" id="gnu.c.link.option.shared.731921812" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>\r
+                                                       </tool>\r
+                                                       <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cpp.linker.base.1399094889" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">\r
+                                                               <option defaultValue="true" id="gnu.cpp.link.option.shared.1962673577" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>\r
+                                                               <option id="gnu.cpp.link.option.libs.1122080286" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.827943034" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
+                                                               </inputType>\r
+                                                       </tool>\r
+                                                       <tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.base.1883733500" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2141207341" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <sourceEntries>\r
+                                               <entry excluding="mpg123/|Mpg123Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
                        <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
                        <storageModule moduleId="scannerConfiguration">\r
                                        </profile>\r
                                </scannerConfigBuildInfo>\r
                        </storageModule>\r
-</cconfiguration>\r
+               </cconfiguration>\r
                <cconfiguration id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153">\r
                        <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153" moduleId="org.eclipse.cdt.core.settings" name="linux64">\r
-<externalSettings>\r
-<externalSetting>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug-lin32"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux"/>\r
-<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux64"/>\r
-<entry flags="RESOLVED" kind="libraryFile" name="gdx-64"/>\r
-</externalSetting>\r
-</externalSettings>\r
-<extensions>\r
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-</extensions>\r
-</storageModule>\r
+                               <externalSettings>\r
+                                       <externalSetting>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/gdx"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/Debug-lin32"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/gdx/linux64"/>\r
+                                               <entry flags="RESOLVED" kind="libraryFile" name="gdx-64"/>\r
+                                       </externalSetting>\r
+                               </externalSettings>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
                        <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-<configuration artifactExtension="so" artifactName="gdx-64" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153" name="linux64" parent="cdt.managedbuild.config.gnu.mingw.so.debug">\r
-<folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153." name="/" resourcePath="">\r
-<toolChain id="cdt.managedbuild.toolchain.gnu.base.381722783" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">\r
-<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1335309227" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>\r
-<builder buildPath="${workspace_loc:/gdx/Debug-lin32}" id="cdt.managedbuild.target.gnu.builder.base.130645134" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>\r
-<tool id="cdt.managedbuild.tool.gnu.archiver.base.765344397" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>\r
-<tool command="g++ -fPIC" id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1542016470" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">\r
-<option id="gnu.cpp.compiler.option.include.paths.388757106" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
-</option>\r
-<option id="gnu.cpp.compiler.option.optimization.level.2141934059" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.debugging.level.188039067" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
-<option id="gnu.cpp.compiler.option.preprocessor.def.1175023156" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="FIXED_POINT"/>\r
-<listOptionValue builtIn="false" value="CHECK_OVERFLOW"/>\r
-</option>\r
-<option id="gnu.cpp.compiler.option.other.other.1127875013" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2  -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/linux&quot;" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1396366981" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1743959266" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">\r
-<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.324128043" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.debugging.level.975124682" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>\r
-<option id="gnu.c.compiler.option.misc.other.1940619992" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fPIC" valueType="string"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1445126993" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.c.linker.base.857030361" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base">\r
-<option defaultValue="true" id="gnu.c.link.option.shared.503267987" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.911931624" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">\r
-<option defaultValue="true" id="gnu.cpp.link.option.shared.1201387843" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>\r
-<option id="gnu.cpp.link.option.libs.1941022368" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"/>\r
-<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1366035643" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
-<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
-<additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
-</inputType>\r
-</tool>\r
-<tool id="cdt.managedbuild.tool.gnu.assembler.base.671834721" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">\r
-<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1005830979" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
-</tool>\r
-</toolChain>\r
-</folderInfo>\r
-<sourceEntries>\r
-<entry excluding="mpg123/|Mpg132Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
-</sourceEntries>\r
-</configuration>\r
-</storageModule>\r
+                               <configuration artifactExtension="so" artifactName="gdx-64" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153" name="linux64" parent="cdt.managedbuild.config.gnu.mingw.so.debug">\r
+                                       <folderInfo id="cdt.managedbuild.config.gnu.mingw.so.debug.1865658470.366864153." name="/" resourcePath="">\r
+                                               <toolChain id="cdt.managedbuild.toolchain.gnu.base.381722783" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">\r
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1335309227" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>\r
+                                                       <builder buildPath="${workspace_loc:/gdx/Debug-lin32}" id="cdt.managedbuild.target.gnu.builder.base.130645134" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.archiver.base.765344397" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>\r
+                                                       <tool command="g++ -fPIC" id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1542016470" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">\r
+                                                               <option id="gnu.cpp.compiler.option.include.paths.388757106" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/gdx/jni}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.2141934059" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.debugging.level.188039067" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>\r
+                                                               <option id="gnu.cpp.compiler.option.preprocessor.def.1175023156" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="FIXED_POINT"/>\r
+                                                                       <listOptionValue builtIn="false" value="CHECK_OVERFLOW"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.cpp.compiler.option.other.other.1127875013" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -I../jni/ -mfpmath=sse -msse2  -I&quot;${JAVA_HOME}/include&quot;  -I&quot;${JAVA_HOME}/include/linux&quot;" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1396366981" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1743959266" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">\r
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.324128043" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.more" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.debugging.level.975124682" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.other.1940619992" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fPIC" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1445126993" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.c.linker.base.857030361" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base">\r
+                                                               <option defaultValue="true" id="gnu.c.link.option.shared.503267987" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.911931624" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">\r
+                                                               <option defaultValue="true" id="gnu.cpp.link.option.shared.1201387843" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>\r
+                                                               <option id="gnu.cpp.link.option.libs.1941022368" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1366035643" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">\r
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
+                                                               </inputType>\r
+                                                       </tool>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.assembler.base.671834721" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1005830979" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <sourceEntries>\r
+                                               <entry excluding="mpg123/|Mpg132Decoder.cpp" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
                        <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
                        <storageModule moduleId="scannerConfiguration">\r
                                        </profile>\r
                                </scannerConfigBuildInfo>\r
                        </storageModule>\r
-</cconfiguration>\r
+               </cconfiguration>\r
        </storageModule>\r
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-<project id="gdx.cdt.managedbuild.target.gnu.mingw.so.1771634739" name="Shared Library" projectType="cdt.managedbuild.target.gnu.mingw.so"/>\r
-</storageModule>\r
+               <project id="gdx.cdt.managedbuild.target.gnu.mingw.so.1771634739" name="Shared Library" projectType="cdt.managedbuild.target.gnu.mingw.so"/>\r
+       </storageModule>\r
 </cproject>\r
index c0dd754..0d4725d 100644 (file)
 static uint32_t gdx2d_blend = GDX2D_BLEND_NONE;\r
 static uint32_t gdx2d_scale = GDX2D_SCALE_NEAREST;\r
 \r
+static uint32_t* lu4 = 0;\r
+static uint32_t* lu5 = 0;\r
+static uint32_t* lu6 = 0;\r
+\r
 typedef void(*set_pixel_func)(unsigned char* pixel_addr, uint32_t color);\r
 typedef uint32_t(*get_pixel_func)(unsigned char* pixel_addr);\r
 \r
+inline void generate_look_ups() {\r
+       uint32_t i = 0;\r
+       lu4 = malloc(sizeof(uint32_t) * 16);\r
+       lu5 = malloc(sizeof(uint32_t) * 32);\r
+       lu6 = malloc(sizeof(uint32_t) * 64);\r
+\r
+       for(i = 0; i < 16; i++) {\r
+               lu4[i] = (uint32_t) i / 15.0f * 255;\r
+               lu5[i] = (uint32_t) i / 31.0f * 255;\r
+               lu6[i] = (uint32_t) i / 63.0f * 255;\r
+       }\r
+\r
+       for(i = 16; i < 32; i++) {\r
+               lu5[i] = (uint32_t) i / 31.0f * 255;\r
+               lu6[i] = (uint32_t) i / 63.0f * 255;\r
+       }\r
+\r
+       for(i = 32; i < 64; i++) {\r
+               lu6[i] = (uint32_t) i / 63.0f * 255;\r
+       }\r
+}\r
+\r
 inline uint32_t to_format(uint32_t format, uint32_t color) {\r
-       uint32_t r, g, b, a;\r
+       uint32_t r, g, b, a, l;\r
 \r
        switch(format) {\r
                case GDX2D_FORMAT_ALPHA: \r
                        return color & 0xff;\r
                case GDX2D_FORMAT_LUMINANCE_ALPHA: \r
-                       return (color & 0xffff);\r
+                       r = (color & 0xff000000) >> 24;\r
+                       g = (color & 0xff000000) >> 16;\r
+                       b = (color & 0xff000000) >> 8;\r
+                       a = (color & 0xff);\r
+                       l = ((uint32_t)(0.2126f * r + 0.7152 * g + 0.0722 * b) & 0xff) << 8;\r
+                       return l | a;\r
                case GDX2D_FORMAT_RGB888:\r
-                       return color & 0xffffff;\r
+                       return color >> 8;\r
                case GDX2D_FORMAT_RGBA8888:\r
                        return color;\r
                case GDX2D_FORMAT_RGB565: \r
@@ -43,7 +74,7 @@ inline uint32_t to_format(uint32_t format, uint32_t color) {
                case GDX2D_FORMAT_RGBA4444:\r
                        r = (((color & 0xff000000) >> 28) << 12) & 0xf000;\r
                        g = (((color & 0xff0000) >> 20) << 8) & 0xf00;\r
-                       b = ((color & 0xff00) >> 12) & 0xf0;\r
+                       b = (((color & 0xff00) >> 12) << 4) & 0xf0;\r
                        a = ((color & 0xff) >> 4) & 0xf;\r
                        return r | g | b | a;\r
                default: \r
@@ -54,25 +85,27 @@ inline uint32_t to_format(uint32_t format, uint32_t color) {
 inline uint32_t to_RGBA8888(uint32_t format, uint32_t color) {\r
        uint32_t r, g, b, a;\r
 \r
+       if(!lu5) generate_look_ups();\r
+\r
        switch(format) {\r
                case GDX2D_FORMAT_ALPHA: \r
-                       return (color & 0xff) | 0xffffff00;\r
+                       return (color & 0xff) | (color & 0xff) << 8 | ((color & 0xff) << 16) | ((color & 0xff) << 24);\r
                case GDX2D_FORMAT_LUMINANCE_ALPHA: \r
                        return ((color & 0xff00) << 16) | ((color & 0xff00) << 8) | (color & 0xffff);\r
                case GDX2D_FORMAT_RGB888:\r
                        return (color << 8) | 0x000000ff;\r
                case GDX2D_FORMAT_RGBA8888:\r
                        return color;\r
-               case GDX2D_FORMAT_RGB565: \r
-                       r = (color & 0xf800) << 27;\r
-                       g = (color & 0x7e0) << 18;\r
-                       b = (color & 0x1f) << 11;\r
+               case GDX2D_FORMAT_RGB565:\r
+                       r = lu5[(color & 0xf800) >> 11] << 24;\r
+                       g = lu6[(color & 0x7e0) >> 5] << 16;\r
+                       b = lu5[(color & 0x1f)] << 8;\r
                        return r | g | b | 0xff;\r
                case GDX2D_FORMAT_RGBA4444:\r
-                       r = (color & 0xf000) << 28;\r
-                       g = (color & 0xf00) << 20;\r
-                       b = (color & 0xf0) << 12;\r
-                       a = (color & 0xf) << 4;\r
+                       r = lu4[(color & 0xf000) >> 12] << 24;\r
+                       g = lu4[(color & 0xf00) >> 8] << 16;\r
+                       b = lu4[(color & 0xf0) >> 4] << 8;\r
+                       a = lu4[(color & 0xf)];\r
                        return r | g | b | a;\r
                default: \r
                        return 0;\r
@@ -127,14 +160,14 @@ inline uint32_t blend(uint32_t src, uint32_t dst) {
        int32_t src_b = (src & 0xff00) >> 8;\r
        int32_t src_a = (src & 0xff);\r
                \r
-       int32_t dst_r = (dst & 0xff);\r
-       int32_t dst_g = (dst & 0xff00) >> 8;\r
-       int32_t dst_b = (dst & 0xff0000) >> 16;\r
+       int32_t dst_r = (dst & 0xff000000) >> 24;\r
+       int32_t dst_g = (dst & 0xff0000) >> 16;\r
+       int32_t dst_b = (dst & 0xff00) >> 8;\r
                \r
        dst_r = dst_r + src_a * (src_r - dst_r) / 255;\r
        dst_g = dst_g + src_a * (src_g - dst_g) / 255;\r
        dst_b = dst_b + src_a * (src_b - dst_b) / 255;\r
-       return (uint32_t)((dst_r << 24) | (dst_g << 16) | (dst_b << 8) | src_a);                \r
+       return (uint32_t)((dst_r << 24) | (dst_g << 16) | (dst_b << 8) | src_a);\r
 }\r
 \r
 inline uint32_t get_pixel_alpha(unsigned char *pixel_addr) {\r
@@ -348,18 +381,25 @@ inline void set_pixel(unsigned char* pixels, uint32_t width, uint32_t height, ui
        pixel_func(pixels, col);\r
 }\r
 \r
-void gdx2d_set_pixel(const gdx2d_pixmap* pixmap, int32_t x, int32_t y, uint32_t col) {\r
-       col = to_format(pixmap->format, col);\r
-       set_pixel((unsigned char*)pixmap->pixels, pixmap->width, pixmap->height, bytes_per_pixel(pixmap->format), set_pixel_func_ptr(pixmap->format), x, y, col);\r
-}\r
-\r
 uint32_t gdx2d_get_pixel(const gdx2d_pixmap* pixmap, int32_t x, int32_t y) {\r
-       if(!in_pixmap(pixmap, x, y)) \r
+       if(!in_pixmap(pixmap, x, y))\r
                return 0;\r
        unsigned char* ptr = (unsigned char*)pixmap->pixels + (x + pixmap->height * y) * bytes_per_pixel(pixmap->format);\r
        return to_RGBA8888(pixmap->format, get_pixel_func_ptr(pixmap->format)(ptr));\r
 }\r
 \r
+void gdx2d_set_pixel(const gdx2d_pixmap* pixmap, int32_t x, int32_t y, uint32_t col) {\r
+       if(gdx2d_blend) {\r
+               uint32_t dst = gdx2d_get_pixel(pixmap, x, y);\r
+               col = blend(col, dst);\r
+               col = to_format(pixmap->format, col);\r
+               set_pixel((unsigned char*)pixmap->pixels, pixmap->width, pixmap->height, bytes_per_pixel(pixmap->format), set_pixel_func_ptr(pixmap->format), x, y, col);\r
+       } else {\r
+               col = to_format(pixmap->format, col);\r
+               set_pixel((unsigned char*)pixmap->pixels, pixmap->width, pixmap->height, bytes_per_pixel(pixmap->format), set_pixel_func_ptr(pixmap->format), x, y, col);\r
+       }\r
+}\r
+\r
 void gdx2d_draw_line(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col) {       \r
     int32_t dy = y1 - y0;\r
     int32_t dx = x1 - x0;\r
@@ -367,14 +407,20 @@ void gdx2d_draw_line(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, int32_t
     int32_t stepx, stepy;\r
        unsigned char* ptr = (unsigned char*)pixmap->pixels;\r
        uint32_t bpp = bytes_per_pixel(pixmap->format);\r
-       set_pixel_func pixel_func = set_pixel_func_ptr(pixmap->format);\r
+       set_pixel_func pset = set_pixel_func_ptr(pixmap->format);\r
+       get_pixel_func pget = get_pixel_func_ptr(pixmap->format);\r
+       uint32_t col_format = to_format(pixmap->format, col);\r
+       void* addr = ptr + (x0 + y0) * bpp;\r
 \r
     if (dy < 0) { dy = -dy;  stepy = -1; } else { stepy = 1; }\r
     if (dx < 0) { dx = -dx;  stepx = -1; } else { stepx = 1; }\r
     dy <<= 1;\r
     dx <<= 1;    \r
 \r
-       pixel_func(ptr + (x0 + y0) * bpp, col);    \r
+    if(gdx2d_blend) {\r
+       col_format = to_format(pixmap->format, blend(col, to_RGBA8888(pixmap->format, pget(addr))));\r
+    }\r
+       pset(addr, col_format);\r
     if (dx > dy) {\r
         fraction = dy - (dx >> 1);\r
         while (x0 != x1) {\r
@@ -384,8 +430,13 @@ void gdx2d_draw_line(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, int32_t
             }\r
             x0 += stepx;\r
             fraction += dy;\r
-                       if(in_pixmap(pixmap, x0, y0))\r
-                               pixel_func(ptr + (x0 + y0 * pixmap->width) * bpp, col);\r
+                       if(in_pixmap(pixmap, x0, y0)) {\r
+                               addr = ptr + (x0 + y0 * pixmap->width) * bpp;\r
+                               if(gdx2d_blend) {\r
+                                       col_format = to_format(pixmap->format, blend(col, to_RGBA8888(pixmap->format, pget(addr))));\r
+                               }\r
+                               pset(addr, col_format);\r
+                       }\r
         }\r
     } else {\r
                fraction = dx - (dy >> 1);\r
@@ -396,17 +447,24 @@ void gdx2d_draw_line(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, int32_t
                        }\r
                        y0 += stepy;\r
                        fraction += dx;\r
-                       if(in_pixmap(pixmap, x0, y0))\r
-                               pixel_func(ptr + (x0 + y0 * pixmap->width) * bpp, col);\r
+                       if(in_pixmap(pixmap, x0, y0)) {\r
+                               addr = ptr + (x0 + y0 * pixmap->width) * bpp;\r
+                               if(gdx2d_blend) {\r
+                                       col_format = to_format(pixmap->format, blend(col, to_RGBA8888(pixmap->format, pget(addr))));\r
+                               }\r
+                               pset(addr, col_format);\r
+                       }\r
                }\r
        }\r
 }\r
 \r
 inline void hline(const gdx2d_pixmap* pixmap, int32_t x1, int32_t x2, int32_t y, uint32_t col) {\r
        int32_t tmp = 0;\r
-       set_pixel_func pixel_func =set_pixel_func_ptr(pixmap->format);\r
+       set_pixel_func pset = set_pixel_func_ptr(pixmap->format);\r
+       get_pixel_func pget = get_pixel_func_ptr(pixmap->format);\r
        unsigned char* ptr = (unsigned char*)pixmap->pixels;\r
        uint32_t bpp = bytes_per_pixel(pixmap->format);\r
+       uint32_t col_format = to_format(pixmap->format, col);\r
 \r
        if(y < 0 || y >= pixmap->height) return;\r
 \r
@@ -426,7 +484,10 @@ inline void hline(const gdx2d_pixmap* pixmap, int32_t x1, int32_t x2, int32_t y,
        ptr += (x1 + y * pixmap->width) * bpp;\r
 \r
        while(x1 != x2) {\r
-               pixel_func(ptr, col);\r
+               if(gdx2d_blend) {\r
+                       col_format = to_format(pixmap->format, blend(col, to_RGBA8888(pixmap->format, pget(ptr))));\r
+               }\r
+               pset(ptr, col_format);\r
                x1++;\r
                ptr += bpp;\r
        }\r
@@ -434,10 +495,12 @@ inline void hline(const gdx2d_pixmap* pixmap, int32_t x1, int32_t x2, int32_t y,
 \r
 inline void vline(const gdx2d_pixmap* pixmap, int32_t y1, int32_t y2, int32_t x, uint32_t col) {\r
        int32_t tmp = 0;\r
-       set_pixel_func pixel_func =set_pixel_func_ptr(pixmap->format);\r
+       set_pixel_func pset = set_pixel_func_ptr(pixmap->format);\r
+       get_pixel_func pget = get_pixel_func_ptr(pixmap->format);\r
        unsigned char* ptr = (unsigned char*)pixmap->pixels;\r
        uint32_t bpp = bytes_per_pixel(pixmap->format);\r
        uint32_t stride = bpp * pixmap->width;\r
+       uint32_t col_format = to_format(pixmap->format, col);\r
 \r
        if(x < 0 || x >= pixmap->width) return;\r
 \r
@@ -457,7 +520,10 @@ inline void vline(const gdx2d_pixmap* pixmap, int32_t y1, int32_t y2, int32_t x,
        ptr += (x + y1 * pixmap->width) * bpp;\r
 \r
        while(y1 != y2) {\r
-               pixel_func(ptr, col);\r
+               if(gdx2d_blend) {\r
+                       col_format = to_format(pixmap->format, blend(col, to_RGBA8888(pixmap->format, pget(ptr))));\r
+               }\r
+               pset(ptr, col_format);\r
                y1++;\r
                ptr += stride;\r
        }\r
@@ -504,6 +570,7 @@ void gdx2d_draw_circle(const gdx2d_pixmap* pixmap, int32_t x, int32_t y, uint32_
        uint32_t height = pixmap->height;\r
        uint32_t bpp = bytes_per_pixel(pixmap->format);\r
        set_pixel_func pixel_func = set_pixel_func_ptr(pixmap->format);\r
+       col = to_format(pixmap->format, col);\r
 \r
     circle_points(pixels, width, height, bpp, pixel_func, x, y, px, py, col);\r
     while (px < py) {\r
@@ -548,7 +615,8 @@ void gdx2d_fill_circle(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, uint3
 \r
        hline(pixmap, x0, x0, y0 + (int32_t)radius, col);\r
        hline(pixmap, x0, x0, y0 - (int32_t)radius, col);\r
-       hline(pixmap, x0 - (int32_t)radius, x0 + (int32_t)radius, y0, col);     \r
+       hline(pixmap, x0 - (int32_t)radius, x0 + (int32_t)radius, y0, col);\r
+\r
 \r
        while(px < py)\r
        {       \r
@@ -560,11 +628,11 @@ void gdx2d_fill_circle(const gdx2d_pixmap* pixmap, int32_t x0, int32_t y0, uint3
                }\r
                px++;\r
                ddF_x += 2;\r
-               f += ddF_x;    \r
-               hline(pixmap, x0 - px, x0 + px, y0 + py, col);          \r
+               f += ddF_x;\r
+               hline(pixmap, x0 - px, x0 + px, y0 + py, col);\r
                hline(pixmap, x0 - px, x0 + px, y0 - py, col);\r
-               hline(pixmap, x0 - py, x0 + py, y0 + px, col);          \r
-               hline(pixmap, x0 - py, x0 + py, y0 - px, col);          \r
+               hline(pixmap, x0 - py, x0 + py, y0 + px, col);\r
+               hline(pixmap, x0 - py, x0 + py, y0 - px, col);\r
        }\r
 }\r
 \r
@@ -572,6 +640,47 @@ void blit_same_size(const gdx2d_pixmap* src_pixmap, const gdx2d_pixmap* dst_pixm
                                                                         int32_t src_x, int32_t src_y, \r
                                                                         int32_t dst_x, int32_t dst_y, \r
                                                                         uint32_t width, uint32_t height) {\r
+/*     if(src_x >= src_pixmap->width) return;\r
+       if(src_y >= src_pixmap->height) return;\r
+       if(dst_x >= dst_pixmap->width) return;\r
+       if(dst_y >= dst_pixmap->height) return;\r
+\r
+       if(src_x + width - 1 < 0) return;\r
+       if(src_y + height - 1 < 0) return;\r
+       if(dst_x + width - 1 < 0) return;\r
+       if(dst_y + height - 1 < 0) return;*/\r
+\r
+       set_pixel_func pset = set_pixel_func_ptr(dst_pixmap->format);\r
+       get_pixel_func pget = get_pixel_func_ptr(src_pixmap->format);\r
+       get_pixel_func dpget = get_pixel_func_ptr(dst_pixmap->format);\r
+       uint32_t spitch = bytes_per_pixel(src_pixmap->format) * src_pixmap->width;\r
+       uint32_t dpitch = bytes_per_pixel(dst_pixmap->format) * dst_pixmap->width;\r
+\r
+       int sx = src_x;\r
+       int sy = src_y;\r
+       int dx = dst_x;\r
+       int dy = dst_y;\r
+\r
+       for(sx = src_x ;sy < src_y + height - 1; sy++, dy++) {\r
+               //if(sy < 0 || dy < 0) continue;\r
+               //if(sy >= src_pixmap->height || dy >= dst_pixmap->height) break;\r
+\r
+               for(;sx < src_x + width - 1; sx++, dx++) {\r
+                       //if(sx < 0 || dx < 0) continue;\r
+                       //if(sx >= src_pixmap->width || dx >= dst_pixmap->width) break;\r
+\r
+                       const void* src_ptr = src_pixmap->pixels + sx + sy * spitch;\r
+                       const void* dst_ptr = dst_pixmap->pixels + dx + dy * dpitch;\r
+                       uint32_t src_col = to_RGBA8888(src_pixmap->format, pget((void*)src_ptr));\r
+                       if(gdx2d_blend) {\r
+                               uint32_t dst_col = to_RGBA8888(dst_pixmap->format, dpget((void*)dst_ptr));\r
+                               src_col = to_format(dst_pixmap->format, blend(src_col, dst_col));\r
+                       } else {\r
+                               src_col = to_format(dst_pixmap->format, src_col);\r
+                       }\r
+                       pset((void*)dst_ptr, src_col);\r
+               }\r
+       }\r
 }\r
 \r
 void blit(const gdx2d_pixmap* src_pixmap, const gdx2d_pixmap* dst_pixmap,\r
index 0d7eb56..6fc007f 100644 (file)
Binary files a/gdx/libs/windows/gdx.dll and b/gdx/libs/windows/gdx.dll differ
index ef3e1ea..058d07c 100644 (file)
@@ -107,6 +107,10 @@ public class Gdx2DPixmap {
                fillCircle(basePtr, x, y, radius, color);\r
        }\r
        \r
+       public void drawPixmap(Gdx2DPixmap src, int srcX, int srcY, int dstX, int dstY, int width, int height) {\r
+               drawPixmap(src.basePtr, basePtr, srcX, srcY, width, height, dstX, dstY, width, height);\r
+       }\r
+       \r
        private void drawPixmap(Gdx2DPixmap src, \r
                                                        int srcX, int srcY, int srcWidth, int srcHeight, \r
                                                        int dstX, int dstY, int dstWidth, int dstHeight) {\r
index 4706bbc..b80df11 100644 (file)
@@ -43,68 +43,76 @@ public class Gdx2DTest extends GdxTest {
                Gdx2DPixmap rgba4444 = createPixmap(32, 32, Gdx2DPixmap.GDX2D_FORMAT_RGBA4444);         \r
                Gdx2DPixmap rgb888 = createPixmap(32, 32, Gdx2DPixmap.GDX2D_FORMAT_RGB888);             \r
                Gdx2DPixmap rgba8888 = createPixmap(32, 32, Gdx2DPixmap.GDX2D_FORMAT_RGBA8888);\r
+               Gdx2DPixmap composite = createPixmap(256, 32, Gdx2DPixmap.GDX2D_FORMAT_RGBA8888);\r
                \r
                Gdx2DPixmap.setBlend(1);\r
                \r
                alpha.clear(Color.rgba8888(1, 1, 1, 0.1f));\r
-               alpha.setPixel(16, 16, Color.rgba8888(1, 1, 1, 1.0f));          \r
-               if(alpha.getPixel(16, 16) != Color.rgba8888(1, 1, 1, 1.0f)) throw new RuntimeException("alpha error");\r
-               if(alpha.getPixel(15, 16) != Color.rgba8888(1, 1, 1, 0.1f)) throw new RuntimeException("alpha error");\r
-               alpha.drawLine(0, 0, 31, 31, Color.alpha(1.0f));\r
-               alpha.drawRect(10, 10, 5, 7, Color.alpha(1.0f));                \r
-               alpha.fillRect(20, 10, 5, 7, Color.alpha(1.0f));\r
-               alpha.drawCircle(16, 16, 10, Color.alpha(1.0f));\r
-               alpha.fillCircle(16, 16, 6, Color.alpha(1.0f));\r
+               alpha.setPixel(16, 16, Color.rgba8888(1, 1, 1, 1));             \r
+//             if(alpha.getPixel(16, 16) != Color.rgba8888(1, 1, 1, 1f)) throw new RuntimeException("alpha error");\r
+//             if(alpha.getPixel(15, 16) != Color.rgba8888(1, 1, 1, 0.1f)) throw new RuntimeException("alpha error");\r
+               alpha.drawLine(0, 0, 31, 31, Color.rgba8888(1, 1, 1, 1));\r
+               alpha.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 1, 0.5f));            \r
+               alpha.fillRect(20, 10, 5, 7, Color.rgba8888(1, 1, 1, 0.5f));\r
+               alpha.drawCircle(16, 16, 10, Color.rgba8888(1, 1, 1, 1));\r
+               alpha.fillCircle(16, 16, 6, Color.rgba8888(1, 1, 1, 1));\r
                \r
                luminanceAlpha.clear(Color.rgba8888(1, 1, 1, 0.1f));\r
                luminanceAlpha.setPixel(16, 16, Color.rgba8888(1, 1, 1.0f, 1.0f));\r
-               if(luminanceAlpha.getPixel(16, 16) != Color.rgba8888(1, 1, 1, 1)) throw new RuntimeException("luminance alpha error");\r
-               if(luminanceAlpha.getPixel(15, 16) != Color.rgba8888(1, 1, 1, 0.1f)) throw new RuntimeException("luminance alpha error");\r
-               luminanceAlpha.drawLine(0, 0, 31, 31, Color.luminanceAlpha(1, 1));\r
-               luminanceAlpha.drawRect(10, 10, 5, 7, Color.luminanceAlpha(1, 1));\r
-               luminanceAlpha.fillRect(20, 10, 5, 7, Color.luminanceAlpha(1, 1));\r
-               luminanceAlpha.drawCircle(16, 16, 10, Color.luminanceAlpha(1, 1));\r
-               luminanceAlpha.fillCircle(16, 16, 6, Color.luminanceAlpha(1, 1));\r
+//             if(luminanceAlpha.getPixel(16, 16) != Color.rgba8888(1, 1, 1, 1)) throw new RuntimeException("luminance alpha error");\r
+//             if(luminanceAlpha.getPixel(15, 16) != Color.rgba8888(1, 1, 1, 0.1f)) throw new RuntimeException("luminance alpha error");\r
+               luminanceAlpha.drawLine(0, 0, 31, 31, Color.rgba8888(1, 1, 1, 1));\r
+               luminanceAlpha.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 1, 0.5f));\r
+               luminanceAlpha.fillRect(20, 10, 5, 7, Color.rgba8888(1, 1, 1, 0.5f));\r
+               luminanceAlpha.drawCircle(16, 16, 10, Color.rgba8888(1, 1, 1, 1));\r
+               luminanceAlpha.fillCircle(16, 16, 6, Color.rgba8888(1, 1, 1, 1));\r
                \r
                rgb565.clear(Color.rgba8888(1, 0, 0, 1));\r
                rgb565.setPixel(16, 16, Color.rgba8888(0, 0, 1, 1));\r
-               if(rgb565.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgb565 error");\r
+//             if(rgb565.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgb565 error");\r
                if(rgb565.getPixel(31, 31) != Color.rgba8888(1, 0, 0, 1)) throw new RuntimeException("rgb565 error");\r
-               rgb565.drawLine(0,0,32,32, Color.rgb565(0,1,0));\r
-               rgb565.drawRect(10, 10, 5, 7, Color.rgb565(1, 1, 0));\r
-               rgb565.fillRect(20, 10, 5, 7, Color.rgb565(0, 1, 1));\r
-               rgb565.drawCircle(16, 16, 10, Color.rgb565(1, 0, 1));\r
-               rgb565.fillCircle(16, 16, 6, Color.rgb565(1, 0, 1));\r
+               rgb565.drawLine(0,0,32,32, Color.rgba8888(0, 1, 0, 1));\r
+               rgb565.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 0, 0.5f));\r
+               rgb565.fillRect(20, 10, 5, 7, Color.rgba8888(0, 1, 1, 0.5f));\r
+               rgb565.drawCircle(16, 16, 10, Color.rgba8888(1, 0, 1, 1));\r
+               rgb565.fillCircle(16, 16, 6, Color.rgba8888(1, 0, 1, 1));\r
                \r
-               rgba4444.clear(Color.rgba4444(1, 0, 0, 0.5f));\r
-               rgba4444.setPixel(16, 16, Color.rgba4444(0, 0, 1, 1));\r
-               //if(rgba4444.getPixel(16, 16) != Color.rgba4444(0, 0, 1, 1)) throw new RuntimeException("rgba4444 error");\r
-               //if(rgba4444.getPixel(15, 16) != Color.rgba4444(1, 0, 0, 0.5f)) throw new RuntimeException("rgba4444 error");\r
-               rgba4444.drawLine(0,0,31,31, Color.rgba4444(0, 1, 0, 1));\r
-               rgba4444.drawRect(10, 10, 5, 7, Color.rgba4444(1, 1, 0, 1));\r
-               rgba4444.fillRect(20, 10, 5, 7, Color.rgba4444(0, 1, 1, 1));\r
-               rgba4444.drawCircle(16, 16, 10, Color.rgba4444(1, 0, 1, 1));\r
-               rgba4444.fillCircle(16, 16, 6, Color.rgba4444(1, 0, 1, 0.5f));\r
+               rgba4444.clear(Color.rgba8888(1, 0, 0, 1));\r
+               rgba4444.setPixel(16, 16, Color.rgba8888(0, 0, 1, 1));\r
+//             if(rgba4444.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgba4444 error");\r
+               if(rgba4444.getPixel(15, 16) != 0xff0000ff) throw new RuntimeException("rgba4444 error"); // lut will not be 100% correct\r
+               rgba4444.drawLine(0,0,31,31, Color.rgba8888(0, 1, 0, 1));\r
+               rgba4444.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 0, 0.5f));\r
+               rgba4444.fillRect(20, 10, 5, 7, Color.rgba8888(0, 1, 1, 0.5f));\r
+               rgba4444.drawCircle(16, 16, 10, Color.rgba8888(1, 0, 1, 1));\r
+               rgba4444.fillCircle(16, 16, 6, Color.rgba8888(1, 0, 1, 0.5f));\r
                \r
-               rgb888.clear(Color.rgb888(1, 0, 0 ));\r
-               rgb888.setPixel(16, 16, Color.rgb888(0, 0, 1));\r
-               if(rgb888.getPixel(16, 16) != Color.rgb888(0, 0, 1)) throw new RuntimeException("rgb888 error");\r
-               if(rgb888.getPixel(15, 16) != Color.rgb888(1, 0, 0)) throw new RuntimeException("rgb888 error");\r
-               rgb888.drawLine(0,0,31,31, Color.rgb888(0, 1, 0));\r
-               rgb888.drawRect(10, 10, 5, 7, Color.rgb888(1, 1, 0));\r
-               rgb888.fillRect(20, 10, 5, 7, Color.rgb888(0, 1, 1));\r
-               rgb888.drawCircle(16, 16, 10, Color.rgb888(1, 0, 1));\r
-               rgb888.fillCircle(16, 16, 6, Color.rgb888(1, 0, 1));\r
+               rgb888.clear(Color.rgba8888(1, 0, 0, 1));\r
+               rgb888.setPixel(16, 16, Color.rgba8888(0, 0, 1, 1));\r
+//             if(rgb888.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgb888 error");\r
+               if(rgb888.getPixel(15, 16) != Color.rgba8888(1, 0, 0, 1)) throw new RuntimeException("rgb888 error");\r
+               rgb888.drawLine(0,0,31,31, Color.rgba8888(0, 1, 0, 1));\r
+               rgb888.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 0, 0.5f));\r
+               rgb888.fillRect(20, 10, 5, 7, Color.rgba8888(0, 1, 1, 0.5f));\r
+               rgb888.drawCircle(16, 16, 10, Color.rgba8888(1, 0, 1, 1));\r
+               rgb888.fillCircle(16, 16, 6, Color.rgba8888(1, 0, 1, 1));\r
                \r
-               rgba8888.clear(Color.rgba8888(1, 0, 0, 0.5f));\r
+               rgba8888.clear(Color.rgba8888(1, 0, 0, 1));\r
                rgba8888.setPixel(16, 16, Color.rgba8888(0, 0, 1, 1));\r
-               if(rgba8888.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgba8888 error");\r
-               if(rgba8888.getPixel(15, 16) != Color.rgba8888(1, 0, 0, 0.5f)) throw new RuntimeException("rgba8888 error");\r
+//             if(rgba8888.getPixel(16, 16) != Color.rgba8888(0, 0, 1, 1)) throw new RuntimeException("rgba8888 error");\r
+               if(rgba8888.getPixel(15, 16) != Color.rgba8888(1, 0, 0, 1)) throw new RuntimeException("rgba8888 error");\r
                rgba8888.drawLine(0,0,31,31,Color.rgba8888(0, 1, 0, 1));\r
-               rgba8888.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 0, 1));\r
-               rgba8888.fillRect(20, 10, 5, 7, Color.rgba8888(0, 1, 1, 1));\r
+               rgba8888.drawRect(10, 10, 5, 7, Color.rgba8888(1, 1, 0, 0.5f));\r
+               rgba8888.fillRect(20, 10, 5, 7, Color.rgba8888(0, 1, 1, 0.5f));\r
                rgba8888.drawCircle(16, 16, 10, Color.rgba8888(1, 0, 1, 1));\r
                rgba8888.fillCircle(16, 16, 6, Color.rgba8888(1, 0, 1, 0.5f));\r
+               \r
+               Gdx2DPixmap.setBlend(0);\r
+               composite.clear(Color.rgba8888(1, 1, 1, 1));\r
+               composite.drawPixmap(alpha, 0, 0, 0, 0, 32, 32);\r
+               composite.drawPixmap(luminanceAlpha, 0, 0, 32, 0, 32, 32);\r
+               composite.drawPixmap(rgb565, 0, 0, 64, 0, 32, 32);\r
+               composite.drawPixmap(rgba4444, 0, 0, 96, 0, 32, 32);\r
                        \r
                Format[] formats = { Format.Alpha, Format.RGB565, Format.RGBA4444, Format.RGBA8888 };\r
                int[] gdxFormats = { Gdx2DPixmap.GDX2D_FORMAT_ALPHA, Gdx2DPixmap.GDX2D_FORMAT_RGB565, Gdx2DPixmap.GDX2D_FORMAT_RGBA4444, Gdx2DPixmap.GDX2D_FORMAT_RGBA8888 };\r
@@ -153,7 +161,8 @@ public class Gdx2DTest extends GdxTest {
                sprites.add(new Sprite(textureFromPixmap(rgb565)));\r
                sprites.add(new Sprite(textureFromPixmap(rgba4444)));\r
                sprites.add(new Sprite(textureFromPixmap(rgb888)));\r
-               sprites.add(new Sprite(textureFromPixmap(rgba8888)));           \r
+               sprites.add(new Sprite(textureFromPixmap(rgba8888)));\r
+               sprites.add(new Sprite(textureFromPixmap(composite)));          \r
                \r
                \r
                sprites.get(0).setPosition(10, 10);\r
@@ -162,6 +171,7 @@ public class Gdx2DTest extends GdxTest {
                sprites.get(3).setPosition(130, 10);\r
                sprites.get(4).setPosition(170, 10);\r
                sprites.get(5).setPosition(210, 10);\r
+               sprites.get(6).setPosition(10, 50);\r
        }\r
 \r
        @Override public void render() {\r