Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- mode: perl6; -*-
- use v6;
- use NativeCall;
- sub atexit(&function ()) returns int32 is native {*}
- constant ALLEGRO_VERSION = 5;
- constant ALLEGRO_SUB_VERSION = 2;
- constant ALLEGRO_WIP_VERSION = 3;
- # 1 << 31 は Perl6 では 1 +< 31。
- constant ALLEGRO_UNSTABLE_BIT = 1 +< 31;
- constant ALLEGRO_RELEASE_NUMBER = 1;
- # ALLEGRO_RELEASE_NUMBER || ALLEGRO_UNSTABLE_BIT は Perl6 では ALLEGRO_RELEASE_NUMBER +| ALLEGRO_UNSTABLE_BIT。
- constant ALLEGRO_VERSION_INT = ((ALLEGRO_VERSION +< 24) +|
- (ALLEGRO_SUB_VERSION +< 16) +|
- (ALLEGRO_WIP_VERSION +< 8) +|
- ALLEGRO_RELEASE_NUMBER +|
- ALLEGRO_UNSTABLE_BIT);
- sub al-install-system(int32 $version, &atexit-ptr (Pointer --> int32)) returns bool is symbol('al_install_system') is native('allegro', v5.2.3) {*}
- sub al-init() returns bool {
- al-install-system( ALLEGRO_VERSION_INT, atexit );
- }
- sub al-uninstall-system() is symbol('al_uninstall_system') is native('allegro', v5.2.3) {*}
- # class Display
- sub MAIN() {
- al-install-system( ALLEGRO_VERSION_INT, Nil ) or die 'failed install allegro!';
- al-uninstall-system();
- }
Add Comment
Please, Sign In to add comment