diff --git a/CMakeLists.txt b/CMakeLists.txt index a28738c069..5a98d3bbdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,9 @@ option(ANDROID "Enables a build for Android" OFF) option(USE_EGL "Enables EGL OpenGL Interface" OFF) option(USE_X11 "Enables X11 Support" ON) option(USE_WAYLAND "Enables Wayland Support" OFF) -option(USE_GLES "Enables GLES And EGL, disables OGL" OFF) +option(USE_GLES "Enables GLES2 And EGL, disables OGL" OFF) +option(USE_GLES3 "Enables GLES3 and EGL" OFF) +option(USE_UPNP "Enables UPnP port mapping support" ON) option(DISABLE_WX "Disable wxWidgets (use CLI interface)" OFF) option(FASTLOG "Enable all logs" OFF) @@ -83,22 +85,22 @@ endfunction(enable_precompiled_headers) # for revision info include(FindGit OPTIONAL) if(GIT_FOUND AND NOT DOLPHIN_WC_REVISION) -# defines DOLPHIN_WC_REVISION - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD - OUTPUT_VARIABLE DOLPHIN_WC_REVISION - OUTPUT_STRIP_TRAILING_WHITESPACE) -# defines DOLPHIN_WC_DESCRIBE - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty - OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE - OUTPUT_STRIP_TRAILING_WHITESPACE) + # defines DOLPHIN_WC_REVISION + EXECUTE_PROCESS(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse HEAD + OUTPUT_VARIABLE DOLPHIN_WC_REVISION + OUTPUT_STRIP_TRAILING_WHITESPACE) + # defines DOLPHIN_WC_DESCRIBE + EXECUTE_PROCESS(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty + OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE + OUTPUT_STRIP_TRAILING_WHITESPACE) -# remove hash from description + # remove hash from description STRING(REGEX REPLACE "-[^-]+((-dirty)?)$" "\\1" DOLPHIN_WC_DESCRIBE "${DOLPHIN_WC_DESCRIBE}") -# defines DOLPHIN_WC_BRANCH - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD - OUTPUT_VARIABLE DOLPHIN_WC_BRANCH - OUTPUT_STRIP_TRAILING_WHITESPACE) + # defines DOLPHIN_WC_BRANCH + EXECUTE_PROCESS(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD + OUTPUT_VARIABLE DOLPHIN_WC_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() # version number @@ -116,10 +118,17 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm") add_definitions(-marm -march=armv7-a) add_definitions(-D_M_ARM=1) add_definitions(-D_M_GENERIC=1) -# Set generic options so you don't have to pass anything to cmake to build ARM + # Set generic options so you don't have to pass anything to cmake to build ARM set(USE_GLES 1) endif() +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips") + set(_M_GENERIC 1) + set(_M_MIPS 1) + add_definitions(-D_M_MIPS=1) + add_definitions(-D_M_GENERIC=1) +endif() + # Set these next two lines to test generic #set(_M_GENERIC 1) #add_definitions(-D_M_GENERIC=1) @@ -189,13 +198,13 @@ if(APPLE) set(SYSROOT_LEGACY_PATH "/Developer/SDKs/MacOSX10.7.sdk") set(SYSROOT_PATH "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk") if(EXISTS "${SYSROOT_PATH}/") - set(TARGET_SYSROOT ${SYSROOT_PATH}) + set(TARGET_SYSROOT ${SYSROOT_PATH}) elseif(EXISTS "${SYSROOT_LEGACY_PATH}/") - set(TARGET_SYSROOT ${SYSROOT_LEGACY_PATH}) + set(TARGET_SYSROOT ${SYSROOT_LEGACY_PATH}) endif() if(${TARGET_SYSROOT}) - set(TARGET_FLAGS "${TARGET_FLAGS} -isysroot ${TARGET_SYSROOT}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-syslibroot,${TARGET_SYSROOT}") + set(TARGET_FLAGS "${TARGET_FLAGS} -isysroot ${TARGET_SYSROOT}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-syslibroot,${TARGET_SYSROOT}") endif() # Do not warn about frameworks that are not available on all architectures. # This avoids a warning when linking with QuickTime. @@ -266,19 +275,35 @@ if(FASTLOG) add_definitions(-DDEBUGFAST) endif() - option(GDBSTUB "Enable gdb stub for remote debugging." OFF) if(GDBSTUB) add_definitions(-DUSE_GDBSTUB) endif(GDBSTUB) +if(ANDROID) + message("Building for Android") + add_definitions(-DANDROID) + set(USE_X11 0) + set(USE_WAYLAND 0) + set(USE_UPNP 0) + set(USE_GLES3 1) +endif() + # For now GLES and EGL are tied to each other. # Enabling GLES also disables the OpenGL plugin. -if(USE_GLES) - message("GLES rendering enabled") - add_definitions(-DUSE_GLES=1) - add_definitions(-DUSE_EGL=1) +if(USE_GLES3) + message("GLES3 rendering enabled") + add_definitions(-DUSE_GLES=1 -DUSE_EGL=1 -DUSE_GLES3=1) + include_directories(Externals/GLES3) set(USE_EGL True) + set(USE_GLES True) +else() + if(USE_GLES) + message("GLES2 rendering enabled. OpenGL disabled") + add_definitions(-DUSE_GLES=1) + add_definitions(-DUSE_EGL=1) + set(USE_EGL True) + endif() endif() # For now Wayland and EGL are tied to each other. # The alternative would be an shm path @@ -291,18 +316,12 @@ if(USE_EGL) message("EGL OpenGL interface enabled") add_definitions(-DUSE_EGL=1) else() -# Using GLX + # Using GLX set(USE_X11 1) set(USE_WAYLAND 0) endif() add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE) -if(ANDROID) - message("Building for Android") - add_definitions(-DANDROID) - set(USE_X11 0) - set(USE_WAYLAND 0) -endif() ######################################## # Dependency checking # @@ -378,8 +397,8 @@ if(NOT ANDROID) endif(OPENAL_FOUND) if(UNIX AND NOT APPLE) -# Note: The convention is to check USE_X11 or USE_WAYLAND where needed. -# This is where we detect platforms and set the variables accordingly. + # Note: The convention is to check USE_X11 or USE_WAYLAND where needed. + # This is where we detect platforms and set the variables accordingly. pkg_check_modules(WAYLAND wayland-egl wayland-client wayland-cursor) if(USE_WAYLAND AND WAYLAND_FOUND) pkg_check_modules(XKBCOMMON xkbcommon) @@ -395,8 +414,8 @@ if(NOT ANDROID) add_definitions(-DHAVE_WAYLAND=0) endif(USE_WAYLAND AND WAYLAND_FOUND) -# Note: We do not need to explicitly check for X11 as it is done in the cmake -# FindOpenGL module on linux. + # Note: We do not need to explicitly check for X11 as it is done in the cmake + # FindOpenGL module on linux. if(USE_X11 AND X11_FOUND) set(USE_X11 1) add_definitions(-DHAVE_X11=1) @@ -408,11 +427,11 @@ if(NOT ANDROID) message("X11 support disabled") add_definitions(-DHAVE_X11=0) endif(USE_X11 AND X11_FOUND) - + if (NOT USE_WAYLAND AND NOT USE_X11) message(FATAL_ERROR "\n" - "No suitable display platform found\n" - "Requires wayland or x11 to run") + "No suitable display platform found\n" + "Requires wayland or x11 to run") endif() endif() @@ -423,6 +442,13 @@ if(NOT ANDROID) else() add_definitions(-DHAVE_XRANDR=0) endif(XRANDR_FOUND) + + pkg_check_modules(XINPUT2 xi>=1.5.0) + if(XINPUT2_FOUND) + add_definitions(-DHAVE_X11_XINPUT2=1) + else() + add_definitions(-DHAVE_X11_XINPUT2=0) + endif(XINPUT2_FOUND) endif() if(ENCODE_FRAMEDUMPS) check_libav() @@ -526,17 +552,17 @@ if(NOT ANDROID) else(SDL2_FOUND) # SDL2 not found, try SDL if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - include(FindSDL OPTIONAL) - endif() - if(SDL_FOUND) - message("Using shared SDL") - include_directories(${SDL_INCLUDE_DIR}) - else(SDL_FOUND) - # TODO: Use the prebuilt one on Windows - message("Using static SDL from Externals") - include_directories(Externals/SDL/SDL Externals/SDL Externals/SDL/include) - add_subdirectory(Externals/SDL) - endif(SDL_FOUND) + include(FindSDL OPTIONAL) + endif() + if(SDL_FOUND) + message("Using shared SDL") + include_directories(${SDL_INCLUDE_DIR}) + else(SDL_FOUND) + # TODO: Use the prebuilt one on Windows + message("Using static SDL from Externals") + include_directories(Externals/SDL/SDL Externals/SDL Externals/SDL/include) + add_subdirectory(Externals/SDL) + endif(SDL_FOUND) endif(SDL2_FOUND) endif() @@ -557,11 +583,26 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ANDROID) include(FindSFML OPTIONAL) endif() if(SFML_FOUND AND NOT SFML_VERSION_MAJOR) # SFML 1.x doesn't define SFML_VERSION_MAJOR - message("Using shared SFML") + message("Using shared SFML") else() - message("Using static SFML ${SFML_FIND_VERSION_MAJOR}.${SFML_FIND_VERSION_MINOR} from Externals") - add_subdirectory(Externals/SFML) - include_directories(Externals/SFML/include) + message("Using static SFML ${SFML_FIND_VERSION_MAJOR}.${SFML_FIND_VERSION_MINOR} from Externals") + add_subdirectory(Externals/SFML) + include_directories(Externals/SFML/include) +endif() + +if(USE_UPNP) + if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ANDROID) + include(FindMiniupnpc) + endif() + if(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) + message("Using shared miniupnpc") + include_directories(${MINIUPNP_INCLUDE_DIR}) + else() + message("Using static miniupnpc from Externals") + add_subdirectory(Externals/miniupnpc) + include_directories(Externals/miniupnpc/src) + endif() + add_definitions(-DUSE_UPNP) endif() @@ -624,24 +665,9 @@ if(NOT DISABLE_WX AND NOT ANDROID) FIND_PACKAGE(wxWidgets COMPONENTS core aui adv) if(wxWidgets_FOUND) - EXECUTE_PROCESS( + EXECUTE_PROCESS(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}" - ${wxWidgets_CONFIG_OPTIONS} --version - OUTPUT_VARIABLE wxWidgets_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET - ) - message("Found wxWidgets version ${wxWidgets_VERSION}") - if(${wxWidgets_VERSION} VERSION_LESS "2.8.9") - message("At least 2.8.9 is required; ignoring found version") - unset(wxWidgets_FOUND) - endif() - endif(wxWidgets_FOUND) - - if(wxWidgets_FOUND) - EXECUTE_PROCESS( - COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}" - ${wxWidgets_CONFIG_OPTIONS} --version + ${wxWidgets_CONFIG_OPTIONS} --version OUTPUT_VARIABLE wxWidgets_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET @@ -658,26 +684,26 @@ if(NOT DISABLE_WX AND NOT ANDROID) endif() endif(wxWidgets_FOUND) - if(UNIX AND NOT APPLE) - # There is a bug in the FindGTK module in cmake version 2.8.2 that - # does not find gdk-pixbuf-2.0. On the other hand some 2.8.3 - # users have complained that pkg-config does not find - # gdk-pixbuf-2.0. On yet another hand, cmake version 2.8.3 in - # Ubuntu Natty does not find the glib libraries correctly. - # Ugly!!! - execute_process(COMMAND lsb_release -c -s - OUTPUT_VARIABLE DIST_NAME - ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} - VERSION_EQUAL 2.8.2 OR "${DIST_NAME}" STREQUAL "natty") - check_lib(GTK2 gtk+-2.0 gtk.h REQUIRED) - else() - include(FindGTK2) - if(GTK2_FOUND) - include_directories(${GTK2_INCLUDE_DIRS}) - endif() + if(UNIX AND NOT APPLE) + # There is a bug in the FindGTK module in cmake version 2.8.2 that + # does not find gdk-pixbuf-2.0. On the other hand some 2.8.3 + # users have complained that pkg-config does not find + # gdk-pixbuf-2.0. On yet another hand, cmake version 2.8.3 in + # Ubuntu Natty does not find the glib libraries correctly. + # Ugly!!! + execute_process(COMMAND lsb_release -c -s + OUTPUT_VARIABLE DIST_NAME + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} + VERSION_EQUAL 2.8.2 OR "${DIST_NAME}" STREQUAL "natty") + check_lib(GTK2 gtk+-2.0 gtk.h REQUIRED) + else() + include(FindGTK2) + if(GTK2_FOUND) + include_directories(${GTK2_INCLUDE_DIRS}) endif() endif() + endif() if(wxWidgets_FOUND) include(${wxWidgets_USE_FILE}) @@ -700,7 +726,7 @@ if(NOT DISABLE_WX AND NOT ANDROID) else() message(FATAL_ERROR "wxWidgets in Externals is not compatible with your platform") endif() - + include_directories( Externals/wxWidgets3 Externals/wxWidgets3/include) diff --git a/CMakeTests/FindMiniupnpc.cmake b/CMakeTests/FindMiniupnpc.cmake new file mode 100644 index 0000000000..8f919cacb3 --- /dev/null +++ b/CMakeTests/FindMiniupnpc.cmake @@ -0,0 +1,179 @@ +# Locate miniupnp library +# This module defines +# MINIUPNP_FOUND, if false, do not try to link to miniupnp +# MINIUPNP_LIBRARY, the miniupnp variant +# MINIUPNP_INCLUDE_DIR, where to find miniupnpc.h and family) +# MINIUPNPC_VERSION_PRE1_6 --> set if we detect the version of miniupnpc is +# pre 1.6 +# MINIUPNPC_VERSION_PRE1_5 --> set if we detect the version of miniupnpc is +# pre 1.5 +# +# Note that the expected include convention is +# #include "miniupnpc.h" +# and not +# #include +# This is because, the miniupnpc location is not standardized and may exist +# in locations other than miniupnpc/ + +#============================================================================= +# Copyright 2011 Mark Vejvoda +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +if (MINIUPNP_INCLUDE_DIR AND MINIUPNP_LIBRARY) + # Already in cache, be silent + set(MINIUPNP_FIND_QUIETLY TRUE) +endif (MINIUPNP_INCLUDE_DIR AND MINIUPNP_LIBRARY) + +find_path(MINIUPNP_INCLUDE_DIR miniupnpc.h + PATH_SUFFIXES miniupnpc) +find_library(MINIUPNP_LIBRARY miniupnpc) + +if (MINIUPNP_INCLUDE_DIR AND MINIUPNP_LIBRARY) + set (MINIUPNP_FOUND TRUE) +endif () + +if (MINIUPNP_FOUND) + if (NOT MINIUPNP_FIND_QUIETLY) + message (STATUS "Found the miniupnpc libraries at ${MINIUPNP_LIBRARY}") + message (STATUS "Found the miniupnpc headers at ${MINIUPNP_INCLUDE_DIR}") + endif (NOT MINIUPNP_FIND_QUIETLY) + + message(STATUS "Detecting version of miniupnpc in path: ${MINIUPNP_INCLUDE_DIR}") + + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" + #include + #include + #include + #include + int main() + { + static struct UPNPUrls urls; + static struct IGDdatas data; + + GetUPNPUrls (&urls, &data, \"myurl\",0); + + return 0; + }" + MINIUPNPC_VERSION_1_7_OR_HIGHER) + +IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" + #include + #include + #include + #include + int main() + { + struct UPNPDev *devlist = NULL; + int upnp_delay = 5000; + const char *upnp_multicastif = NULL; + const char *upnp_minissdpdsock = NULL; + int upnp_sameport = 0; + int upnp_ipv6 = 0; + int upnp_error = 0; + devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error); + + return 0; + }" + MINIUPNPC_VERSION_PRE1_7) + ENDIF() + + IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" + #include + #include + #include + #include + int main() + { + struct UPNPDev *devlist = NULL; + int upnp_delay = 5000; + const char *upnp_multicastif = NULL; + const char *upnp_minissdpdsock = NULL; + int upnp_sameport = 0; + int upnp_ipv6 = 0; + int upnp_error = 0; + devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport); + + return 0; + }" + MINIUPNPC_VERSION_PRE1_6) + + ENDIF() + + IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" + #include + #include + #include + #include + static struct UPNPUrls urls; + static struct IGDdatas data; + int main() + { + char externalIP[16] = ""; + UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP); + + return 0; + }" + MINIUPNPC_VERSION_1_5_OR_HIGHER) + ENDIF() + + IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" + #include + #include + #include + #include + static struct UPNPUrls urls; + static struct IGDdatas data; + int main() + { + char externalIP[16] = ""; + UPNP_GetExternalIPAddress(urls.controlURL, data.servicetype, externalIP); + + return 0; + }" + MINIUPNPC_VERSION_PRE1_5) + +ENDIF() + +IF(MINIUPNPC_VERSION_PRE1_5) + message(STATUS "Found miniupnpc version is pre v1.5") +ENDIF() +IF(MINIUPNPC_VERSION_PRE1_6) + message(STATUS "Found miniupnpc version is pre v1.6") +ENDIF() +IF(MINIUPNPC_VERSION_PRE1_7) + message(STATUS "Found miniupnpc version is pre v1.7") +ENDIF() + +IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7) + message(STATUS "Found miniupnpc version is v1.7 or higher") +ENDIF() + +else () + message (STATUS "Could not find miniupnp") +endif () + +MARK_AS_ADVANCED(MINIUPNP_INCLUDE_DIR MINIUPNP_LIBRARY) + diff --git a/Data/User/GameConfig/G2FE78.ini b/Data/User/GameConfig/G2FE78.ini index 38d183c72b..106b53a3ff 100644 --- a/Data/User/GameConfig/G2FE78.ini +++ b/Data/User/GameConfig/G2FE78.ini @@ -5,8 +5,6 @@ TLBHack = 1 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C43213D8 0000FF01 $Infinite Health 04112828 48232224 04344A4C D017021C diff --git a/Data/User/GameConfig/G2ME01.ini b/Data/User/GameConfig/G2ME01.ini index 46652d1f2b..544966c234 100644 --- a/Data/User/GameConfig/G2ME01.ini +++ b/Data/User/GameConfig/G2ME01.ini @@ -7,13 +7,6 @@ EmulationIssues = EFB to RAM is needed for the scanner/visors to work properly. 0x803758bc=400 [OnFrame] [ActionReplay] -$(M) -C4354E70 0000FF01 -C436F000 0000FF02 -4D30294C 4E800020 -C530294C 0000FF03 -0441FD80 00000000 -C6004010 000000FF $This Code Must Be On! 043BC410 906D0000 043BC414 88030004 diff --git a/Data/User/GameConfig/G2MP01.ini b/Data/User/GameConfig/G2MP01.ini index c6b40b4ce5..d4b91a5cbf 100644 --- a/Data/User/GameConfig/G2MP01.ini +++ b/Data/User/GameConfig/G2MP01.ini @@ -8,11 +8,6 @@ EmulationIssues = EFB to RAM is needed for the scanner/visors to work properly. 0x80375c68=400 [OnFrame] [ActionReplay] -$(M) -C43552C8 0000FF01 -C436F41C 0000FF02 -0D30294C 4E800020 -C530294C 0000FF03 $Infinite Health 423DDE0C 000A44BB 423DDE0C 000B6000 diff --git a/Data/User/GameConfig/G3FE69.ini b/Data/User/GameConfig/G3FE69.ini index 2f628b7bab..6e902ad0fa 100644 --- a/Data/User/GameConfig/G3FE69.ini +++ b/Data/User/GameConfig/G3FE69.ini @@ -15,7 +15,6 @@ PH_ZFar = [Gecko] [Core] MMU = 1 -VBeam = 1 BlockMerging = 1 [Video_Settings] SafeTextureCacheColorSamples = 0 diff --git a/Data/User/GameConfig/G3FF69.ini b/Data/User/GameConfig/G3FF69.ini index 7367649d4b..37af95e657 100644 --- a/Data/User/GameConfig/G3FF69.ini +++ b/Data/User/GameConfig/G3FF69.ini @@ -15,7 +15,6 @@ PH_ZFar = [Gecko] [Core] MMU = 1 -VBeam = 1 BlockMerging = 1 [Video_Settings] SafeTextureCacheColorSamples = 0 diff --git a/Data/User/GameConfig/G3FP69.ini b/Data/User/GameConfig/G3FP69.ini index 0272d70fde..cd74b017bf 100644 --- a/Data/User/GameConfig/G3FP69.ini +++ b/Data/User/GameConfig/G3FP69.ini @@ -15,7 +15,6 @@ PH_ZFar = [Gecko] [Core] MMU = 1 -VBeam = 1 BlockMerging = 1 [Video_Settings] SafeTextureCacheColorSamples = 0 diff --git a/Data/User/GameConfig/G4GEE9.ini b/Data/User/GameConfig/G4GEE9.ini index 7633ba159a..25401724e9 100644 --- a/Data/User/GameConfig/G4GEE9.ini +++ b/Data/User/GameConfig/G4GEE9.ini @@ -10,10 +10,6 @@ EmulationStateId = 2 [ActionReplay] #Add decrypted action replay cheats here. -$(M) -06C2E568 88000000 -C41D3578 0000FF01 - $Infinite Money 06C2E569 08000000 050943A8 0098967F diff --git a/Data/User/GameConfig/G4NJDA.ini b/Data/User/GameConfig/G4NJDA.ini index d2e307f90b..fd2fc912cf 100644 --- a/Data/User/GameConfig/G4NJDA.ini +++ b/Data/User/GameConfig/G4NJDA.ini @@ -5,10 +5,7 @@ #The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 4 [OnFrame] -Master Code -0FC07078 A8000000 -C4175B8C 0000FF00 [ActionReplay] -Everything unlocked +$Everything unlocked 042232F0 00FFFFFF 002232FC 00002FFF \ No newline at end of file diff --git a/Data/User/GameConfig/G4QE01.ini b/Data/User/GameConfig/G4QE01.ini index 90242bcad3..a25f1339f9 100644 --- a/Data/User/GameConfig/G4QE01.ini +++ b/Data/User/GameConfig/G4QE01.ini @@ -6,8 +6,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C425B280 0000FF01 $Press D-Pad Up - Team 1 Wins 4A32C348 00000008 40371238 00003F32 diff --git a/Data/User/GameConfig/G4SP01.ini b/Data/User/GameConfig/G4SP01.ini index 293ec3ec48..93ebfa67fb 100644 --- a/Data/User/GameConfig/G4SP01.ini +++ b/Data/User/GameConfig/G4SP01.ini @@ -5,14 +5,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(M) -0658E214 98000000 -C404F588 0002FF00 -$Infinite Health -0658E215 18000000 -04247EDC 80030BF8 -04247EE0 90030BFC -04247EE4 4800000C $Max Health 0658E216 18000000 0425AB40 38000020 diff --git a/Data/User/GameConfig/G8ME01.ini b/Data/User/GameConfig/G8ME01.ini index 3c84c3fcc4..24b7019f0c 100644 --- a/Data/User/GameConfig/G8ME01.ini +++ b/Data/User/GameConfig/G8ME01.ini @@ -9,8 +9,6 @@ EmulationStateId = 4 EmulationIssues = Needs Efb to Ram for BBox (proper graphics). [OnFrame] [ActionReplay] -$(M) Must Be ON -C402F310 0000FF01 $Mario: Max/Infinite Health 04B07BD0 03E703E7 02B07BEE 000003E7 diff --git a/Data/User/GameConfig/G8WP01.ini b/Data/User/GameConfig/G8WP01.ini index afe5bd513d..dedca89e90 100644 --- a/Data/User/GameConfig/G8WP01.ini +++ b/Data/User/GameConfig/G8WP01.ini @@ -6,9 +6,6 @@ EmulationStateId = 4 [OnFrame] [ActionReplay] -$(M) -0752E976 88000000 -C41641BC 0000FF01 $Invincible 0752E977 08000000 04338650 00000001 diff --git a/Data/User/GameConfig/GAFE01.ini b/Data/User/GameConfig/GAFE01.ini index 73e01b1138..bd19648ca7 100644 --- a/Data/User/GameConfig/GAFE01.ini +++ b/Data/User/GameConfig/GAFE01.ini @@ -5,9 +5,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(M) (Datel) -01521549 88000000 -C40959EC 0000FF00 $Make Game Save Copyable (donny2112) 01522C0A 08000000 8C091F20 909C0028 diff --git a/Data/User/GameConfig/GALE01.ini b/Data/User/GameConfig/GALE01.ini index 66924cd847..436dff7eef 100644 --- a/Data/User/GameConfig/GALE01.ini +++ b/Data/User/GameConfig/GALE01.ini @@ -5,9 +5,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(m) -00080176 88000000 -C434E304 00000800 $All 293 trophies 00087EF5 08000000 0245A3C8 00000125 diff --git a/Data/User/GameConfig/GAUE08.ini b/Data/User/GameConfig/GAUE08.ini index 744661cae1..27e9e69b3d 100644 --- a/Data/User/GameConfig/GAUE08.ini +++ b/Data/User/GameConfig/GAUE08.ini @@ -12,8 +12,6 @@ PH_ExtraParam = 0 PH_ZNear = PH_ZFar = [ActionReplay] Add action replay cheats here. -$Master Code -C40EBABC 0000FF00 $Max Total Races Played 021B301C 0000270F $Low Total Play Time diff --git a/Data/User/GameConfig/GB4E51.ini b/Data/User/GameConfig/GB4E51.ini index 71bb37a3db..0926bb8e1d 100644 --- a/Data/User/GameConfig/GB4E51.ini +++ b/Data/User/GameConfig/GB4E51.ini @@ -5,8 +5,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C412A730 0000FF00 $Infinite Boost 04220D04 42C80000 $Offensive Driving Complete diff --git a/Data/User/GameConfig/GBHEC8.ini b/Data/User/GameConfig/GBHEC8.ini index 30fa0f7380..c460233a79 100644 --- a/Data/User/GameConfig/GBHEC8.ini +++ b/Data/User/GameConfig/GBHEC8.ini @@ -5,9 +5,6 @@ EmulationStateId = 4 EmulationIssues = Needs Real xfb for the videos to display. [OnFrame] [ActionReplay] -$(m) -01180C36 88000000 -C4201E68 0000FF00 $Max Health 01180C37 08000000 02264788 0000270F diff --git a/Data/User/GameConfig/GBOP51.ini b/Data/User/GameConfig/GBOP51.ini index 5654ad819f..854f4e6d77 100644 --- a/Data/User/GameConfig/GBOP51.ini +++ b/Data/User/GameConfig/GBOP51.ini @@ -5,8 +5,6 @@ EmulationStateId = 3 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4170264 00000800 $Infinite Continues 04233DD8 00000063 $Infinite Boost diff --git a/Data/User/GameConfig/GCCE01.ini b/Data/User/GameConfig/GCCE01.ini index 585d980d85..d193ef6c2e 100644 --- a/Data/User/GameConfig/GCCE01.ini +++ b/Data/User/GameConfig/GCCE01.ini @@ -7,9 +7,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(M) -04EC59D3 88000000 -C418D2E0 0000FF01 $Infinite Health: Single Player 04EC59D4 08000000 0410B494 A0A3001A diff --git a/Data/User/GameConfig/GCVEEB.ini b/Data/User/GameConfig/GCVEEB.ini index 4ef414e7a3..b98605e404 100644 --- a/Data/User/GameConfig/GCVEEB.ini +++ b/Data/User/GameConfig/GCVEEB.ini @@ -7,9 +7,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] [ActionReplay] -$(m) -010C0B93 88000000 -C4148F04 00001000 $Max Lovebits 010C0B94 08000000 02350350 000003E7 diff --git a/Data/User/GameConfig/GDDE41.ini b/Data/User/GameConfig/GDDE41.ini index 46cd32c50f..a1d77fb493 100644 --- a/Data/User/GameConfig/GDDE41.ini +++ b/Data/User/GameConfig/GDDE41.ini @@ -5,8 +5,6 @@ EmulationStateId = 2 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C40486D0 00000800 $Have Infinite Lives 04765074 00000063 $Always Have 99 Cogs diff --git a/Data/User/GameConfig/GDTE69.ini b/Data/User/GameConfig/GDTE69.ini index 7dabfe85cd..c54039a9b0 100644 --- a/Data/User/GameConfig/GDTE69.ini +++ b/Data/User/GameConfig/GDTE69.ini @@ -5,8 +5,6 @@ EmulationIssues = EmulationStateId = 5 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C40C840C 0000FF00 $Player 1 Max Health Tank 041B9B10 43A80000 $Player 1 No Health Tank diff --git a/Data/User/GameConfig/GE5EA4.ini b/Data/User/GameConfig/GE5EA4.ini index ad7e0c40ea..2401ed6d39 100644 --- a/Data/User/GameConfig/GE5EA4.ini +++ b/Data/User/GameConfig/GE5EA4.ini @@ -5,8 +5,6 @@ TLBHack = 1 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C41E605C 0000FF01 $Infinite Health 052278A8 00000226 $Press R+Y For More Time diff --git a/Data/User/GameConfig/GF7E01.ini b/Data/User/GameConfig/GF7E01.ini index c45903999d..4d070c4e16 100644 --- a/Data/User/GameConfig/GF7E01.ini +++ b/Data/User/GameConfig/GF7E01.ini @@ -5,8 +5,6 @@ EmulationStateId = 4 EmulationIssues = EFB must be an integer (integral, 1x, 2x, 3x). [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(M) -C4159190 0000FF01 $Infinite Health 0402C334 380006C0 0402C3E0 380006C0 diff --git a/Data/User/GameConfig/GF7P01.ini b/Data/User/GameConfig/GF7P01.ini index 4fef9f4188..f262c027e1 100644 --- a/Data/User/GameConfig/GF7P01.ini +++ b/Data/User/GameConfig/GF7P01.ini @@ -5,9 +5,6 @@ EmulationStateId = 4 EmulationIssues = EFB must be an integer (integral, 1x, 2x, 3x). [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(M) -06A0E452 98000000 -C4141B8C 0002FF00 $Single Mode 06A0E453 15008000 $Unlock Missions diff --git a/Data/User/GameConfig/GF8E69.ini b/Data/User/GameConfig/GF8E69.ini index 5fa4328270..1af4d29771 100644 --- a/Data/User/GameConfig/GF8E69.ini +++ b/Data/User/GameConfig/GF8E69.ini @@ -6,8 +6,6 @@ EmulationStateId = 4 EmulationIssues = The videos are messed up, skip them. [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C431F6C8 0000FF01 $Unlock All Venues 043D2290 00000001 $Unlock All Kits diff --git a/Data/User/GameConfig/GFYE69.ini b/Data/User/GameConfig/GFYE69.ini index 6100e5913c..043d96b489 100644 --- a/Data/User/GameConfig/GFYE69.ini +++ b/Data/User/GameConfig/GFYE69.ini @@ -6,8 +6,6 @@ EmulationStateId = 4 EmulationIssues = Videos are messed up, skip them. [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4344534 0000FF01 $Home Team Starts With 10 2843491F 0000000A 0043491F 0000000A diff --git a/Data/User/GameConfig/GFZE01.ini b/Data/User/GameConfig/GFZE01.ini index d6ffdecdf1..ccb8bd547e 100644 --- a/Data/User/GameConfig/GFZE01.ini +++ b/Data/User/GameConfig/GFZE01.ini @@ -15,9 +15,6 @@ PH_ExtraParam = 0 PH_ZNear = 20 PH_ZFar = 1.7555555 [ActionReplay] -$(m) -8C034168 4E800020 -C4034168 0000FF01 $Beat All Cups (unlock Master class/Diamond Cup) 9C0030C8 00120000 840030C8 0023DC50 diff --git a/Data/User/GameConfig/GGTE01.ini b/Data/User/GameConfig/GGTE01.ini index a202ef9d55..ba8c7e02d3 100644 --- a/Data/User/GameConfig/GGTE01.ini +++ b/Data/User/GameConfig/GGTE01.ini @@ -6,9 +6,6 @@ EmulationStateId = 5 [OnFrame] [ActionReplay] -$(M) -0728E818 88000000 -C4173C94 0000FF01 $Max Battery Energy 0728E819 08000000 0438F74C 4479C000 diff --git a/Data/User/GameConfig/GHMD4F.ini b/Data/User/GameConfig/GHMD4F.ini new file mode 100644 index 0000000000..804c7ce141 --- /dev/null +++ b/Data/User/GameConfig/GHMD4F.ini @@ -0,0 +1,16 @@ +# GHMD4F - Hitman 2: Silent Assassin +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationIssues = +EmulationStateId = 5 +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GHME4F.ini b/Data/User/GameConfig/GHME4F.ini index 9ad65bde82..3fc5b957fa 100644 --- a/Data/User/GameConfig/GHME4F.ini +++ b/Data/User/GameConfig/GHME4F.ini @@ -6,8 +6,6 @@ EmulationIssues = EmulationStateId = 5 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4229E7C 0000FF00 $Infinite Ammo + Rapid Fire 0417CA4C 60000000 0417CA50 60000000 @@ -30,3 +28,11 @@ $Press Left + Y For Nailgun 52889D30 00000801 0406D250 418201BC 0406D288 408000C4 +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GHMF4F.ini b/Data/User/GameConfig/GHMF4F.ini new file mode 100644 index 0000000000..cf6dbb5494 --- /dev/null +++ b/Data/User/GameConfig/GHMF4F.ini @@ -0,0 +1,16 @@ +# GHMF4F - Hitman 2: Silent Assassin +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationIssues = +EmulationStateId = 5 +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GHMP4F.ini b/Data/User/GameConfig/GHMP4F.ini new file mode 100644 index 0000000000..b9a7263c92 --- /dev/null +++ b/Data/User/GameConfig/GHMP4F.ini @@ -0,0 +1,16 @@ +# GHMP4F - Hitman 2: Silent Assassin +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationIssues = +EmulationStateId = 5 +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GHQE7D.ini b/Data/User/GameConfig/GHQE7D.ini index 1f37590cbe..8e13676fa4 100644 --- a/Data/User/GameConfig/GHQE7D.ini +++ b/Data/User/GameConfig/GHQE7D.ini @@ -2,11 +2,18 @@ [Core] Values set here will override the main dolphin settings. TLBHack = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationStateId = 3 +EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. [Video] ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = [Gecko] - +[Video_Settings] +UseXFB = True +UseRealXFB = False diff --git a/Data/User/GameConfig/GHQP7D.ini b/Data/User/GameConfig/GHQP7D.ini new file mode 100644 index 0000000000..b60c0ec5b4 --- /dev/null +++ b/Data/User/GameConfig/GHQP7D.ini @@ -0,0 +1,19 @@ +# GHQP7D - The Simpsons Hit & Run +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +UseXFB = True +UseRealXFB = False diff --git a/Data/User/GameConfig/GHRE78.ini b/Data/User/GameConfig/GHRE78.ini index 29543f3f5d..f6bfa15991 100644 --- a/Data/User/GameConfig/GHRE78.ini +++ b/Data/User/GameConfig/GHRE78.ini @@ -10,10 +10,6 @@ EmulationStateId = 4 [ActionReplay] #Add decrypted action replay cheats here. -$(M) -0554D8EE 88000000 -C41F2764 0000FF01 - $Infinite Continues 0554D8EF 08000000 040BF890 39200009 \ No newline at end of file diff --git a/Data/User/GameConfig/GICE78.ini b/Data/User/GameConfig/GICE78.ini index c3deac6195..0187973aa6 100644 --- a/Data/User/GameConfig/GICE78.ini +++ b/Data/User/GameConfig/GICE78.ini @@ -5,7 +5,5 @@ TLBHack = 1 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C422AD48 0000FF01 $Infinite Health 04097DB8 38000064 diff --git a/Data/User/GameConfig/GINE69.ini b/Data/User/GameConfig/GINE69.ini index 77e14f98c2..078d294a40 100644 --- a/Data/User/GameConfig/GINE69.ini +++ b/Data/User/GameConfig/GINE69.ini @@ -6,8 +6,6 @@ EmulationStateId = 4 EmulationIssues = FPS drops to 20 in some areas(don't know if this is normal) [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C42FE4A8 0002FF01 $Infinite Health 040CF5D0 60000000 $Infinite Item Use diff --git a/Data/User/GameConfig/GIQE78.ini b/Data/User/GameConfig/GIQE78.ini index 3cb9063eb1..434868e993 100644 --- a/Data/User/GameConfig/GIQE78.ini +++ b/Data/User/GameConfig/GIQE78.ini @@ -5,8 +5,6 @@ EmulationIssues = Needs real XFB for videos to show up. EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C421D274 0000FF01 $Infinite Specials 003BD9DB 00000003 003BED0B 00000003 diff --git a/Data/User/GameConfig/GJCE8P.ini b/Data/User/GameConfig/GJCE8P.ini index 2307738f12..d9321af76c 100644 --- a/Data/User/GameConfig/GJCE8P.ini +++ b/Data/User/GameConfig/GJCE8P.ini @@ -4,8 +4,6 @@ EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4210448 0000FF01 $Infinite Health 040B4C6C 38000064 040B4C70 9003022C diff --git a/Data/User/GameConfig/GJUE78.ini b/Data/User/GameConfig/GJUE78.ini index ad0fdca372..7060bef305 100644 --- a/Data/User/GameConfig/GJUE78.ini +++ b/Data/User/GameConfig/GJUE78.ini @@ -6,8 +6,6 @@ EmulationIssues = EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4131BDC 0000FF00 $Infinite Health 04001A00 2C050000 04001A04 41820008 diff --git a/Data/User/GameConfig/GJWE78.ini b/Data/User/GameConfig/GJWE78.ini index 1ae68295c5..f1723ad5ac 100644 --- a/Data/User/GameConfig/GJWE78.ini +++ b/Data/User/GameConfig/GJWE78.ini @@ -6,8 +6,6 @@ EmulationIssues = EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C438BBEC 0000FF01 $Infinite Health 041D1558 D0180240 041D155C C1B80240 diff --git a/Data/User/GameConfig/GJXP51.ini b/Data/User/GameConfig/GJXP51.ini new file mode 100644 index 0000000000..e8d89a1d99 --- /dev/null +++ b/Data/User/GameConfig/GJXP51.ini @@ -0,0 +1,18 @@ +# GJXP51 - Vexx +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[EmuState] +EmulationStateId = 4 +EmulationIssues = Slow because it needs mmu to run. +[OnFrame] +[ActionReplay] +[Gecko] +[Video_Settings] +[Core] +MMU = 1 + diff --git a/Data/User/GameConfig/GK4E01.ini b/Data/User/GameConfig/GK4E01.ini index c4ea14e82e..05641b2dfe 100644 --- a/Data/User/GameConfig/GK4E01.ini +++ b/Data/User/GameConfig/GK4E01.ini @@ -7,9 +7,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(M) -0768EA5C 88000000 -C41AF4FC 0000FF01 $Save Anywhere 0768EA5D 08000000 002AE324 00000001 diff --git a/Data/User/GameConfig/GKLD69.ini b/Data/User/GameConfig/GKLD69.ini new file mode 100644 index 0000000000..1688bef9da --- /dev/null +++ b/Data/User/GameConfig/GKLD69.ini @@ -0,0 +1,18 @@ +# GKLD69 - The Lord of the Rings; The Return of the King +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/GKLI69.ini b/Data/User/GameConfig/GKLI69.ini new file mode 100644 index 0000000000..b2364c1808 --- /dev/null +++ b/Data/User/GameConfig/GKLI69.ini @@ -0,0 +1,18 @@ +# GKLI69 - The Lord of the Rings; The Return of the King +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/GKLJ69.ini b/Data/User/GameConfig/GKLJ69.ini new file mode 100644 index 0000000000..60677ef83b --- /dev/null +++ b/Data/User/GameConfig/GKLJ69.ini @@ -0,0 +1,18 @@ +# GKLJ69 - The Lord of the Rings; The Return of the King +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/GKNEB2.ini b/Data/User/GameConfig/GKNEB2.ini index b6223f1e4e..38cc6bfe5d 100644 --- a/Data/User/GameConfig/GKNEB2.ini +++ b/Data/User/GameConfig/GKNEB2.ini @@ -4,8 +4,6 @@ EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C410EE24 0000FF00 $Infinite KIN Medals 02296DD6 0000270F $All Toys diff --git a/Data/User/GameConfig/GKOP6V.ini b/Data/User/GameConfig/GKOP6V.ini index bbfa00ade7..b9fda4cf5b 100644 --- a/Data/User/GameConfig/GKOP6V.ini +++ b/Data/User/GameConfig/GKOP6V.ini @@ -1,6 +1,13 @@ -# GKOP6V - Kao the kangaroo -[Core] Values set here will override the main dolphin settings. -[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationStateId = 2 -[OnFrame] Add memory patches to be applied every frame here. -[ActionReplay] Add action replay cheats here. +# GKOP6V - Kao the kangaroo +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/GM4E01.ini b/Data/User/GameConfig/GM4E01.ini index c63b0d8a1b..5daa37570e 100644 --- a/Data/User/GameConfig/GM4E01.ini +++ b/Data/User/GameConfig/GM4E01.ini @@ -128,4 +128,3 @@ PH_ZNear = PH_ZFar = [Gecko] [Core] -VBeam = 1 diff --git a/Data/User/GameConfig/GM4J01.ini b/Data/User/GameConfig/GM4J01.ini index 9431bc933a..b9d39df920 100644 --- a/Data/User/GameConfig/GM4J01.ini +++ b/Data/User/GameConfig/GM4J01.ini @@ -14,4 +14,3 @@ PH_ZNear = PH_ZFar = [Gecko] [Core] -VBeam = 1 diff --git a/Data/User/GameConfig/GM4P01.ini b/Data/User/GameConfig/GM4P01.ini index f9cd8b3a71..1ab428de05 100644 --- a/Data/User/GameConfig/GM4P01.ini +++ b/Data/User/GameConfig/GM4P01.ini @@ -139,4 +139,3 @@ $Goraud Shading [Video] ProjectionHack = 0 [Core] -VBeam = 1 diff --git a/Data/User/GameConfig/GMSP01.ini b/Data/User/GameConfig/GMSP01.ini index d104e0f26a..b2b0b8d251 100644 --- a/Data/User/GameConfig/GMSP01.ini +++ b/Data/User/GameConfig/GMSP01.ini @@ -5,9 +5,6 @@ EmulationStateId = 4 EmulationIssues = needs EFB to Ram [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(M) -00E60ADD 98000000 -C4347930 00000200 $99 Lives 00E60ADE 18000000 00570967 00000063 diff --git a/Data/User/GameConfig/GNWE69.ini b/Data/User/GameConfig/GNWE69.ini index 6b538fea9c..b48f5843da 100644 --- a/Data/User/GameConfig/GNWE69.ini +++ b/Data/User/GameConfig/GNWE69.ini @@ -9,8 +9,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C426D8F0 0000FF01 $Max/Infinite Cash 044477E0 05F5E0FF 040476F4 80AD0000 diff --git a/Data/User/GameConfig/GO7P69.ini b/Data/User/GameConfig/GO7P69.ini index d39a8b9f2c..8ac8832e28 100644 --- a/Data/User/GameConfig/GO7P69.ini +++ b/Data/User/GameConfig/GO7P69.ini @@ -4,18 +4,6 @@ EmulationIssues= [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(M) -018010A2 98000000 -0C554E8C 4E800020 -C4554E8C 0000FF00 -4C169C34 4E800020 -C4169C34 0002FF01 -C415795C 0000FF03 -0C5036C0 4E800020 -C45036C0 0000FF04 -4C1C3498 4E800020 -C41C3498 0000FF05 -C41438BC 0000FF06 $Infinite Health 0180E47C 18000000 diff --git a/Data/User/GameConfig/GOME01.ini b/Data/User/GameConfig/GOME01.ini index 21d099781a..e152298243 100644 --- a/Data/User/GameConfig/GOME01.ini +++ b/Data/User/GameConfig/GOME01.ini @@ -5,8 +5,6 @@ EmulationStateId = 4 EmulationIssues = Bad Graphics [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(M) -C4091E74 0000FF01 $Score Once To Win Game 00537C69 00000003 0053932A 00000003 diff --git a/Data/User/GameConfig/GOWD69.ini b/Data/User/GameConfig/GOWD69.ini new file mode 100644 index 0000000000..b72311394e --- /dev/null +++ b/Data/User/GameConfig/GOWD69.ini @@ -0,0 +1,16 @@ +# GOWD69 - NFS Most Wanted +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Videos are messed up, skip them. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GOWE69.ini b/Data/User/GameConfig/GOWE69.ini index 055236f92c..e3ec320abd 100644 --- a/Data/User/GameConfig/GOWE69.ini +++ b/Data/User/GameConfig/GOWE69.ini @@ -1,7 +1,16 @@ # GOWE69 - NFS Most Wanted [Core] Values set here will override the main dolphin settings. +TLBHack = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 4 -EmulationIssues = Some GFX Glitches And may be slow. +EmulationIssues = Videos are messed up, skip them. [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GOWF69.ini b/Data/User/GameConfig/GOWF69.ini new file mode 100644 index 0000000000..a6e4e56de3 --- /dev/null +++ b/Data/User/GameConfig/GOWF69.ini @@ -0,0 +1,16 @@ +# GOWF69 - NFS Most Wanted +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Videos are messed up, skip them. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GOWJ69.ini b/Data/User/GameConfig/GOWJ69.ini new file mode 100644 index 0000000000..dfd9602e7e --- /dev/null +++ b/Data/User/GameConfig/GOWJ69.ini @@ -0,0 +1,16 @@ +# GOWJ69 - NFS Most Wanted +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Videos are messed up, skip them. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GOWP69.ini b/Data/User/GameConfig/GOWP69.ini new file mode 100644 index 0000000000..9d85f68fb0 --- /dev/null +++ b/Data/User/GameConfig/GOWP69.ini @@ -0,0 +1,16 @@ +# GOWP69 - NFS Most Wanted +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Videos are messed up, skip them. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Data/User/GameConfig/GOYE69.ini b/Data/User/GameConfig/GOYE69.ini index 808f83e4e9..6657678869 100644 --- a/Data/User/GameConfig/GOYE69.ini +++ b/Data/User/GameConfig/GOYE69.ini @@ -6,13 +6,6 @@ EmulationIssues = Videos are messed up, skip them. EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -0C3F0328 4E800020 -C43F0328 0000FF01 -0C0135B8 4E800020 -C40135B8 0000FF02 -0C71AEC8 4E800020 -C471AEC8 0000FF03 $Never Lose Health 040A0D44 60000000 $Never Lose Armor diff --git a/Data/User/GameConfig/GP5E01.ini b/Data/User/GameConfig/GP5E01.ini index 96b6520c59..7100d2d403 100644 --- a/Data/User/GameConfig/GP5E01.ini +++ b/Data/User/GameConfig/GP5E01.ini @@ -7,9 +7,6 @@ EmulationIssues = #Add memory patches to be loaded once on boot here. [OnFrame] [ActionReplay] -$(M) -044E31C5 88000000 -C4154E00 0000FF00 $All Mini-Games Unlocked 044E31C6 08000000 0222A77C 0005FFFF diff --git a/Data/User/GameConfig/GPHD52.ini b/Data/User/GameConfig/GPHD52.ini new file mode 100644 index 0000000000..7e3bdfa85e --- /dev/null +++ b/Data/User/GameConfig/GPHD52.ini @@ -0,0 +1,14 @@ +# GPHD52 - Pitfall: The Lost Expedition +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 + diff --git a/Data/User/GameConfig/GPHP52.ini b/Data/User/GameConfig/GPHP52.ini new file mode 100644 index 0000000000..72316bf234 --- /dev/null +++ b/Data/User/GameConfig/GPHP52.ini @@ -0,0 +1,14 @@ +# GPHP52 - Pitfall: The Lost Expedition +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 + diff --git a/Data/User/GameConfig/GPIE01.ini b/Data/User/GameConfig/GPIE01.ini index 8a9256b879..9f166265bc 100644 --- a/Data/User/GameConfig/GPIE01.ini +++ b/Data/User/GameConfig/GPIE01.ini @@ -7,9 +7,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] [ActionReplay] -$(m) -04CE586A 88000000 -C4205638 0000FF00 $Infinite Health: Captain Olimar 04CE586B 08000000 423D1E50 006C42C8 diff --git a/Data/User/GameConfig/GPNP08.ini b/Data/User/GameConfig/GPNP08.ini index 6903360604..148980cb6f 100644 --- a/Data/User/GameConfig/GPNP08.ini +++ b/Data/User/GameConfig/GPNP08.ini @@ -10,10 +10,6 @@ EmulationStateId = 4 [ActionReplay] #Add decrypted action replay cheats here. -$(m) (Updated Master Code From GCNrd) -03E04B5F 98000000 -C41118D4 0000FF01 - $Title Screen Picture Swapper;L+D-Pad Left = Prima Fusion; L+D-Pad Right = Black Bird;L+D-Pad Down = Papillion 03E017EC 18000000 0A19FB0E 00000041 diff --git a/Data/User/GameConfig/GPSE8P.ini b/Data/User/GameConfig/GPSE8P.ini index 0f76245508..5d99a75f22 100644 --- a/Data/User/GameConfig/GPSE8P.ini +++ b/Data/User/GameConfig/GPSE8P.ini @@ -1,8 +1,8 @@ # GPSE8P - PSO CARD BATTLE [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationStateId = 1 -EmulationIssues = +EmulationStateId = 4 +EmulationIssues = Needs Real Xfb for the videos to display. D3D11 has issues. [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. [Video] @@ -13,3 +13,7 @@ PH_ExtraParam = 0 PH_ZNear = PH_ZFar = [Gecko] +[Video_Settings] +UseXFB = True +UseRealXFB = True +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/GPVE01.ini b/Data/User/GameConfig/GPVE01.ini index 99e38b6f21..f59dae22e8 100644 --- a/Data/User/GameConfig/GPVE01.ini +++ b/Data/User/GameConfig/GPVE01.ini @@ -10,10 +10,6 @@ EmulationStateId = 2 [ActionReplay] #Add decrypted action replay cheats here. -$(M) -05B4DC4E 88000000 -C40F5B4C 0000FF01 - $Infinite Health 05B4DC4F 08000000 04144540 60000000 diff --git a/Data/User/GameConfig/GQSEAF.ini b/Data/User/GameConfig/GQSEAF.ini index df7fae9cf3..c0eee4cb00 100644 --- a/Data/User/GameConfig/GQSEAF.ini +++ b/Data/User/GameConfig/GQSEAF.ini @@ -429,9 +429,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(M) (Datel) -05A0DBAC 88000000 -C4114108 0000FF01 $Infinite Gald 05A0DBAD 08000000 045B68C0 05F5E0FF diff --git a/Data/User/GameConfig/GREE08.ini b/Data/User/GameConfig/GREE08.ini index 378288f10e..e37e3275be 100644 --- a/Data/User/GameConfig/GREE08.ini +++ b/Data/User/GameConfig/GREE08.ini @@ -7,9 +7,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(m) -0358272E 88000000 -C42F7B90 0000FF00 $Infinite Health 0358272F 08000000 424FFC30 0008270F diff --git a/Data/User/GameConfig/GRNE52.ini b/Data/User/GameConfig/GRNE52.ini index 5acfae2fd8..d5aadc11dc 100644 --- a/Data/User/GameConfig/GRNE52.ini +++ b/Data/User/GameConfig/GRNE52.ini @@ -5,9 +5,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] [ActionReplay] -$(m) -00260171 88000000 -C40CDD58 00000800 $Infinite health 0026005B 08000000 0218777E 00000063 diff --git a/Data/User/GameConfig/GRSPAF.ini b/Data/User/GameConfig/GRSPAF.ini index afb3c53169..43154ce375 100644 --- a/Data/User/GameConfig/GRSPAF.ini +++ b/Data/User/GameConfig/GRSPAF.ini @@ -5,9 +5,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(M) -03EC2BE2 98000000 -C4193E28 0000FF00 $Infinite Time 03EC2BE3 18000000 043A3694 00000063 diff --git a/Data/User/GameConfig/GRUE78.ini b/Data/User/GameConfig/GRUE78.ini index 2ec6ad5185..dc46e16e61 100644 --- a/Data/User/GameConfig/GRUE78.ini +++ b/Data/User/GameConfig/GRUE78.ini @@ -5,8 +5,6 @@ EmulationIssues = Needs Real XFB to display videos. EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(M) -C413F568 0000FF01 $Infinite Health 04069830 38000004 $Quick Dino Bolts diff --git a/Data/User/GameConfig/GSAP01.ini b/Data/User/GameConfig/GSAP01.ini index c0f3c41a47..53f97d11be 100644 --- a/Data/User/GameConfig/GSAP01.ini +++ b/Data/User/GameConfig/GSAP01.ini @@ -5,9 +5,6 @@ EmulationStateId = 2 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(m) -017E1098 98000000 -C404AC04 0000FF01 $Fox: Infinite Health 017E1099 18000000 023A4A54 00001C1C diff --git a/Data/User/GameConfig/GSSE8P.ini b/Data/User/GameConfig/GSSE8P.ini index 91802d2e33..47f67fbf00 100644 --- a/Data/User/GameConfig/GSSE8P.ini +++ b/Data/User/GameConfig/GSSE8P.ini @@ -5,8 +5,6 @@ EmulationIssues = Needs real xfb for the videos to display. EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C419DA20 00000800 $El Fuego Have Tons Of Cash 04238F74 05F5E0FF $Spirit Have Tons Of Cash diff --git a/Data/User/GameConfig/GSWE64.ini b/Data/User/GameConfig/GSWE64.ini index 75f82caf63..95246f3c8f 100644 --- a/Data/User/GameConfig/GSWE64.ini +++ b/Data/User/GameConfig/GSWE64.ini @@ -3,7 +3,6 @@ MMU = 1 BAT = 1 FastDiscSpeed = 1 -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationIssues = EmulationStateId = 3 diff --git a/Data/User/GameConfig/GSWP64.ini b/Data/User/GameConfig/GSWP64.ini index c580edee4f..3083317042 100644 --- a/Data/User/GameConfig/GSWP64.ini +++ b/Data/User/GameConfig/GSWP64.ini @@ -3,7 +3,6 @@ MMU = 1 BAT = 1 FastDiscSpeed = 1 -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationIssues = EmulationStateId = 3 diff --git a/Data/User/GameConfig/GSWS64.ini b/Data/User/GameConfig/GSWS64.ini index 8bcb77f296..5f3512743a 100644 --- a/Data/User/GameConfig/GSWS64.ini +++ b/Data/User/GameConfig/GSWS64.ini @@ -3,7 +3,6 @@ MMU = 1 BAT = 1 FastDiscSpeed = 1 -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationIssues = EmulationStateId = 3 diff --git a/Data/User/GameConfig/GT6E70.ini b/Data/User/GameConfig/GT6E70.ini index 0ac6253eb4..6794440dca 100644 --- a/Data/User/GameConfig/GT6E70.ini +++ b/Data/User/GameConfig/GT6E70.ini @@ -6,8 +6,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$Master Code -C4389A80 0000FF01 $Infinite Health 04197798 60000000 041977A4 D01F016C diff --git a/Data/User/GameConfig/GTEE01.ini b/Data/User/GameConfig/GTEE01.ini index d9746e96e4..6434e1fb94 100644 --- a/Data/User/GameConfig/GTEE01.ini +++ b/Data/User/GameConfig/GTEE01.ini @@ -5,8 +5,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(M) -C413E40C 0000FF01 $Infinite Health 04272F18 0000003C $Max Power diff --git a/Data/User/GameConfig/GTSE4F.ini b/Data/User/GameConfig/GTSE4F.ini index 236227829e..781f52218c 100644 --- a/Data/User/GameConfig/GTSE4F.ini +++ b/Data/User/GameConfig/GTSE4F.ini @@ -9,8 +9,6 @@ EmulationIssues = can crash on some systems(unknown) #Add memory patches to be loaded once on boot here. [OnFrame] [ActionReplay] -$(M) (Datel) -C427768C 0000FF00 $Inf Ammo/No Reloads 04122D9C 60000000 04122D70 60000000 diff --git a/Data/User/GameConfig/GUNE5D.ini b/Data/User/GameConfig/GUNE5D.ini index a1879e42e4..306890609b 100644 --- a/Data/User/GameConfig/GUNE5D.ini +++ b/Data/User/GameConfig/GUNE5D.ini @@ -7,9 +7,6 @@ EmulationStateId = 5 EmulationIssues = [OnFrame] [ActionReplay] -$(m) -0020016E 88000000 -C40FE518 00000800 $Player 1 health 9999 0020004A 08000000 04277374 461C3C00 diff --git a/Data/User/GameConfig/GWLX6L.ini b/Data/User/GameConfig/GWLX6L.ini index ae259eb466..cd4408b3e5 100644 --- a/Data/User/GameConfig/GWLX6L.ini +++ b/Data/User/GameConfig/GWLX6L.ini @@ -1,8 +1,10 @@ # GWLX6L - Project Zoo [Core] Values set here will override the main dolphin settings. -TLBHack=1 +TLBHack = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationStateId = 2 -EmulationIssues = Unespecified codes,report to devs +EmulationStateId = 4 +EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. ++$Bypass FIFO reset +0x8028EE80:dword:0x48000638 [ActionReplay] Add action replay cheats here. diff --git a/Data/User/GameConfig/GWRE01.ini b/Data/User/GameConfig/GWRE01.ini index 17d0f32cdf..73de1f2ea0 100644 --- a/Data/User/GameConfig/GWRE01.ini +++ b/Data/User/GameConfig/GWRE01.ini @@ -5,8 +5,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. -$(m) -C4116318 00000800 $Always 0 missed Buoys 046199F4 00000000 $Always turbo diff --git a/Data/User/GameConfig/GWRP01.ini b/Data/User/GameConfig/GWRP01.ini index bdeeeb8654..74347b2c20 100644 --- a/Data/User/GameConfig/GWRP01.ini +++ b/Data/User/GameConfig/GWRP01.ini @@ -7,8 +7,6 @@ EmulationIssues = [Video] ProjectionHack = 0 [ActionReplay] Add action replay cheats here. -$(M) -C411794C 00000800 $Always First Place 0061C57B 00000000 $Never Out of Bounds diff --git a/Data/User/GameConfig/GX2P52.ini b/Data/User/GameConfig/GX2P52.ini new file mode 100644 index 0000000000..d57566d6f6 --- /dev/null +++ b/Data/User/GameConfig/GX2P52.ini @@ -0,0 +1,18 @@ +# GX2P52 - X-Men Legends 2: Rise of Apocalypse +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 3 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Enhancements] + diff --git a/Data/User/GameConfig/GX3P41.ini b/Data/User/GameConfig/GX3P41.ini index f7d136347c..ed40ef469a 100644 --- a/Data/User/GameConfig/GX3P41.ini +++ b/Data/User/GameConfig/GX3P41.ini @@ -4,7 +4,7 @@ TLBHack = 1 MMU = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 4 -EmulationIssues = Needs real xfb for the videos to show up (r6906) +EmulationIssues = Needs real xfb for the videos to show up. [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. [Video] diff --git a/Data/User/GameConfig/GX3X41.ini b/Data/User/GameConfig/GX3X41.ini new file mode 100644 index 0000000000..377ada9d50 --- /dev/null +++ b/Data/User/GameConfig/GX3X41.ini @@ -0,0 +1,21 @@ +# GX3X41 - XIII +[Core] Values set here will override the main dolphin settings. +TLBHack = 1 +MMU = 1 +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Needs real xfb for the videos to show up. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +UseXFB = True +UseRealXFB = True + diff --git a/Data/User/GameConfig/GXSP8P.ini b/Data/User/GameConfig/GXSP8P.ini index 1729479301..97bf5797f5 100644 --- a/Data/User/GameConfig/GXSP8P.ini +++ b/Data/User/GameConfig/GXSP8P.ini @@ -4,14 +4,6 @@ EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] -$(m) -038C28E4 98000000 -C4046DD0 0000FF00 -040032C0 3FE08000 -040032C4 90BF32BC -040032C8 7CBF2B78 -040032CC 483E1C18 -043E4EE0 4BC1E3E0 $999 Rings 038C28E5 18000000 027884C8 000003E6 diff --git a/Data/User/GameConfig/GZ2P01.ini b/Data/User/GameConfig/GZ2P01.ini index a226bf296d..1f717e63c5 100644 --- a/Data/User/GameConfig/GZ2P01.ini +++ b/Data/User/GameConfig/GZ2P01.ini @@ -9,8 +9,6 @@ EmulationStateId = 4 EmulationIssues = [OnFrame] [ActionReplay] -$(M) -C435E298 0000FF01 $Infinite Health 00408163 00000050 $Max Health diff --git a/Data/User/GameConfig/GZLE01.ini b/Data/User/GameConfig/GZLE01.ini index adf073b2ce..1efdf7f2ef 100644 --- a/Data/User/GameConfig/GZLE01.ini +++ b/Data/User/GameConfig/GZLE01.ini @@ -20,8 +20,6 @@ $Snow test room 0x803C9D48:dword:0x49546573 0x803C9D4C:dword:0x74363200 [ActionReplay] -$Master Code (useless) -C4323EA8 0000FF00 $Shadow Link 423BCDA0 00BCFFFF 423BCDA0 00BDFF87 diff --git a/Data/User/GameConfig/GZLP01.ini b/Data/User/GameConfig/GZLP01.ini index 1b502564f7..94ba72f520 100644 --- a/Data/User/GameConfig/GZLP01.ini +++ b/Data/User/GameConfig/GZLP01.ini @@ -21,8 +21,6 @@ $Snow test room 0x803C9D48:dword:0x49546573 0x803C9D4C:dword:0x74363200 [ActionReplay] -$(M) -C4329400 0000FF00 $Maximum Health 003CC531 00000050 $Infinite Health diff --git a/Data/User/GameConfig/JAAE01.ini b/Data/User/GameConfig/JAAE01.ini index ad577becc9..96dab75a98 100644 --- a/Data/User/GameConfig/JAAE01.ini +++ b/Data/User/GameConfig/JAAE01.ini @@ -1,8 +1,17 @@ -# JAAE01 - Super Mario World -[Core] Values set here will override the main dolphin settings. -[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = No Sound -EmulationStateId = 4 -[OnFrame] Add memory patches to be applied every frame here. -[ActionReplay] Add action replay cheats here. -[Video] \ No newline at end of file +# JAAE01 - Super Mario World +[Core] Values set here will override the main dolphin settings. +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationIssues = +EmulationStateId = 4 +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 512 diff --git a/Data/User/GameConfig/RBHE08.ini b/Data/User/GameConfig/RBHE08.ini index 80fb2a796e..2def435787 100644 --- a/Data/User/GameConfig/RBHE08.ini +++ b/Data/User/GameConfig/RBHE08.ini @@ -1,6 +1,5 @@ # RBHE08 - Resident Evil Archives: Resident Evil Zero [Core] Values set here will override the main dolphin settings. -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 5 EmulationIssues = diff --git a/Data/User/GameConfig/RBHJ08.ini b/Data/User/GameConfig/RBHJ08.ini index 7ed45e1ee7..6ff5f267ba 100644 --- a/Data/User/GameConfig/RBHJ08.ini +++ b/Data/User/GameConfig/RBHJ08.ini @@ -1,6 +1,5 @@ # RBHJ08 - Biohazard 0 [Core] Values set here will override the main dolphin settings. -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 5 EmulationIssues = diff --git a/Data/User/GameConfig/RBHP08.ini b/Data/User/GameConfig/RBHP08.ini index ee4c6ec35f..0703e1fc4f 100644 --- a/Data/User/GameConfig/RBHP08.ini +++ b/Data/User/GameConfig/RBHP08.ini @@ -1,6 +1,5 @@ # RBHP08 - Resident Evil Archives: Resident Evil Zero [Core] Values set here will override the main dolphin settings. -VBeam = 1 [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 5 EmulationIssues = diff --git a/Data/User/GameConfig/SB3E08.ini b/Data/User/GameConfig/SB3E08.ini index 110fee08ed..ce8e25554e 100644 --- a/Data/User/GameConfig/SB3E08.ini +++ b/Data/User/GameConfig/SB3E08.ini @@ -1,7 +1,7 @@ # SB3E08 - BASARA [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Audio synch issues during dialogues, otherwise perfect +EmulationIssues = EmulationStateId = 5 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. diff --git a/Data/User/GameConfig/SB3J08.ini b/Data/User/GameConfig/SB3J08.ini index e7b6b6a3ef..70805a3243 100644 --- a/Data/User/GameConfig/SB3J08.ini +++ b/Data/User/GameConfig/SB3J08.ini @@ -1,7 +1,7 @@ # SB3J08 - BASARA [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Audio synch issues during dialogues, otherwise perfect +EmulationIssues = EmulationStateId = 5 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. diff --git a/Data/User/GameConfig/SB3P08.ini b/Data/User/GameConfig/SB3P08.ini index e6d3b168ea..bd1677f5eb 100644 --- a/Data/User/GameConfig/SB3P08.ini +++ b/Data/User/GameConfig/SB3P08.ini @@ -1,7 +1,7 @@ # SB3P08 - BASARA [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Audio synch issues during dialogues, otherwise perfect +EmulationIssues = EmulationStateId = 5 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. diff --git a/Data/User/GameConfig/SLWE41.ini b/Data/User/GameConfig/SLWE41.ini new file mode 100644 index 0000000000..8c6c850c01 --- /dev/null +++ b/Data/User/GameConfig/SLWE41.ini @@ -0,0 +1,18 @@ +# SLWE41 - Where's Waldo? The Fantastic Journey +[Core] Values set here will override the main dolphin settings. +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = Needs Real Xfb for the pointer to appear. +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +UseXFB = True +UseRealXFB = True diff --git a/Data/User/GameConfig/SVBE52.ini b/Data/User/GameConfig/SVBE52.ini new file mode 100644 index 0000000000..30756bcb27 --- /dev/null +++ b/Data/User/GameConfig/SVBE52.ini @@ -0,0 +1,17 @@ +# SVBE52 - Battleship +[Core] Values set here will override the main dolphin settings. +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 0 diff --git a/Data/User/GameConfig/SVBP52.ini b/Data/User/GameConfig/SVBP52.ini new file mode 100644 index 0000000000..8095983a48 --- /dev/null +++ b/Data/User/GameConfig/SVBP52.ini @@ -0,0 +1,17 @@ +# SVBP52 - Battleship +[Core] Values set here will override the main dolphin settings. +[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. +EmulationStateId = 4 +EmulationIssues = +[OnFrame] Add memory patches to be applied every frame here. +[ActionReplay] Add action replay cheats here. +[Video] +ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] +[Video_Settings] +SafeTextureCacheColorSamples = 0 diff --git a/Data/User/GameConfig/W8CEXS.ini b/Data/User/GameConfig/W8CEXS.ini index dcaeed3473..7607ca4e5f 100644 --- a/Data/User/GameConfig/W8CEXS.ini +++ b/Data/User/GameConfig/W8CEXS.ini @@ -1,10 +1,15 @@ # W8CEXS - BIT.TRIP CORE [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationStateId = 1 -EmulationIssues = Requires a Wii save game to boot +EmulationStateId = 4 +EmulationIssues = [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. [Video] ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = [Gecko] diff --git a/Data/User/GameConfig/WILETL.ini b/Data/User/GameConfig/WILETL.ini index e8823e2ae1..0be2cca3c9 100644 --- a/Data/User/GameConfig/WILETL.ini +++ b/Data/User/GameConfig/WILETL.ini @@ -2,8 +2,14 @@ [Core] Values set here will override the main dolphin settings. [EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationIssues = -EmulationStateId = 1 +EmulationStateId = 4 [OnFrame] Add memory patches to be applied every frame here. [ActionReplay] Add action replay cheats here. [Video] ProjectionHack = 0 +PH_SZNear = 0 +PH_SZFar = 0 +PH_ExtraParam = 0 +PH_ZNear = +PH_ZFar = +[Gecko] diff --git a/Externals/GLES3/GLES3/gl3.h b/Externals/GLES3/GLES3/gl3.h new file mode 100644 index 0000000000..2360101b6d --- /dev/null +++ b/Externals/GLES3/GLES3/gl3.h @@ -0,0 +1,1035 @@ +#ifndef __gl3_h_ +#define __gl3_h_ + +/* + * gl3.h last updated on $Date: 2013-02-12 14:37:24 -0800 (Tue, 12 Feb 2013) $ + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Copyright (c) 2007-2013 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/*------------------------------------------------------------------------- + * Data type definitions + *-----------------------------------------------------------------------*/ + +/* OpenGL ES 2.0 */ + +typedef void GLvoid; +typedef char GLchar; +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef khronos_int8_t GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLsizei; +typedef khronos_uint8_t GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef khronos_float_t GLfloat; +typedef khronos_float_t GLclampf; +typedef khronos_int32_t GLfixed; +typedef khronos_intptr_t GLintptr; +typedef khronos_ssize_t GLsizeiptr; + +/* OpenGL ES 3.0 */ + +typedef unsigned short GLhalf; +typedef khronos_int64_t GLint64; +typedef khronos_uint64_t GLuint64; +typedef struct __GLsync *GLsync; + +/*------------------------------------------------------------------------- + * Token definitions + *-----------------------------------------------------------------------*/ + +/* OpenGL ES core versions */ +#define GL_ES_VERSION_3_0 1 +#define GL_ES_VERSION_2_0 1 + +/* OpenGL ES 2.0 */ + +/* ClearBufferMask */ +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 + +/* Boolean */ +#define GL_FALSE 0 +#define GL_TRUE 1 + +/* BeginMode */ +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 + +/* BlendingFactorDest */ +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 + +/* BlendingFactorSrc */ +/* GL_ZERO */ +/* GL_ONE */ +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +/* GL_SRC_ALPHA */ +/* GL_ONE_MINUS_SRC_ALPHA */ +/* GL_DST_ALPHA */ +/* GL_ONE_MINUS_DST_ALPHA */ + +/* BlendEquationSeparate */ +#define GL_FUNC_ADD 0x8006 +#define GL_BLEND_EQUATION 0x8009 +#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ +#define GL_BLEND_EQUATION_ALPHA 0x883D + +/* BlendSubtract */ +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B + +/* Separate Blend Functions */ +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BLEND_COLOR 0x8005 + +/* Buffer Objects */ +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 + +#define GL_STREAM_DRAW 0x88E0 +#define GL_STATIC_DRAW 0x88E4 +#define GL_DYNAMIC_DRAW 0x88E8 + +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 + +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 + +/* CullFaceMode */ +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_FRONT_AND_BACK 0x0408 + +/* DepthFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* EnableCap */ +#define GL_TEXTURE_2D 0x0DE1 +#define GL_CULL_FACE 0x0B44 +#define GL_BLEND 0x0BE2 +#define GL_DITHER 0x0BD0 +#define GL_STENCIL_TEST 0x0B90 +#define GL_DEPTH_TEST 0x0B71 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_COVERAGE 0x80A0 + +/* ErrorCode */ +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 + +/* FrontFaceDirection */ +#define GL_CW 0x0900 +#define GL_CCW 0x0901 + +/* GetPName */ +#define GL_LINE_WIDTH 0x0B21 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +/* GL_SCISSOR_TEST */ +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +/* GL_POLYGON_OFFSET_FILL */ +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB + +/* GetTextureParameter */ +/* GL_TEXTURE_MAG_FILTER */ +/* GL_TEXTURE_MIN_FILTER */ +/* GL_TEXTURE_WRAP_S */ +/* GL_TEXTURE_WRAP_T */ + +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 + +/* HintMode */ +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 + +/* HintTarget */ +#define GL_GENERATE_MIPMAP_HINT 0x8192 + +/* DataType */ +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_FIXED 0x140C + +/* PixelFormat */ +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A + +/* PixelType */ +/* GL_UNSIGNED_BYTE */ +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 + +/* Shaders */ +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_SHADER_TYPE 0x8B4F +#define GL_DELETE_STATUS 0x8B80 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D + +/* StencilFunction */ +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 + +/* StencilOp */ +/* GL_ZERO */ +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_INVERT 0x150A +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 + +/* StringName */ +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 + +/* TextureMagFilter */ +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 + +/* TextureMinFilter */ +/* GL_NEAREST */ +/* GL_LINEAR */ +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 + +/* TextureParameterName */ +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 + +/* TextureTarget */ +/* GL_TEXTURE_2D */ +#define GL_TEXTURE 0x1702 + +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C + +/* TextureUnit */ +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 + +/* TextureWrapMode */ +#define GL_REPEAT 0x2901 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_MIRRORED_REPEAT 0x8370 + +/* Uniform Types */ +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_CUBE 0x8B60 + +/* Vertex Arrays */ +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F + +/* Read Format */ +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B + +/* Shader Source */ +#define GL_COMPILE_STATUS 0x8B81 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_SHADER_COMPILER 0x8DFA + +/* Shader Binary */ +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 + +/* Shader Precision-Specified Types */ +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 + +/* Framebuffer Object. */ +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 + +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGB565 0x8D62 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_STENCIL_INDEX8 0x8D48 + +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 + +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 + +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 + +#define GL_NONE 0 + +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD + +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 + +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 + +/* OpenGL ES 3.0 */ + +#define GL_READ_BUFFER 0x0C02 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_RED 0x1903 +#define GL_RGB8 0x8051 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_RG8 0x822B +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_COPY_READ_BUFFER_BINDING GL_COPY_READ_BUFFER +#define GL_COPY_WRITE_BUFFER_BINDING GL_COPY_WRITE_BUFFER +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFFu +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_INT_2_10_10_10_REV 0x8D9F +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_NUM_SAMPLE_COUNTS 0x9380 +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF + +/*------------------------------------------------------------------------- + * Entrypoint definitions + *-----------------------------------------------------------------------*/ + +/* OpenGL ES 2.0 */ + +GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); +GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); +GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); +GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); +GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); +GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode); +GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); +GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); +GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); +GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); +GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); +GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat depth); +GL_APICALL void GL_APIENTRY glClearStencil (GLint s); +GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); +GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); +GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); +GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); +GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); +GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); +GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); +GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); +GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); +GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); +GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); +GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); +GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f); +GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glDisable (GLenum cap); +GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); +GL_APICALL void GL_APIENTRY glEnable (GLenum cap); +GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glFinish (void); +GL_APICALL void GL_APIENTRY glFlush (void); +GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); +GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); +GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); +GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); +GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); +GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); +GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); +GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); +GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); +GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL GLenum GL_APIENTRY glGetError (void); +GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); +GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); +GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); +GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); +GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); +GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); +GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); +GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); +GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); +GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); +GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); +GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); +GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); +GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); +GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); +GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); +GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); +GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); +GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); +GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); +GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert); +GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); +GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); +GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); +GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); +GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); +GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); +GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); +GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); +GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); +GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); +GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); +GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); +GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); +GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); +GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); +GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); +GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); + +/* OpenGL ES 3.0 */ + +GL_APICALL void GL_APIENTRY glReadBuffer (GLenum mode); +GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices); +GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); +GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id); +GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, GLvoid** params); +GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum* bufs); +GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length); +GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array); +GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint* data); +GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode); +GL_APICALL void GL_APIENTRY glEndTransformFeedback (void); +GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer); +GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode); +GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); +GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer); +GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params); +GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w); +GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint* v); +GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint* v); +GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint* params); +GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name); +GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0); +GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1); +GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2); +GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint* value); +GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint* value); +GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint* value); +GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint* value); +GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint* value); +GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint* value); +GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat* value); +GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GL_APICALL const GLubyte* GL_APIENTRY glGetStringi (GLenum name, GLuint index); +GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices); +GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); +GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount); +GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount); +GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync); +GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); +GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64* params); +GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values); +GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64* data); +GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64* params); +GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler); +GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint* param); +GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor); +GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id); +GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint* ids); +GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint* ids); +GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id); +GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void); +GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void); +GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments); +GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Externals/GLES3/GLES3/gl3ext.h b/Externals/GLES3/GLES3/gl3ext.h new file mode 100644 index 0000000000..4d4ea96c4d --- /dev/null +++ b/Externals/GLES3/GLES3/gl3ext.h @@ -0,0 +1,24 @@ +#ifndef __gl3ext_h_ +#define __gl3ext_h_ + +/* $Revision: 17809 $ on $Date:: 2012-05-14 08:03:36 -0700 #$ */ + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +/* OpenGL ES 3 Extensions + * + * After an OES extension's interactions with OpenGl ES 3.0 have been documented, + * its tokens and function definitions should be added to this file in a manner + * that does not conflict with gl2ext.h or gl3.h. + * + * Tokens and function definitions for extensions that have become standard + * features in OpenGL ES 3.0 will not be added to this file. + * + * Applications using OpenGL-ES-2-only extensions should include gl2ext.h + */ + +#endif /* __gl3ext_h_ */ + diff --git a/Externals/GLES3/GLES3/gl3platform.h b/Externals/GLES3/GLES3/gl3platform.h new file mode 100644 index 0000000000..1bd1a850fa --- /dev/null +++ b/Externals/GLES3/GLES3/gl3platform.h @@ -0,0 +1,30 @@ +#ifndef __gl3platform_h_ +#define __gl3platform_h_ + +/* $Revision: 18437 $ on $Date:: 2012-07-08 23:31:39 -0700 #$ */ + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h + * + * Adopters may modify khrplatform.h and this file to suit their platform. + * You are encouraged to submit all modifications to the Khronos group so that + * they can be included in future versions of this file. Please submit changes + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) + * by filing a bug against product "OpenGL-ES" component "Registry". + */ + +#include + +#ifndef GL_APICALL +#define GL_APICALL KHRONOS_APICALL +#endif + +#ifndef GL_APIENTRY +#define GL_APIENTRY KHRONOS_APIENTRY +#endif + +#endif /* __gl3platform_h_ */ diff --git a/Externals/android-menudrawer/.gitignore b/Externals/android-menudrawer/.gitignore deleted file mode 100644 index fdb137a854..0000000000 --- a/Externals/android-menudrawer/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -/* - -!.gitignore -!.travis.yml -!CHANGELOG.md -!README.md -!LICENSE -!checkstyle.xml -!pom.xml - -!art/ - -!library/ -library/* -!library/src/ -!library/res/ -!library/AndroidManifest.xml -!library/build.xml -!library/pom.xml -!library/project.properties - -!samples/ -samples/* -!samples/src/ -!samples/res/ -!samples/libs/ -!samples/AndroidManifest.xml -!samples/build.xml -!samples/pom.xml -!samples/project.properties diff --git a/Externals/android-menudrawer/.travis.yml b/Externals/android-menudrawer/.travis.yml deleted file mode 100644 index ee6ec5ca1f..0000000000 --- a/Externals/android-menudrawer/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: java - -notifications: - email: false - -before_install: - - wget http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz - - tar -zxf android-sdk_r21.0.1-linux.tgz - - export ANDROID_HOME=~/builds/SimonVT/android-menudrawer/android-sdk-linux - - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools - - TOOLS=$(android list sdk --no-ui | grep "Android SDK Platform-tools" | cut -d"-" -f1) - - android update sdk --filter "$TOOLS" --no-ui --force - - SDK=$(android list sdk --no-ui | grep ", API 16," | cut -d"-" -f1) - - android update sdk --filter "$SDK" --no-ui --force - -install: - - "mvn package --quiet -DskipTests" - - "mvn verify" diff --git a/Externals/android-menudrawer/CHANGELOG.md b/Externals/android-menudrawer/CHANGELOG.md deleted file mode 100644 index a570a8e420..0000000000 --- a/Externals/android-menudrawer/CHANGELOG.md +++ /dev/null @@ -1,44 +0,0 @@ -Change Log -========== - -Version 2.0.2 *(2013-03-31)* ----------------------------- - * Added listener that makes it possible to disabllow intercepting touch events over - certain views - * Added setter for the maximum animation duration - * Added getter for menu size - * Added methods that enable/disable indicator animation - * Fix: Removed log statements - * Fix: Drawing the active indicator might cause crash if the active view is not a - child of the MenuDrawer - * Fix: Crash in static drawer if no active indicator bitmap was set - -Version 2.0.1 *(2013-02-12)* ----------------------------- - * Indicator now animates between active views - * Fixed restoring state for right/bottom drawer - -Version 2.0.0 *(2013-01-23)* ----------------------------- - - * Major API changes - - * All classes are now in the net.simonvt.menudrawer package. - * MenuDrawerManager no longet exists. Menu is added with MenuDrawer#attach(...). - * Drawer position is now selected with Position enums instead of int constants. - * Width methods/attributes have been renamed to 'size'. - - * Added top/bottom drawer. - * Added static (non-draggable, always visible) drawers. - * The touch bezel size is now configurable with MenuDrawer#setTouchBezelSize(int). - * MenuDrawer#saveState() now only required when dragging the entire window. - * Drawers can now be used in XML layouts. - * Fix: Scroller class caused conflicts with other libraries. - * Fix: No more overdraw when the drawer is closed. - * Fix: Content no longer falls behind when slowly dragging. - - -Version 1.0.0 *(2012-10-30)* ----------------------------- - -Initial release. diff --git a/Externals/android-menudrawer/LICENSE b/Externals/android-menudrawer/LICENSE deleted file mode 100644 index 7a4a3ea242..0000000000 --- a/Externals/android-menudrawer/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/Externals/android-menudrawer/README.md b/Externals/android-menudrawer/README.md deleted file mode 100644 index 1773274860..0000000000 --- a/Externals/android-menudrawer/README.md +++ /dev/null @@ -1,96 +0,0 @@ -MenuDrawer -========== - -A slide-out menu implementation, which allows users to navigate between views -in your app. Most commonly the menu is revealed by either dragging the edge -of the screen, or clicking the 'up' button in the action bar. - - -Features --------- - - * The menu can be positioned along all four edges. - * Supports attaching an always visible, non-draggable menu, which is useful - on e.g. tablets. - * The menu can wrap both the content and the entire window. - * Allows the drawer to be opened by dragging the edge, the entire screen or - not at all. - * Can be used in XML layouts. - * Indicator that shows which screen is currently visible. - - -Usage -===== - -This library is very simple to use. It requires no extension of custom classes, -it's simply added to an activity by calling one of the `MenuDrawer#attach(...)` -methods. - -For more examples on how to use this library, check out the sample app. - - -Left menu ---------- -```java -public class SampleActivity extends Activity { - - private MenuDrawer mDrawer; - - @Override - protected void onCreate(Bundle state) { - super.onCreate(state); - mDrawer = MenuDrawer.attach(this); - mDrawer.setContentView(R.layout.activity_sample); - mDrawer.setMenuView(R.layout.menu_sample); - } -} -``` - - -Right menu ----------- -```java -public class SampleActivity extends Activity { - - private MenuDrawer mDrawer; - - @Override - protected void onCreate(Bundle state) { - super.onCreate(state); - mDrawer = MenuDrawer.attach(this, Position.RIGHT); - mDrawer.setContentView(R.layout.activity_sample); - mDrawer.setMenuView(R.layout.menu_sample); - } -} -``` - - -Credits -======= - - * Cyril Mottier for his [articles][1] on the pattern - - -License -======= - - Copyright 2012 Simon Vig Therkildsen - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - - - - [1]: http://android.cyrilmottier.com/?p=658 diff --git a/Externals/android-menudrawer/art/menu_arrow.svg b/Externals/android-menudrawer/art/menu_arrow.svg deleted file mode 100644 index 05f205a3bf..0000000000 --- a/Externals/android-menudrawer/art/menu_arrow.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/Externals/android-menudrawer/checkstyle.xml b/Externals/android-menudrawer/checkstyle.xml deleted file mode 100644 index beb2c4a7e6..0000000000 --- a/Externals/android-menudrawer/checkstyle.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/AndroidManifest.xml b/Externals/android-menudrawer/library/AndroidManifest.xml deleted file mode 100644 index a77d28a931..0000000000 --- a/Externals/android-menudrawer/library/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/Externals/android-menudrawer/library/build.xml b/Externals/android-menudrawer/library/build.xml deleted file mode 100644 index e5eb1dc0d0..0000000000 --- a/Externals/android-menudrawer/library/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/pom.xml b/Externals/android-menudrawer/library/pom.xml deleted file mode 100644 index b5bd881040..0000000000 --- a/Externals/android-menudrawer/library/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - 4.0.0 - - - net.simonvt - android-menudrawer-parent - 2.0.3-SNAPSHOT - ../pom.xml - - - android-menudrawer - Android MenuDrawer - apklib - - - - com.google.android - android - provided - - - - - src - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - - - - diff --git a/Externals/android-menudrawer/library/project.properties b/Externals/android-menudrawer/library/project.properties deleted file mode 100644 index c81c2d97f5..0000000000 --- a/Externals/android-menudrawer/library/project.properties +++ /dev/null @@ -1,16 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -android.library=true -# Project target. -target=android-17 - diff --git a/Externals/android-menudrawer/library/res/values/attrs.xml b/Externals/android-menudrawer/library/res/values/attrs.xml deleted file mode 100644 index c8ec779700..0000000000 --- a/Externals/android-menudrawer/library/res/values/attrs.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/res/values/colors.xml b/Externals/android-menudrawer/library/res/values/colors.xml deleted file mode 100644 index 2866c6abe6..0000000000 --- a/Externals/android-menudrawer/library/res/values/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - #FF555555 - - diff --git a/Externals/android-menudrawer/library/res/values/ids.xml b/Externals/android-menudrawer/library/res/values/ids.xml deleted file mode 100644 index c6001910b0..0000000000 --- a/Externals/android-menudrawer/library/res/values/ids.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/res/values/styles.xml b/Externals/android-menudrawer/library/res/values/styles.xml deleted file mode 100644 index 415be6d229..0000000000 --- a/Externals/android-menudrawer/library/res/values/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java deleted file mode 100644 index 17f41e2c4c..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java +++ /dev/null @@ -1,226 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class BottomDrawer extends VerticalDrawer { - - private int mIndicatorLeft; - - BottomDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public BottomDrawer(Context context) { - super(context); - } - - public BottomDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public BottomDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(-mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, - new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - final int menuSize = mMenuSize; - - mMenuContainer.layout(0, height - menuSize, width, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(0, offsetPixels, width, height + offsetPixels); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int height = getHeight(); - final int menuSize = mMenuSize; - final float openRatio = (menuSize + (float) offsetPixels) / menuSize; - - if (USE_TRANSLATIONS) { - if (offsetPixels != 0) { - final int offset = (int) (0.25f * (openRatio * menuSize)); - mMenuContainer.setTranslationY(offset); - } else { - mMenuContainer.setTranslationY(height + menuSize); - } - - } else { - final int oldMenuTop = mMenuContainer.getTop(); - final int offsetBy = (int) (0.25f * (openRatio * menuSize)); - final int offset = height - mMenuSize + offsetBy - oldMenuTop; - mMenuContainer.offsetTopAndBottom(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final int height = getHeight(); - - mDropShadowDrawable.setBounds(0, height + offsetPixels, width, height + offsetPixels + mDropShadowSize); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final int height = getHeight(); - final float openRatio = ((float) Math.abs(offsetPixels)) / mMenuSize; - - mMenuOverlay.setBounds(0, height + offsetPixels, width, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int height = getHeight(); - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - final float openRatio = ((float) Math.abs(offsetPixels)) / menuHeight; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedHeight = (int) (indicatorHeight * interpolatedRatio); - - final int indicatorBottom = height + offsetPixels + interpolatedHeight; - final int indicatorTop = indicatorBottom - indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, height + offsetPixels, mIndicatorLeft + indicatorWidth, - indicatorBottom); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } - - @Override - protected void initPeekScroller() { - final int dx = -mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationY(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetTopAndBottom(offsetPixels - mContentContainer.getTop()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getY() < getHeight() + mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - final int height = getHeight(); - return (!mMenuVisible && mInitialMotionY >= height - mTouchSize) - || (mMenuVisible && mInitialMotionY <= height + mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - final int height = getHeight(); - return (!mMenuVisible && mInitialMotionY >= height - mTouchSize && (diff < 0)) - || (mMenuVisible && mInitialMotionY <= height + mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.max(Math.min(mOffsetPixels + dx, 0), -mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionY = ev.getY(); - animateOffsetTo(mVelocityTracker.getYVelocity() < 0 ? -mMenuSize : 0, initialVelocity, - true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getY() < getHeight() + offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java deleted file mode 100644 index df4b5f4997..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class BottomStaticDrawer extends StaticDrawer { - - private int mIndicatorLeft; - - BottomStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public BottomStaticDrawer(Context context) { - super(context); - } - - public BottomStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public BottomStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.BOTTOM; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int height = getHeight(); - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int indicatorTop = height - menuHeight; - final int indicatorBottom = indicatorTop + indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, - indicatorBottom); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java deleted file mode 100644 index 45f5aa13c5..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java +++ /dev/null @@ -1,99 +0,0 @@ -package net.simonvt.menudrawer; - -import android.content.Context; -import android.graphics.Canvas; -import android.util.AttributeSet; -import android.widget.FrameLayout; - -/** - * FrameLayout which caches the hardware layer if available. - *

- * If it's not posted twice the layer either wont be built on start, or it'll be built twice. - */ -public class BuildLayerFrameLayout extends FrameLayout { - - private boolean mChanged; - - private boolean mHardwareLayersEnabled = true; - - private boolean mAttached; - - private boolean mFirst = true; - - public BuildLayerFrameLayout(Context context) { - super(context); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - public BuildLayerFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - public BuildLayerFrameLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - void setHardwareLayersEnabled(boolean enabled) { - mHardwareLayersEnabled = enabled; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - mAttached = true; - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - mAttached = false; - } - - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - - if (MenuDrawer.USE_TRANSLATIONS && mHardwareLayersEnabled) { - post(new Runnable() { - @Override - public void run() { - mChanged = true; - invalidate(); - } - }); - } - } - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - - if (mChanged && MenuDrawer.USE_TRANSLATIONS) { - post(new Runnable() { - @Override - public void run() { - if (mAttached) { - final int layerType = getLayerType(); - // If it's already a hardware layer, it'll be built anyway. - if (layerType != LAYER_TYPE_HARDWARE || mFirst) { - mFirst = false; - setLayerType(LAYER_TYPE_HARDWARE, null); - buildLayer(); - setLayerType(LAYER_TYPE_NONE, null); - } - } - } - }); - - mChanged = false; - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java deleted file mode 100644 index 10a35e7fae..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.simonvt.menudrawer; - -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.ColorFilter; -import android.graphics.Paint; -import android.graphics.PixelFormat; -import android.graphics.drawable.Drawable; - -/** - * A specialized Drawable that fills the Canvas with a specified color. - * Note that a ColorDrawable ignores the ColorFilter. - *

- *

It can be defined in an XML file with the <color> element.

- * - * @attr ref android.R.styleable#ColorDrawable_color - */ -public class ColorDrawable extends Drawable { - - private ColorState mState; - private final Paint mPaint = new Paint(); - - /** Creates a new black ColorDrawable. */ - public ColorDrawable() { - this(null); - } - - /** - * Creates a new ColorDrawable with the specified color. - * - * @param color The color to draw. - */ - public ColorDrawable(int color) { - this(null); - setColor(color); - } - - private ColorDrawable(ColorState state) { - mState = new ColorState(state); - } - - @Override - public int getChangingConfigurations() { - return super.getChangingConfigurations() | mState.mChangingConfigurations; - } - - @Override - public void draw(Canvas canvas) { - if ((mState.mUseColor >>> 24) != 0) { - mPaint.setColor(mState.mUseColor); - canvas.drawRect(getBounds(), mPaint); - } - } - - /** - * Gets the drawable's color value. - * - * @return int The color to draw. - */ - public int getColor() { - return mState.mUseColor; - } - - /** - * Sets the drawable's color value. This action will clobber the results of prior calls to - * {@link #setAlpha(int)} on this object, which side-affected the underlying color. - * - * @param color The color to draw. - */ - public void setColor(int color) { - if (mState.mBaseColor != color || mState.mUseColor != color) { - invalidateSelf(); - mState.mBaseColor = mState.mUseColor = color; - } - } - - /** - * Returns the alpha value of this drawable's color. - * - * @return A value between 0 and 255. - */ - public int getAlpha() { - return mState.mUseColor >>> 24; - } - - /** - * Sets the color's alpha value. - * - * @param alpha The alpha value to set, between 0 and 255. - */ - public void setAlpha(int alpha) { - alpha += alpha >> 7; // make it 0..256 - int baseAlpha = mState.mBaseColor >>> 24; - int useAlpha = baseAlpha * alpha >> 8; - int oldUseColor = mState.mUseColor; - mState.mUseColor = (mState.mBaseColor << 8 >>> 8) | (useAlpha << 24); - if (oldUseColor != mState.mUseColor) { - invalidateSelf(); - } - } - - /** - * Setting a color filter on a ColorDrawable has no effect. - * - * @param colorFilter Ignore. - */ - public void setColorFilter(ColorFilter colorFilter) { - } - - public int getOpacity() { - switch (mState.mUseColor >>> 24) { - case 255: - return PixelFormat.OPAQUE; - case 0: - return PixelFormat.TRANSPARENT; - } - return PixelFormat.TRANSLUCENT; - } - - @Override - public ConstantState getConstantState() { - mState.mChangingConfigurations = getChangingConfigurations(); - return mState; - } - - static final class ColorState extends ConstantState { - - int mBaseColor; // base color, independent of setAlpha() - int mUseColor; // basecolor modulated by setAlpha() - int mChangingConfigurations; - - ColorState(ColorState state) { - if (state != null) { - mBaseColor = state.mBaseColor; - mUseColor = state.mUseColor; - } - } - - @Override - public Drawable newDrawable() { - return new ColorDrawable(this); - } - - @Override - public Drawable newDrawable(Resources res) { - return new ColorDrawable(this); - } - - @Override - public int getChangingConfigurations() { - return mChangingConfigurations; - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java deleted file mode 100644 index 77fc98e5d3..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java +++ /dev/null @@ -1,672 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.os.Build; -import android.os.Bundle; -import android.os.Parcelable; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; -import android.view.View; -import android.view.ViewConfiguration; -import android.view.ViewGroup; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.Interpolator; - -public abstract class DraggableDrawer extends MenuDrawer { - - /** - * Key used when saving menu visibility state. - */ - private static final String STATE_MENU_VISIBLE = "net.simonvt.menudrawer.MenuDrawer.menuVisible"; - - /** - * Interpolator used for stretching/retracting the active indicator. - */ - protected static final Interpolator INDICATOR_INTERPOLATOR = new AccelerateInterpolator(); - - /** - * Interpolator used for peeking at the drawer. - */ - private static final Interpolator PEEK_INTERPOLATOR = new PeekInterpolator(); - - /** - * The maximum alpha of the dark menu overlay used for dimming the menu. - */ - protected static final int MAX_MENU_OVERLAY_ALPHA = 185; - - /** - * Default delay from {@link #peekDrawer()} is called until first animation is run. - */ - private static final long DEFAULT_PEEK_START_DELAY = 5000; - - /** - * Default delay between each subsequent animation, after {@link #peekDrawer()} has been called. - */ - private static final long DEFAULT_PEEK_DELAY = 10000; - - /** - * The duration of the peek animation. - */ - protected static final int PEEK_DURATION = 5000; - - /** - * Distance in dp from closed position from where the drawer is considered closed with regards to touch events. - */ - private static final int CLOSE_ENOUGH = 3; - - /** - * Slop before starting a drag. - */ - protected int mTouchSlop; - - /** - * Runnable used when the peek animation is running. - */ - protected final Runnable mPeekRunnable = new Runnable() { - @Override - public void run() { - peekDrawerInvalidate(); - } - }; - - /** - * Runnable used when animating the drawer open/closed. - */ - private final Runnable mDragRunnable = new Runnable() { - @Override - public void run() { - postAnimationInvalidate(); - } - }; - - /** - * Current left position of the content. - */ - protected float mOffsetPixels; - - /** - * Indicates whether the drawer is currently being dragged. - */ - protected boolean mIsDragging; - - /** - * The initial X position of a drag. - */ - protected float mInitialMotionX; - - /** - * The initial Y position of a drag. - */ - protected float mInitialMotionY; - - /** - * The last X position of a drag. - */ - protected float mLastMotionX = -1; - - /** - * The last Y position of a drag. - */ - protected float mLastMotionY = -1; - - /** - * Default delay between each subsequent animation, after {@link #peekDrawer()} has been called. - */ - protected long mPeekDelay; - - /** - * Scroller used for the peek drawer animation. - */ - protected Scroller mPeekScroller; - - /** - * Velocity tracker used when animating the drawer open/closed after a drag. - */ - protected VelocityTracker mVelocityTracker; - - /** - * Maximum velocity allowed when animating the drawer open/closed. - */ - protected int mMaxVelocity; - - /** - * Indicates whether the menu should be offset when dragging the drawer. - */ - protected boolean mOffsetMenu = true; - - /** - * Distance in px from closed position from where the drawer is considered closed with regards to touch events. - */ - protected int mCloseEnough; - - /** - * Runnable used for first call to {@link #startPeek()} after {@link #peekDrawer()} has been called. - */ - private Runnable mPeekStartRunnable; - - /** - * Scroller used when animating the drawer open/closed. - */ - private Scroller mScroller; - - /** - * Indicates whether the current layer type is {@link android.view.View#LAYER_TYPE_HARDWARE}. - */ - private boolean mLayerTypeHardware; - - DraggableDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public DraggableDrawer(Context context) { - super(context); - } - - public DraggableDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public DraggableDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - - final ViewConfiguration configuration = ViewConfiguration.get(context); - mTouchSlop = configuration.getScaledTouchSlop(); - mMaxVelocity = configuration.getScaledMaximumFlingVelocity(); - - mScroller = new Scroller(context, MenuDrawer.SMOOTH_INTERPOLATOR); - mPeekScroller = new Scroller(context, DraggableDrawer.PEEK_INTERPOLATOR); - - mCloseEnough = dpToPx(DraggableDrawer.CLOSE_ENOUGH); - } - - public void toggleMenu(boolean animate) { - if (mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING) { - closeMenu(animate); - } else if (mDrawerState == STATE_CLOSED || mDrawerState == STATE_CLOSING) { - openMenu(animate); - } - } - - public boolean isMenuVisible() { - return mMenuVisible; - } - - public void setMenuSize(final int size) { - mMenuSize = size; - mMenuSizeSet = true; - if (mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING) { - setOffsetPixels(mMenuSize); - } - requestLayout(); - invalidate(); - } - - public void setOffsetMenuEnabled(boolean offsetMenu) { - if (offsetMenu != mOffsetMenu) { - mOffsetMenu = offsetMenu; - requestLayout(); - invalidate(); - } - } - - public boolean getOffsetMenuEnabled() { - return mOffsetMenu; - } - - public void peekDrawer() { - peekDrawer(DEFAULT_PEEK_START_DELAY, DEFAULT_PEEK_DELAY); - } - - public void peekDrawer(long delay) { - peekDrawer(DEFAULT_PEEK_START_DELAY, delay); - } - - public void peekDrawer(final long startDelay, final long delay) { - if (startDelay < 0) { - throw new IllegalArgumentException("startDelay must be zero or larger."); - } - if (delay < 0) { - throw new IllegalArgumentException("delay must be zero or larger"); - } - - removeCallbacks(mPeekRunnable); - removeCallbacks(mPeekStartRunnable); - - mPeekDelay = delay; - mPeekStartRunnable = new Runnable() { - @Override - public void run() { - startPeek(); - } - }; - postDelayed(mPeekStartRunnable, startDelay); - } - - public void setHardwareLayerEnabled(boolean enabled) { - if (enabled != mHardwareLayersEnabled) { - mHardwareLayersEnabled = enabled; - mMenuContainer.setHardwareLayersEnabled(enabled); - mContentContainer.setHardwareLayersEnabled(enabled); - stopLayerTranslation(); - } - } - - public int getTouchMode() { - return mTouchMode; - } - - public void setTouchMode(int mode) { - if (mTouchMode != mode) { - mTouchMode = mode; - updateTouchAreaSize(); - } - } - - public void setTouchBezelSize(int size) { - mTouchBezelSize = size; - } - - public int getTouchBezelSize() { - return mTouchBezelSize; - } - - /** - * Sets the number of pixels the content should be offset. - * - * @param offsetPixels The number of pixels to offset the content by. - */ - protected void setOffsetPixels(float offsetPixels) { - final int oldOffset = (int) mOffsetPixels; - final int newOffset = (int) offsetPixels; - - mOffsetPixels = offsetPixels; - - if (newOffset != oldOffset) { - onOffsetPixelsChanged(newOffset); - mMenuVisible = newOffset != 0; - } - } - - /** - * Called when the number of pixels the content should be offset by has changed. - * - * @param offsetPixels The number of pixels to offset the content by. - */ - protected abstract void onOffsetPixelsChanged(int offsetPixels); - - /** - * If possible, set the layer type to {@link android.view.View#LAYER_TYPE_HARDWARE}. - */ - protected void startLayerTranslation() { - if (USE_TRANSLATIONS && mHardwareLayersEnabled && !mLayerTypeHardware) { - mLayerTypeHardware = true; - mContentContainer.setLayerType(View.LAYER_TYPE_HARDWARE, null); - mMenuContainer.setLayerType(View.LAYER_TYPE_HARDWARE, null); - } - } - - /** - * If the current layer type is {@link android.view.View#LAYER_TYPE_HARDWARE}, this will set it to - * {@link View#LAYER_TYPE_NONE}. - */ - private void stopLayerTranslation() { - if (mLayerTypeHardware) { - mLayerTypeHardware = false; - mContentContainer.setLayerType(View.LAYER_TYPE_NONE, null); - mMenuContainer.setLayerType(View.LAYER_TYPE_NONE, null); - } - } - - /** - * Compute the touch area based on the touch mode. - */ - protected void updateTouchAreaSize() { - if (mTouchMode == TOUCH_MODE_BEZEL) { - mTouchSize = mTouchBezelSize; - } else if (mTouchMode == TOUCH_MODE_FULLSCREEN) { - mTouchSize = getMeasuredWidth(); - } else { - mTouchSize = 0; - } - } - - /** - * Called when a drag has been ended. - */ - protected void endDrag() { - mIsDragging = false; - - if (mVelocityTracker != null) { - mVelocityTracker.recycle(); - mVelocityTracker = null; - } - } - - /** - * Stops ongoing animation of the drawer. - */ - protected void stopAnimation() { - removeCallbacks(mDragRunnable); - mScroller.abortAnimation(); - stopLayerTranslation(); - } - - /** - * Called when a drawer animation has successfully completed. - */ - private void completeAnimation() { - mScroller.abortAnimation(); - final int finalX = mScroller.getFinalX(); - setOffsetPixels(finalX); - setDrawerState(finalX == 0 ? STATE_CLOSED : STATE_OPEN); - stopLayerTranslation(); - } - - /** - * Moves the drawer to the position passed. - * - * @param position The position the content is moved to. - * @param velocity Optional velocity if called by releasing a drag event. - * @param animate Whether the move is animated. - */ - protected void animateOffsetTo(int position, int velocity, boolean animate) { - endDrag(); - endPeek(); - - final int startX = (int) mOffsetPixels; - final int dx = position - startX; - if (dx == 0 || !animate) { - setOffsetPixels(position); - setDrawerState(position == 0 ? STATE_CLOSED : STATE_OPEN); - stopLayerTranslation(); - return; - } - - int duration; - - velocity = Math.abs(velocity); - if (velocity > 0) { - duration = 4 * Math.round(1000.f * Math.abs((float) dx / velocity)); - } else { - duration = (int) (600.f * Math.abs((float) dx / mMenuSize)); - } - - duration = Math.min(duration, mMaxAnimationDuration); - - if (dx > 0) { - setDrawerState(STATE_OPENING); - mScroller.startScroll(startX, 0, dx, 0, duration); - } else { - setDrawerState(STATE_CLOSING); - mScroller.startScroll(startX, 0, dx, 0, duration); - } - - startLayerTranslation(); - - postAnimationInvalidate(); - } - - /** - * Callback when each frame in the drawer animation should be drawn. - */ - private void postAnimationInvalidate() { - if (mScroller.computeScrollOffset()) { - final int oldX = (int) mOffsetPixels; - final int x = mScroller.getCurrX(); - - if (x != oldX) setOffsetPixels(x); - if (x != mScroller.getFinalX()) { - postOnAnimation(mDragRunnable); - return; - } - } - - completeAnimation(); - } - - /** - * Starts peek drawer animation. - */ - protected void startPeek() { - initPeekScroller(); - - startLayerTranslation(); - peekDrawerInvalidate(); - } - - protected abstract void initPeekScroller(); - - /** - * Callback when each frame in the peek drawer animation should be drawn. - */ - private void peekDrawerInvalidate() { - if (mPeekScroller.computeScrollOffset()) { - final int oldX = (int) mOffsetPixels; - final int x = mPeekScroller.getCurrX(); - if (x != oldX) setOffsetPixels(x); - - if (!mPeekScroller.isFinished()) { - postOnAnimation(mPeekRunnable); - return; - - } else if (mPeekDelay > 0) { - mPeekStartRunnable = new Runnable() { - @Override - public void run() { - startPeek(); - } - }; - postDelayed(mPeekStartRunnable, mPeekDelay); - } - } - - completePeek(); - } - - /** - * Called when the peek drawer animation has successfully completed. - */ - private void completePeek() { - mPeekScroller.abortAnimation(); - - setOffsetPixels(0); - - setDrawerState(STATE_CLOSED); - stopLayerTranslation(); - } - - /** - * Stops ongoing peek drawer animation. - */ - protected void endPeek() { - removeCallbacks(mPeekStartRunnable); - removeCallbacks(mPeekRunnable); - stopLayerTranslation(); - } - - protected boolean isCloseEnough() { - return Math.abs(mOffsetPixels) <= mCloseEnough; - } - - /** - * Returns true if the touch event occurs over the content. - * - * @param ev The motion event. - * @return True if the touch event occurred over the content, false otherwise. - */ - protected abstract boolean isContentTouch(MotionEvent ev); - - /** - * Returns true if dragging the content should be allowed. - * - * @param ev The motion event. - * @return True if dragging the content should be allowed, false otherwise. - */ - protected abstract boolean onDownAllowDrag(MotionEvent ev); - - /** - * Tests scrollability within child views of v given a delta of dx. - * - * @param v View to test for horizontal scrollability - * @param checkV Whether the view should be checked for draggability - * @param dx Delta scrolled in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if child views of v can be scrolled by delta of dx. - */ - protected boolean canChildScrollHorizontally(View v, boolean checkV, int dx, int x, int y) { - if (v instanceof ViewGroup) { - final ViewGroup group = (ViewGroup) v; - - final int count = group.getChildCount(); - // Count backwards - let topmost views consume scroll distance first. - for (int i = count - 1; i >= 0; i--) { - final View child = group.getChildAt(i); - - final int childLeft = child.getLeft() + supportGetTranslationX(child); - final int childRight = child.getRight() + supportGetTranslationX(child); - final int childTop = child.getTop() + supportGetTranslationY(child); - final int childBottom = child.getBottom() + supportGetTranslationY(child); - - if (x >= childLeft && x < childRight && y >= childTop && y < childBottom - && canChildScrollHorizontally(child, true, dx, x - childLeft, y - childTop)) { - return true; - } - } - } - - return checkV && mOnInterceptMoveEventListener.isViewDraggable(v, dx, x, y); - } - - /** - * Tests scrollability within child views of v given a delta of dx. - * - * @param v View to test for horizontal scrollability - * @param checkV Whether the view should be checked for draggability - * @param dx Delta scrolled in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if child views of v can be scrolled by delta of dx. - */ - protected boolean canChildScrollVertically(View v, boolean checkV, int dx, int x, int y) { - if (v instanceof ViewGroup) { - final ViewGroup group = (ViewGroup) v; - - final int count = group.getChildCount(); - // Count backwards - let topmost views consume scroll distance first. - for (int i = count - 1; i >= 0; i--) { - final View child = group.getChildAt(i); - - final int childLeft = child.getLeft() + supportGetTranslationX(child); - final int childRight = child.getRight() + supportGetTranslationX(child); - final int childTop = child.getTop() + supportGetTranslationY(child); - final int childBottom = child.getBottom() + supportGetTranslationY(child); - - if (x >= childLeft && x < childRight && y >= childTop && y < childBottom - && canChildScrollVertically(child, true, dx, x - childLeft, y - childTop)) { - return true; - } - } - } - - return checkV && mOnInterceptMoveEventListener.isViewDraggable(v, dx, x, y); - } - - private int supportGetTranslationY(View v) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - return (int) v.getTranslationY(); - } - - return 0; - } - - private int supportGetTranslationX(View v) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - return (int) v.getTranslationX(); - } - - return 0; - } - - /** - * Returns true if dragging the content should be allowed. - * - * @param ev The motion event. - * @return True if dragging the content should be allowed, false otherwise. - */ - protected abstract boolean onMoveAllowDrag(MotionEvent ev, float dx); - - /** - * Called when a move event has happened while dragging the content is in progress. - * - * @param dx The X difference between the last motion event and the current motion event. - */ - protected abstract void onMoveEvent(float dx); - - /** - * Called when {@link android.view.MotionEvent#ACTION_UP} of {@link android.view.MotionEvent#ACTION_CANCEL} is - * delivered to {@link net.simonvt.menudrawer.MenuDrawer#onTouchEvent(android.view.MotionEvent)}. - * - * @param ev The motion event. - */ - protected abstract void onUpEvent(MotionEvent ev); - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - final int offsetPixels = (int) mOffsetPixels; - - if (offsetPixels != 0) drawMenuOverlay(canvas, offsetPixels); - if (mDropShadowEnabled) drawDropShadow(canvas, offsetPixels); - if (mActiveIndicator != null) drawIndicator(canvas, offsetPixels); - } - - /** - * Called when the content drop shadow should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawDropShadow(Canvas canvas, int offsetPixels); - - /** - * Called when the menu overlay should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawMenuOverlay(Canvas canvas, int offsetPixels); - - /** - * Called when the active indicator should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawIndicator(Canvas canvas, int offsetPixels); - - void saveState(Bundle state) { - final boolean menuVisible = mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING; - state.putBoolean(STATE_MENU_VISIBLE, menuVisible); - } - - public void restoreState(Parcelable in) { - super.restoreState(in); - Bundle state = (Bundle) in; - final boolean menuOpen = state.getBoolean(STATE_MENU_VISIBLE); - if (menuOpen) { - openMenu(false); - } else { - setOffsetPixels(0); - } - mDrawerState = menuOpen ? STATE_OPEN : STATE_CLOSED; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java deleted file mode 100644 index df5b445cd7..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (C) 2006 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.simonvt.menudrawer; - -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; - -/** - * This class encapsulates scrolling. The duration of the scroll - * can be passed in the constructor and specifies the maximum time that - * the scrolling animation should take. Past this time, the scrolling is - * automatically moved to its final stage and computeScrollOffset() - * will always return false to indicate that scrolling is over. - */ -public class FloatScroller { - - private float mStart; - private float mFinal; - - private float mCurr; - private long mStartTime; - private int mDuration; - private float mDurationReciprocal; - private float mDeltaX; - private boolean mFinished; - private Interpolator mInterpolator; - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. Specify whether or - * not to support progressive "flywheel" behavior in flinging. - */ - public FloatScroller(Interpolator interpolator) { - mFinished = true; - mInterpolator = interpolator; - } - - /** - * Returns whether the scroller has finished scrolling. - * - * @return True if the scroller has finished scrolling, false otherwise. - */ - public final boolean isFinished() { - return mFinished; - } - - /** - * Force the finished field to a particular value. - * - * @param finished The new finished value. - */ - public final void forceFinished(boolean finished) { - mFinished = finished; - } - - /** - * Returns how long the scroll event will take, in milliseconds. - * - * @return The duration of the scroll in milliseconds. - */ - public final int getDuration() { - return mDuration; - } - - /** - * Returns the current offset in the scroll. - * - * @return The new offset as an absolute distance from the origin. - */ - public final float getCurr() { - return mCurr; - } - - /** - * Returns the start offset in the scroll. - * - * @return The start offset as an absolute distance from the origin. - */ - public final float getStart() { - return mStart; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final offset as an absolute distance from the origin. - */ - public final float getFinal() { - return mFinal; - } - - public boolean computeScrollOffset() { - if (mFinished) { - return false; - } - - int timePassed = (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - - if (timePassed < mDuration) { - float x = timePassed * mDurationReciprocal; - x = mInterpolator.getInterpolation(x); - mCurr = mStart + x * mDeltaX; - - } else { - mCurr = mFinal; - mFinished = true; - } - return true; - } - - public void startScroll(float start, float delta, int duration) { - mFinished = false; - mDuration = duration; - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStart = start; - mFinal = start + delta; - mDeltaX = delta; - mDurationReciprocal = 1.0f / (float) mDuration; - } - - /** - * Stops the animation. Contrary to {@link #forceFinished(boolean)}, - * aborting the animating cause the scroller to move to the final x and y - * position - * - * @see #forceFinished(boolean) - */ - public void abortAnimation() { - mCurr = mFinal; - mFinished = true; - } - - /** - * Extend the scroll animation. This allows a running animation to scroll - * further and longer, when used with {@link #setFinal(float)}. - * - * @param extend Additional time to scroll in milliseconds. - * @see #setFinal(float) - */ - public void extendDuration(int extend) { - int passed = timePassed(); - mDuration = passed + extend; - mDurationReciprocal = 1.0f / mDuration; - mFinished = false; - } - - /** - * Returns the time elapsed since the beginning of the scrolling. - * - * @return The elapsed time in milliseconds. - */ - public int timePassed() { - return (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - } - - public void setFinal(float newVal) { - mFinal = newVal; - mDeltaX = mFinal - mStart; - mFinished = false; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java deleted file mode 100644 index 6f1c8300f7..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java +++ /dev/null @@ -1,207 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; - -public abstract class HorizontalDrawer extends DraggableDrawer { - - private static final String TAG = "HorizontalDrawer"; - - HorizontalDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public HorizontalDrawer(Context context) { - super(context); - } - - public HorizontalDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public HorizontalDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (width * 0.8f); - if (mOffsetPixels == -1) openMenu(false); - - final int menuWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, mMenuSize); - final int menuHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mMenuContainer.measure(menuWidthMeasureSpec, menuHeightMeasureSpec); - - final int contentWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int contentHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mContentContainer.measure(contentWidthMeasureSpec, contentHeightMeasureSpec); - - setMeasuredDimension(width, height); - - updateTouchAreaSize(); - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (action == MotionEvent.ACTION_DOWN && mMenuVisible && isCloseEnough()) { - setOffsetPixels(0); - stopAnimation(); - endPeek(); - setDrawerState(STATE_CLOSED); - } - - // Always intercept events over the content while menu is visible. - if (mMenuVisible && isContentTouch(ev)) return true; - - if (mTouchMode == TOUCH_MODE_NONE) { - return false; - } - - if (action != MotionEvent.ACTION_DOWN) { - if (mIsDragging) return true; - } - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - setDrawerState(mMenuVisible ? STATE_OPEN : STATE_CLOSED); - stopAnimation(); - endPeek(); - mIsDragging = false; - } - break; - } - - case MotionEvent.ACTION_MOVE: { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float yDiff = Math.abs(y - mLastMotionY); - - if (xDiff > mTouchSlop && xDiff > yDiff) { - if (mOnInterceptMoveEventListener != null && mTouchMode == TOUCH_MODE_FULLSCREEN - && canChildScrollHorizontally(mContentContainer, false, (int) dx, (int) x, (int) y)) { - endDrag(); // Release the velocity tracker - return false; - } - - final boolean allowDrag = onMoveAllowDrag(ev, dx); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x; - mLastMotionY = y; - } - } - break; - } - - /** - * If you click really fast, an up or cancel event is delivered here. - * Just snap content to whatever is closest. - * */ - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - if (Math.abs(mOffsetPixels) > mMenuSize / 2) { - openMenu(); - } else { - closeMenu(); - } - break; - } - } - - if (mVelocityTracker == null) mVelocityTracker = VelocityTracker.obtain(); - mVelocityTracker.addMovement(ev); - - return mIsDragging; - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (!mMenuVisible && !mIsDragging && (mTouchMode == TOUCH_MODE_NONE)) { - return false; - } - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (mVelocityTracker == null) mVelocityTracker = VelocityTracker.obtain(); - mVelocityTracker.addMovement(ev); - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - stopAnimation(); - endPeek(); - startLayerTranslation(); - } - break; - } - - case MotionEvent.ACTION_MOVE: { - if (!mIsDragging) { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float yDiff = Math.abs(y - mLastMotionY); - - if (xDiff > mTouchSlop && xDiff > yDiff) { - final boolean allowDrag = onMoveAllowDrag(ev, dx); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x - mInitialMotionX > 0 - ? mInitialMotionX + mTouchSlop - : mInitialMotionX - mTouchSlop; - } - } - } - - if (mIsDragging) { - startLayerTranslation(); - - final float x = ev.getX(); - final float dx = x - mLastMotionX; - - mLastMotionX = x; - onMoveEvent(dx); - } - break; - } - - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - onUpEvent(ev); - break; - } - } - - return true; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java deleted file mode 100644 index 59a4fc4ce2..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java +++ /dev/null @@ -1,212 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class LeftDrawer extends HorizontalDrawer { - - private int mIndicatorTop; - - LeftDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public LeftDrawer(Context context) { - super(context); - } - - public LeftDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public LeftDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(0, 0, mMenuSize, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(offsetPixels, 0, width + offsetPixels, height); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuWidth = mMenuSize; - final float openRatio = (menuWidth - (float) offsetPixels) / menuWidth; - - if (USE_TRANSLATIONS) { - if (offsetPixels > 0) { - final int menuLeft = (int) (0.25f * (-openRatio * menuWidth)); - mMenuContainer.setTranslationX(menuLeft); - } else { - mMenuContainer.setTranslationX(-menuWidth); - } - - } else { - final int oldMenuLeft = mMenuContainer.getLeft(); - final int offset = (int) (0.25f * (-openRatio * menuWidth)) - oldMenuLeft; - mMenuContainer.offsetLeftAndRight(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - - mDropShadowDrawable.setBounds(offsetPixels - mDropShadowSize, 0, offsetPixels, height); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mMenuOverlay.setBounds(0, 0, offsetPixels, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedWidth = (int) (mActiveIndicator.getWidth() * interpolatedRatio); - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - final int right = offsetPixels; - final int left = right - interpolatedWidth; - - canvas.save(); - canvas.clipRect(left, 0, right, getHeight()); - canvas.drawBitmap(mActiveIndicator, left, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } - - @Override - protected void initPeekScroller() { - final int dx = mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationX(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetLeftAndRight(offsetPixels - mContentContainer.getLeft()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getX() > mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - return (!mMenuVisible && mInitialMotionX <= mTouchSize) - || (mMenuVisible && mInitialMotionX >= mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - return (!mMenuVisible && mInitialMotionX <= mTouchSize && (diff > 0)) - || (mMenuVisible && mInitialMotionX >= mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.min(Math.max(mOffsetPixels + dx, 0), mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionX = ev.getX(); - animateOffsetTo(mVelocityTracker.getXVelocity() > 0 ? mMenuSize : 0, initialVelocity, true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getX() > offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java deleted file mode 100644 index 47fa75a356..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java +++ /dev/null @@ -1,80 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class LeftStaticDrawer extends StaticDrawer { - - private int mIndicatorTop; - - LeftStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public LeftStaticDrawer(Context context) { - super(context); - } - - public LeftStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public LeftStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.LEFT; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - final int right = mMenuSize; - final int left = right - mActiveIndicator.getWidth(); - - canvas.save(); - canvas.clipRect(left, 0, right, getHeight()); - canvas.drawBitmap(mActiveIndicator, left, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java deleted file mode 100644 index 7f998e44b4..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java +++ /dev/null @@ -1,1151 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.os.Build; -import android.os.Bundle; -import android.os.Parcel; -import android.os.Parcelable; -import android.util.AttributeSet; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewParent; -import android.view.ViewTreeObserver; -import android.view.animation.Interpolator; - -public abstract class MenuDrawer extends ViewGroup { - - /** - * Callback interface for changing state of the drawer. - */ - public interface OnDrawerStateChangeListener { - - /** - * Called when the drawer state changes. - * - * @param oldState The old drawer state. - * @param newState The new drawer state. - */ - void onDrawerStateChange(int oldState, int newState); - } - - /** - * Callback that is invoked when the drawer is in the process of deciding whether it should intercept the touch - * event. This lets the listener decide if the pointer is on a view that would disallow dragging of the drawer. - * This is only called when the touch mode is {@link #TOUCH_MODE_FULLSCREEN}. - */ - public interface OnInterceptMoveEventListener { - - /** - * Called for each child the pointer i on when the drawer is deciding whether to intercept the touch event. - * - * @param v View to test for draggability - * @param dx Delta drag in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if view is draggable by delta dx. - */ - boolean isViewDraggable(View v, int dx, int x, int y); - } - - /** - * Tag used when logging. - */ - private static final String TAG = "MenuDrawer"; - - /** - * Indicates whether debug code should be enabled. - */ - private static final boolean DEBUG = false; - - /** - * The time between each frame when animating the drawer. - */ - protected static final int ANIMATION_DELAY = 1000 / 60; - - /** - * The default touch bezel size of the drawer in dp. - */ - private static final int DEFAULT_DRAG_BEZEL_DP = 24; - - /** - * The default drop shadow size in dp. - */ - private static final int DEFAULT_DROP_SHADOW_DP = 6; - - /** - * Drag mode for sliding only the content view. - */ - public static final int MENU_DRAG_CONTENT = 0; - - /** - * Drag mode for sliding the entire window. - */ - public static final int MENU_DRAG_WINDOW = 1; - - /** - * Disallow opening the drawer by dragging the screen. - */ - public static final int TOUCH_MODE_NONE = 0; - - /** - * Allow opening drawer only by dragging on the edge of the screen. - */ - public static final int TOUCH_MODE_BEZEL = 1; - - /** - * Allow opening drawer by dragging anywhere on the screen. - */ - public static final int TOUCH_MODE_FULLSCREEN = 2; - - /** - * Indicates that the drawer is currently closed. - */ - public static final int STATE_CLOSED = 0; - - /** - * Indicates that the drawer is currently closing. - */ - public static final int STATE_CLOSING = 1; - - /** - * Indicates that the drawer is currently being dragged by the user. - */ - public static final int STATE_DRAGGING = 2; - - /** - * Indicates that the drawer is currently opening. - */ - public static final int STATE_OPENING = 4; - - /** - * Indicates that the drawer is currently open. - */ - public static final int STATE_OPEN = 8; - - /** - * Indicates whether to use {@link View#setTranslationX(float)} when positioning views. - */ - static final boolean USE_TRANSLATIONS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1; - - /** - * Time to animate the indicator to the new active view. - */ - static final int INDICATOR_ANIM_DURATION = 800; - - /** - * The maximum animation duration. - */ - private static final int DEFAULT_ANIMATION_DURATION = 600; - - /** - * Interpolator used when animating the drawer open/closed. - */ - protected static final Interpolator SMOOTH_INTERPOLATOR = new SmoothInterpolator(); - - /** - * Drawable used as menu overlay. - */ - protected Drawable mMenuOverlay; - - /** - * Defines whether the drop shadow is enabled. - */ - protected boolean mDropShadowEnabled; - - /** - * Drawable used as content drop shadow onto the menu. - */ - protected Drawable mDropShadowDrawable; - - /** - * The size of the content drop shadow. - */ - protected int mDropShadowSize; - - /** - * Bitmap used to indicate the active view. - */ - protected Bitmap mActiveIndicator; - - /** - * The currently active view. - */ - protected View mActiveView; - - /** - * Position of the active view. This is compared to View#getTag(R.id.mdActiveViewPosition) when drawing the - * indicator. - */ - protected int mActivePosition; - - /** - * Whether the indicator should be animated between positions. - */ - private boolean mAllowIndicatorAnimation; - - /** - * Used when reading the position of the active view. - */ - protected final Rect mActiveRect = new Rect(); - - /** - * Temporary {@link Rect} used for deciding whether the view should be invalidated so the indicator can be redrawn. - */ - private final Rect mTempRect = new Rect(); - - /** - * The custom menu view set by the user. - */ - private View mMenuView; - - /** - * The parent of the menu view. - */ - protected BuildLayerFrameLayout mMenuContainer; - - /** - * The parent of the content view. - */ - protected BuildLayerFrameLayout mContentContainer; - - /** - * The size of the menu (width or height depending on the gravity). - */ - protected int mMenuSize; - - /** - * Indicates whether the menu size has been set explicity either via the theme or by calling - * {@link #setMenuSize(int)}. - */ - protected boolean mMenuSizeSet; - - /** - * Indicates whether the menu is currently visible. - */ - protected boolean mMenuVisible; - - /** - * The drag mode of the drawer. Can be either {@link #MENU_DRAG_CONTENT} or {@link #MENU_DRAG_WINDOW}. - */ - private int mDragMode = MENU_DRAG_CONTENT; - - /** - * The current drawer state. - * - * @see #STATE_CLOSED - * @see #STATE_CLOSING - * @see #STATE_DRAGGING - * @see #STATE_OPENING - * @see #STATE_OPEN - */ - protected int mDrawerState = STATE_CLOSED; - - /** - * The touch bezel size of the drawer in px. - */ - protected int mTouchBezelSize; - - /** - * The touch area size of the drawer in px. - */ - protected int mTouchSize; - - /** - * Listener used to dispatch state change events. - */ - private OnDrawerStateChangeListener mOnDrawerStateChangeListener; - - /** - * Touch mode for the Drawer. - * Possible values are {@link #TOUCH_MODE_NONE}, {@link #TOUCH_MODE_BEZEL} or {@link #TOUCH_MODE_FULLSCREEN} - * Default: {@link #TOUCH_MODE_BEZEL} - */ - protected int mTouchMode = TOUCH_MODE_BEZEL; - - /** - * Indicates whether to use {@link View#LAYER_TYPE_HARDWARE} when animating the drawer. - */ - protected boolean mHardwareLayersEnabled = true; - - /** - * The Activity the drawer is attached to. - */ - private Activity mActivity; - - /** - * Scroller used when animating the indicator to a new position. - */ - private FloatScroller mIndicatorScroller; - - /** - * Runnable used when animating the indicator to a new position. - */ - private Runnable mIndicatorRunnable = new Runnable() { - @Override - public void run() { - animateIndicatorInvalidate(); - } - }; - - /** - * The start position of the indicator when animating it to a new position. - */ - protected int mIndicatorStartPos; - - /** - * [0..1] value indicating the current progress of the animation. - */ - protected float mIndicatorOffset; - - /** - * Whether the indicator is currently animating. - */ - protected boolean mIndicatorAnimating; - - /** - * Bundle used to hold the drawers state. - */ - protected Bundle mState; - - /** - * The maximum duration of open/close animations. - */ - protected int mMaxAnimationDuration = DEFAULT_ANIMATION_DURATION; - - /** - * Callback that lets the listener override intercepting of touch events. - */ - protected OnInterceptMoveEventListener mOnInterceptMoveEventListener; - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity that the MenuDrawer will be attached to. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity) { - return attach(activity, MENU_DRAG_CONTENT); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode) { - return attach(activity, dragMode, Position.LEFT); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param position Where to position the menu. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, Position position) { - return attach(activity, MENU_DRAG_CONTENT, position); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @param position Where to position the menu. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode, Position position) { - return attach(activity, dragMode, position, false); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @param position Where to position the menu. - * @param attachStatic Whether a static (non-draggable, always visible) drawer should be used. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode, Position position, boolean attachStatic) { - MenuDrawer menuDrawer = createMenuDrawer(activity, dragMode, position, attachStatic); - menuDrawer.setId(R.id.md__drawer); - - switch (dragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - attachToContent(activity, menuDrawer); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - attachToDecor(activity, menuDrawer); - break; - - default: - throw new RuntimeException("Unknown menu mode: " + dragMode); - } - - return menuDrawer; - } - - /** - * Constructs the appropriate MenuDrawer based on the position. - */ - private static MenuDrawer createMenuDrawer(Activity activity, int dragMode, Position position, - boolean attachStatic) { - if (attachStatic) { - switch (position) { - case LEFT: - return new LeftStaticDrawer(activity, dragMode); - case RIGHT: - return new RightStaticDrawer(activity, dragMode); - case TOP: - return new TopStaticDrawer(activity, dragMode); - case BOTTOM: - return new BottomStaticDrawer(activity, dragMode); - default: - throw new IllegalArgumentException("position must be one of LEFT, TOP, RIGHT or BOTTOM"); - } - } - - switch (position) { - case LEFT: - return new LeftDrawer(activity, dragMode); - case RIGHT: - return new RightDrawer(activity, dragMode); - case TOP: - return new TopDrawer(activity, dragMode); - case BOTTOM: - return new BottomDrawer(activity, dragMode); - default: - throw new IllegalArgumentException("position must be one of LEFT, TOP, RIGHT or BOTTOM"); - } - } - - /** - * Attaches the menu drawer to the content view. - */ - private static void attachToContent(Activity activity, MenuDrawer menuDrawer) { - /** - * Do not call mActivity#setContentView. - * E.g. if using with a ListActivity, Activity#setContentView is overridden and dispatched to - * MenuDrawer#setContentView, which then again would call Activity#setContentView. - */ - ViewGroup content = (ViewGroup) activity.findViewById(android.R.id.content); - content.removeAllViews(); - content.addView(menuDrawer, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - } - - /** - * Attaches the menu drawer to the window. - */ - private static void attachToDecor(Activity activity, MenuDrawer menuDrawer) { - ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); - ViewGroup decorChild = (ViewGroup) decorView.getChildAt(0); - - decorView.removeAllViews(); - decorView.addView(menuDrawer, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - - menuDrawer.mContentContainer.addView(decorChild, decorChild.getLayoutParams()); - } - - MenuDrawer(Activity activity, int dragMode) { - this(activity); - - mActivity = activity; - mDragMode = dragMode; - } - - public MenuDrawer(Context context) { - this(context, null); - } - - public MenuDrawer(Context context, AttributeSet attrs) { - this(context, attrs, R.attr.menuDrawerStyle); - } - - public MenuDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - initDrawer(context, attrs, defStyle); - } - - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - setWillNotDraw(false); - setFocusable(false); - - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MenuDrawer, R.attr.menuDrawerStyle, - R.style.Widget_MenuDrawer); - - final Drawable contentBackground = a.getDrawable(R.styleable.MenuDrawer_mdContentBackground); - final Drawable menuBackground = a.getDrawable(R.styleable.MenuDrawer_mdMenuBackground); - - mMenuSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdMenuSize, -1); - mMenuSizeSet = mMenuSize != -1; - - final int indicatorResId = a.getResourceId(R.styleable.MenuDrawer_mdActiveIndicator, 0); - if (indicatorResId != 0) { - mActiveIndicator = BitmapFactory.decodeResource(getResources(), indicatorResId); - } - - mDropShadowEnabled = a.getBoolean(R.styleable.MenuDrawer_mdDropShadowEnabled, true); - - mDropShadowDrawable = a.getDrawable(R.styleable.MenuDrawer_mdDropShadow); - - if (mDropShadowDrawable == null) { - final int dropShadowColor = a.getColor(R.styleable.MenuDrawer_mdDropShadowColor, 0xFF000000); - setDropShadowColor(dropShadowColor); - } - - mDropShadowSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdDropShadowSize, - dpToPx(DEFAULT_DROP_SHADOW_DP)); - - mTouchBezelSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdTouchBezelSize, - dpToPx(DEFAULT_DRAG_BEZEL_DP)); - - mAllowIndicatorAnimation = a.getBoolean(R.styleable.MenuDrawer_mdAllowIndicatorAnimation, false); - - mMaxAnimationDuration = a.getInt(R.styleable.MenuDrawer_mdMaxAnimationDuration, DEFAULT_ANIMATION_DURATION); - - a.recycle(); - - mMenuContainer = new BuildLayerFrameLayout(context); - mMenuContainer.setId(R.id.md__menu); - mMenuContainer.setBackgroundDrawable(menuBackground); - super.addView(mMenuContainer, -1, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - - mContentContainer = new NoClickThroughFrameLayout(context); - mContentContainer.setId(R.id.md__content); - mContentContainer.setBackgroundDrawable(contentBackground); - super.addView(mContentContainer, -1, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - - mMenuOverlay = new ColorDrawable(0xFF000000); - - mIndicatorScroller = new FloatScroller(SMOOTH_INTERPOLATOR); - } - - @Override - public void addView(View child, int index, LayoutParams params) { - int childCount = mMenuContainer.getChildCount(); - if (childCount == 0) { - mMenuContainer.addView(child, index, params); - return; - } - - childCount = mContentContainer.getChildCount(); - if (childCount == 0) { - mContentContainer.addView(child, index, params); - return; - } - - throw new IllegalStateException("MenuDrawer can only hold two child views"); - } - - protected int dpToPx(int dp) { - return (int) (getResources().getDisplayMetrics().density * dp + 0.5f); - } - - protected boolean isViewDescendant(View v) { - ViewParent parent = v.getParent(); - while (parent != null) { - if (parent == this) { - return true; - } - - parent = parent.getParent(); - } - - return false; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - getViewTreeObserver().addOnScrollChangedListener(mScrollListener); - } - - @Override - protected void onDetachedFromWindow() { - getViewTreeObserver().removeOnScrollChangedListener(mScrollListener); - super.onDetachedFromWindow(); - } - - /** - * Toggles the menu open and close with animation. - */ - public void toggleMenu() { - toggleMenu(true); - } - - /** - * Toggles the menu open and close. - * - * @param animate Whether open/close should be animated. - */ - public abstract void toggleMenu(boolean animate); - - /** - * Animates the menu open. - */ - public void openMenu() { - openMenu(true); - } - - /** - * Opens the menu. - * - * @param animate Whether open/close should be animated. - */ - public abstract void openMenu(boolean animate); - - /** - * Animates the menu closed. - */ - public void closeMenu() { - closeMenu(true); - } - - /** - * Closes the menu. - * - * @param animate Whether open/close should be animated. - */ - public abstract void closeMenu(boolean animate); - - /** - * Indicates whether the menu is currently visible. - * - * @return True if the menu is open, false otherwise. - */ - public abstract boolean isMenuVisible(); - - /** - * Set the size of the menu drawer when open. - * - * @param size The size of the menu. - */ - public abstract void setMenuSize(int size); - - /** - * Returns the size of the menu. - * - * @return The size of the menu. - */ - public int getMenuSize() { - return mMenuSize; - } - - /** - * Set the active view. - * If the mdActiveIndicator attribute is set, this View will have the indicator drawn next to it. - * - * @param v The active view. - */ - public void setActiveView(View v) { - setActiveView(v, 0); - } - - /** - * Set the active view. - * If the mdActiveIndicator attribute is set, this View will have the indicator drawn next to it. - * - * @param v The active view. - * @param position Optional position, usually used with ListView. v.setTag(R.id.mdActiveViewPosition, position) - * must be called first. - */ - public void setActiveView(View v, int position) { - final View oldView = mActiveView; - mActiveView = v; - mActivePosition = position; - - if (mAllowIndicatorAnimation && oldView != null) { - startAnimatingIndicator(); - } - - invalidate(); - } - - /** - * Sets whether the indicator should be animated between active views. - * - * @param animate Whether the indicator should be animated between active views. - */ - public void setAllowIndicatorAnimation(boolean animate) { - if (animate != mAllowIndicatorAnimation) { - mAllowIndicatorAnimation = animate; - completeAnimatingIndicator(); - } - } - - /** - * Indicates whether the indicator should be animated between active views. - * - * @return Whether the indicator should be animated between active views. - */ - public boolean getAllowIndicatorAnimation() { - return mAllowIndicatorAnimation; - } - - /** - * Scroll listener that checks whether the active view has moved before the drawer is invalidated. - */ - private ViewTreeObserver.OnScrollChangedListener mScrollListener = new ViewTreeObserver.OnScrollChangedListener() { - @Override - public void onScrollChanged() { - if (mActiveView != null && isViewDescendant(mActiveView)) { - mActiveView.getDrawingRect(mTempRect); - offsetDescendantRectToMyCoords(mActiveView, mTempRect); - if (mTempRect.left != mActiveRect.left || mTempRect.top != mActiveRect.top - || mTempRect.right != mActiveRect.right || mTempRect.bottom != mActiveRect.bottom) { - invalidate(); - } - } - } - }; - - /** - * Starts animating the indicator to a new position. - */ - private void startAnimatingIndicator() { - mIndicatorStartPos = getIndicatorStartPos(); - mIndicatorAnimating = true; - mIndicatorScroller.startScroll(0.0f, 1.0f, INDICATOR_ANIM_DURATION); - - animateIndicatorInvalidate(); - } - - /** - * Returns the start position of the indicator. - * - * @return The start position of the indicator. - */ - protected abstract int getIndicatorStartPos(); - - /** - * Callback when each frame in the indicator animation should be drawn. - */ - private void animateIndicatorInvalidate() { - if (mIndicatorScroller.computeScrollOffset()) { - mIndicatorOffset = mIndicatorScroller.getCurr(); - invalidate(); - - if (!mIndicatorScroller.isFinished()) { - postOnAnimation(mIndicatorRunnable); - return; - } - } - - completeAnimatingIndicator(); - } - - /** - * Called when the indicator animation has completed. - */ - private void completeAnimatingIndicator() { - mIndicatorOffset = 1.0f; - mIndicatorAnimating = false; - invalidate(); - } - - /** - * Enables or disables offsetting the menu when dragging the drawer. - * - * @param offsetMenu True to offset the menu, false otherwise. - */ - public abstract void setOffsetMenuEnabled(boolean offsetMenu); - - /** - * Indicates whether the menu is being offset when dragging the drawer. - * - * @return True if the menu is being offset, false otherwise. - */ - public abstract boolean getOffsetMenuEnabled(); - - public int getDrawerState() { - return mDrawerState; - } - - /** - * Register a callback to be invoked when the drawer state changes. - * - * @param listener The callback that will run. - */ - public void setOnDrawerStateChangeListener(OnDrawerStateChangeListener listener) { - mOnDrawerStateChangeListener = listener; - } - - /** - * Register a callback that will be invoked when the drawer is about to intercept touch events. - * - * @param listener The callback that will be invoked. - */ - public void setOnInterceptMoveEventListener(OnInterceptMoveEventListener listener) { - mOnInterceptMoveEventListener = listener; - } - - /** - * Defines whether the drop shadow is enabled. - * - * @param enabled Whether the drop shadow is enabled. - */ - public void setDropShadowEnabled(boolean enabled) { - mDropShadowEnabled = enabled; - invalidate(); - } - - /** - * Sets the color of the drop shadow. - * - * @param color The color of the drop shadow. - */ - public abstract void setDropShadowColor(int color); - - /** - * Sets the drawable of the drop shadow. - * - * @param drawable The drawable of the drop shadow. - */ - public void setDropShadow(Drawable drawable) { - mDropShadowDrawable = drawable; - invalidate(); - } - - /** - * Sets the drawable of the drop shadow. - * - * @param resId The resource identifier of the the drawable. - */ - public void setDropShadow(int resId) { - setDropShadow(getResources().getDrawable(resId)); - } - - /** - * Returns the drawable of the drop shadow. - */ - public Drawable getDropShadow() { - return mDropShadowDrawable; - } - - /** - * Sets the size of the drop shadow. - * - * @param size The size of the drop shadow in px. - */ - public void setDropShadowSize(int size) { - mDropShadowSize = size; - invalidate(); - } - - /** - * Animates the drawer slightly open until the user opens the drawer. - */ - public abstract void peekDrawer(); - - /** - * Animates the drawer slightly open. If delay is larger than 0, this happens until the user opens the drawer. - * - * @param delay The delay (in milliseconds) between each run of the animation. If 0, this animation is only run - * once. - */ - public abstract void peekDrawer(long delay); - - /** - * Animates the drawer slightly open. If delay is larger than 0, this happens until the user opens the drawer. - * - * @param startDelay The delay (in milliseconds) until the animation is first run. - * @param delay The delay (in milliseconds) between each run of the animation. If 0, this animation is only run - * once. - */ - public abstract void peekDrawer(long startDelay, long delay); - - /** - * Enables or disables the user of {@link View#LAYER_TYPE_HARDWARE} when animations views. - * - * @param enabled Whether hardware layers are enabled. - */ - public abstract void setHardwareLayerEnabled(boolean enabled); - - /** - * Sets the maximum duration of open/close animations. - * @param duration The maximum duration in milliseconds. - */ - public void setMaxAnimationDuration(int duration) { - mMaxAnimationDuration = duration; - } - - /** - * Returns the ViewGroup used as a parent for the menu view. - * - * @return The menu view's parent. - */ - public ViewGroup getMenuContainer() { - return mMenuContainer; - } - - /** - * Returns the ViewGroup used as a parent for the content view. - * - * @return The content view's parent. - */ - public ViewGroup getContentContainer() { - if (mDragMode == MENU_DRAG_CONTENT) { - return mContentContainer; - } else { - return (ViewGroup) findViewById(android.R.id.content); - } - } - - /** - * Set the menu view from a layout resource. - * - * @param layoutResId Resource ID to be inflated. - */ - public void setMenuView(int layoutResId) { - mMenuContainer.removeAllViews(); - mMenuView = LayoutInflater.from(getContext()).inflate(layoutResId, mMenuContainer, false); - mMenuContainer.addView(mMenuView); - } - - /** - * Set the menu view to an explicit view. - * - * @param view The menu view. - */ - public void setMenuView(View view) { - setMenuView(view, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - } - - /** - * Set the menu view to an explicit view. - * - * @param view The menu view. - * @param params Layout parameters for the view. - */ - public void setMenuView(View view, LayoutParams params) { - mMenuView = view; - mMenuContainer.removeAllViews(); - mMenuContainer.addView(view, params); - } - - /** - * Returns the menu view. - * - * @return The menu view. - */ - public View getMenuView() { - return mMenuView; - } - - /** - * Set the content from a layout resource. - * - * @param layoutResId Resource ID to be inflated. - */ - public void setContentView(int layoutResId) { - switch (mDragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - mContentContainer.removeAllViews(); - LayoutInflater.from(getContext()).inflate(layoutResId, mContentContainer, true); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - mActivity.setContentView(layoutResId); - break; - } - } - - /** - * Set the content to an explicit view. - * - * @param view The desired content to display. - */ - public void setContentView(View view) { - setContentView(view, new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - } - - /** - * Set the content to an explicit view. - * - * @param view The desired content to display. - * @param params Layout parameters for the view. - */ - public void setContentView(View view, LayoutParams params) { - switch (mDragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - mContentContainer.removeAllViews(); - mContentContainer.addView(view, params); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - mActivity.setContentView(view, params); - break; - } - } - - protected void setDrawerState(int state) { - if (state != mDrawerState) { - final int oldState = mDrawerState; - mDrawerState = state; - if (mOnDrawerStateChangeListener != null) mOnDrawerStateChangeListener.onDrawerStateChange(oldState, state); - if (DEBUG) logDrawerState(state); - } - } - - protected void logDrawerState(int state) { - switch (state) { - case STATE_CLOSED: - Log.d(TAG, "[DrawerState] STATE_CLOSED"); - break; - - case STATE_CLOSING: - Log.d(TAG, "[DrawerState] STATE_CLOSING"); - break; - - case STATE_DRAGGING: - Log.d(TAG, "[DrawerState] STATE_DRAGGING"); - break; - - case STATE_OPENING: - Log.d(TAG, "[DrawerState] STATE_OPENING"); - break; - - case STATE_OPEN: - Log.d(TAG, "[DrawerState] STATE_OPEN"); - break; - - default: - Log.d(TAG, "[DrawerState] Unknown: " + state); - } - } - - /** - * Returns the touch mode. - */ - public abstract int getTouchMode(); - - /** - * Sets the drawer touch mode. Possible values are {@link #TOUCH_MODE_NONE}, {@link #TOUCH_MODE_BEZEL} or - * {@link #TOUCH_MODE_FULLSCREEN}. - * - * @param mode The touch mode. - */ - public abstract void setTouchMode(int mode); - - /** - * Sets the size of the touch bezel. - * - * @param size The touch bezel size in px. - */ - public abstract void setTouchBezelSize(int size); - - /** - * Returns the size of the touch bezel in px. - */ - public abstract int getTouchBezelSize(); - - @Override - public void postOnAnimation(Runnable action) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - super.postOnAnimation(action); - } else { - postDelayed(action, ANIMATION_DELAY); - } - } - - @Override - protected boolean fitSystemWindows(Rect insets) { - if (mDragMode == MENU_DRAG_WINDOW) { - mMenuContainer.setPadding(0, insets.top, 0, 0); - } - return super.fitSystemWindows(insets); - } - - /** - * Saves the state of the drawer. - * - * @return Returns a Parcelable containing the drawer state. - */ - public final Parcelable saveState() { - if (mState == null) mState = new Bundle(); - saveState(mState); - return mState; - } - - void saveState(Bundle state) { - // State saving isn't required for subclasses. - } - - /** - * Restores the state of the drawer. - * - * @param in A parcelable containing the drawer state. - */ - public void restoreState(Parcelable in) { - mState = (Bundle) in; - } - - @Override - protected Parcelable onSaveInstanceState() { - Parcelable superState = super.onSaveInstanceState(); - SavedState state = new SavedState(superState); - - if (mState == null) mState = new Bundle(); - saveState(mState); - - state.mState = mState; - return state; - } - - @Override - protected void onRestoreInstanceState(Parcelable state) { - SavedState savedState = (SavedState) state; - super.onRestoreInstanceState(savedState.getSuperState()); - - restoreState(savedState.mState); - } - - static class SavedState extends BaseSavedState { - - Bundle mState; - - public SavedState(Parcelable superState) { - super(superState); - } - - public SavedState(Parcel in) { - super(in); - mState = in.readBundle(); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeBundle(mState); - } - - @SuppressWarnings("UnusedDeclaration") - public static final Creator CREATOR = new Creator() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java deleted file mode 100644 index 9462282cb1..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.simonvt.menudrawer; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; - -/** - * FrameLayout which doesn't let touch events propagate to views positioned behind it in the view hierarchy. - */ -public class NoClickThroughFrameLayout extends BuildLayerFrameLayout { - - public NoClickThroughFrameLayout(Context context) { - super(context); - } - - public NoClickThroughFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public NoClickThroughFrameLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - return true; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java deleted file mode 100644 index d0c7600f66..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -public class PeekInterpolator implements Interpolator { - - private static final String TAG = "PeekInterpolator"; - - private static final SinusoidalInterpolator SINUSOIDAL_INTERPOLATOR = new SinusoidalInterpolator(); - - @Override - public float getInterpolation(float input) { - float result; - - if (input < 1.f / 3.f) { - result = SINUSOIDAL_INTERPOLATOR.getInterpolation(input * 3); - - } else if (input > 2.f / 3.f) { - final float val = ((input + 1.f / 3.f) - 1.f) * 3.f; - result = 1.f - SINUSOIDAL_INTERPOLATOR.getInterpolation(val); - - } else { - result = 1.f; - } - - return result; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java deleted file mode 100644 index e1a3dd3a46..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.simonvt.menudrawer; - -/** - * Enums used for positioning the drawer. - */ -public enum Position { - // Positions the drawer to the left of the content. - LEFT, - - // Positions the drawer above the content. - TOP, - - // Positions the drawer to the right of the content. - RIGHT, - - // Positions the drawer below the content. - BOTTOM, -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java deleted file mode 100644 index 5d75904aac..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java +++ /dev/null @@ -1,234 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class RightDrawer extends HorizontalDrawer { - - private int mIndicatorTop; - - RightDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public RightDrawer(Context context) { - super(context); - } - - public RightDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public RightDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(-mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(width - mMenuSize, 0, width, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(offsetPixels, 0, width + offsetPixels, height); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuWidth = mMenuSize; - final float openRatio = (menuWidth + (float) offsetPixels) / menuWidth; - - if (USE_TRANSLATIONS) { - if (offsetPixels != 0) { - final int offset = (int) (0.25f * (openRatio * menuWidth)); - mMenuContainer.setTranslationX(offset); - } else { - mMenuContainer.setTranslationX(-menuWidth); - } - - } else { - final int width = getWidth(); - final int oldMenuRight = mMenuContainer.getRight(); - final int newRight = width + (int) (0.25f * (openRatio * menuWidth)); - final int offset = newRight - oldMenuRight; - mMenuContainer.offsetLeftAndRight(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final int width = getWidth(); - final int left = width + offsetPixels; - final int right = left + mDropShadowSize; - - mDropShadowDrawable.setBounds(left, 0, right, height); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final int width = getWidth(); - final int left = width + offsetPixels; - final int right = width; - final float openRatio = ((float) Math.abs(offsetPixels)) / mMenuSize; - - mMenuOverlay.setBounds(left, 0, right, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int width = getWidth(); - final int menuWidth = mMenuSize; - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int contentRight = width + offsetPixels; - final float openRatio = ((float) Math.abs(offsetPixels)) / menuWidth; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedWidth = (int) (indicatorWidth * interpolatedRatio); - - final int indicatorRight = contentRight + interpolatedWidth; - final int indicatorLeft = indicatorRight - indicatorWidth; - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - - canvas.save(); - canvas.clipRect(contentRight, 0, indicatorRight, getHeight()); - canvas.drawBitmap(mActiveIndicator, indicatorLeft, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } - - @Override - protected void initPeekScroller() { - final int dx = -mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationX(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetLeftAndRight(offsetPixels - mContentContainer.getLeft()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getX() < getWidth() + mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - final int width = getWidth(); - final int initialMotionX = (int) mInitialMotionX; - - return (!mMenuVisible && initialMotionX >= width - mTouchSize) - || (mMenuVisible && initialMotionX <= width + mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - final int width = getWidth(); - final int initialMotionX = (int) mInitialMotionX; - - return (!mMenuVisible && initialMotionX >= width - mTouchSize && (diff < 0)) - || (mMenuVisible && initialMotionX <= width + mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - final float newOffset = Math.max(Math.min(mOffsetPixels + dx, 0), -mMenuSize); - setOffsetPixels(newOffset); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - final int width = getWidth(); - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionX = ev.getX(); - animateOffsetTo(mVelocityTracker.getXVelocity() > 0 ? 0 : -mMenuSize, initialVelocity, true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getX() < width + offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java deleted file mode 100644 index 2027b43acc..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java +++ /dev/null @@ -1,87 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class RightStaticDrawer extends StaticDrawer { - - private int mIndicatorTop; - - RightStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public RightStaticDrawer(Context context) { - super(context); - } - - public RightStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public RightStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.RIGHT; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int width = getWidth(); - final int menuWidth = mMenuSize; - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int contentRight = width - menuWidth; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final int indicatorRight = contentRight + indicatorWidth; - final int indicatorLeft = contentRight; - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - - canvas.save(); - canvas.clipRect(contentRight, 0, indicatorRight, getHeight()); - canvas.drawBitmap(mActiveIndicator, indicatorLeft, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java deleted file mode 100644 index 58f0fc54e5..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java +++ /dev/null @@ -1,505 +0,0 @@ -/* - * Copyright (C) 2006 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.simonvt.menudrawer; - -import android.content.Context; -import android.hardware.SensorManager; -import android.os.Build; -import android.util.FloatMath; -import android.view.ViewConfiguration; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; - - -/** - * This class encapsulates scrolling. The duration of the scroll - * can be passed in the constructor and specifies the maximum time that - * the scrolling animation should take. Past this time, the scrolling is - * automatically moved to its final stage and computeScrollOffset() - * will always return false to indicate that scrolling is over. - */ -public class Scroller { - private int mMode; - - private int mStartX; - private int mStartY; - private int mFinalX; - private int mFinalY; - - private int mMinX; - private int mMaxX; - private int mMinY; - private int mMaxY; - - private int mCurrX; - private int mCurrY; - private long mStartTime; - private int mDuration; - private float mDurationReciprocal; - private float mDeltaX; - private float mDeltaY; - private boolean mFinished; - private Interpolator mInterpolator; - private boolean mFlywheel; - - private float mVelocity; - - private static final int DEFAULT_DURATION = 250; - private static final int SCROLL_MODE = 0; - private static final int FLING_MODE = 1; - - private static final float DECELERATION_RATE = (float) (Math.log(0.75) / Math.log(0.9)); - private static final float ALPHA = 800; // pixels / seconds - private static final float START_TENSION = 0.4f; // Tension at start: (0.4 * total T, 1.0 * Distance) - private static final float END_TENSION = 1.0f - START_TENSION; - private static final int NB_SAMPLES = 100; - private static final float[] SPLINE = new float[NB_SAMPLES + 1]; - - private float mDeceleration; - private final float mPpi; - - static { - float xMin = 0.0f; - for (int i = 0; i <= NB_SAMPLES; i++) { - final float t = (float) i / NB_SAMPLES; - float xMax = 1.0f; - float x, tx, coef; - while (true) { - x = xMin + (xMax - xMin) / 2.0f; - coef = 3.0f * x * (1.0f - x); - tx = coef * ((1.0f - x) * START_TENSION + x * END_TENSION) + x * x * x; - if (Math.abs(tx - t) < 1E-5) break; - if (tx > t) xMax = x; - else xMin = x; - } - final float d = coef + x * x * x; - SPLINE[i] = d; - } - SPLINE[NB_SAMPLES] = 1.0f; - - // This controls the viscous fluid effect (how much of it) - sViscousFluidScale = 8.0f; - // must be set to 1.0 (used in viscousFluid()) - sViscousFluidNormalize = 1.0f; - sViscousFluidNormalize = 1.0f / viscousFluid(1.0f); - } - - private static float sViscousFluidScale; - private static float sViscousFluidNormalize; - - /** - * Create a Scroller with the default duration and interpolator. - */ - public Scroller(Context context) { - this(context, null); - } - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. "Flywheel" behavior will - * be in effect for apps targeting Honeycomb or newer. - */ - public Scroller(Context context, Interpolator interpolator) { - this(context, interpolator, - context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB); - } - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. Specify whether or - * not to support progressive "flywheel" behavior in flinging. - */ - public Scroller(Context context, Interpolator interpolator, boolean flywheel) { - mFinished = true; - mInterpolator = interpolator; - mPpi = context.getResources().getDisplayMetrics().density * 160.0f; - mDeceleration = computeDeceleration(ViewConfiguration.getScrollFriction()); - mFlywheel = flywheel; - } - - /** - * The amount of friction applied to flings. The default value - * is {@link android.view.ViewConfiguration#getScrollFriction}. - * - * @param friction A scalar dimension-less value representing the coefficient of - * friction. - */ - public final void setFriction(float friction) { - mDeceleration = computeDeceleration(friction); - } - - private float computeDeceleration(float friction) { - return SensorManager.GRAVITY_EARTH // g (m/s^2) - * 39.37f // inch/meter - * mPpi // pixels per inch - * friction; - } - - /** - * - * Returns whether the scroller has finished scrolling. - * - * @return True if the scroller has finished scrolling, false otherwise. - */ - public final boolean isFinished() { - return mFinished; - } - - /** - * Force the finished field to a particular value. - * - * @param finished The new finished value. - */ - public final void forceFinished(boolean finished) { - mFinished = finished; - } - - /** - * Returns how long the scroll event will take, in milliseconds. - * - * @return The duration of the scroll in milliseconds. - */ - public final int getDuration() { - return mDuration; - } - - /** - * Returns the current X offset in the scroll. - * - * @return The new X offset as an absolute distance from the origin. - */ - public final int getCurrX() { - return mCurrX; - } - - /** - * Returns the current Y offset in the scroll. - * - * @return The new Y offset as an absolute distance from the origin. - */ - public final int getCurrY() { - return mCurrY; - } - - /** - * Returns the current velocity. - * - * @return The original velocity less the deceleration. Result may be - * negative. - */ - public float getCurrVelocity() { - return mVelocity - mDeceleration * timePassed() / 2000.0f; - } - - /** - * Returns the start X offset in the scroll. - * - * @return The start X offset as an absolute distance from the origin. - */ - public final int getStartX() { - return mStartX; - } - - /** - * Returns the start Y offset in the scroll. - * - * @return The start Y offset as an absolute distance from the origin. - */ - public final int getStartY() { - return mStartY; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final X offset as an absolute distance from the origin. - */ - public final int getFinalX() { - return mFinalX; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final Y offset as an absolute distance from the origin. - */ - public final int getFinalY() { - return mFinalY; - } - - /** - * Call this when you want to know the new location. If it returns true, - * the animation is not yet finished. loc will be altered to provide the - * new location. - */ - public boolean computeScrollOffset() { - if (mFinished) { - return false; - } - - int timePassed = (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - - if (timePassed < mDuration) { - switch (mMode) { - case SCROLL_MODE: - float x = timePassed * mDurationReciprocal; - - if (mInterpolator == null) - x = viscousFluid(x); - else - x = mInterpolator.getInterpolation(x); - - mCurrX = mStartX + Math.round(x * mDeltaX); - mCurrY = mStartY + Math.round(x * mDeltaY); - break; - case FLING_MODE: - final float t = (float) timePassed / mDuration; - final int index = (int) (NB_SAMPLES * t); - final float tInf = (float) index / NB_SAMPLES; - final float tSup = (float) (index + 1) / NB_SAMPLES; - final float dInf = SPLINE[index]; - final float dSup = SPLINE[index + 1]; - final float distanceCoef = dInf + (t - tInf) / (tSup - tInf) * (dSup - dInf); - - mCurrX = mStartX + Math.round(distanceCoef * (mFinalX - mStartX)); - // Pin to mMinX <= mCurrX <= mMaxX - mCurrX = Math.min(mCurrX, mMaxX); - mCurrX = Math.max(mCurrX, mMinX); - - mCurrY = mStartY + Math.round(distanceCoef * (mFinalY - mStartY)); - // Pin to mMinY <= mCurrY <= mMaxY - mCurrY = Math.min(mCurrY, mMaxY); - mCurrY = Math.max(mCurrY, mMinY); - - if (mCurrX == mFinalX && mCurrY == mFinalY) { - mFinished = true; - } - - break; - } - } else { - mCurrX = mFinalX; - mCurrY = mFinalY; - mFinished = true; - } - return true; - } - - /** - * Start scrolling by providing a starting point and the distance to travel. - * The scroll will use the default value of 250 milliseconds for the - * duration. - * - * @param startX Starting horizontal scroll offset in pixels. Positive - * numbers will scroll the content to the left. - * @param startY Starting vertical scroll offset in pixels. Positive numbers - * will scroll the content up. - * @param dx Horizontal distance to travel. Positive numbers will scroll the - * content to the left. - * @param dy Vertical distance to travel. Positive numbers will scroll the - * content up. - */ - public void startScroll(int startX, int startY, int dx, int dy) { - startScroll(startX, startY, dx, dy, DEFAULT_DURATION); - } - - /** - * Start scrolling by providing a starting point and the distance to travel. - * - * @param startX Starting horizontal scroll offset in pixels. Positive - * numbers will scroll the content to the left. - * @param startY Starting vertical scroll offset in pixels. Positive numbers - * will scroll the content up. - * @param dx Horizontal distance to travel. Positive numbers will scroll the - * content to the left. - * @param dy Vertical distance to travel. Positive numbers will scroll the - * content up. - * @param duration Duration of the scroll in milliseconds. - */ - public void startScroll(int startX, int startY, int dx, int dy, int duration) { - mMode = SCROLL_MODE; - mFinished = false; - mDuration = duration; - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStartX = startX; - mStartY = startY; - mFinalX = startX + dx; - mFinalY = startY + dy; - mDeltaX = dx; - mDeltaY = dy; - mDurationReciprocal = 1.0f / (float) mDuration; - } - - /** - * Start scrolling based on a fling gesture. The distance travelled will - * depend on the initial velocity of the fling. - * - * @param startX Starting point of the scroll (X) - * @param startY Starting point of the scroll (Y) - * @param velocityX Initial velocity of the fling (X) measured in pixels per - * second. - * @param velocityY Initial velocity of the fling (Y) measured in pixels per - * second - * @param minX Minimum X value. The scroller will not scroll past this - * point. - * @param maxX Maximum X value. The scroller will not scroll past this - * point. - * @param minY Minimum Y value. The scroller will not scroll past this - * point. - * @param maxY Maximum Y value. The scroller will not scroll past this - * point. - */ - public void fling(int startX, int startY, int velocityX, int velocityY, - int minX, int maxX, int minY, int maxY) { - // Continue a scroll or fling in progress - if (mFlywheel && !mFinished) { - float oldVel = getCurrVelocity(); - - float dx = (float) (mFinalX - mStartX); - float dy = (float) (mFinalY - mStartY); - float hyp = FloatMath.sqrt(dx * dx + dy * dy); - - float ndx = dx / hyp; - float ndy = dy / hyp; - - float oldVelocityX = ndx * oldVel; - float oldVelocityY = ndy * oldVel; - if (Math.signum(velocityX) == Math.signum(oldVelocityX) - && Math.signum(velocityY) == Math.signum(oldVelocityY)) { - velocityX += oldVelocityX; - velocityY += oldVelocityY; - } - } - - mMode = FLING_MODE; - mFinished = false; - - float velocity = FloatMath.sqrt(velocityX * velocityX + velocityY * velocityY); - - mVelocity = velocity; - final double l = Math.log(START_TENSION * velocity / ALPHA); - mDuration = (int) (1000.0 * Math.exp(l / (DECELERATION_RATE - 1.0))); - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStartX = startX; - mStartY = startY; - - float coeffX = velocity == 0 ? 1.0f : velocityX / velocity; - float coeffY = velocity == 0 ? 1.0f : velocityY / velocity; - - int totalDistance = - (int) (ALPHA * Math.exp(DECELERATION_RATE / (DECELERATION_RATE - 1.0) * l)); - - mMinX = minX; - mMaxX = maxX; - mMinY = minY; - mMaxY = maxY; - - mFinalX = startX + Math.round(totalDistance * coeffX); - // Pin to mMinX <= mFinalX <= mMaxX - mFinalX = Math.min(mFinalX, mMaxX); - mFinalX = Math.max(mFinalX, mMinX); - - mFinalY = startY + Math.round(totalDistance * coeffY); - // Pin to mMinY <= mFinalY <= mMaxY - mFinalY = Math.min(mFinalY, mMaxY); - mFinalY = Math.max(mFinalY, mMinY); - } - - static float viscousFluid(float x) { - x *= sViscousFluidScale; - if (x < 1.0f) { - x -= (1.0f - (float) Math.exp(-x)); - } else { - float start = 0.36787944117f; // 1/e == exp(-1) - x = 1.0f - (float) Math.exp(1.0f - x); - x = start + x * (1.0f - start); - } - x *= sViscousFluidNormalize; - return x; - } - - /** - * Stops the animation. Contrary to {@link #forceFinished(boolean)}, - * aborting the animating cause the scroller to move to the final x and y - * position - * - * @see #forceFinished(boolean) - */ - public void abortAnimation() { - mCurrX = mFinalX; - mCurrY = mFinalY; - mFinished = true; - } - - /** - * Extend the scroll animation. This allows a running animation to scroll - * further and longer, when used with {@link #setFinalX(int)} or {@link #setFinalY(int)}. - * - * @param extend Additional time to scroll in milliseconds. - * @see #setFinalX(int) - * @see #setFinalY(int) - */ - public void extendDuration(int extend) { - int passed = timePassed(); - mDuration = passed + extend; - mDurationReciprocal = 1.0f / mDuration; - mFinished = false; - } - - /** - * Returns the time elapsed since the beginning of the scrolling. - * - * @return The elapsed time in milliseconds. - */ - public int timePassed() { - return (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - } - - /** - * Sets the final position (X) for this scroller. - * - * @param newX The new X offset as an absolute distance from the origin. - * @see #extendDuration(int) - * @see #setFinalY(int) - */ - public void setFinalX(int newX) { - mFinalX = newX; - mDeltaX = mFinalX - mStartX; - mFinished = false; - } - - /** - * Sets the final position (Y) for this scroller. - * - * @param newY The new Y offset as an absolute distance from the origin. - * @see #extendDuration(int) - * @see #setFinalX(int) - */ - public void setFinalY(int newY) { - mFinalY = newY; - mDeltaY = mFinalY - mStartY; - mFinished = false; - } - - /** - * @hide - */ - public boolean isScrollingInDirection(float xvel, float yvel) { - return !mFinished && Math.signum(xvel) == Math.signum(mFinalX - mStartX) - && Math.signum(yvel) == Math.signum(mFinalY - mStartY); - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java deleted file mode 100644 index e79051a06b..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -/** - * Interpolator which, when drawn from 0 to 1, looks like half a sine-wave. Used for smoother opening/closing when - * peeking at the drawer. - */ -public class SinusoidalInterpolator implements Interpolator { - - @Override - public float getInterpolation(float input) { - return (float) (0.5f + 0.5f * Math.sin(input * Math.PI - Math.PI / 2.f)); - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java deleted file mode 100644 index cfdcb69bf3..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -public class SmoothInterpolator implements Interpolator { - - @Override - public float getInterpolation(float t) { - t -= 1.0f; - return t * t * t * t * t + 1.0f; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java deleted file mode 100644 index 879f2c9504..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java +++ /dev/null @@ -1,208 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.util.AttributeSet; - -public abstract class StaticDrawer extends MenuDrawer { - - protected Position mPosition; - - StaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public StaticDrawer(Context context) { - super(context); - } - - public StaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public StaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - if (mDropShadowEnabled) drawDropShadow(canvas); - if (mActiveIndicator != null) drawIndicator(canvas); - } - - private void drawDropShadow(Canvas canvas) { - final int width = getWidth(); - final int height = getHeight(); - final int menuSize = mMenuSize; - final int dropShadowSize = mDropShadowSize; - - switch (mPosition) { - case LEFT: - mDropShadowDrawable.setBounds(menuSize - dropShadowSize, 0, menuSize, height); - break; - - case TOP: - mDropShadowDrawable.setBounds(0, menuSize - dropShadowSize, width, menuSize); - break; - - case RIGHT: - mDropShadowDrawable.setBounds(width - menuSize, 0, width - menuSize + dropShadowSize, height); - break; - - case BOTTOM: - mDropShadowDrawable.setBounds(0, height - menuSize, width, height - menuSize + dropShadowSize); - break; - } - - mDropShadowDrawable.draw(canvas); - } - - protected abstract void drawIndicator(Canvas canvas); - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - - switch (mPosition) { - case LEFT: - mMenuContainer.layout(0, 0, mMenuSize, height); - mContentContainer.layout(mMenuSize, 0, width, height); - break; - - case RIGHT: - mMenuContainer.layout(width - mMenuSize, 0, width, height); - mContentContainer.layout(0, 0, width - mMenuSize, height); - break; - - case TOP: - mMenuContainer.layout(0, 0, width, mMenuSize); - mContentContainer.layout(0, mMenuSize, width, height); - break; - - case BOTTOM: - mMenuContainer.layout(0, height - mMenuSize, width, height); - mContentContainer.layout(0, 0, width, height - mMenuSize); - break; - } - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (height * 0.25f); - - switch (mPosition) { - case LEFT: - case RIGHT: { - final int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); - - final int menuWidth = mMenuSize; - final int menuWidthMeasureSpec = MeasureSpec.makeMeasureSpec(menuWidth, MeasureSpec.EXACTLY); - - final int contentWidth = width - menuWidth; - final int contentWidthMeasureSpec = MeasureSpec.makeMeasureSpec(contentWidth, MeasureSpec.EXACTLY); - - mContentContainer.measure(contentWidthMeasureSpec, childHeightMeasureSpec); - mMenuContainer.measure(menuWidthMeasureSpec, childHeightMeasureSpec); - break; - } - - case TOP: - case BOTTOM: { - final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY); - - final int menuHeight = mMenuSize; - final int menuHeightMeasureSpec = MeasureSpec.makeMeasureSpec(menuHeight, MeasureSpec.EXACTLY); - - final int contentHeight = height - menuHeight; - final int contentHeightMeasureSpec = MeasureSpec.makeMeasureSpec(contentHeight, MeasureSpec.EXACTLY); - - mContentContainer.measure(childWidthMeasureSpec, contentHeightMeasureSpec); - mMenuContainer.measure(childWidthMeasureSpec, menuHeightMeasureSpec); - break; - } - } - - setMeasuredDimension(width, height); - } - - @Override - public void toggleMenu(boolean animate) { - } - - @Override - public void openMenu(boolean animate) { - } - - @Override - public void closeMenu(boolean animate) { - } - - @Override - public boolean isMenuVisible() { - return true; - } - - @Override - public void setMenuSize(int size) { - mMenuSize = size; - mMenuSizeSet = true; - requestLayout(); - invalidate(); - } - - @Override - public void setOffsetMenuEnabled(boolean offsetMenu) { - } - - @Override - public boolean getOffsetMenuEnabled() { - return false; - } - - @Override - public void peekDrawer() { - } - - @Override - public void peekDrawer(long delay) { - } - - @Override - public void peekDrawer(long startDelay, long delay) { - } - - @Override - public void setHardwareLayerEnabled(boolean enabled) { - } - - @Override - public int getTouchMode() { - return TOUCH_MODE_NONE; - } - - @Override - public void setTouchMode(int mode) { - } - - @Override - public void setTouchBezelSize(int size) { - } - - @Override - public int getTouchBezelSize() { - return 0; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java deleted file mode 100644 index 0af2c6bad8..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java +++ /dev/null @@ -1,216 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class TopDrawer extends VerticalDrawer { - - private int mIndicatorLeft; - - TopDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public TopDrawer(Context context) { - super(context); - } - - public TopDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public TopDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, - new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(0, 0, width, mMenuSize); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(0, offsetPixels, width, height + offsetPixels); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuSize = mMenuSize; - final float openRatio = (menuSize - (float) offsetPixels) / menuSize; - - if (USE_TRANSLATIONS) { - if (offsetPixels > 0) { - final int offset = (int) (0.25f * (-openRatio * menuSize)); - mMenuContainer.setTranslationY(offset); - } else { - mMenuContainer.setTranslationY(-menuSize); - } - - } else { - final int oldMenuTop = mMenuContainer.getTop(); - final int offset = (int) (0.25f * (-openRatio * menuSize)) - oldMenuTop; - mMenuContainer.offsetTopAndBottom(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - - mDropShadowDrawable.setBounds(0, offsetPixels - mDropShadowSize, width, offsetPixels); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mMenuOverlay.setBounds(0, 0, width, offsetPixels); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - final float openRatio = ((float) offsetPixels) / menuHeight; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedHeight = (int) (indicatorHeight * interpolatedRatio); - - final int indicatorTop = offsetPixels - interpolatedHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, offsetPixels); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } - - @Override - protected void initPeekScroller() { - final int dx = mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationY(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetTopAndBottom(offsetPixels - mContentContainer.getTop()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getY() > mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - return (!mMenuVisible && mInitialMotionY <= mTouchSize) - || (mMenuVisible && mInitialMotionY >= mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - return (!mMenuVisible && mInitialMotionY <= mTouchSize && (diff > 0)) - || (mMenuVisible && mInitialMotionY >= mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.min(Math.max(mOffsetPixels + dx, 0), mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionY = ev.getY(); - animateOffsetTo(mVelocityTracker.getYVelocity() > 0 ? mMenuSize : 0, initialVelocity, - true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getY() > offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java deleted file mode 100644 index ac846148b1..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class TopStaticDrawer extends StaticDrawer { - - private int mIndicatorLeft; - - TopStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public TopStaticDrawer(Context context) { - super(context); - } - - public TopStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public TopStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.TOP; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int indicatorTop = menuHeight - indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, menuHeight); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java deleted file mode 100644 index 415d49896e..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java +++ /dev/null @@ -1,216 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; - -public abstract class VerticalDrawer extends DraggableDrawer { - - VerticalDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public VerticalDrawer(Context context) { - super(context); - } - - public VerticalDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public VerticalDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (height * 0.25f); - if (mOffsetPixels == -1) openMenu(false); - - final int menuWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int menuHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, mMenuSize); - mMenuContainer.measure(menuWidthMeasureSpec, menuHeightMeasureSpec); - - final int contentWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int contentHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mContentContainer.measure(contentWidthMeasureSpec, contentHeightMeasureSpec); - - setMeasuredDimension(width, height); - - updateTouchAreaSize(); - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (action == MotionEvent.ACTION_DOWN && mMenuVisible && isCloseEnough()) { - setOffsetPixels(0); - stopAnimation(); - endPeek(); - setDrawerState(STATE_CLOSED); - } - - // Always intercept events over the content while menu is visible. - if (mMenuVisible && isContentTouch(ev)) { - return true; - } - - if (mTouchMode == TOUCH_MODE_NONE) { - return false; - } - - if (action != MotionEvent.ACTION_DOWN) { - if (mIsDragging) { - return true; - } - } - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - setDrawerState(mMenuVisible ? STATE_OPEN : STATE_CLOSED); - stopAnimation(); - endPeek(); - mIsDragging = false; - } - break; - } - - case MotionEvent.ACTION_MOVE: { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float dy = y - mLastMotionY; - final float yDiff = Math.abs(dy); - - if (yDiff > mTouchSlop && yDiff > xDiff) { - if (mOnInterceptMoveEventListener != null && mTouchMode == TOUCH_MODE_FULLSCREEN - && canChildScrollVertically(mContentContainer, false, (int) dx, (int) x, (int) y)) { - endDrag(); // Release the velocity tracker - return false; - } - - final boolean allowDrag = onMoveAllowDrag(ev, dy); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x; - mLastMotionY = y; - } - } - break; - } - - /** - * If you click really fast, an up or cancel event is delivered here. Just snap content to - * whatever is closest. - */ - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - if (Math.abs(mOffsetPixels) > mMenuSize / 2) { - openMenu(); - } else { - closeMenu(); - } - break; - } - } - - if (mVelocityTracker == null) { - mVelocityTracker = VelocityTracker.obtain(); - } - mVelocityTracker.addMovement(ev); - - return mIsDragging; - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (!mMenuVisible && !mIsDragging && (mTouchMode == TOUCH_MODE_NONE)) { - return false; - } - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (mVelocityTracker == null) { - mVelocityTracker = VelocityTracker.obtain(); - } - mVelocityTracker.addMovement(ev); - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - stopAnimation(); - endPeek(); - startLayerTranslation(); - } - break; - } - - case MotionEvent.ACTION_MOVE: { - if (!mIsDragging) { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float dy = y - mLastMotionY; - final float yDiff = Math.abs(dy); - - if (yDiff > mTouchSlop && yDiff > xDiff) { - final boolean allowDrag = onMoveAllowDrag(ev, dy); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionY = y - mInitialMotionY > 0 - ? mInitialMotionY + mTouchSlop - : mInitialMotionY - mTouchSlop; - } - } - } - - if (mIsDragging) { - startLayerTranslation(); - - final float y = ev.getY(); - final float dy = y - mLastMotionY; - - mLastMotionY = y; - onMoveEvent(dy); - } - break; - } - - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - onUpEvent(ev); - break; - } - } - - return true; - } - -} diff --git a/Externals/android-menudrawer/pom.xml b/Externals/android-menudrawer/pom.xml deleted file mode 100644 index eda6dd9125..0000000000 --- a/Externals/android-menudrawer/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - 4.0.0 - - - org.sonatype.oss - oss-parent - 7 - - - net.simonvt - android-menudrawer-parent - pom - 2.0.3-SNAPSHOT - - Android MenuDrawer (Parent) - A menu drawer implementation which allows dragging of both the content, and the entire window. - https://github.com/SimonVT/android-menudrawer - 2012 - - - library - samples - - - - http://github.com/SimonVT/android-menudrawer/ - scm:git:git://github.com/SimonVT/android-menudrawer.git - scm:git:git@github.com:SimonVT/android-menudrawer.git - HEAD - - - - - Apache License Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - GitHub Issues - https://github.com/SimonVT/android-menudrawer/issues - - - - UTF-8 - UTF-8 - - 1.6 - 4.1.1.4 - 16 - - r7 - - - - - - com.google.android - android - ${android.version} - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.0 - - ${java.version} - ${java.version} - - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - 3.5.1 - - - ${android.platform} - - - true - - - - - - - org.apache.maven.plugins - maven-release-plugin - 2.4 - - true - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 2.9.1 - - true - - ../checkstyle.xml - true - - - - verify - - checkstyle - - - - - - - diff --git a/Externals/android-menudrawer/samples/AndroidManifest.xml b/Externals/android-menudrawer/samples/AndroidManifest.xml deleted file mode 100644 index 7323fa61b3..0000000000 --- a/Externals/android-menudrawer/samples/AndroidManifest.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/build.xml b/Externals/android-menudrawer/samples/build.xml deleted file mode 100644 index 9eb8fb98ea..0000000000 --- a/Externals/android-menudrawer/samples/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar b/Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar deleted file mode 100644 index feaf44f801..0000000000 Binary files a/Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar and /dev/null differ diff --git a/Externals/android-menudrawer/samples/pom.xml b/Externals/android-menudrawer/samples/pom.xml deleted file mode 100644 index 5baaac769b..0000000000 --- a/Externals/android-menudrawer/samples/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - 4.0.0 - - - net.simonvt - android-menudrawer-parent - 2.0.3-SNAPSHOT - ../pom.xml - - - android-menudrawer-sample - Android MenuDrawer Sample - apk - - - - com.google.android - android - provided - - - net.simonvt - android-menudrawer - ${project.version} - apklib - - - com.google.android - support-v4 - ${android-support.version} - - - - - src - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - - - - diff --git a/Externals/android-menudrawer/samples/project.properties b/Externals/android-menudrawer/samples/project.properties deleted file mode 100644 index 1561d7a9a1..0000000000 --- a/Externals/android-menudrawer/samples/project.properties +++ /dev/null @@ -1,15 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -# Project target. -target=android-17 -android.library.reference.1=../library diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png deleted file mode 100644 index add3b36186..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_bottom.png deleted file mode 100644 index 47e9c9045c..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png deleted file mode 100644 index 4ae9df9b78..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png deleted file mode 100644 index ab4ed80eea..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png deleted file mode 100644 index bb9d855f77..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png deleted file mode 100644 index c87c3f8370..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index 96a442e5b8..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png deleted file mode 100644 index bb6aef1d06..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__category_background.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__category_background.9.png deleted file mode 100644 index 43a20adcb1..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__category_background.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png deleted file mode 100644 index 555270842a..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index 4ea7afa00e..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png deleted file mode 100644 index 5654cd6942..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png deleted file mode 100644 index f6fd30dcdc..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png deleted file mode 100644 index c28d98f3bb..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_bottom.png deleted file mode 100644 index 4cbe8cbed4..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_right.png deleted file mode 100644 index 2fb6a937e6..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png deleted file mode 100644 index 41f6c6a859..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow.png deleted file mode 100644 index 26d7759516..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_bottom.png deleted file mode 100644 index af8e7b909d..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png deleted file mode 100644 index 21deedfcac..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png deleted file mode 100644 index 1f5d61a278..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png deleted file mode 100644 index bd611e8e24..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_select_all_dark.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_select_all_dark.png deleted file mode 100644 index 252ecbb0ed..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_select_all_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_launcher.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_launcher.png deleted file mode 100644 index 359047dfa4..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_launcher.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png deleted file mode 100644 index 01d681697f..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__category_background.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__category_background.9.png deleted file mode 100644 index af0bc168d5..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__category_background.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png deleted file mode 100644 index 00f05d8c97..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index 3bf8e03623..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_pressed_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_pressed_holo_dark.9.png deleted file mode 100644 index 6e77525d2d..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_pressed_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png deleted file mode 100644 index 92da2f0dd3..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow.png deleted file mode 100644 index ecacda7113..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_bottom.png deleted file mode 100644 index 3dce461a3d..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png deleted file mode 100644 index 3222d034e9..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png deleted file mode 100644 index cde43fd2b1..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png deleted file mode 100644 index 6bdcc62e1a..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_bottom.png deleted file mode 100644 index aba9001f33..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png deleted file mode 100644 index 85591b81d5..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png deleted file mode 100644 index b81c74749d..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_refresh_dark.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_refresh_dark.png deleted file mode 100644 index a7fdc0dfcb..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_refresh_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png deleted file mode 100644 index f193a8bb31..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_launcher.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_launcher.png deleted file mode 100644 index 71c6d760f0..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_launcher.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_light.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_light.png deleted file mode 100644 index 930ca8d95e..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_light.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__category_background.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__category_background.9.png deleted file mode 100644 index 942d72e65b..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__category_background.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png deleted file mode 100644 index b545f8e578..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index eda10e6123..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_pressed_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_pressed_holo_dark.9.png deleted file mode 100644 index e4b33935a3..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_pressed_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_selector_disabled_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_selector_disabled_holo_dark.9.png deleted file mode 100644 index 88726b6916..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_selector_disabled_holo_dark.9.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png deleted file mode 100644 index b159937237..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png deleted file mode 100644 index 77a088fdce..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_right.png deleted file mode 100644 index 17b5250d1d..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_right.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png deleted file mode 100644 index 2c2f749008..0000000000 Binary files a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png and /dev/null differ diff --git a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml b/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml deleted file mode 100644 index 1d43396d8a..0000000000 --- a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml b/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml deleted file mode 100644 index bd71aa8b6e..0000000000 --- a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml deleted file mode 100644 index ee576195e2..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml deleted file mode 100644 index 54140e71e7..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml deleted file mode 100644 index 83684116b4..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml deleted file mode 100644 index ad1a6b7601..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml deleted file mode 100644 index e6cb5622c7..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml deleted file mode 100644 index d288cfa5aa..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml b/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml deleted file mode 100644 index 6efa747ebe..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml deleted file mode 100644 index a23003f22b..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml b/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml deleted file mode 100644 index edd6d1f67a..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/main.xml b/Externals/android-menudrawer/samples/res/layout/main.xml deleted file mode 100644 index 6dd71bd26a..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/main.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - -