Testez votre bibliothèque avec une nouvelle classe de widget et un nouveau gestionnaire de géométrie
Si votre bibliothèque répond bien aux spécifications demandées, elle doit pouvoir gérer une nouvelles classes de widget ou une nouveau gestionnaire de géométrie, tout deux pouvant être créés par le programmeur (c.f. à quoi sert ei_class_register).
Nous vous proposons ici de télécharger une extension "nouvelle classe de widget" et une extension "nouveau gestionnaire de géométrie" pour tester votre bibliothèque.
Attention
Le but de ces extensions est de vous aider à tester la généricité de votre bibliothèque. Mais vous avez peut être fait des choix de conception pour votre bibliothèque qui ne sont pas compatibles avec les extensions proposées ici. Si les programmes ci-dessous ne fonctionnent pas, posez-vous la question: est-ce une erreur ou une incompatibilité de votre bibliothèque ? En cas de doute, discutez-en avec un enseignant.
Nouvelle classe de widget
- Téléchargez les codes sources de l'exemple (
ext_testclass.h
, et test_ext_class.c
) ci-dessous et placez-les dans le répertoire test
.
- Téléchargez l'implémentation de cette nouvelle classe sous forme binaire : choisissez le fichier qui correspond à votre plate-forme. Par example
macos_libextclass64.a
si vous êtes sur MacOS. Placez le binaire dans le répertoire de la plate-forme (_macos
pour MacOS).
- Ajoutez une nouvelle cible
test_ext_class
au fichier CMakeLists.txt
(en adaptant la dernière ligne pour votre plate-forme) :
add_executable(test_ext_class ${TESTS_SRC}/test_ext_class.c)
target_include_directories(test_ext_class PUBLIC ${TESTS_SRC})
target_link_libraries(test_ext_class ei ${PLATFORM_DIR}/macos_libextclass64.a ${PLATFORM_LIB_FLAGS})
Le programme obtenu devrait avoir le comportement illustré dans le clip video "test_class.mp4".
Nouveau gestionnaire de géométrie
- Téléchargez les codes sources de l'exemple (
ext_testgm.h
, et test_ext_gm.c
) ci-dessous et placez-les dans le répertoire test
.
- Téléchargez l'implémentation de cette nouvelle classe sous forme binaire : choisissez le fichier qui correspond à votre plate-forme. Par example
macos_libextgm64.a
si vous êtes sur MacOS. Placez le binaire dans le répertoire de la plate-forme (_macos
pour MacOS).
- Ajoutez une nouvelle cible
test_ext_gm
au fichier CMakeLists.txt
(en adaptant la dernière ligne pour votre plate-forme) :
add_executable(test_ext_gm ${TESTS_SRC}/test_ext_gm.c)
target_include_directories(test_ext_gm PUBLIC ${TESTS_SRC})
target_link_libraries(test_ext_gm ei ${PLATFORM_DIR}/macos_libextgm64.a ${PLATFORM_LIB_FLAGS})
Le programme obtenu devrait avoir le comportement illustré dans le clip video "test_gm.mp4".
Fichiers à télécharger
- ext_testclass.h Δ ... 382 bytes ... March 16, 2022, at 02:47 PM
- ext_testgm.h Δ ... 361 bytes ... March 16, 2022, at 02:47 PM
- macos_libextclass64.a Δ ... 10,904 bytes ... May 02, 2022, at 12:35 PM
- macos_libextgm64.a Δ ... 6,424 bytes ... May 02, 2022, at 12:52 PM
- test_class.mp4 Δ ... 401,587 bytes ... May 15, 2020, at 04:50 AM
- test_ext_class.c Δ ... 4,802 bytes ... March 16, 2022, at 02:47 PM
- test_ext_gm.c Δ ... 3,046 bytes ... March 16, 2022, at 02:47 PM
- test_gm.mp4 Δ ... 1,579,354 bytes ... June 06, 2016, at 04:37 PM
- win_extclass64.lib Δ ... 13,848 bytes ... May 02, 2022, at 01:13 PM
- win_extgm64.lib Δ ... 8,422 bytes ... May 02, 2022, at 01:14 PM
- x11_libextclass64.a Δ ... 7,674 bytes ... May 02, 2022, at 01:19 PM
- x11_libextgm64.a Δ ... 4,904 bytes ... May 02, 2022, at 01:19 PM