Chris Thrasher
0066e8f352
Add tests for sfVideoMode
2024-12-22 17:37:54 -06:00
Chris Thrasher
ab1a1a2299
Add tests for sfCoordinateType
2024-12-22 17:28:57 -06:00
Chris Thrasher
bb8a261bb8
Add tests for sfColor
2024-12-22 17:28:57 -06:00
Chris Thrasher
b3e6e23ffd
Add tests for sfBlendMode
2024-12-22 17:28:57 -06:00
Chris Thrasher
e46663cf38
Add tests for sfRect
2024-12-22 17:28:57 -06:00
Chris Thrasher
e7a41e864f
Add tests for Audio module
2024-12-22 17:05:49 -06:00
Chris Thrasher
ae540e2396
Fix README typo
2024-12-22 14:58:58 -06:00
Chris Thrasher
14e06ccea4
Centrally define SFML version
2024-12-21 20:38:26 -06:00
Chris Thrasher
a185b440ef
Use SFML 3.0.0 tag
2024-12-21 19:08:15 -06:00
Chris Thrasher
14378de263
Upgrade to clang-format-17
2024-11-01 15:03:09 -06:00
Chris Thrasher
d1708cbd65
Remove unused headers
2024-10-06 23:20:54 +02:00
Chris Thrasher
a14d4322ac
Remove references to sf:: types in public documentation
2024-10-06 23:20:19 +02:00
Chris Thrasher
5385f329c6
Clean up IpAddress implementation
2024-10-06 14:22:41 -06:00
Chris Thrasher
6ce8f95553
Remove unnecessary static_casts
2024-09-28 21:20:14 -06:00
Chris Thrasher
b8860362a3
Remove reference to C++ standard library
2024-09-27 14:19:37 -06:00
Chris Thrasher
37e78942ed
Use functions from the C++ standard library
2024-09-27 14:19:37 -06:00
Chris Thrasher
c74378bade
Update enumerations to match SFML 3
2024-09-27 13:24:31 -06:00
Chris Thrasher
fef1e09542
Prefix library options with CSFML_
2024-09-24 15:08:30 -06:00
Chris Thrasher
1b082ac255
Simplify shader creation functions
2024-09-24 15:08:17 -06:00
Chris Thrasher
7b583b1aac
Use inheritance to remove This data member
...
It's reasonable to say that, for example, sfImage _is_ an sf::Image.
This "is-a" relationship is what inheritance does a very good job
modeling. By using inheritance to implement CSFML types in terms of
their SFML counterpart, we get code that is simpler and easier to
read. We also avoid some of the extra "dancing" required to construct
a CSFML type from an SFML type. This improves the encapsulation of
our CSFML implementation.
2024-09-24 11:05:19 -06:00
Chris Thrasher
4ef89bb387
Implement new sf::Clock functions
2024-09-20 17:08:32 -05:00
Chris Thrasher
fbe6e6193f
Implement getGeometricCenter
2024-09-20 16:29:34 -05:00
Chris Thrasher
77b3035308
Manually inline sfShapeImpl
2024-09-20 15:55:10 -05:00
Chris Thrasher
17f7982215
Remove unnecessary constructors
2024-09-18 11:59:18 -04:00
Chris Thrasher
5b910f8761
Remove all delete calls outside of _destroy functions
2024-09-18 11:30:12 -04:00
Chris Thrasher
3826091357
Assert against arguments which would invoke UB
2024-09-17 18:34:06 -04:00
Chris Thrasher
d26c691458
Assert string arguments are not null
...
For these functions, providing a null pointer argument would result
in invoking undefined behavior.
2024-09-16 21:52:54 -04:00
Chris Thrasher
21d4571d5b
Assert that filepath strings are not null
2024-09-16 13:39:12 -04:00
Chris Thrasher
9765e30e2f
Assert that shader uniform names are not null
2024-09-12 17:17:31 -06:00
Chris Thrasher
2638160548
Use standard CMake variables for Doxygen paths
2024-09-12 12:35:12 -06:00
Chris Thrasher
b229329d31
Simplify how Doxygen CMake variables are set
2024-09-12 12:35:12 -06:00
Chris Thrasher
7182877105
Improve phrasing in docs
2024-09-12 12:35:12 -06:00
Chris Thrasher
360268ea39
Improve const correctness
2024-09-12 10:08:46 -06:00
Chris Thrasher
7f5807a6b5
Fix Doxygen warnings
2024-09-11 22:19:10 -06:00
Chris Thrasher
63beea6043
Add Doxygen CI job
2024-09-11 21:54:22 -06:00
Chris Thrasher
290e43ff66
Match return types with underlying SFML interface
2024-09-11 17:19:31 -06:00
Chris Thrasher
8cf074444f
Stop using deprecated DOXYGEN_EXECUTABLE variable
...
This was deprecated in CMake 3.9.
See https://cmake.org/cmake/help/v3.22/module/FindDoxygen.html#variable:DOXYGEN_EXECUTABLE
2024-09-11 17:06:44 -06:00
Chris Thrasher
a430c713e3
Remove redundant definition
...
This is already inherited as a usage requirement when linking to
SFML's CMake targets.
2024-09-11 16:17:14 -06:00
Chris Thrasher
574c6afe05
Use ON and OFF for CMake booleans
2024-09-11 14:36:23 -06:00
Chris Thrasher
53bd3517db
Update to new anti-aliasing naming
2024-09-09 23:42:05 -06:00
Chris Thrasher
b05b1f1997
Add tests for sfContextAttribute
2024-09-08 12:08:43 -06:00
Chris Thrasher
8cc7537899
Add missing window state parameters
2024-09-08 10:45:11 -06:00
Chris Thrasher
d971aada83
Add more tests for the Window module
2024-09-08 09:56:31 -06:00
Chris Thrasher
02d6d4937a
Use modern CMake property to handle static runtime linking with MSVC
...
See https://github.com/SFML/SFML/pull/1834
2024-09-08 08:49:13 -06:00
Chris Thrasher
b662349832
Enforce variable and parameter casing style
2024-09-07 21:26:36 -06:00
Chris Thrasher
055e69520f
Support building CSFML as static libraries
...
Some languages can make use of C foreign function interfaces
compiled as static libraries so it's a good idea for CSFML to
support this use case.
2024-09-07 15:17:05 -06:00
Chris Thrasher
e963079712
Remove unnecessary .gitignore entries
2024-09-07 09:45:13 -06:00
Chris Thrasher
5d158dbed6
Revert "Remove unnecessary extern from C function declarations"
...
This reverts commit dfaebc6b88 .
2024-09-05 15:03:56 -06:00
Chris Thrasher
e336d9fb77
Add missing sf prefix
...
This function pointer is within the `sf::` namespace of SFML so it
ought to have an `sf` prefix in CSFML.
2024-09-05 14:21:42 -06:00
Chris Thrasher
2d88625f4e
Update copyright year
2024-09-05 14:06:13 -06:00
Chris Thrasher
34f95771d8
Move copyToChar32 to the one file where it's used
2024-09-05 13:41:26 -06:00
Chris Thrasher
d50ff75b44
Use project-local CMake variables
2024-09-05 13:13:48 -06:00
Chris Thrasher
87289d57ea
Use parentheses for constructor calls
2024-09-05 12:47:44 -06:00
Chris Thrasher
b5e3cb6122
Clarify instructions for building CSFML
2024-09-04 16:17:56 -06:00
Chris Thrasher
53c364deec
Copy SFML DLLs alongside test executables
2024-09-03 18:09:35 -06:00
Chris Thrasher
431c9641ea
Add myself to authors list
2024-09-03 16:58:18 -06:00
Chris Thrasher
a9108a2e77
Document the current state of development
2024-09-03 16:44:32 -06:00
Chris Thrasher
1a95bf0807
Use more [[nodiscard]]
2024-09-03 14:45:19 -06:00
Chris Thrasher
4d23a89918
Add clang-tidy cppcoreguidelines-* checks
2024-09-03 12:15:01 -06:00
Chris Thrasher
cc1b6f0c45
Ensure CMake options include CSFML_ prefix
2024-09-03 10:44:50 -06:00
Chris Thrasher
34febc214f
Add missing sfSoundBufferRecorder functions inherited from sf::SoundRecorder
2024-09-03 09:38:22 -06:00
Chris Thrasher
725b00e6ae
Simplify FTP types
2024-09-02 21:18:31 -06:00
Chris Thrasher
6035a5fa5a
Use SFML_ROOT to find SFML installation
...
This is line with modern CMake convention where -D<PackageName>_ROOT
is used to locate a given package's installation.
https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html#variable:%3CPackageName%3E_ROOT
2024-09-02 21:03:54 -06:00
Chris Thrasher
f9e67732e2
Put common configuration settings in a CMakePresets file
2024-09-02 20:48:16 -06:00
Chris Thrasher
9750455b76
Remove leading newlines
2024-09-02 20:47:35 -06:00
Chris Thrasher
479554024d
Add tests for sfHttp
2024-09-02 20:04:06 -06:00
Chris Thrasher
b5dc20260c
Add tests for sfFtp
2024-09-02 20:04:06 -06:00
Chris Thrasher
10aaee1290
Add tests for sfSocketStatus
2024-09-02 20:04:06 -06:00
Chris Thrasher
84978f8acc
Add tests for sfIpAddress
2024-09-02 20:04:06 -06:00
Chris Thrasher
497b261acd
Add clang-tidy modernize- checks
2024-09-02 20:02:29 -06:00
Chris Thrasher
afc07ec565
Simplify event conversion
2024-09-02 15:39:15 -06:00
Chris Thrasher
3c0931b744
Build with newer macOS image
2024-09-02 14:54:22 -06:00
Chris Thrasher
fde5bd02d7
Fix typo in documentation
2024-09-02 11:53:58 -06:00
Chris Thrasher
00f78c1964
Use assert to protect against dereferencing null pointers
2024-09-02 11:49:10 -06:00
Chris Thrasher
6e654c8193
Fix documentation bug
2024-09-01 13:59:37 -06:00
Chris Thrasher
dfaebc6b88
Remove unnecessary extern from C function declarations
2024-09-01 13:52:28 -06:00
Chris Thrasher
b3a0ed815b
Clean up implementation of sf<T>Rect_intersects
2024-09-01 12:56:29 -06:00
Chris Thrasher
54d28325b9
Run clang-format
2024-09-01 11:32:18 -06:00
Chris Thrasher
42aec92642
Add format target for running clang-format
2024-09-01 11:32:18 -06:00
Chris Thrasher
86d52f4712
Use vectors for pairs of scalar parameters
2024-08-31 12:03:21 -06:00
Chris Thrasher
10685c7d0d
Stop leaving variables unused in release builds
...
In a Release build, macros like `CSFML_CHECK_RETURN` expand into
nothing more than a cast-to-void which is meant to silence compiler
warnings about unused variables.
By declaring a temporary inside the macro argument, we ensure that
debug builds behave the same as always but Release builds expand
these macros into truly no code thus ensuring these temporary
variables are never created in the first place so there is now
nothing that we have to cast to void.
2024-08-27 10:21:46 -06:00
Chris Thrasher
513a6c2fda
Add missing apt package dependency
2024-08-27 07:00:13 +01:00
Chris Thrasher
caabd98100
Add convenience functions for converting between SFML and CSFML types
2024-08-26 16:04:44 -06:00
Chris Thrasher
3316223629
Add tidy target for running clang-tidy
2024-08-25 14:18:36 -06:00
Chris Thrasher
fe8d8a972c
Fix typos in public documentation
...
Typos found with codespell tool
2024-08-25 12:09:04 -06:00
Chris Thrasher
55fe064af4
Remove unnecessary (void) parameters from C++ implementations
2024-08-25 12:07:01 -06:00
Chris Thrasher
e2e5ef1d31
Use .hpp as file extension for C++ headers
2024-08-25 10:11:32 -06:00
Chris Thrasher
c5158c77b4
Move CSFML source files to CSFML/ directory
...
This helps make it easier to distinguish SFML files from CSFML files.
This is especially important for CSFML private headers which are
often C++ code with .hpp file extensions. This change means SFML and
CSFML can use headers with the same name without conflict.
2024-08-24 14:05:06 -06:00
Chris Thrasher
458da959f5
Remove deprecated interfaces
2024-08-24 11:32:56 -06:00
Chris Thrasher
620fdbc530
Remove references to removed types
2024-08-24 08:28:50 -06:00
Chris Thrasher
3536aeafd6
Switch to #pragma once
2024-08-24 07:40:26 -06:00
Chris Thrasher
db4d5e4815
Reenable some MSVC warnings
2024-08-23 14:29:06 -06:00
Chris Thrasher
41a269faa9
Update Catch2
2024-08-23 14:14:25 -06:00
Chris Thrasher
379e26ac99
Delay test discovery to ensure all DLLs get copied first
2024-08-23 12:48:47 -06:00
Chris Thrasher
82ac0503b5
Revert "Temporarily lock SFML revision used in CI"
...
This reverts commit 36a6e7c5a6 .
2024-08-23 12:48:47 -06:00
Chris Thrasher
b778f44681
Update to latest SFML 3 API
2024-08-09 13:22:43 -06:00
Chris Thrasher
a9c35c8e85
Remove references to OpenAL
2024-06-27 19:35:10 +02:00
Chris Thrasher
9b96c2a797
Add sfJoystick tests
...
These are just copied from the SFML sf::Joystick tests with minor
changes to adhere to the CSFML API.
2024-06-24 20:50:07 -06:00
Chris Thrasher
ed8babaf41
Update Catch2
2024-06-24 20:50:07 -06:00
Chris Thrasher
44380e7507
Fix API changes in SFML 3
2024-05-31 16:36:13 -06:00