windows.directx.dinput: pre-construct some intermediate structs to slightly improve horrible compilation time on the gigantic macro expansions
parent
515296892b
commit
c167646e3b
|
@ -48,13 +48,15 @@ M: array array-base-type first ;
|
|||
|
||||
: <DIOBJECTDATAFORMAT>-quot ( struct {pguid-var,field,index,dwType-flags,dwFlags} -- quot )
|
||||
{
|
||||
[ first dup word? [ '[ _ get ] ] [ drop [ f ] ] if ]
|
||||
[ drop f ]
|
||||
[ second rot [ (offsetof) ] [ (sizeof) ] 2bi ]
|
||||
[ third * + ]
|
||||
[ fourth (flags) ]
|
||||
[ 4 swap nth (flag) ]
|
||||
[ first dup word? [ '[ _ get ] ] [ drop [ f ] ] if ]
|
||||
} cleave
|
||||
'[ @ _ _ _ DIOBJECTDATAFORMAT <struct-boa> ] ;
|
||||
[ DIOBJECTDATAFORMAT <struct-boa> ] dip
|
||||
'[ _ clone @ >>pguid ] ;
|
||||
|
||||
:: make-DIOBJECTDATAFORMAT-array-quot ( struct array -- quot )
|
||||
array length '[ _ malloc-DIOBJECTDATAFORMAT-array ]
|
||||
|
|
Loading…
Reference in New Issue