mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-25 21:06:12 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb9b3aeab7 | ||
|
|
160e764c4c | ||
|
|
dfa5fbf92d | ||
|
|
b1d02ce571 | ||
|
|
0601d5fa8d | ||
|
|
5ccbbdf61b | ||
|
|
83b44e3feb | ||
|
|
1c4aba1d43 | ||
|
|
9a355d784b | ||
|
|
4f540b9cbb | ||
|
|
b231c6c269 | ||
|
|
e92cc49459 | ||
|
|
3e24bb1dc9 | ||
|
|
b8a63eb73d | ||
|
|
bba0bf3726 | ||
|
|
bf29112d56 | ||
|
|
843deb2f6b | ||
|
|
76c1e643fa | ||
|
|
a7e7ea4ccf | ||
|
|
e2401417ef | ||
|
|
d90cd6f5ee | ||
|
|
509d4f2cec | ||
|
|
49310cd5a6 | ||
|
|
3a1ea97cb4 | ||
|
|
072a4680be | ||
|
|
0eec0f8ec9 | ||
|
|
725811baa9 | ||
|
|
39dd578d45 | ||
|
|
37b809b296 | ||
|
|
a80542d67d | ||
|
|
a3657e112a | ||
|
|
7d7375556c | ||
|
|
c97c71951c | ||
|
|
81c7fb1a26 | ||
|
|
b63eddd4cd | ||
|
|
d536b3d2cc | ||
|
|
e8776bc80d | ||
|
|
920ff4d072 | ||
|
|
1d56c6ed0f | ||
|
|
2a20bc7209 | ||
|
|
df0040791e | ||
|
|
cc8c7fc4de | ||
|
|
7e2f6d4af8 | ||
|
|
4c15108233 | ||
|
|
1667644e3d | ||
|
|
6476e9442e | ||
|
|
a05be24b48 | ||
|
|
7d2ebaf265 | ||
|
|
e606b52c39 | ||
|
|
7cbcd8f9fa | ||
|
|
d270e9a513 | ||
|
|
fe8145e750 | ||
|
|
39d7c47f04 | ||
|
|
be2714672b | ||
|
|
ccc159b3d9 | ||
|
|
3a88df2c38 | ||
|
|
fbf4b000ef | ||
|
|
356eeb3ae6 | ||
|
|
a2418218a6 | ||
|
|
ac4f02c4ac | ||
|
|
371d2ca1e7 | ||
|
|
4c3997e7a2 | ||
|
|
e40235ffb0 | ||
|
|
8d14b53047 | ||
|
|
47cf45ad54 | ||
|
|
30dbf80507 | ||
|
|
c27917ebf9 | ||
|
|
0c79d19b48 | ||
|
|
1402537900 | ||
|
|
aa13651a03 | ||
|
|
980a165dc9 | ||
|
|
317f58fa31 | ||
|
|
1d05e82f25 | ||
|
|
c5a37aed84 | ||
|
|
f84ff413a1 | ||
|
|
76671cf453 | ||
|
|
ea8048376f | ||
|
|
063923308f | ||
|
|
99cea94aaf | ||
|
|
ffb5763206 | ||
|
|
0f8209fade | ||
|
|
7627ef1c5d | ||
|
|
cdc9bc6a21 | ||
|
|
282621e499 | ||
|
|
1c75ff0546 | ||
|
|
d6f3ec2f34 | ||
|
|
b189a4e168 | ||
|
|
d8e19e74ed |
No files matched your search
@@ -0,0 +1,67 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on: [push, pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: environment-${{github.ref}}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.platform.name }} ${{ matrix.type.name }}
|
||||||
|
runs-on: ${{ matrix.platform.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
platform:
|
||||||
|
- { name: Windows VS2019 x86, os: windows-2019, flags: -AWin32 }
|
||||||
|
- { name: Windows VS2019 x64, os: windows-2019, flags: -Ax64 }
|
||||||
|
- { name: Windows VS2022 x86, os: windows-2022, flags: -AWin32 }
|
||||||
|
- { name: Windows VS2022 x64, os: windows-2022, flags: -Ax64 }
|
||||||
|
- { name: Windows ClangCL, os: windows-2022, flags: -T ClangCL }
|
||||||
|
- { name: Windows Clang, os: windows-2022, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
||||||
|
- { name: Linux GCC, os: ubuntu-22.04, flags: -GNinja }
|
||||||
|
- { name: Linux Clang, os: ubuntu-22.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
||||||
|
- { name: MacOS, os: macos-12, flags: -GNinja }
|
||||||
|
type:
|
||||||
|
- { name: Debug }
|
||||||
|
- { name: Release }
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Get CMake and Ninja
|
||||||
|
uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
ninjaVersion: latest
|
||||||
|
|
||||||
|
- name: Install Linux Dependencies
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev
|
||||||
|
|
||||||
|
- name: Checkout SFML
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: SFML/SFML
|
||||||
|
ref: 2.6.0
|
||||||
|
path: SFML
|
||||||
|
|
||||||
|
- name: Configure SFML CMake
|
||||||
|
shell: bash
|
||||||
|
run: cmake -S $GITHUB_WORKSPACE/SFML -B $GITHUB_WORKSPACE/SFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML/install -DBUILD_SHARED_LIBS=TRUE -DSFML_BUILD_EXAMPLES=FALSE -DSFML_BUILD_TEST_SUITE=FALSE -DCMAKE_VERBOSE_MAKEFILE=ON ${{matrix.platform.flags}} -DCMAKE_BUILD_TYPE=${{matrix.type.name}}
|
||||||
|
|
||||||
|
- name: Build SFML
|
||||||
|
shell: bash
|
||||||
|
run: cmake --build $GITHUB_WORKSPACE/SFML/build --config ${{matrix.type.name}} --target install
|
||||||
|
|
||||||
|
- name: Checkout CSFML
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: CSFML
|
||||||
|
|
||||||
|
- name: Configure CSFML CMake
|
||||||
|
shell: bash
|
||||||
|
run: cmake -S $GITHUB_WORKSPACE/CSFML -B $GITHUB_WORKSPACE/CSFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML/install -DBUILD_SHARED_LIBS=TRUE -DCSFML_BUILD_EXAMPLES=TRUE -DCSFML_LINK_SFML_STATICALLY=FALSE -DSFML_DIR=$GITHUB_WORKSPACE/SFML/install/lib/cmake/SFML -DCMAKE_VERBOSE_MAKEFILE=ON -DWARNINGS_AS_ERRORS=TRUE ${{matrix.platform.flags}} -DCMAKE_BUILD_TYPE=${{matrix.type.name}}
|
||||||
|
|
||||||
|
- name: Build CSFML
|
||||||
|
shell: bash
|
||||||
|
run: cmake --build $GITHUB_WORKSPACE/CSFML/build --config ${{matrix.type.name}} --target install
|
||||||
+45
@@ -0,0 +1,45 @@
|
|||||||
|
# Prerequisites
|
||||||
|
*.d
|
||||||
|
|
||||||
|
# Compiled Object files
|
||||||
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Compiled Dynamic libraries
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
|
# Fortran module files
|
||||||
|
*.mod
|
||||||
|
*.smod
|
||||||
|
|
||||||
|
# Compiled Static libraries
|
||||||
|
*.lai
|
||||||
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
|
||||||
|
# Build folders
|
||||||
|
build/
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# Cache/IDE folders
|
||||||
|
.cache/
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# System files
|
||||||
|
.DS_Store
|
||||||
+36
-18
@@ -1,5 +1,4 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.7.2)
|
||||||
cmake_minimum_required(VERSION 2.8.3)
|
|
||||||
|
|
||||||
# define a macro that helps defining an option
|
# define a macro that helps defining an option
|
||||||
macro(csfml_set_option var default type docstring)
|
macro(csfml_set_option var default type docstring)
|
||||||
@@ -14,18 +13,10 @@ endmacro()
|
|||||||
csfml_set_option(CMAKE_BUILD_TYPE Release STRING "Choose the type of build (Debug or Release)")
|
csfml_set_option(CMAKE_BUILD_TYPE Release STRING "Choose the type of build (Debug or Release)")
|
||||||
|
|
||||||
# project name
|
# project name
|
||||||
project(CSFML)
|
project(CSFML VERSION 2.6.0)
|
||||||
|
|
||||||
# include the configuration file
|
# include the configuration file
|
||||||
include(${CMAKE_SOURCE_DIR}/cmake/Config.cmake)
|
include(${PROJECT_SOURCE_DIR}/cmake/Config.cmake)
|
||||||
|
|
||||||
# setup version numbers
|
|
||||||
set(VERSION_MAJOR 2)
|
|
||||||
set(VERSION_MINOR 5)
|
|
||||||
set(VERSION_PATCH 0)
|
|
||||||
|
|
||||||
# add the CSFML header path
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/include)
|
|
||||||
|
|
||||||
# add an option for choosing the build type (shared or static)
|
# add an option for choosing the build type (shared or static)
|
||||||
csfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build CSFML as shared libraries, FALSE to build it as static libraries")
|
csfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build CSFML as shared libraries, FALSE to build it as static libraries")
|
||||||
@@ -67,10 +58,37 @@ if(CSFML_BUILD_DOC)
|
|||||||
add_subdirectory(doc)
|
add_subdirectory(doc)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# on Linux and BSD-like OS, install pkg-config files by default
|
||||||
|
set(CSFML_INSTALL_PKGCONFIG_DEFAULT FALSE)
|
||||||
|
|
||||||
|
if(SFML_OS_LINUX OR SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD)
|
||||||
|
set(CSFML_INSTALL_PKGCONFIG_DEFAULT TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
csfml_set_option(CSFML_INSTALL_PKGCONFIG_FILES ${CSFML_INSTALL_PKGCONFIG_DEFAULT} BOOL "TRUE to automatically install pkg-config files so other projects can find SFML")
|
||||||
|
|
||||||
|
if(CSFML_INSTALL_PKGCONFIG_FILES)
|
||||||
|
csfml_set_option(CSFML_PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/${CSFML_PKGCONFIG_DIR}" PATH "Install directory for CSFML's pkg-config .pc files")
|
||||||
|
|
||||||
|
foreach(csfml_module IN ITEMS all system window graphics audio network)
|
||||||
|
configure_file(
|
||||||
|
"tools/pkg-config/csfml-${csfml_module}.pc.in"
|
||||||
|
"tools/pkg-config/csfml-${csfml_module}.pc"
|
||||||
|
@ONLY)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tools/pkg-config/csfml-${csfml_module}.pc"
|
||||||
|
DESTINATION "${CSFML_PKGCONFIG_INSTALL_PREFIX}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
# setup the install rules
|
# setup the install rules
|
||||||
install(DIRECTORY include
|
install(DIRECTORY include/
|
||||||
DESTINATION .
|
DESTINATION include
|
||||||
COMPONENT devel
|
COMPONENT devel)
|
||||||
PATTERN ".svn" EXCLUDE)
|
install(FILES license.md DESTINATION ${INSTALL_MISC_DIR})
|
||||||
install(FILES license.txt DESTINATION ${INSTALL_MISC_DIR})
|
install(FILES readme.md DESTINATION ${INSTALL_MISC_DIR})
|
||||||
install(FILES readme.txt DESTINATION ${INSTALL_MISC_DIR})
|
|
||||||
|
# add an option for building the examples
|
||||||
|
csfml_set_option(CSFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the CSFML examples, FALSE to ignore them")
|
||||||
|
if(CSFML_BUILD_EXAMPLES)
|
||||||
|
add_subdirectory(examples)
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
# from here:
|
||||||
|
#
|
||||||
|
# https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md
|
||||||
|
|
||||||
|
# Helper function to enable compiler warnings for a specific set of files
|
||||||
|
function(set_file_warnings)
|
||||||
|
option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" FALSE)
|
||||||
|
|
||||||
|
set(MSVC_WARNINGS
|
||||||
|
/W4 # Baseline reasonable warnings
|
||||||
|
/w14242 # 'identifier': conversion from 'type1' to 'type1', possible loss of data
|
||||||
|
/w14254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
|
||||||
|
/w14263 # 'function': member function does not override any base class virtual member function
|
||||||
|
/w14265 # 'classname': class has virtual functions, but destructor is not virtual instances of this class may not be destructed correctly
|
||||||
|
/w14287 # 'operator': unsigned/negative constant mismatch
|
||||||
|
/we4289 # nonstandard extension used: 'variable': loop control variable declared in the for-loop is used outside the for-loop scope
|
||||||
|
/w14296 # 'operator': expression is always 'boolean_value'
|
||||||
|
/w14311 # 'variable': pointer truncation from 'type1' to 'type2'
|
||||||
|
/w14545 # expression before comma evaluates to a function which is missing an argument list
|
||||||
|
/w14546 # function call before comma missing argument list
|
||||||
|
/w14547 # 'operator': operator before comma has no effect; expected operator with side-effect
|
||||||
|
/w14549 # 'operator': operator before comma has no effect; did you intend 'operator'?
|
||||||
|
/w14555 # expression has no effect; expected expression with side- effect
|
||||||
|
/w14619 # pragma warning: there is no warning number 'number'
|
||||||
|
/w14640 # Enable warning on thread un-safe static member initialization
|
||||||
|
/w14826 # Conversion from 'type1' to 'type_2' is sign-extended. This may cause unexpected runtime behavior.
|
||||||
|
/w14905 # wide string literal cast to 'LPSTR'
|
||||||
|
/w14906 # string literal cast to 'LPWSTR'
|
||||||
|
/w14928 # illegal copy-initialization; more than one user-defined conversion has been implicitly applied
|
||||||
|
# /permissive- # standards conformance mode for MSVC compiler. Disabled until all out-of-the-box Windows SDKs can successfully build with it.
|
||||||
|
|
||||||
|
# Disables, remove when appropriate
|
||||||
|
/wd4996 # disable warnings about deprecated functions
|
||||||
|
/wd4068 # disable warnings about unknown pragmas (e.g. #pragma GCC)
|
||||||
|
/wd4505 # disable warnings about unused functions that might be platform-specific
|
||||||
|
/wd4800 # disable warnings regarding implicit conversions to bool
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CLANG_AND_GCC_WARNINGS
|
||||||
|
-Wall
|
||||||
|
-Wextra # reasonable and standard
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:-Wnon-virtual-dtor> # warn the user if a class with virtual functions has a non-virtual destructor. This helps catch hard to track down memory errors
|
||||||
|
-Wcast-align # warn for potential performance problem casts
|
||||||
|
-Wunused # warn on anything being unused
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:-Woverloaded-virtual> # warn if you overload (not override) a virtual function
|
||||||
|
-Wconversion # warn on type conversions that may lose data
|
||||||
|
-Wsign-conversion # warn on sign conversions
|
||||||
|
-Wdouble-promotion # warn if float is implicit promoted to double
|
||||||
|
-Wformat=2 # warn on security issues around functions that format output (ie printf)
|
||||||
|
# -Wimplicit-fallthrough # warn when a missing break causes control flow to continue at the next case in a switch statement (disabled until better compiler support for explicit fallthrough is available)
|
||||||
|
-Wnull-dereference # warn if a null dereference is detected
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:-Wold-style-cast> # warn for c-style casts
|
||||||
|
-Wpedantic # warn if non-standard C++ is used
|
||||||
|
-Wno-deprecated-declarations # do not warning about deprecated declarations
|
||||||
|
-Wno-language-extension-token # ignore use of __int64 compiler extension
|
||||||
|
)
|
||||||
|
|
||||||
|
# Disable warnings as errors when using Clang on Windows to work around deprecation warnings in Windows APIs
|
||||||
|
if(SFML_OS_WINDOWS AND (SFML_COMPILER_CLANG OR SFML_COMPILER_CLANG_CL))
|
||||||
|
set(WARNINGS_AS_ERRORS FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WARNINGS_AS_ERRORS)
|
||||||
|
set(CLANG_AND_GCC_WARNINGS ${CLANG_AND_GCC_WARNINGS} -Werror)
|
||||||
|
set(MSVC_WARNINGS ${MSVC_WARNINGS} /WX)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CLANG_WARNINGS
|
||||||
|
${CLANG_AND_GCC_WARNINGS}
|
||||||
|
-Wno-unknown-warning-option # do not warn on GCC-specific warning diagnostic pragmas
|
||||||
|
-Wno-c++11-long-long # do not warn on uses of long long
|
||||||
|
)
|
||||||
|
|
||||||
|
set(GCC_WARNINGS
|
||||||
|
${CLANG_AND_GCC_WARNINGS}
|
||||||
|
-Wmisleading-indentation # warn if indentation implies blocks where blocks do not exist
|
||||||
|
-Wduplicated-cond # warn if if / else chain has duplicated conditions
|
||||||
|
-Wlogical-op # warn about logical operations being used where bitwise were probably wanted
|
||||||
|
# -Wuseless-cast # warn if you perform a cast to the same type (disabled because it is not portable as some typedefs might vary between platforms)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Don't enable -Wduplicated-branches for GCC < 8.1 since it will lead to false positives
|
||||||
|
# https://github.com/gcc-mirror/gcc/commit/6bebae75035889a4844eb4d32a695bebf412bcd7
|
||||||
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1)
|
||||||
|
set(GCC_WARNINGS
|
||||||
|
${GCC_WARNINGS}
|
||||||
|
-Wduplicated-branches # warn if if / else branches have duplicated code
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set(FILE_WARNINGS ${MSVC_WARNINGS})
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||||
|
set(FILE_WARNINGS ${CLANG_WARNINGS})
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
set(FILE_WARNINGS ${GCC_WARNINGS})
|
||||||
|
else()
|
||||||
|
message(AUTHOR_WARNING "No compiler warnings set for '${CMAKE_CXX_COMPILER_ID}' compiler.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
foreach(WARNING ${FILE_WARNINGS})
|
||||||
|
set_property(SOURCE ${ARGV} APPEND_STRING PROPERTY COMPILE_FLAGS " ${WARNING}")
|
||||||
|
endforeach()
|
||||||
|
endfunction()
|
||||||
+25
-22
@@ -32,39 +32,42 @@ else()
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# set pkgconfig install directory
|
||||||
|
# this could be e.g. macports on mac or msys2 on windows etc.
|
||||||
|
set(CSFML_PKGCONFIG_DIR "/${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||||
|
|
||||||
|
if(SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD)
|
||||||
|
set(CSFML_PKGCONFIG_DIR "/libdata/pkgconfig")
|
||||||
|
endif()
|
||||||
|
|
||||||
# detect the compiler and its version
|
# detect the compiler and its version
|
||||||
# Note: on some platforms (OS X), CMAKE_COMPILER_IS_GNUCXX is true
|
# Note: The detection is order is important because:
|
||||||
# even when CLANG is used, therefore the Clang test is done first
|
# - Visual Studio can both use MSVC and Clang
|
||||||
if(CMAKE_CXX_COMPILER MATCHES ".*clang[+][+]" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
# - GNUCXX can still be set on macOS when using Clang
|
||||||
# CMAKE_CXX_COMPILER_ID is an internal CMake variable subject to change,
|
if(MSVC)
|
||||||
# but there is no other way to detect CLang at the moment
|
set(SFML_COMPILER_MSVC 1)
|
||||||
set(SFML_COMPILER_CLANG 1)
|
|
||||||
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version" OUTPUT_VARIABLE CLANG_VERSION_OUTPUT)
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
string(REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" SFML_CLANG_VERSION "${CLANG_VERSION_OUTPUT}")
|
set(SFML_COMPILER_CLANG_CL 1)
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
|
set(SFML_COMPILER_CLANG 1)
|
||||||
|
|
||||||
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version" OUTPUT_VARIABLE CLANG_VERSION_OUTPUT)
|
||||||
|
string(REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" SFML_CLANG_VERSION "${CLANG_VERSION_OUTPUT}")
|
||||||
elseif(CMAKE_COMPILER_IS_GNUCXX)
|
elseif(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
set(SFML_COMPILER_GCC 1)
|
set(SFML_COMPILER_GCC 1)
|
||||||
|
|
||||||
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpversion" OUTPUT_VARIABLE GCC_VERSION_OUTPUT)
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpversion" OUTPUT_VARIABLE GCC_VERSION_OUTPUT)
|
||||||
string(REGEX REPLACE "([0-9]+\\.[0-9]+).*" "\\1" SFML_GCC_VERSION "${GCC_VERSION_OUTPUT}")
|
string(REGEX REPLACE "([0-9]+\\.[0-9]+).*" "\\1" SFML_GCC_VERSION "${GCC_VERSION_OUTPUT}")
|
||||||
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version" OUTPUT_VARIABLE GCC_COMPILER_VERSION)
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version" OUTPUT_VARIABLE GCC_COMPILER_VERSION)
|
||||||
string(REGEX MATCHALL ".*(tdm[64]*-[1-9]).*" SFML_COMPILER_GCC_TDM "${GCC_COMPILER_VERSION}")
|
string(REGEX MATCHALL ".*(tdm[64]*-[1-9]).*" SFML_COMPILER_GCC_TDM "${GCC_COMPILER_VERSION}")
|
||||||
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpmachine" OUTPUT_VARIABLE GCC_MACHINE)
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpmachine" OUTPUT_VARIABLE GCC_MACHINE)
|
||||||
string(STRIP "${GCC_MACHINE}" GCC_MACHINE)
|
string(STRIP "${GCC_MACHINE}" GCC_MACHINE)
|
||||||
if(${GCC_MACHINE} MATCHES ".*w64.*")
|
|
||||||
|
if(GCC_MACHINE MATCHES ".*w64.*")
|
||||||
set(SFML_COMPILER_GCC_W64 1)
|
set(SFML_COMPILER_GCC_W64 1)
|
||||||
endif()
|
endif()
|
||||||
elseif(MSVC)
|
|
||||||
set(SFML_COMPILER_MSVC 1)
|
|
||||||
if(MSVC_VERSION EQUAL 1400)
|
|
||||||
set(SFML_MSVC_VERSION 8)
|
|
||||||
elseif(MSVC_VERSION EQUAL 1500)
|
|
||||||
set(SFML_MSVC_VERSION 9)
|
|
||||||
elseif(MSVC_VERSION EQUAL 1600)
|
|
||||||
set(SFML_MSVC_VERSION 10)
|
|
||||||
elseif(MSVC_VERSION EQUAL 1700)
|
|
||||||
set(SFML_MSVC_VERSION 11)
|
|
||||||
elseif(MSVC_VERSION EQUAL 1800)
|
|
||||||
set(SFML_MSVC_VERSION 12)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unsupported compiler")
|
message(FATAL_ERROR "Unsupported compiler")
|
||||||
return()
|
return()
|
||||||
|
|||||||
+12
-5
@@ -1,4 +1,5 @@
|
|||||||
include(CMakeParseArguments)
|
include(CMakeParseArguments)
|
||||||
|
include(${PROJECT_SOURCE_DIR}/cmake/CompilerWarnings.cmake)
|
||||||
|
|
||||||
# add a new target which is a CSFML library
|
# add a new target which is a CSFML library
|
||||||
# ex: csfml_add_library(csfml-graphics
|
# ex: csfml_add_library(csfml-graphics
|
||||||
@@ -12,6 +13,12 @@ macro(csfml_add_library target)
|
|||||||
# create the target
|
# create the target
|
||||||
add_library(${target} ${THIS_SOURCES})
|
add_library(${target} ${THIS_SOURCES})
|
||||||
|
|
||||||
|
# add the CSFML header path
|
||||||
|
target_include_directories(${target} PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
# add warnings
|
||||||
|
set_file_warnings(${THIS_SOURCES})
|
||||||
|
|
||||||
# define the export symbol of the module
|
# define the export symbol of the module
|
||||||
string(REPLACE "-" "_" NAME_UPPER "${target}")
|
string(REPLACE "-" "_" NAME_UPPER "${target}")
|
||||||
string(TOUPPER "${NAME_UPPER}" NAME_UPPER)
|
string(TOUPPER "${NAME_UPPER}" NAME_UPPER)
|
||||||
@@ -20,7 +27,7 @@ macro(csfml_add_library target)
|
|||||||
if(SFML_OS_WINDOWS)
|
if(SFML_OS_WINDOWS)
|
||||||
# include the major version number in Windows shared library names (but not import library names)
|
# include the major version number in Windows shared library names (but not import library names)
|
||||||
set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d)
|
set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d)
|
||||||
set_target_properties(${target} PROPERTIES SUFFIX "-${VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
set_target_properties(${target} PROPERTIES SUFFIX "-${PROJECT_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
else()
|
else()
|
||||||
set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d)
|
set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d)
|
||||||
endif()
|
endif()
|
||||||
@@ -32,8 +39,8 @@ macro(csfml_add_library target)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# set the version and soversion of the target (for compatible systems -- mostly Linuxes)
|
# set the version and soversion of the target (for compatible systems -- mostly Linuxes)
|
||||||
set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
set_target_properties(${target} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
|
||||||
set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
set_target_properties(${target} PROPERTIES VERSION ${PROJECT_VERSION})
|
||||||
|
|
||||||
# set the target's folder (for IDEs that support it, e.g. Visual Studio)
|
# set the target's folder (for IDEs that support it, e.g. Visual Studio)
|
||||||
set_target_properties(${target} PROPERTIES FOLDER "CSFML")
|
set_target_properties(${target} PROPERTIES FOLDER "CSFML")
|
||||||
@@ -54,7 +61,7 @@ macro(csfml_add_library target)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# link the target to its external dependencies (C++ SFML libraries)
|
# link the target to its external dependencies (C++ SFML libraries)
|
||||||
target_link_libraries(${target} ${THIS_DEPENDS})
|
target_link_libraries(${target} PRIVATE ${THIS_DEPENDS})
|
||||||
|
|
||||||
# build dylibs
|
# build dylibs
|
||||||
if(SFML_OS_MACOSX AND BUILD_SHARED_LIBS)
|
if(SFML_OS_MACOSX AND BUILD_SHARED_LIBS)
|
||||||
@@ -67,7 +74,7 @@ macro(csfml_add_library target)
|
|||||||
# add the install rule
|
# add the install rule
|
||||||
install(TARGETS ${target}
|
install(TARGETS ${target}
|
||||||
RUNTIME DESTINATION bin COMPONENT bin
|
RUNTIME DESTINATION bin COMPONENT bin
|
||||||
LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT bin
|
LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT bin
|
||||||
ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT devel)
|
ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT devel)
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
find_package(Doxygen REQUIRED)
|
find_package(Doxygen REQUIRED)
|
||||||
|
|
||||||
# set the input and output documentation paths
|
# set the input and output documentation paths
|
||||||
set(DOXYGEN_INPUT_DIR ${CMAKE_SOURCE_DIR})
|
set(DOXYGEN_INPUT_DIR ${PROJECT_SOURCE_DIR})
|
||||||
set(DOXYGEN_OUTPUT_DIR ${CMAKE_BINARY_DIR}/doc)
|
set(DOXYGEN_OUTPUT_DIR ${CMAKE_BINARY_DIR}/doc)
|
||||||
|
|
||||||
# see if we can generate the CHM documentation
|
# see if we can generate the CHM documentation
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ PROJECT_NAME = CSFML
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
|
PROJECT_NUMBER = @PROJECT_VERSION@
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
@@ -835,7 +835,7 @@ INPUT_ENCODING = UTF-8
|
|||||||
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
|
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
|
||||||
|
|
||||||
FILE_PATTERNS = *.h \
|
FILE_PATTERNS = *.h \
|
||||||
*.hpp
|
*.hpp
|
||||||
|
|
||||||
# The RECURSIVE tag can be used to specify whether or not subdirectories should
|
# The RECURSIVE tag can be used to specify whether or not subdirectories should
|
||||||
# be searched for input files as well.
|
# be searched for input files as well.
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
set(SRC example.c)
|
||||||
|
|
||||||
|
add_executable(example ${SRC})
|
||||||
|
target_link_libraries(example PRIVATE csfml-graphics csfml-audio)
|
||||||
|
set_file_warnings(${SRC})
|
||||||
Binary file not shown.
@@ -0,0 +1,89 @@
|
|||||||
|
#include <SFML/Audio.h>
|
||||||
|
#include <SFML/Graphics.h>
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Create the main window
|
||||||
|
const sfVideoMode mode = {800, 600, 32};
|
||||||
|
sfRenderWindow* window = sfRenderWindow_create(mode, "SFML window", sfResize | sfClose, NULL);
|
||||||
|
if (!window)
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
// Load a sprite to display
|
||||||
|
sfTexture* texture = sfTexture_createFromFile("sfml_logo.png", NULL);
|
||||||
|
if (!texture)
|
||||||
|
{
|
||||||
|
sfRenderWindow_destroy(window);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
sfSprite* sprite = sfSprite_create();
|
||||||
|
sfSprite_setTexture(sprite, texture, sfTrue);
|
||||||
|
const sfVector2f spritePosition = {200, 200};
|
||||||
|
sfSprite_setPosition(sprite, spritePosition);
|
||||||
|
|
||||||
|
// Create a graphical text to display
|
||||||
|
sfFont* font = sfFont_createFromFile("tuffy.ttf");
|
||||||
|
if (!font)
|
||||||
|
{
|
||||||
|
sfSprite_destroy(sprite);
|
||||||
|
sfTexture_destroy(texture);
|
||||||
|
sfRenderWindow_destroy(window);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
sfText* text = sfText_create();
|
||||||
|
sfText_setString(text, "Hello, SFML!");
|
||||||
|
sfText_setFont(text, font);
|
||||||
|
sfText_setCharacterSize(text, 50);
|
||||||
|
|
||||||
|
// Load a music to play
|
||||||
|
sfMusic* music = sfMusic_createFromFile("doodle_pop.ogg");
|
||||||
|
if (!music)
|
||||||
|
{
|
||||||
|
sfText_destroy(text);
|
||||||
|
sfFont_destroy(font);
|
||||||
|
sfSprite_destroy(sprite);
|
||||||
|
sfTexture_destroy(texture);
|
||||||
|
sfRenderWindow_destroy(window);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Play the music
|
||||||
|
sfMusic_play(music);
|
||||||
|
|
||||||
|
// Start the game loop
|
||||||
|
sfEvent event;
|
||||||
|
while (sfRenderWindow_isOpen(window))
|
||||||
|
{
|
||||||
|
// Process events
|
||||||
|
while (sfRenderWindow_pollEvent(window, &event))
|
||||||
|
{
|
||||||
|
// Close window : exit
|
||||||
|
if (event.type == sfEvtClosed)
|
||||||
|
sfRenderWindow_close(window);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear the screen
|
||||||
|
sfRenderWindow_clear(window, sfBlack);
|
||||||
|
|
||||||
|
// Draw the sprite
|
||||||
|
sfRenderWindow_drawSprite(window, sprite, NULL);
|
||||||
|
|
||||||
|
// Draw the text
|
||||||
|
sfRenderWindow_drawText(window, text, NULL);
|
||||||
|
|
||||||
|
// Update the window
|
||||||
|
sfRenderWindow_display(window);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cleanup resources
|
||||||
|
sfMusic_destroy(music);
|
||||||
|
sfText_destroy(text);
|
||||||
|
sfFont_destroy(font);
|
||||||
|
sfSprite_destroy(sprite);
|
||||||
|
sfTexture_destroy(texture);
|
||||||
|
sfRenderWindow_destroy(window);
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Executable
BIN
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -68,7 +68,7 @@ CSFML_AUDIO_API void sfListener_setPosition(sfVector3f position);
|
|||||||
/// \return The listener's position
|
/// \return The listener's position
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_AUDIO_API sfVector3f sfListener_getPosition();
|
CSFML_AUDIO_API sfVector3f sfListener_getPosition(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Set the orientation of the forward vector in the scene
|
/// \brief Set the orientation of the forward vector in the scene
|
||||||
@@ -91,7 +91,7 @@ CSFML_AUDIO_API void sfListener_setDirection(sfVector3f direction);
|
|||||||
/// \return Listener's forward vector (not normalized)
|
/// \return Listener's forward vector (not normalized)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_AUDIO_API sfVector3f sfListener_getDirection();
|
CSFML_AUDIO_API sfVector3f sfListener_getDirection(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Set the upward vector of the listener in the scene
|
/// \brief Set the upward vector of the listener in the scene
|
||||||
@@ -114,7 +114,7 @@ CSFML_AUDIO_API void sfListener_setUpVector(sfVector3f upVector);
|
|||||||
/// \return Listener's upward vector (not normalized)
|
/// \return Listener's upward vector (not normalized)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_AUDIO_API sfVector3f sfListener_getUpVector();
|
CSFML_AUDIO_API sfVector3f sfListener_getUpVector(void);
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_LISTENER_H
|
#endif // SFML_LISTENER_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -54,7 +54,7 @@ typedef struct
|
|||||||
/// This function doesn't start playing the music (call
|
/// This function doesn't start playing the music (call
|
||||||
/// sfMusic_play to do so).
|
/// sfMusic_play to do so).
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param filename Path of the music file to open
|
/// \param filename Path of the music file to open
|
||||||
@@ -70,7 +70,7 @@ CSFML_AUDIO_API sfMusic* sfMusic_createFromFile(const char* filename);
|
|||||||
/// This function doesn't start playing the music (call
|
/// This function doesn't start playing the music (call
|
||||||
/// sfMusic_play to do so).
|
/// sfMusic_play to do so).
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param data Pointer to the file data in memory
|
/// \param data Pointer to the file data in memory
|
||||||
@@ -87,7 +87,7 @@ CSFML_AUDIO_API sfMusic* sfMusic_createFromMemory(const void* data, size_t sizeI
|
|||||||
/// This function doesn't start playing the music (call
|
/// This function doesn't start playing the music (call
|
||||||
/// sfMusic_play to do so).
|
/// sfMusic_play to do so).
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param stream Source stream to read from
|
/// \param stream Source stream to read from
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
/// \brief Create a new sound buffer and load it from a file
|
/// \brief Create a new sound buffer and load it from a file
|
||||||
///
|
///
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param filename Path of the sound file to load
|
/// \param filename Path of the sound file to load
|
||||||
@@ -53,7 +53,7 @@ CSFML_AUDIO_API sfSoundBuffer* sfSoundBuffer_createFromFile(const char* filename
|
|||||||
/// \brief Create a new sound buffer and load it from a file in memory
|
/// \brief Create a new sound buffer and load it from a file in memory
|
||||||
///
|
///
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param data Pointer to the file data in memory
|
/// \param data Pointer to the file data in memory
|
||||||
@@ -68,7 +68,7 @@ CSFML_AUDIO_API sfSoundBuffer* sfSoundBuffer_createFromMemory(const void* data,
|
|||||||
/// \brief Create a new sound buffer and load it from a custom stream
|
/// \brief Create a new sound buffer and load it from a custom stream
|
||||||
///
|
///
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param stream Source stream to read from
|
/// \param stream Source stream to read from
|
||||||
@@ -116,7 +116,7 @@ CSFML_AUDIO_API void sfSoundBuffer_destroy(sfSoundBuffer* soundBuffer);
|
|||||||
/// \brief Save a sound buffer to an audio file
|
/// \brief Save a sound buffer to an audio file
|
||||||
///
|
///
|
||||||
/// Here is a complete list of all the supported audio formats:
|
/// Here is a complete list of all the supported audio formats:
|
||||||
/// ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam,
|
/// ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam,
|
||||||
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
/// w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.
|
||||||
///
|
///
|
||||||
/// \param soundBuffer Sound buffer object
|
/// \param soundBuffer Sound buffer object
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -157,7 +157,7 @@ CSFML_AUDIO_API const char** sfSoundRecorder_getAvailableDevices(size_t* count);
|
|||||||
/// \return The name of the default audio capture device (null terminated)
|
/// \return The name of the default audio capture device (null terminated)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_AUDIO_API const char* sfSoundRecorder_getDefaultDevice();
|
CSFML_AUDIO_API const char* sfSoundRecorder_getDefaultDevice(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Set the audio capture device
|
/// \brief Set the audio capture device
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
// Define the CSFML version
|
// Define the CSFML version
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#define CSFML_VERSION_MAJOR 2
|
#define CSFML_VERSION_MAJOR 2
|
||||||
#define CSFML_VERSION_MINOR 5
|
#define CSFML_VERSION_MINOR 6
|
||||||
#define CSFML_VERSION_PATCH 0
|
#define CSFML_VERSION_PATCH 0
|
||||||
|
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
// ...
|
// ...
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// CSFML_DEPRECATED void globalFunc();
|
// CSFML_DEPRECATED void globalFunc(void);
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#if defined(CSFML_NO_DEPRECATED_WARNINGS)
|
#if defined(CSFML_NO_DEPRECATED_WARNINGS)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -56,9 +56,11 @@ typedef enum
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
sfBlendEquationAdd, ///< Pixel = Src * SrcFactor + Dst * DstFactor
|
sfBlendEquationAdd, ///< Pixel = Src * SrcFactor + Dst * DstFactor
|
||||||
sfBlendEquationSubtract, ///< Pixel = Src * SrcFactor - Dst * DstFactor
|
sfBlendEquationSubtract, ///< Pixel = Src * SrcFactor - Dst * DstFactor
|
||||||
sfBlendEquationReverseSubtract ///< Pixel = Dst * DstFactor - Src * SrcFactor
|
sfBlendEquationReverseSubtract, ///< Pixel = Dst * DstFactor - Src * SrcFactor
|
||||||
|
sfBlendEquationMin, ///< Pixel = min(Dst, Src)
|
||||||
|
sfBlendEquationMax ///< Pixel = max(Dst, Src)
|
||||||
} sfBlendEquation;
|
} sfBlendEquation;
|
||||||
|
|
||||||
|
|
||||||
@@ -80,6 +82,8 @@ typedef struct
|
|||||||
CSFML_GRAPHICS_API const sfBlendMode sfBlendAlpha; ///< Blend source and dest according to dest alpha
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendAlpha; ///< Blend source and dest according to dest alpha
|
||||||
CSFML_GRAPHICS_API const sfBlendMode sfBlendAdd; ///< Add source to dest
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendAdd; ///< Add source to dest
|
||||||
CSFML_GRAPHICS_API const sfBlendMode sfBlendMultiply; ///< Multiply source and dest
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendMultiply; ///< Multiply source and dest
|
||||||
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendMin; ///< Take minimum between source and dest
|
||||||
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendMax; ///< Take maximum between source and dest
|
||||||
CSFML_GRAPHICS_API const sfBlendMode sfBlendNone; ///< Overwrite dest with source
|
CSFML_GRAPHICS_API const sfBlendMode sfBlendNone; ///< Overwrite dest with source
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -112,6 +112,19 @@ CSFML_GRAPHICS_API sfGlyph sfFont_getGlyph(const sfFont* font, sfUint32 codePoin
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API float sfFont_getKerning(const sfFont* font, sfUint32 first, sfUint32 second, unsigned int characterSize);
|
CSFML_GRAPHICS_API float sfFont_getKerning(const sfFont* font, sfUint32 first, sfUint32 second, unsigned int characterSize);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the bold kerning value corresponding to a given pair of characters in a font
|
||||||
|
///
|
||||||
|
/// \param font Source font
|
||||||
|
/// \param first Unicode code point of the first character
|
||||||
|
/// \param second Unicode code point of the second character
|
||||||
|
/// \param characterSize Character size, in pixels
|
||||||
|
///
|
||||||
|
/// \return Kerning offset, in pixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API float sfFont_getBoldKerning(const sfFont* font, sfUint32 first, sfUint32 second, unsigned int characterSize);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the line spacing value
|
/// \brief Get the line spacing value
|
||||||
///
|
///
|
||||||
@@ -161,6 +174,35 @@ CSFML_GRAPHICS_API float sfFont_getUnderlineThickness(const sfFont* font, unsign
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API const sfTexture* sfFont_getTexture(sfFont* font, unsigned int characterSize);
|
CSFML_GRAPHICS_API const sfTexture* sfFont_getTexture(sfFont* font, unsigned int characterSize);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Enable or disable the smooth filter
|
||||||
|
///
|
||||||
|
/// When the filter is activated, the font appears smoother
|
||||||
|
/// so that pixels are less noticeable. However if you want
|
||||||
|
/// the font to look exactly the same as its source file,
|
||||||
|
/// you should disable it.
|
||||||
|
/// The smooth filter is enabled by default.
|
||||||
|
///
|
||||||
|
/// \param font Source font
|
||||||
|
/// \param smooth sfTrue to enable smoothing, sfFalse to disable it
|
||||||
|
///
|
||||||
|
/// \see isSmooth
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API void sfFont_setSmooth(sfFont* font, sfBool smooth);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell whether the smooth filter is enabled or disabled
|
||||||
|
///
|
||||||
|
/// \param font Source font
|
||||||
|
///
|
||||||
|
/// \return sfTrue if smoothing is enabled, sfFalse if it is disabled
|
||||||
|
///
|
||||||
|
/// \see setSmooth
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfBool sfFont_isSmooth(const sfFont* font);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the font information
|
/// \brief Get the font information
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <SFML/Graphics/Color.h>
|
#include <SFML/Graphics/Color.h>
|
||||||
#include <SFML/Graphics/Rect.h>
|
#include <SFML/Graphics/Rect.h>
|
||||||
#include <SFML/Graphics/Types.h>
|
#include <SFML/Graphics/Types.h>
|
||||||
|
#include <SFML/System/Buffer.h>
|
||||||
#include <SFML/System/InputStream.h>
|
#include <SFML/System/InputStream.h>
|
||||||
#include <SFML/System/Vector2.h>
|
#include <SFML/System/Vector2.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@@ -156,9 +157,30 @@ CSFML_GRAPHICS_API void sfImage_destroy(sfImage* image);
|
|||||||
///
|
///
|
||||||
/// \return sfTrue if saving was successful
|
/// \return sfTrue if saving was successful
|
||||||
///
|
///
|
||||||
|
/// \see sfImage_saveToMemory
|
||||||
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfBool sfImage_saveToFile(const sfImage* image, const char* filename);
|
CSFML_GRAPHICS_API sfBool sfImage_saveToFile(const sfImage* image, const char* filename);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Save the image to a buffer in memory
|
||||||
|
///
|
||||||
|
/// The format of the image must be specified.
|
||||||
|
/// The supported image formats are bmp, png, tga and jpg.
|
||||||
|
/// This function fails if the image is empty, or if
|
||||||
|
/// the format was invalid.
|
||||||
|
///
|
||||||
|
/// \param image Image object
|
||||||
|
/// \param output Buffer to fill with encoded data
|
||||||
|
/// \param format Encoding format to use
|
||||||
|
///
|
||||||
|
/// \return sfTrue if saving was successful
|
||||||
|
///
|
||||||
|
/// \see sfImage_saveToFile
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfBool sfImage_saveToMemory(const sfImage* image, sfBuffer* output, const char* format);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Return the size of an image
|
/// \brief Return the size of an image
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -30,6 +30,8 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Graphics/Export.h>
|
#include <SFML/Graphics/Export.h>
|
||||||
|
|
||||||
|
#include <SFML/System/Vector2.h>
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// sfFloatRect and sfIntRect are utility classes for
|
/// sfFloatRect and sfIntRect are utility classes for
|
||||||
@@ -77,5 +79,27 @@ CSFML_GRAPHICS_API sfBool sfIntRect_contains(const sfIntRect* rect, int x, int y
|
|||||||
CSFML_GRAPHICS_API sfBool sfFloatRect_intersects(const sfFloatRect* rect1, const sfFloatRect* rect2, sfFloatRect* intersection);
|
CSFML_GRAPHICS_API sfBool sfFloatRect_intersects(const sfFloatRect* rect1, const sfFloatRect* rect2, sfFloatRect* intersection);
|
||||||
CSFML_GRAPHICS_API sfBool sfIntRect_intersects(const sfIntRect* rect1, const sfIntRect* rect2, sfIntRect* intersection);
|
CSFML_GRAPHICS_API sfBool sfIntRect_intersects(const sfIntRect* rect1, const sfIntRect* rect2, sfIntRect* intersection);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the position of the rectangle's top-left corner
|
||||||
|
///
|
||||||
|
/// \return Position of rectangle
|
||||||
|
///
|
||||||
|
/// \see getSize
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfVector2f sfFloatRect_getPosition(const sfFloatRect* rect);
|
||||||
|
CSFML_GRAPHICS_API sfVector2i sfIntRect_getPosition(const sfIntRect* rect);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the size of the rectangle
|
||||||
|
///
|
||||||
|
/// \return Size of rectangle
|
||||||
|
///
|
||||||
|
/// \see getPosition
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfVector2f sfFloatRect_getSize(const sfFloatRect* rect);
|
||||||
|
CSFML_GRAPHICS_API sfVector2i sfIntRect_getSize(const sfIntRect* rect);
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_RECT_H
|
#endif // SFML_RECT_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -46,5 +46,10 @@ typedef struct
|
|||||||
const sfShader* shader; ///< Shader
|
const sfShader* shader; ///< Shader
|
||||||
} sfRenderStates;
|
} sfRenderStates;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Define the default values for a RenderState
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfRenderStates sfRenderStates_default(void);
|
||||||
|
|
||||||
#endif // SFML_RENDERSTATES_H
|
#endif // SFML_RENDERSTATES_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -65,7 +65,7 @@ CSFML_GRAPHICS_API sfRenderTexture* sfRenderTexture_create(unsigned int width, u
|
|||||||
/// \return A new sfRenderTexture object, or NULL if it failed
|
/// \return A new sfRenderTexture object, or NULL if it failed
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfRenderTexture* sfRenderTexture_createWithSettings(unsigned int width, unsigned int height, sfContextSettings settings);
|
CSFML_GRAPHICS_API sfRenderTexture* sfRenderTexture_createWithSettings(unsigned int width, unsigned int height, const sfContextSettings* settings);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Destroy an existing render texture
|
/// \brief Destroy an existing render texture
|
||||||
@@ -85,6 +85,16 @@ CSFML_GRAPHICS_API void sfRenderTexture_destroy(sfRenderTexture* renderTexture);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfVector2u sfRenderTexture_getSize(const sfRenderTexture* renderTexture);
|
CSFML_GRAPHICS_API sfVector2u sfRenderTexture_getSize(const sfRenderTexture* renderTexture);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell if the render texture will use sRGB encoding when drawing on it
|
||||||
|
///
|
||||||
|
/// \param renderTexture Render texture object
|
||||||
|
///
|
||||||
|
/// \return sfTrue if the render texture use sRGB encoding, sfFalse otherwise
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfBool sfRenderTexture_isSrgb(const sfRenderTexture* renderTexture);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Activate or deactivate a render texture as the current target for rendering
|
/// \brief Activate or deactivate a render texture as the current target for rendering
|
||||||
///
|
///
|
||||||
@@ -223,6 +233,20 @@ CSFML_GRAPHICS_API void sfRenderTexture_drawRectangleShape(sfRenderTexture* rend
|
|||||||
CSFML_GRAPHICS_API void sfRenderTexture_drawVertexArray(sfRenderTexture* renderTexture, const sfVertexArray* object, const sfRenderStates* states);
|
CSFML_GRAPHICS_API void sfRenderTexture_drawVertexArray(sfRenderTexture* renderTexture, const sfVertexArray* object, const sfRenderStates* states);
|
||||||
CSFML_GRAPHICS_API void sfRenderTexture_drawVertexBuffer(sfRenderTexture* renderTexture, const sfVertexBuffer* object, const sfRenderStates* states);
|
CSFML_GRAPHICS_API void sfRenderTexture_drawVertexBuffer(sfRenderTexture* renderTexture, const sfVertexBuffer* object, const sfRenderStates* states);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Draw primitives defined by a vertex buffer.
|
||||||
|
///
|
||||||
|
/// \param renderTexture render texture object
|
||||||
|
/// \param vertexBuffer Vertex buffer object to draw
|
||||||
|
/// \param firstVertex Index of the first vertex to render
|
||||||
|
/// \param vertexCount Number of vertices to render
|
||||||
|
/// \param states Render states to use for drawing
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API void sfRenderTexture_drawVertexBufferRange(sfRenderTexture* renderTexture,
|
||||||
|
const sfVertexBuffer* object, size_t firstVertex,
|
||||||
|
size_t vertexCount, const sfRenderStates* states);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Draw primitives defined by an array of vertices to a render texture
|
/// \brief Draw primitives defined by an array of vertices to a render texture
|
||||||
///
|
///
|
||||||
@@ -302,7 +326,7 @@ CSFML_GRAPHICS_API const sfTexture* sfRenderTexture_getTexture(const sfRenderTex
|
|||||||
/// \return The maximum anti-aliasing level supported by the system
|
/// \return The maximum anti-aliasing level supported by the system
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
unsigned int sfRenderTexture_getMaximumAntialiasingLevel();
|
CSFML_GRAPHICS_API unsigned int sfRenderTexture_getMaximumAntialiasingLevel(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Enable or disable the smooth filter on a render texture
|
/// \brief Enable or disable the smooth filter on a render texture
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -161,6 +161,16 @@ CSFML_GRAPHICS_API void sfRenderWindow_setPosition(sfRenderWindow* renderWindow,
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfVector2u sfRenderWindow_getSize(const sfRenderWindow* renderWindow);
|
CSFML_GRAPHICS_API sfVector2u sfRenderWindow_getSize(const sfRenderWindow* renderWindow);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell if the render window will use sRGB encoding when drawing on it
|
||||||
|
///
|
||||||
|
/// \param renderWindow Render window object
|
||||||
|
///
|
||||||
|
/// \return sfTrue if the render window use sRGB encoding, sfFalse otherwise
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfBool sfRenderWindow_isSrgb(const sfRenderWindow* renderWindow);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Change the size of the rendering region of a render window
|
/// \brief Change the size of the rendering region of a render window
|
||||||
///
|
///
|
||||||
@@ -466,6 +476,20 @@ CSFML_GRAPHICS_API void sfRenderWindow_drawRectangleShape(sfRenderWindow* render
|
|||||||
CSFML_GRAPHICS_API void sfRenderWindow_drawVertexArray(sfRenderWindow* renderWindow, const sfVertexArray* object, const sfRenderStates* states);
|
CSFML_GRAPHICS_API void sfRenderWindow_drawVertexArray(sfRenderWindow* renderWindow, const sfVertexArray* object, const sfRenderStates* states);
|
||||||
CSFML_GRAPHICS_API void sfRenderWindow_drawVertexBuffer(sfRenderWindow* renderWindow, const sfVertexBuffer* object, const sfRenderStates* states);
|
CSFML_GRAPHICS_API void sfRenderWindow_drawVertexBuffer(sfRenderWindow* renderWindow, const sfVertexBuffer* object, const sfRenderStates* states);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Draw primitives defined by a vertex buffer.
|
||||||
|
///
|
||||||
|
/// \param renderWindow render window object
|
||||||
|
/// \param vertexBuffer Vertex buffer object to draw
|
||||||
|
/// \param firstVertex Index of the first vertex to render
|
||||||
|
/// \param vertexCount Number of vertices to render
|
||||||
|
/// \param states Render states to use for drawing
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API void sfRenderWindow_drawVertexBufferRange(sfRenderWindow* renderWindow,
|
||||||
|
const sfVertexBuffer* object, size_t firstVertex,
|
||||||
|
size_t vertexCount, const sfRenderStates* states);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Draw primitives defined by an array of vertices to a render window
|
/// \brief Draw primitives defined by an array of vertices to a render window
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -36,6 +36,15 @@
|
|||||||
#include <SFML/System/Vector2.h>
|
#include <SFML/System/Vector2.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Types of texture coordinates that can be used for rendering.
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
sfTextureNormalized, ///< sfTexture coordinates in range [0 .. 1].
|
||||||
|
sfTexturePixels ///< sfTexture coordinates in range [0 .. size].
|
||||||
|
} sfTextureCoordinateType;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new texture
|
/// \brief Create a new texture
|
||||||
@@ -59,6 +68,29 @@ CSFML_GRAPHICS_API sfTexture* sfTexture_create(unsigned int width, unsigned int
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromFile(const char* filename, const sfIntRect* area);
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromFile(const char* filename, const sfIntRect* area);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create a new sRGB-enabled texture from a file
|
||||||
|
///
|
||||||
|
/// When providing texture data from an image file or memory, it can
|
||||||
|
/// either be stored in a linear color space or an sRGB color space.
|
||||||
|
/// Most digital images account for gamma correction already, so they
|
||||||
|
/// would need to be "uncorrected" back to linear color space before
|
||||||
|
/// being processed by the hardware. The hardware can automatically
|
||||||
|
/// convert it from the sRGB color space to a linear color space when
|
||||||
|
/// it gets sampled. When the rendered image gets output to the final
|
||||||
|
/// framebuffer, it gets converted back to sRGB.
|
||||||
|
///
|
||||||
|
/// This load option is only useful in conjunction with an sRGB capable
|
||||||
|
/// framebuffer. This can be requested during window creation.
|
||||||
|
///
|
||||||
|
/// \param filename Path of the image file to load
|
||||||
|
/// \param area Area of the source image to load (NULL to load the entire image)
|
||||||
|
///
|
||||||
|
/// \return A new sfTexture object, or NULL if it failed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createSrgbFromFile(const char* filename, const sfIntRect* area);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new texture from a file in memory
|
/// \brief Create a new texture from a file in memory
|
||||||
///
|
///
|
||||||
@@ -71,6 +103,18 @@ CSFML_GRAPHICS_API sfTexture* sfTexture_createFromFile(const char* filename, con
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromMemory(const void* data, size_t sizeInBytes, const sfIntRect* area);
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromMemory(const void* data, size_t sizeInBytes, const sfIntRect* area);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create a new sRGB-enabled texture from a file in memory
|
||||||
|
///
|
||||||
|
/// \param data Pointer to the file data in memory
|
||||||
|
/// \param sizeInBytes Size of the data to load, in bytes
|
||||||
|
/// \param area Area of the source image to load (NULL to load the entire image)
|
||||||
|
///
|
||||||
|
/// \return A new sfTexture object, or NULL if it failed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createSrgbFromMemory(const void* data, size_t sizeInBytes, const sfIntRect* area);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new texture from a custom stream
|
/// \brief Create a new texture from a custom stream
|
||||||
///
|
///
|
||||||
@@ -82,6 +126,17 @@ CSFML_GRAPHICS_API sfTexture* sfTexture_createFromMemory(const void* data, size_
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromStream(sfInputStream* stream, const sfIntRect* area);
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromStream(sfInputStream* stream, const sfIntRect* area);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create a new sRGB-enabled texture from a custom stream
|
||||||
|
///
|
||||||
|
/// \param stream Source stream to read from
|
||||||
|
/// \param area Area of the source image to load (NULL to load the entire image)
|
||||||
|
///
|
||||||
|
/// \return A new sfTexture object, or NULL if it failed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createSrgbFromStream(sfInputStream* stream, const sfIntRect* area);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new texture from an image
|
/// \brief Create a new texture from an image
|
||||||
///
|
///
|
||||||
@@ -93,6 +148,17 @@ CSFML_GRAPHICS_API sfTexture* sfTexture_createFromStream(sfInputStream* stream,
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromImage(const sfImage* image, const sfIntRect* area);
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createFromImage(const sfImage* image, const sfIntRect* area);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create a new sRGB-enabled texture from an image
|
||||||
|
///
|
||||||
|
/// \param image Image to upload to the texture
|
||||||
|
/// \param area Area of the source image to load (NULL to load the entire image)
|
||||||
|
///
|
||||||
|
/// \return A new sfTexture object, or NULL if it failed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfTexture* sfTexture_createSrgbFromImage(const sfImage* image, const sfIntRect* area);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Copy an existing texture
|
/// \brief Copy an existing texture
|
||||||
///
|
///
|
||||||
@@ -214,37 +280,15 @@ CSFML_GRAPHICS_API void sfTexture_setSmooth(sfTexture* texture, sfBool smooth);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfBool sfTexture_isSmooth(const sfTexture* texture);
|
CSFML_GRAPHICS_API sfBool sfTexture_isSmooth(const sfTexture* texture);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
/// \brief Enable or disable conversion from sRGB
|
|
||||||
///
|
|
||||||
/// When providing texture data from an image file or memory, it can
|
|
||||||
/// either be stored in a linear color space or an sRGB color space.
|
|
||||||
/// Most digital images account for gamma correction already, so they
|
|
||||||
/// would need to be "uncorrected" back to linear color space before
|
|
||||||
/// being processed by the hardware. The hardware can automatically
|
|
||||||
/// convert it from the sRGB color space to a linear color space when
|
|
||||||
/// it gets sampled. When the rendered image gets output to the final
|
|
||||||
/// framebuffer, it gets converted back to sRGB.
|
|
||||||
///
|
|
||||||
/// After enabling or disabling sRGB conversion, make sure to reload
|
|
||||||
/// the texture data in order for the setting to take effect.
|
|
||||||
///
|
|
||||||
/// This option is only useful in conjunction with an sRGB capable
|
|
||||||
/// framebuffer. This can be requested during window creation.
|
|
||||||
///
|
|
||||||
/// \param sRgb True to enable sRGB conversion, false to disable it
|
|
||||||
///
|
|
||||||
/// \see sfTexture_isSrgb
|
|
||||||
///
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
CSFML_GRAPHICS_API void sfTexture_setSrgb(sfTexture* texture, sfBool sRgb);
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Tell whether the texture source is converted from sRGB or not
|
/// \brief Tell whether the texture source is converted from sRGB or not
|
||||||
///
|
///
|
||||||
/// \return True if the texture source is converted from sRGB, false if not
|
/// \return True if the texture source is converted from sRGB, false if not
|
||||||
///
|
///
|
||||||
/// \see sfTexture_setSrgb
|
/// \see sfTexture_createSrgbFromFile
|
||||||
|
/// \see sfTexture_createSrgbFromMemory
|
||||||
|
/// \see sfTexture_createSrgbFromStream
|
||||||
|
/// \see sfTexture_createSrgbFromImage
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfBool sfTexture_isSrgb(const sfTexture* texture);
|
CSFML_GRAPHICS_API sfBool sfTexture_isSrgb(const sfTexture* texture);
|
||||||
@@ -351,7 +395,7 @@ CSFML_GRAPHICS_API unsigned int sfTexture_getNativeHandle(const sfTexture* textu
|
|||||||
/// \param texture Pointer to the texture to bind, can be null to use no texture
|
/// \param texture Pointer to the texture to bind, can be null to use no texture
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API void sfTexture_bind(const sfTexture* texture);
|
CSFML_GRAPHICS_API void sfTexture_bind(const sfTexture* texture, sfTextureCoordinateType type);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the maximum texture size allowed
|
/// \brief Get the maximum texture size allowed
|
||||||
@@ -359,7 +403,7 @@ CSFML_GRAPHICS_API void sfTexture_bind(const sfTexture* texture);
|
|||||||
/// \return Maximum size allowed for textures, in pixels
|
/// \return Maximum size allowed for textures, in pixels
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API unsigned int sfTexture_getMaximumSize();
|
CSFML_GRAPHICS_API unsigned int sfTexture_getMaximumSize(void);
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_TEXTURE_H
|
#endif // SFML_TEXTURE_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -248,7 +248,7 @@ CSFML_GRAPHICS_API void sfVertexBuffer_bind(const sfVertexBuffer* vertexBuffer);
|
|||||||
/// \return True if vertex buffers are supported, false otherwise
|
/// \return True if vertex buffers are supported, false otherwise
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfBool sfVertexBuffer_isAvailable();
|
CSFML_GRAPHICS_API sfBool sfVertexBuffer_isAvailable(void);
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_VERTEXBUFFER_H
|
#endif // SFML_VERTEXBUFFER_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -69,6 +69,18 @@ CSFML_NETWORK_API void sfPacket_destroy(sfPacket* packet);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes);
|
CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the current reading position in the packet
|
||||||
|
///
|
||||||
|
/// The next read operation will read data from this position
|
||||||
|
///
|
||||||
|
/// \return The byte offset of the current read position
|
||||||
|
///
|
||||||
|
/// \see append
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_NETWORK_API size_t sfPacket_getReadPosition(const sfPacket* packet);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Clear a packet
|
/// \brief Clear a packet
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -203,7 +203,7 @@ CSFML_NETWORK_API sfSocketStatus sfUdpSocket_receivePacket(sfUdpSocket* socket,
|
|||||||
/// \return The maximum size of a UDP datagram (message)
|
/// \return The maximum size of a UDP datagram (message)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_NETWORK_API unsigned int sfUdpSocket_maxDatagramSize();
|
CSFML_NETWORK_API unsigned int sfUdpSocket_maxDatagramSize(void);
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_UDPSOCKET_H
|
#endif // SFML_UDPSOCKET_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <SFML/Config.h>
|
#include <SFML/Config.h>
|
||||||
|
#include <SFML/System/Buffer.h>
|
||||||
#include <SFML/System/Clock.h>
|
#include <SFML/System/Clock.h>
|
||||||
#include <SFML/System/InputStream.h>
|
#include <SFML/System/InputStream.h>
|
||||||
#include <SFML/System/Mutex.h>
|
#include <SFML/System/Mutex.h>
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SFML - Simple and Fast Multimedia Library
|
||||||
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
|
//
|
||||||
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
//
|
||||||
|
// Permission is granted to anyone to use this software for any purpose,
|
||||||
|
// including commercial applications, and to alter it and redistribute it freely,
|
||||||
|
// subject to the following restrictions:
|
||||||
|
//
|
||||||
|
// 1. The origin of this software must not be misrepresented;
|
||||||
|
// you must not claim that you wrote the original software.
|
||||||
|
// If you use this software in a product, an acknowledgment
|
||||||
|
// in the product documentation would be appreciated but is not required.
|
||||||
|
//
|
||||||
|
// 2. Altered source versions must be plainly marked as such,
|
||||||
|
// and must not be misrepresented as being the original software.
|
||||||
|
//
|
||||||
|
// 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef SFML_BUFFER_H
|
||||||
|
#define SFML_BUFFER_H
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
// Headers
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
#include <SFML/System/Export.h>
|
||||||
|
#include <SFML/System/Types.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create an empty buffer
|
||||||
|
///
|
||||||
|
/// \return A new sfBuffer object, or NULL if it failed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_SYSTEM_API sfBuffer* sfBuffer_create(void);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Destroy an existing buffer
|
||||||
|
///
|
||||||
|
/// \param buffer Buffer to delete
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_SYSTEM_API void sfBuffer_destroy(sfBuffer* buffer);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Return the size of a buffer
|
||||||
|
///
|
||||||
|
/// \param buffer Buffer object
|
||||||
|
///
|
||||||
|
/// \return Size in bytes
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_SYSTEM_API size_t sfBuffer_getSize(const sfBuffer* buffer);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get a read-only pointer to the array of bytes of a buffer
|
||||||
|
///
|
||||||
|
/// \param buffer Buffer object
|
||||||
|
///
|
||||||
|
/// \return Read-only pointer to the array of bytes
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_SYSTEM_API const sfUint8* sfBuffer_getData(const sfBuffer* buffer);
|
||||||
|
|
||||||
|
|
||||||
|
#endif // SFML_BUFFER_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
#define SFML_SYSTEM_TYPES_H
|
#define SFML_SYSTEM_TYPES_H
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct sfBuffer sfBuffer;
|
||||||
typedef struct sfClock sfClock;
|
typedef struct sfClock sfClock;
|
||||||
typedef struct sfMutex sfMutex;
|
typedef struct sfMutex sfMutex;
|
||||||
typedef struct sfThread sfThread;
|
typedef struct sfThread sfThread;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
/// \return Clipboard contents as a locale-dependent ANSI string
|
/// \return Clipboard contents as a locale-dependent ANSI string
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API const char* sfClipboard_getString();
|
CSFML_WINDOW_API const char* sfClipboard_getString(void);
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@@ -55,7 +55,7 @@ CSFML_WINDOW_API const char* sfClipboard_getString();
|
|||||||
/// \return Clipboard contents as UTF-32
|
/// \return Clipboard contents as UTF-32
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API const sfUint32* sfClipboard_getUnicodeString();
|
CSFML_WINDOW_API const sfUint32* sfClipboard_getUnicodeString(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Set the content of the clipboard as ANSI string data
|
/// \brief Set the content of the clipboard as ANSI string data
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -32,6 +32,8 @@
|
|||||||
#include <SFML/Window/Types.h>
|
#include <SFML/Window/Types.h>
|
||||||
#include <SFML/Window/Window.h>
|
#include <SFML/Window/Window.h>
|
||||||
|
|
||||||
|
typedef void (*GlFunctionPointer)(void);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new context
|
/// \brief Create a new context
|
||||||
///
|
///
|
||||||
@@ -50,6 +52,16 @@ CSFML_WINDOW_API sfContext* sfContext_create(void);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API void sfContext_destroy(sfContext* context);
|
CSFML_WINDOW_API void sfContext_destroy(sfContext* context);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Check whether a given OpenGL extension is available.
|
||||||
|
///
|
||||||
|
/// \param Name of the extension to check for
|
||||||
|
///
|
||||||
|
/// \return True if available, false if unavailable
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfContext_isExtensionAvailable(const char* name);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Activate or deactivate explicitely a context
|
/// \brief Activate or deactivate explicitely a context
|
||||||
///
|
///
|
||||||
@@ -61,6 +73,16 @@ CSFML_WINDOW_API void sfContext_destroy(sfContext* context);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API sfBool sfContext_setActive(sfContext* context, sfBool active);
|
CSFML_WINDOW_API sfBool sfContext_setActive(sfContext* context, sfBool active);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the address of an OpenGL function.
|
||||||
|
///
|
||||||
|
/// \param name Name of the function to get the address of
|
||||||
|
///
|
||||||
|
/// \return Address of the OpenGL function, 0 on failure
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API GlFunctionPointer sfContext_getFunction(const char* name);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the settings of the context.
|
/// \brief Get the settings of the context.
|
||||||
///
|
///
|
||||||
@@ -82,6 +104,6 @@ CSFML_WINDOW_API sfContextSettings sfContext_getSettings(const sfContext* contex
|
|||||||
/// \return The active context's ID or 0 if no context is currently active
|
/// \return The active context's ID or 0 if no context is currently active
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API sfUint64 sfContext_getActiveContextId();
|
CSFML_WINDOW_API sfUint64 sfContext_getActiveContextId(void);
|
||||||
|
|
||||||
#endif // SFML_CONTEXT_H
|
#endif // SFML_CONTEXT_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -50,6 +50,14 @@
|
|||||||
/// sfCursorSizeVertical | yes | yes | yes
|
/// sfCursorSizeVertical | yes | yes | yes
|
||||||
/// sfCursorSizeTopLeftBottomRight | no | no | yes
|
/// sfCursorSizeTopLeftBottomRight | no | no | yes
|
||||||
/// sfCursorSizeBottomLeftTopRight | no | no | yes
|
/// sfCursorSizeBottomLeftTopRight | no | no | yes
|
||||||
|
/// sfCursorSizeLeft | yes | yes | yes
|
||||||
|
/// sfCursorSizeRight | yes | yes | yes
|
||||||
|
/// sfCursorSizeTop | yes | yes | yes
|
||||||
|
/// sfCursorSizeBottom | yes | yes | yes
|
||||||
|
/// sfCursorSizeTopLeft | yes | yes | yes
|
||||||
|
/// sfCursorSizeTopRight | yes | yes | yes
|
||||||
|
/// sfCursorSizeBottomLeft | yes | yes | yes
|
||||||
|
/// sfCursorSizeBottomRight | yes | yes | yes
|
||||||
/// sfCursorSizeAll | yes | no | yes
|
/// sfCursorSizeAll | yes | no | yes
|
||||||
/// sfCursorCross | yes | yes | yes
|
/// sfCursorCross | yes | yes | yes
|
||||||
/// sfCursorHelp | yes | no | yes
|
/// sfCursorHelp | yes | no | yes
|
||||||
@@ -67,6 +75,14 @@ typedef enum
|
|||||||
sfCursorSizeVertical, ///< Vertical double arrow cursor
|
sfCursorSizeVertical, ///< Vertical double arrow cursor
|
||||||
sfCursorSizeTopLeftBottomRight, ///< Double arrow cursor going from top-left to bottom-right
|
sfCursorSizeTopLeftBottomRight, ///< Double arrow cursor going from top-left to bottom-right
|
||||||
sfCursorSizeBottomLeftTopRight, ///< Double arrow cursor going from bottom-left to top-right
|
sfCursorSizeBottomLeftTopRight, ///< Double arrow cursor going from bottom-left to top-right
|
||||||
|
sfCursorSizeLeft, ///< Left arrow cursor on Linux, same as SizeHorizontal on other platforms
|
||||||
|
sfCursorSizeRight, ///< Right arrow cursor on Linux, same as SizeHorizontal on other platforms
|
||||||
|
sfCursorSizeTop, ///< Up arrow cursor on Linux, same as SizeVertical on other platforms
|
||||||
|
sfCursorSizeBottom, ///< Down arrow cursor on Linux, same as SizeVertical on other platforms
|
||||||
|
sfCursorSizeTopLeft, ///< Top-left arrow cursor on Linux, same as SizeTopLeftBottomRight on other platforms
|
||||||
|
sfCursorSizeBottomRight, ///< Bottom-right arrow cursor on Linux, same as SizeTopLeftBottomRight on other platforms
|
||||||
|
sfCursorSizeBottomLeft, ///< Bottom-left arrow cursor on Linux, same as SizeBottomLeftTopRight on other platforms
|
||||||
|
sfCursorSizeTopRight, ///< Top-right arrow cursor on Linux, same as SizeBottomLeftTopRight on other platforms
|
||||||
sfCursorSizeAll, ///< Combination of SizeHorizontal and SizeVertical
|
sfCursorSizeAll, ///< Combination of SizeHorizontal and SizeVertical
|
||||||
sfCursorCross, ///< Crosshair cursor
|
sfCursorCross, ///< Crosshair cursor
|
||||||
sfCursorHelp, ///< Help cursor
|
sfCursorHelp, ///< Help cursor
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -65,7 +65,7 @@ typedef enum
|
|||||||
sfEvtTouchEnded, ///< A touch event ended (data in event.touch)
|
sfEvtTouchEnded, ///< A touch event ended (data in event.touch)
|
||||||
sfEvtSensorChanged, ///< A sensor value changed (data in event.sensor)
|
sfEvtSensorChanged, ///< A sensor value changed (data in event.sensor)
|
||||||
|
|
||||||
sfEvtCount, ///< Keep last -- the total number of event types
|
sfEvtCount ///< Keep last -- the total number of event types
|
||||||
} sfEventType;
|
} sfEventType;
|
||||||
|
|
||||||
|
|
||||||
@@ -77,6 +77,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
sfEventType type;
|
sfEventType type;
|
||||||
sfKeyCode code;
|
sfKeyCode code;
|
||||||
|
sfScancode scancode;
|
||||||
sfBool alt;
|
sfBool alt;
|
||||||
sfBool control;
|
sfBool control;
|
||||||
sfBool shift;
|
sfBool shift;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
+257
-13
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -34,6 +34,10 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Key codes
|
/// \brief Key codes
|
||||||
///
|
///
|
||||||
|
/// The enumerators refer to the "localized" key; i.e. depending
|
||||||
|
/// on the layout set by the operating system, a key can be mapped
|
||||||
|
/// to `Y` or `Z`.
|
||||||
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@@ -78,21 +82,21 @@ typedef enum
|
|||||||
sfKeyLControl, ///< The left Control key
|
sfKeyLControl, ///< The left Control key
|
||||||
sfKeyLShift, ///< The left Shift key
|
sfKeyLShift, ///< The left Shift key
|
||||||
sfKeyLAlt, ///< The left Alt key
|
sfKeyLAlt, ///< The left Alt key
|
||||||
sfKeyLSystem, ///< The left OS specific key: window (Windows and Linux), apple (MacOS X), ...
|
sfKeyLSystem, ///< The left OS specific key: window (Windows and Linux), apple (macOS), ...
|
||||||
sfKeyRControl, ///< The right Control key
|
sfKeyRControl, ///< The right Control key
|
||||||
sfKeyRShift, ///< The right Shift key
|
sfKeyRShift, ///< The right Shift key
|
||||||
sfKeyRAlt, ///< The right Alt key
|
sfKeyRAlt, ///< The right Alt key
|
||||||
sfKeyRSystem, ///< The right OS specific key: window (Windows and Linux), apple (MacOS X), ...
|
sfKeyRSystem, ///< The right OS specific key: window (Windows and Linux), apple (macOS), ...
|
||||||
sfKeyMenu, ///< The Menu key
|
sfKeyMenu, ///< The Menu key
|
||||||
sfKeyLBracket, ///< The [ key
|
sfKeyLBracket, ///< The [ key
|
||||||
sfKeyRBracket, ///< The ] key
|
sfKeyRBracket, ///< The ] key
|
||||||
sfKeySemicolon, ///< The ; key
|
sfKeySemicolon, ///< The ; key
|
||||||
sfKeyComma, ///< The , key
|
sfKeyComma, ///< The , key
|
||||||
sfKeyPeriod, ///< The . key
|
sfKeyPeriod, ///< The . key
|
||||||
sfKeyQuote, ///< The ' key
|
sfKeyApostrophe, ///< The ' key
|
||||||
sfKeySlash, ///< The / key
|
sfKeySlash, ///< The / key
|
||||||
sfKeyBackslash, ///< The \ key
|
sfKeyBackslash, ///< The \ key
|
||||||
sfKeyTilde, ///< The ~ key
|
sfKeyGrave, ///< The ` key
|
||||||
sfKeyEqual, ///< The = key
|
sfKeyEqual, ///< The = key
|
||||||
sfKeyHyphen, ///< The - key (hyphen)
|
sfKeyHyphen, ///< The - key (hyphen)
|
||||||
sfKeySpace, ///< The Space key
|
sfKeySpace, ///< The Space key
|
||||||
@@ -144,14 +148,184 @@ typedef enum
|
|||||||
|
|
||||||
// Deprecated values:
|
// Deprecated values:
|
||||||
|
|
||||||
sfKeyDash = sfKeyHyphen, ///< \deprecated Use Hyphen instead
|
sfKeyTilde = sfKeyGrave, ///< \deprecated Use Grave instead
|
||||||
sfKeyBack = sfKeyBackspace, ///< \deprecated Use Backspace instead
|
sfKeyDash = sfKeyHyphen, ///< \deprecated Use Hyphen instead
|
||||||
sfKeyBackSlash = sfKeyBackslash, ///< \deprecated Use Backslash instead
|
sfKeyBack = sfKeyBackspace, ///< \deprecated Use Backspace instead
|
||||||
sfKeySemiColon = sfKeySemicolon, ///< \deprecated Use Semicolon instead
|
sfKeyBackSlash = sfKeyBackslash, ///< \deprecated Use Backslash instead
|
||||||
sfKeyReturn = sfKeyEnter ///< \deprecated Use Enter instead
|
sfKeySemiColon = sfKeySemicolon, ///< \deprecated Use Semicolon instead
|
||||||
|
sfKeyReturn = sfKeyEnter, ///< \deprecated Use Enter instead
|
||||||
|
sfKeyQuote = sfKeyApostrophe ///< \deprecated Use Apostrophe instead
|
||||||
} sfKeyCode;
|
} sfKeyCode;
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Scancodes
|
||||||
|
///
|
||||||
|
/// The enumerators are bound to a physical key and do not depend on
|
||||||
|
/// the keyboard layout used by the operating system. Usually, the AT-101
|
||||||
|
/// keyboard can be used as reference for the physical position of the keys.
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
sfScanUnknown = -1, //!< Represents any scancode not present in this enum
|
||||||
|
sfScanA = 0, //!< Keyboard a and A key
|
||||||
|
sfScanB, //!< Keyboard b and B key
|
||||||
|
sfScanC, //!< Keyboard c and C key
|
||||||
|
sfScanD, //!< Keyboard d and D key
|
||||||
|
sfScanE, //!< Keyboard e and E key
|
||||||
|
sfScanF, //!< Keyboard f and F key
|
||||||
|
sfScanG, //!< Keyboard g and G key
|
||||||
|
sfScanH, //!< Keyboard h and H key
|
||||||
|
sfScanI, //!< Keyboard i and I key
|
||||||
|
sfScanJ, //!< Keyboard j and J key
|
||||||
|
sfScanK, //!< Keyboard k and K key
|
||||||
|
sfScanL, //!< Keyboard l and L key
|
||||||
|
sfScanM, //!< Keyboard m and M key
|
||||||
|
sfScanN, //!< Keyboard n and N key
|
||||||
|
sfScanO, //!< Keyboard o and O key
|
||||||
|
sfScanP, //!< Keyboard p and P key
|
||||||
|
sfScanQ, //!< Keyboard q and Q key
|
||||||
|
sfScanR, //!< Keyboard r and R key
|
||||||
|
sfScanS, //!< Keyboard s and S key
|
||||||
|
sfScanT, //!< Keyboard t and T key
|
||||||
|
sfScanU, //!< Keyboard u and U key
|
||||||
|
sfScanV, //!< Keyboard v and V key
|
||||||
|
sfScanW, //!< Keyboard w and W key
|
||||||
|
sfScanX, //!< Keyboard x and X key
|
||||||
|
sfScanY, //!< Keyboard y and Y key
|
||||||
|
sfScanZ, //!< Keyboard z and Z key
|
||||||
|
sfScanNum1, //!< Keyboard 1 and ! key
|
||||||
|
sfScanNum2, //!< Keyboard 2 and @ key
|
||||||
|
sfScanNum3, //!< Keyboard 3 and # key
|
||||||
|
sfScanNum4, //!< Keyboard 4 and $ key
|
||||||
|
sfScanNum5, //!< Keyboard 5 and % key
|
||||||
|
sfScanNum6, //!< Keyboard 6 and ^ key
|
||||||
|
sfScanNum7, //!< Keyboard 7 and & key
|
||||||
|
sfScanNum8, //!< Keyboard 8 and * key
|
||||||
|
sfScanNum9, //!< Keyboard 9 and ) key
|
||||||
|
sfScanNum0, //!< Keyboard 0 and ) key
|
||||||
|
sfScanEnter, //!< Keyboard Enter/Return key
|
||||||
|
sfScanEscape, //!< Keyboard Escape key
|
||||||
|
sfScanBackspace, //!< Keyboard Backspace key
|
||||||
|
sfScanTab, //!< Keyboard Tab key
|
||||||
|
sfScanSpace, //!< Keyboard Space key
|
||||||
|
sfScanHyphen, //!< Keyboard - and _ key
|
||||||
|
sfScanEqual, //!< Keyboard = and +
|
||||||
|
sfScanLBracket, //!< Keyboard [ and { key
|
||||||
|
sfScanRBracket, //!< Keyboard ] and } key
|
||||||
|
// For US keyboards mapped to key 29 (Microsoft Keyboard Scan Code Specification)
|
||||||
|
// For Non-US keyboards mapped to key 42 (Microsoft Keyboard Scan Code Specification)
|
||||||
|
// Typical language mappings: Belg:£µ` FrCa:<>} Dan:*' Dutch:`´ Fren:µ* Ger:'# Ital:§ù LatAm:[}` Nor:*@ Span:ç} Swed:*' Swiss:$£} UK:~# Brazil:}]
|
||||||
|
sfScanBackslash, //!< Keyboard \ and | key OR various keys for Non-US keyboards
|
||||||
|
sfScanSemicolon, //!< Keyboard ; and : key
|
||||||
|
sfScanApostrophe, //!< Keyboard ' and " key
|
||||||
|
sfScanGrave, //!< Keyboard ` and ~ key
|
||||||
|
sfScanComma, //!< Keyboard , and < key
|
||||||
|
sfScanPeriod, //!< Keyboard . and > key
|
||||||
|
sfScanSlash, //!< Keyboard / and ? key
|
||||||
|
sfScanF1, //!< Keyboard F1 key
|
||||||
|
sfScanF2, //!< Keyboard F2 key
|
||||||
|
sfScanF3, //!< Keyboard F3 key
|
||||||
|
sfScanF4, //!< Keyboard F4 key
|
||||||
|
sfScanF5, //!< Keyboard F5 key
|
||||||
|
sfScanF6, //!< Keyboard F6 key
|
||||||
|
sfScanF7, //!< Keyboard F7 key
|
||||||
|
sfScanF8, //!< Keyboard F8 key
|
||||||
|
sfScanF9, //!< Keyboard F9 key
|
||||||
|
sfScanF10, //!< Keyboard F10 key
|
||||||
|
sfScanF11, //!< Keyboard F11 key
|
||||||
|
sfScanF12, //!< Keyboard F12 key
|
||||||
|
sfScanF13, //!< Keyboard F13 key
|
||||||
|
sfScanF14, //!< Keyboard F14 key
|
||||||
|
sfScanF15, //!< Keyboard F15 key
|
||||||
|
sfScanF16, //!< Keyboard F16 key
|
||||||
|
sfScanF17, //!< Keyboard F17 key
|
||||||
|
sfScanF18, //!< Keyboard F18 key
|
||||||
|
sfScanF19, //!< Keyboard F19 key
|
||||||
|
sfScanF20, //!< Keyboard F20 key
|
||||||
|
sfScanF21, //!< Keyboard F21 key
|
||||||
|
sfScanF22, //!< Keyboard F22 key
|
||||||
|
sfScanF23, //!< Keyboard F23 key
|
||||||
|
sfScanF24, //!< Keyboard F24 key
|
||||||
|
sfScanCapsLock, //!< Keyboard Caps %Lock key
|
||||||
|
sfScanPrintScreen, //!< Keyboard Print Screen key
|
||||||
|
sfScanScrollLock, //!< Keyboard Scroll %Lock key
|
||||||
|
sfScanPause, //!< Keyboard Pause key
|
||||||
|
sfScanInsert, //!< Keyboard Insert key
|
||||||
|
sfScanHome, //!< Keyboard Home key
|
||||||
|
sfScanPageUp, //!< Keyboard Page Up key
|
||||||
|
sfScanDelete, //!< Keyboard Delete Forward key
|
||||||
|
sfScanEnd, //!< Keyboard End key
|
||||||
|
sfScanPageDown, //!< Keyboard Page Down key
|
||||||
|
sfScanRight, //!< Keyboard Right Arrow key
|
||||||
|
sfScanLeft, //!< Keyboard Left Arrow key
|
||||||
|
sfScanDown, //!< Keyboard Down Arrow key
|
||||||
|
sfScanUp, //!< Keyboard Up Arrow key
|
||||||
|
sfScanNumLock, //!< Keypad Num %Lock and Clear key
|
||||||
|
sfScanNumpadDivide, //!< Keypad / key
|
||||||
|
sfScanNumpadMultiply, //!< Keypad * key
|
||||||
|
sfScanNumpadMinus, //!< Keypad - key
|
||||||
|
sfScanNumpadPlus, //!< Keypad + key
|
||||||
|
sfScanNumpadEqual, //!< keypad = key
|
||||||
|
sfScanNumpadEnter, //!< Keypad Enter/Return key
|
||||||
|
sfScanNumpadDecimal, //!< Keypad . and Delete key
|
||||||
|
sfScanNumpad1, //!< Keypad 1 and End key
|
||||||
|
sfScanNumpad2, //!< Keypad 2 and Down Arrow key
|
||||||
|
sfScanNumpad3, //!< Keypad 3 and Page Down key
|
||||||
|
sfScanNumpad4, //!< Keypad 4 and Left Arrow key
|
||||||
|
sfScanNumpad5, //!< Keypad 5 key
|
||||||
|
sfScanNumpad6, //!< Keypad 6 and Right Arrow key
|
||||||
|
sfScanNumpad7, //!< Keypad 7 and Home key
|
||||||
|
sfScanNumpad8, //!< Keypad 8 and Up Arrow key
|
||||||
|
sfScanNumpad9, //!< Keypad 9 and Page Up key
|
||||||
|
sfScanNumpad0, //!< Keypad 0 and Insert key
|
||||||
|
// For US keyboards doesn't exist
|
||||||
|
// For Non-US keyboards mapped to key 45 (Microsoft Keyboard Scan Code Specification)
|
||||||
|
// Typical language mappings: Belg:<\> FrCa:«°» Dan:<\> Dutch:]|[ Fren:<> Ger:<|> Ital:<> LatAm:<> Nor:<> Span:<> Swed:<|> Swiss:<\> UK:\| Brazil: \|.
|
||||||
|
sfScanNonUsBackslash, //!< Keyboard Non-US \ and | key
|
||||||
|
sfScanApplication, //!< Keyboard Application key
|
||||||
|
sfScanExecute, //!< Keyboard Execute key
|
||||||
|
sfScanModeChange, //!< Keyboard Mode Change key
|
||||||
|
sfScanHelp, //!< Keyboard Help key
|
||||||
|
sfScanMenu, //!< Keyboard Menu key
|
||||||
|
sfScanSelect, //!< Keyboard Select key
|
||||||
|
sfScanRedo, //!< Keyboard Redo key
|
||||||
|
sfScanUndo, //!< Keyboard Undo key
|
||||||
|
sfScanCut, //!< Keyboard Cut key
|
||||||
|
sfScanCopy, //!< Keyboard Copy key
|
||||||
|
sfScanPaste, //!< Keyboard Paste key
|
||||||
|
sfScanVolumeMute, //!< Keyboard Volume Mute key
|
||||||
|
sfScanVolumeUp, //!< Keyboard Volume Up key
|
||||||
|
sfScanVolumeDown, //!< Keyboard Volume Down key
|
||||||
|
sfScanMediaPlayPause, //!< Keyboard Media Play Pause key
|
||||||
|
sfScanMediaStop, //!< Keyboard Media Stop key
|
||||||
|
sfScanMediaNextTrack, //!< Keyboard Media Next Track key
|
||||||
|
sfScanMediaPreviousTrack, //!< Keyboard Media Previous Track key
|
||||||
|
sfScanLControl, //!< Keyboard Left Control key
|
||||||
|
sfScanLShift, //!< Keyboard Left Shift key
|
||||||
|
sfScanLAlt, //!< Keyboard Left Alt key
|
||||||
|
sfScanLSystem, //!< Keyboard Left System key
|
||||||
|
sfScanRControl, //!< Keyboard Right Control key
|
||||||
|
sfScanRShift, //!< Keyboard Right Shift key
|
||||||
|
sfScanRAlt, //!< Keyboard Right Alt key
|
||||||
|
sfScanRSystem, //!< Keyboard Right System key
|
||||||
|
sfScanBack, //!< Keyboard Back key
|
||||||
|
sfScanForward, //!< Keyboard Forward key
|
||||||
|
sfScanRefresh, //!< Keyboard Refresh key
|
||||||
|
sfScanStop, //!< Keyboard Stop key
|
||||||
|
sfScanSearch, //!< Keyboard Search key
|
||||||
|
sfScanFavorites, //!< Keyboard Favorites key
|
||||||
|
sfScanHomePage, //!< Keyboard Home Page key
|
||||||
|
sfScanLaunchApplication1, //!< Keyboard Launch Application 1 key
|
||||||
|
sfScanLaunchApplication2, //!< Keyboard Launch Application 2 key
|
||||||
|
sfScanLaunchMail, //!< Keyboard Launch Mail key
|
||||||
|
sfScanLaunchMediaSelect, //!< Keyboard Launch Media Select key
|
||||||
|
|
||||||
|
sfScancodeCount //!< Keep last -- the total number of scancodes
|
||||||
|
} sfScancode;
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Check if a key is pressed
|
/// \brief Check if a key is pressed
|
||||||
///
|
///
|
||||||
@@ -159,15 +333,85 @@ typedef enum
|
|||||||
///
|
///
|
||||||
/// \return sfTrue if the key is pressed, sfFalse otherwise
|
/// \return sfTrue if the key is pressed, sfFalse otherwise
|
||||||
///
|
///
|
||||||
|
/// \see sfKeyboard_isScancodePressed
|
||||||
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API sfBool sfKeyboard_isKeyPressed(sfKeyCode key);
|
CSFML_WINDOW_API sfBool sfKeyboard_isKeyPressed(sfKeyCode key);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Check if a key is pressed
|
||||||
|
///
|
||||||
|
/// \param code Scancode to check
|
||||||
|
///
|
||||||
|
/// \return sfTrue if the physical key is pressed, sfFalse otherwise
|
||||||
|
///
|
||||||
|
/// \see sfKeyboard_isKeyPressed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfKeyboard_isScancodePressed(sfScancode code);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Localize a physical key to a logical one
|
||||||
|
///
|
||||||
|
/// \param code Scancode to localize
|
||||||
|
///
|
||||||
|
/// \return The key corresponding to the scancode under the current
|
||||||
|
/// keyboard layout used by the operating system, or
|
||||||
|
/// sfKeyUnknown when the scancode cannot be mapped
|
||||||
|
/// to a Key.
|
||||||
|
///
|
||||||
|
/// \see sfKeyboard_delocalize
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfKeyCode sfKeyboard_localize(sfScancode code);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Identify the physical key corresponding to a logical one
|
||||||
|
///
|
||||||
|
/// \param key Key to "delocalize"
|
||||||
|
///
|
||||||
|
/// \return The scancode corresponding to the key under the current
|
||||||
|
/// keyboard layout used by the operating system, or
|
||||||
|
/// sfScanUnknown when the key cannot be mapped
|
||||||
|
/// to a sfScancode.
|
||||||
|
///
|
||||||
|
/// \see sfKeyboard_localize
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfScancode sfKeyboard_delocalize(sfKeyCode key);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Provide a string representation for a given scancode
|
||||||
|
///
|
||||||
|
/// The returned string is a short, non-technical description of
|
||||||
|
/// the key represented with the given scancode. Most effectively
|
||||||
|
/// used in user interfaces, as the description for the key takes
|
||||||
|
/// the users keyboard layout into consideration.
|
||||||
|
///
|
||||||
|
/// \warning The result is OS-dependent: for example, sfScanLSystem
|
||||||
|
/// is "Left Meta" on Linux, "Left Windows" on Windows and
|
||||||
|
/// "Left Command" on macOS.
|
||||||
|
///
|
||||||
|
/// The current keyboard layout set by the operating system is used to
|
||||||
|
/// interpret the scancode: for example, sfKeySemicolon is
|
||||||
|
/// mapped to ";" for layout and to "é" for others.
|
||||||
|
///
|
||||||
|
/// The returned const char* owns the string and must be freed to
|
||||||
|
/// avoid memory leaks.
|
||||||
|
///
|
||||||
|
/// \param code Scancode to describe
|
||||||
|
///
|
||||||
|
/// \return The localized description of the code
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API const char* sfKeyboard_getDescription(sfScancode code);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Show or hide the virtual keyboard.
|
/// \brief Show or hide the virtual keyboard.
|
||||||
///
|
///
|
||||||
/// Warning: the virtual keyboard is not supported on all systems.
|
/// \warning The virtual keyboard is not supported on all
|
||||||
/// It will typically be implemented on mobile OSes (Android, iOS)
|
/// systems. It will typically be implemented on mobile OSes
|
||||||
/// but not on desktop OSes (Windows, Linux, ...).
|
/// (Android, iOS) but not on desktop OSes (Windows, Linux, ...).
|
||||||
///
|
///
|
||||||
/// If the virtual keyboard is not available, this function does nothing.
|
/// If the virtual keyboard is not available, this function does nothing.
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
typedef struct sfContext sfContext;
|
typedef struct sfContext sfContext;
|
||||||
typedef struct sfCursor sfCursor;
|
typedef struct sfCursor sfCursor;
|
||||||
typedef struct sfWindow sfWindow;
|
typedef struct sfWindow sfWindow;
|
||||||
|
typedef struct sfWindowBase sfWindowBase;
|
||||||
|
|
||||||
|
|
||||||
#endif // SFML_WINDOW_TYPES_H
|
#endif // SFML_WINDOW_TYPES_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SFML - Simple and Fast Multimedia Library
|
||||||
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
|
//
|
||||||
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
//
|
||||||
|
// Permission is granted to anyone to use this software for any purpose,
|
||||||
|
// including commercial applications, and to alter it and redistribute it freely,
|
||||||
|
// subject to the following restrictions:
|
||||||
|
//
|
||||||
|
// 1. The origin of this software must not be misrepresented;
|
||||||
|
// you must not claim that you wrote the original software.
|
||||||
|
// If you use this software in a product, an acknowledgment
|
||||||
|
// in the product documentation would be appreciated but is not required.
|
||||||
|
//
|
||||||
|
// 2. Altered source versions must be plainly marked as such,
|
||||||
|
// and must not be misrepresented as being the original software.
|
||||||
|
//
|
||||||
|
// 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
// Headers
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
#include <SFML/Window/Export.h>
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct VkInstance_T* VkInstance;
|
||||||
|
|
||||||
|
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
|
||||||
|
|
||||||
|
typedef struct VkSurfaceKHR_T* VkSurfaceKHR;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
typedef sfUint64 VkSurfaceKHR;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct VkAllocationCallbacks VkAllocationCallbacks;
|
||||||
|
|
||||||
|
|
||||||
|
typedef void (*sfVulkanFunctionPointer)(void);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell whether or not the system supports Vulkan
|
||||||
|
///
|
||||||
|
/// This function should always be called before using
|
||||||
|
/// the Vulkan features. If it returns false, then
|
||||||
|
/// any attempt to use Vulkan will fail.
|
||||||
|
///
|
||||||
|
/// If only compute is required, set \a requireGraphics
|
||||||
|
/// to false to skip checking for the extensions necessary
|
||||||
|
/// for graphics rendering.
|
||||||
|
///
|
||||||
|
/// \param requireGraphics
|
||||||
|
///
|
||||||
|
/// \return True if Vulkan is supported, false otherwise
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfVulkan_isAvailable(sfBool requireGraphics);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the address of a Vulkan function
|
||||||
|
///
|
||||||
|
/// \param name Name of the function to get the address of
|
||||||
|
///
|
||||||
|
/// \return Address of the Vulkan function, 0 on failure
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfVulkanFunctionPointer sfVulkan_getFunction(const char* name);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get Vulkan instance extensions required for graphics
|
||||||
|
///
|
||||||
|
/// \return Vulkan instance extensions required for graphics
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API const char* const* sfVulkan_getGraphicsRequiredInstanceExtensions(void);
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -31,26 +31,12 @@
|
|||||||
#include <SFML/Window/Export.h>
|
#include <SFML/Window/Export.h>
|
||||||
#include <SFML/Window/Event.h>
|
#include <SFML/Window/Event.h>
|
||||||
#include <SFML/Window/VideoMode.h>
|
#include <SFML/Window/VideoMode.h>
|
||||||
|
#include <SFML/Window/WindowBase.h>
|
||||||
#include <SFML/Window/WindowHandle.h>
|
#include <SFML/Window/WindowHandle.h>
|
||||||
#include <SFML/Window/Types.h>
|
#include <SFML/Window/Types.h>
|
||||||
#include <SFML/System/Vector2.h>
|
#include <SFML/System/Vector2.h>
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
/// \brief Enumeration of window creation styles
|
|
||||||
///
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
sfNone = 0, ///< No border / title bar (this flag and all others are mutually exclusive)
|
|
||||||
sfTitlebar = 1 << 0, ///< Title bar + fixed border
|
|
||||||
sfResize = 1 << 1, ///< Titlebar + resizable border + maximize button
|
|
||||||
sfClose = 1 << 2, ///< Titlebar + close button
|
|
||||||
sfFullscreen = 1 << 3, ///< Fullscreen mode (this flag and all others are mutually exclusive)
|
|
||||||
sfDefaultStyle = sfTitlebar | sfResize | sfClose ///< Default window style
|
|
||||||
} sfWindowStyle;
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Enumeration of the context attribute flags
|
/// \brief Enumeration of the context attribute flags
|
||||||
///
|
///
|
||||||
@@ -406,7 +392,7 @@ CSFML_WINDOW_API void sfWindow_setFramerateLimit(sfWindow* window, unsigned int
|
|||||||
/// \brief Change the joystick threshold
|
/// \brief Change the joystick threshold
|
||||||
///
|
///
|
||||||
/// The joystick threshold is the value below which
|
/// The joystick threshold is the value below which
|
||||||
/// no JoyMoved event will be generated.
|
/// no JoystickMoved event will be generated.
|
||||||
///
|
///
|
||||||
/// \param window Window object
|
/// \param window Window object
|
||||||
/// \param threshold New threshold, in the range [0, 100]
|
/// \param threshold New threshold, in the range [0, 100]
|
||||||
|
|||||||
@@ -0,0 +1,384 @@
|
|||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SFML - Simple and Fast Multimedia Library
|
||||||
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
|
//
|
||||||
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
//
|
||||||
|
// Permission is granted to anyone to use this software for any purpose,
|
||||||
|
// including commercial applications, and to alter it and redistribute it freely,
|
||||||
|
// subject to the following restrictions:
|
||||||
|
//
|
||||||
|
// 1. The origin of this software must not be misrepresented;
|
||||||
|
// you must not claim that you wrote the original software.
|
||||||
|
// If you use this software in a product, an acknowledgment
|
||||||
|
// in the product documentation would be appreciated but is not required.
|
||||||
|
//
|
||||||
|
// 2. Altered source versions must be plainly marked as such,
|
||||||
|
// and must not be misrepresented as being the original software.
|
||||||
|
//
|
||||||
|
// 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef SFML_WINDOWBASE_H
|
||||||
|
#define SFML_WINDOWBASE_H
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
// Headers
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
#include <SFML/Window/Export.h>
|
||||||
|
#include <SFML/Window/Event.h>
|
||||||
|
#include <SFML/Window/VideoMode.h>
|
||||||
|
#include <SFML/Window/WindowHandle.h>
|
||||||
|
#include <SFML/Window/Types.h>
|
||||||
|
#include <SFML/Window/Vulkan.h>
|
||||||
|
#include <SFML/System/Vector2.h>
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Enumeration of window creation styles
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
sfNone = 0, ///< No border / title bar (this flag and all others are mutually exclusive)
|
||||||
|
sfTitlebar = 1 << 0, ///< Title bar + fixed border
|
||||||
|
sfResize = 1 << 1, ///< Titlebar + resizable border + maximize button
|
||||||
|
sfClose = 1 << 2, ///< Titlebar + close button
|
||||||
|
sfFullscreen = 1 << 3, ///< Fullscreen mode (this flag and all others are mutually exclusive)
|
||||||
|
sfDefaultStyle = sfTitlebar | sfResize | sfClose ///< Default window style
|
||||||
|
} sfWindowStyle;
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Construct a new window
|
||||||
|
///
|
||||||
|
/// This function creates the window with the size and pixel
|
||||||
|
/// depth defined in \a mode. An optional style can be passed to
|
||||||
|
/// customize the look and behaviour of the window (borders,
|
||||||
|
/// title bar, resizable, closable, ...). If \a style contains
|
||||||
|
/// sfFullscreen, then \a mode must be a valid video mode.
|
||||||
|
///
|
||||||
|
/// \param mode Video mode to use (defines the width, height and depth of the rendering area of the windowBase)
|
||||||
|
/// \param title Title of the window
|
||||||
|
/// \param style Window style
|
||||||
|
///
|
||||||
|
/// \return A new sfWindow object
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfWindowBase* sfWindowBase_create(sfVideoMode mode, const char* title, sfUint32 style);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Construct a new window (with a UTF-32 title)
|
||||||
|
///
|
||||||
|
/// This function creates the window with the size and pixel
|
||||||
|
/// depth defined in \a mode. An optional style can be passed to
|
||||||
|
/// customize the look and behaviour of the window (borders,
|
||||||
|
/// title bar, resizable, closable, ...). If \a style contains
|
||||||
|
/// sfFullscreen, then \a mode must be a valid video mode.
|
||||||
|
///
|
||||||
|
/// \param mode Video mode to use (defines the width, height and depth of the rendering area of the windowBase)
|
||||||
|
/// \param title Title of the window (UTF-32)
|
||||||
|
/// \param style Window style
|
||||||
|
///
|
||||||
|
/// \return A new sfWindow object
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfWindowBase* sfWindowBase_createUnicode(sfVideoMode mode, const sfUint32* title, sfUint32 style);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Construct a window from an existing control
|
||||||
|
///
|
||||||
|
/// \param handle Platform-specific handle of the control
|
||||||
|
///
|
||||||
|
/// \return A new sfWindow object
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfWindowBase* sfWindowBase_createFromHandle(sfWindowHandle handle);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Destroy a window
|
||||||
|
///
|
||||||
|
/// \param windowBase Window to destroy
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_destroy(sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Close a window and destroy all the attached resources
|
||||||
|
///
|
||||||
|
/// After calling this function, the sfWindow object remains
|
||||||
|
/// valid, you must call sfWindowBase_destroy to actually delete it.
|
||||||
|
/// All other functions such as sfWindowBase_pollEvent or sfWindowBase_display
|
||||||
|
/// will still work (i.e. you don't have to test sfWindowBase_isOpen
|
||||||
|
/// every time), and will have no effect on closed windows.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_close(sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell whether or not a window is opened
|
||||||
|
///
|
||||||
|
/// This function returns whether or not the window exists.
|
||||||
|
/// Note that a hidden window (sfWindowBase_setVisible(sfFalse)) will return
|
||||||
|
/// sfTrue.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
///
|
||||||
|
/// \return sfTrue if the window is opened, sfFalse if it has been closed
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfWindowBase_isOpen(const sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Pop the event on top of event queue, if any, and return it
|
||||||
|
///
|
||||||
|
/// This function is not blocking: if there's no pending event then
|
||||||
|
/// it will return false and leave \a event unmodified.
|
||||||
|
/// Note that more than one event may be present in the event queue,
|
||||||
|
/// thus you should always call this function in a loop
|
||||||
|
/// to make sure that you process every pending event.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param event Event to be returned
|
||||||
|
///
|
||||||
|
/// \return sfTrue if an event was returned, or sfFalse if the event queue was empty
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfWindowBase_pollEvent(sfWindowBase* windowBase, sfEvent* event);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Wait for an event and return it
|
||||||
|
///
|
||||||
|
/// This function is blocking: if there's no pending event then
|
||||||
|
/// it will wait until an event is received.
|
||||||
|
/// After this function returns (and no error occured),
|
||||||
|
/// the \a event object is always valid and filled properly.
|
||||||
|
/// This function is typically used when you have a thread that
|
||||||
|
/// is dedicated to events handling: you want to make this thread
|
||||||
|
/// sleep as long as no new event is received.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param event Event to be returned
|
||||||
|
///
|
||||||
|
/// \return sfFalse if any error occured
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfWindowBase_waitEvent(sfWindowBase* windowBase, sfEvent* event);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the position of a window
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
///
|
||||||
|
/// \return Position in pixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfVector2i sfWindowBase_getPosition(const sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change the position of a window on screen
|
||||||
|
///
|
||||||
|
/// This function only works for top-level windows
|
||||||
|
/// (i.e. it will be ignored for windows created from
|
||||||
|
/// the handle of a child window/control).
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param position New position of the windowBase, in pixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setPosition(sfWindowBase* windowBase, sfVector2i position);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the size of the rendering region of a window
|
||||||
|
///
|
||||||
|
/// The size doesn't include the titlebar and borders
|
||||||
|
/// of the window.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
///
|
||||||
|
/// \return Size in pixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfVector2u sfWindowBase_getSize(const sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change the size of the rendering region of a window
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param size New size, in pixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setSize(sfWindowBase* windowBase, sfVector2u size);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change the title of a window
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param title New title
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setTitle(sfWindowBase* windowBase, const char* title);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change the title of a window (with a UTF-32 string)
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param title New title
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setUnicodeTitle(sfWindowBase* windowBase, const sfUint32* title);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change a window's icon
|
||||||
|
///
|
||||||
|
/// \a pixels must be an array of \a width x \a height pixels
|
||||||
|
/// in 32-bits RGBA format.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param width Icon's width, in pixels
|
||||||
|
/// \param height Icon's height, in pixels
|
||||||
|
/// \param pixels Pointer to the array of pixels in memory
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setIcon(sfWindowBase* windowBase, unsigned int width, unsigned int height, const sfUint8* pixels);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Show or hide a window
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param visible sfTrue to show the windowBase, sfFalse to hide it
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setVisible(sfWindowBase* windowBase, sfBool visible);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Show or hide the mouse cursor
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param visible sfTrue to show, sfFalse to hide
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setMouseCursorVisible(sfWindowBase* windowBase, sfBool visible);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Grab or release the mouse cursor
|
||||||
|
///
|
||||||
|
/// If set, grabs the mouse cursor inside this window's client
|
||||||
|
/// area so it may no longer be moved outside its bounds.
|
||||||
|
/// Note that grabbing is only active while the window has
|
||||||
|
/// focus and calling this function for fullscreen windows
|
||||||
|
/// won't have any effect (fullscreen windows always grab the
|
||||||
|
/// cursor).
|
||||||
|
///
|
||||||
|
/// \param grabbed sfTrue to enable, sfFalse to disable
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setMouseCursorGrabbed(sfWindowBase* windowBase, sfBool grabbed);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Set the displayed cursor to a native system cursor
|
||||||
|
///
|
||||||
|
/// Upon window creation, the arrow cursor is used by default.
|
||||||
|
///
|
||||||
|
/// \warning The cursor must not be destroyed while in use by
|
||||||
|
/// the window.
|
||||||
|
///
|
||||||
|
/// \warning Features related to Cursor are not supported on
|
||||||
|
/// iOS and Android.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param cursor Native system cursor type to display
|
||||||
|
///
|
||||||
|
/// \see sfCursor_createFromSystem
|
||||||
|
/// \see sfCursor_createFromPixels
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setMouseCursor(sfWindowBase* windowBase, const sfCursor* cursor);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Enable or disable automatic key-repeat
|
||||||
|
///
|
||||||
|
/// If key repeat is enabled, you will receive repeated
|
||||||
|
/// KeyPress events while keeping a key pressed. If it is disabled,
|
||||||
|
/// you will only get a single event when the key is pressed.
|
||||||
|
///
|
||||||
|
/// Key repeat is enabled by default.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param enabled sfTrue to enable, sfFalse to disable
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setKeyRepeatEnabled(sfWindowBase* windowBase, sfBool enabled);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Change the joystick threshold
|
||||||
|
///
|
||||||
|
/// The joystick threshold is the value below which
|
||||||
|
/// no JoystickMoved event will be generated.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param threshold New threshold, in the range [0, 100]
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_setJoystickThreshold(sfWindowBase* windowBase, float threshold);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Request the current window to be made the active
|
||||||
|
/// foreground window
|
||||||
|
///
|
||||||
|
/// At any given time, only one window may have the input focus
|
||||||
|
/// to receive input events such as keystrokes or mouse events.
|
||||||
|
/// If a window requests focus, it only hints to the operating
|
||||||
|
/// system, that it would like to be focused. The operating system
|
||||||
|
/// is free to deny the request.
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API void sfWindowBase_requestFocus(sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Check whether the window has the input focus
|
||||||
|
///
|
||||||
|
/// At any given time, only one window may have the input focus
|
||||||
|
/// to receive input events such as keystrokes or most mouse
|
||||||
|
/// events.
|
||||||
|
///
|
||||||
|
/// \return True if window has focus, false otherwise
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfWindowBase_hasFocus(const sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the OS-specific handle of the window
|
||||||
|
///
|
||||||
|
/// The type of the returned handle is sfWindowHandle,
|
||||||
|
/// which is a typedef to the handle type defined by the OS.
|
||||||
|
/// You shouldn't need to use this function, unless you have
|
||||||
|
/// very specific stuff to implement that SFML doesn't support,
|
||||||
|
/// or implement a temporary workaround until a bug is fixed.
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
///
|
||||||
|
/// \return System handle of the window
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfWindowHandle sfWindowBase_getSystemHandle(const sfWindowBase* windowBase);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Create a Vulkan rendering surface
|
||||||
|
///
|
||||||
|
/// \param windowBase Window object
|
||||||
|
/// \param instance Vulkan instance
|
||||||
|
/// \param surface Created surface
|
||||||
|
/// \param allocator Allocator to use
|
||||||
|
///
|
||||||
|
/// \return True if surface creation was successful, false otherwise
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfBool sfWindowBase_createVulkanSurface(sfWindowBase* windowBase, const VkInstance* instance, VkSurfaceKHR* surface, const VkAllocationCallbacks* allocator);
|
||||||
|
|
||||||
|
#endif // SFML_WINDOWBASE_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// SFML - Simple and Fast Multimedia Library
|
// SFML - Simple and Fast Multimedia Library
|
||||||
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
||||||
//
|
//
|
||||||
// This software is provided 'as-is', without any express or implied warranty.
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
#elif defined(CSFML_SYSTEM_MACOS)
|
#elif defined(CSFML_SYSTEM_MACOS)
|
||||||
|
|
||||||
// Window handle is NSWindow (void*) on Mac OS X - Cocoa
|
// Window handle is NSWindow (void*) on Mac OS X - Cocoa
|
||||||
typedef void* sfWindowHandle;
|
typedef void* sfWindowHandle;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
# CSFML
|
||||||
|
|
||||||
|
CSFML - Copyright (C) 2007-2023 Laurent Gomila - laurent@sfml-dev.org
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|
||||||
|
## External libraries used by CSFML
|
||||||
|
|
||||||
|
* _SFML_ is under the zlib/png license
|
||||||
-31
@@ -1,31 +0,0 @@
|
|||||||
CSFML
|
|
||||||
-----
|
|
||||||
|
|
||||||
CSFML - Copyright (C) 2007-2018 Laurent Gomila - laurent@sfml-dev.org
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or
|
|
||||||
implied warranty. In no event will the authors be held
|
|
||||||
liable for any damages arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute
|
|
||||||
it freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented;
|
|
||||||
you must not claim that you wrote the original software.
|
|
||||||
If you use this software in a product, an acknowledgment
|
|
||||||
in the product documentation would be appreciated but
|
|
||||||
is not required.
|
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such,
|
|
||||||
and must not be misrepresented as being the original software.
|
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any
|
|
||||||
source distribution.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
External libraries used by CSFML
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
* SFML is under the zlib/png license
|
|
||||||
Loaded 100 of 238 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user