-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Martín Dias edited this page Nov 28, 2025
·
18 revisions
Welcome to the PharoSDL3 wiki!
PR/12 serves as a basis for the next time we need to re-generate from scratch the FFI bindings.
Extra scripts post PR/12:
A. Events hierarchy: Add 2 intermediate abstract classes (commit):
superclass :=
(SDL3MappedEvent << #SDL3WindowIDEvent
slots: {};
tag: 'Own';
package: 'SDL3') install.
SDL3MappedEvent subclasses
select: [ :each | each includesSelector: #windowID ]
thenDo: [ :each | each superclass: superclass ].
superclass :=
(SDL3MappedEvent << #SDL3MouseEvent
slots: {};
tag: 'Own';
package: 'SDL3') install.
SDL3MappedEvent allSubclasses
select: [ :each |
(each name includesSubstring: 'Mouse')
and: [ (each includesSelector: #which)
and: [ (each includesSelector: #x) ] ] ]
thenDo: [ :each | each superclass: superclass ]B. Event hierarchy: delete unneeded API (commit)
SDL3MappedEvent allSubclassesDo: [ :each | each removeSelector: #type ].
(SDL3MappedEvent allSubclasses copyWithout: SDL3UserEvent)
do: [ :eachClass |
(eachClass selectorsInProtocol: #'accessing - structure variables')
select: [ :eachSelector | eachSelector last = $: ]
thenDo: [ :eachSelector | eachClass removeSelector: eachSelector ] ].C. Fix argument name from _Bool to bool (commit)
LibSDL3 compile: '_Bool '.
(ReRenameMethodRefactoring new
model: (RBNamespace onEnvironment: LibSDL3 asEnvironment);
renameMethod: #_Bool
in: LibSDL3
to: 'bool'
permutation: #( );
renameChanges) execute.
LibSDL3 removeSelector: #bool