new structs in font rendering
parent
56be96429a
commit
6aeb3614ff
|
@ -31,7 +31,7 @@ MEMO:: (cache-font) ( font -- HFONT )
|
||||||
|
|
||||||
: TEXTMETRIC>metrics ( TEXTMETRIC -- metrics )
|
: TEXTMETRIC>metrics ( TEXTMETRIC -- metrics )
|
||||||
[ metrics new 0 >>width ] dip {
|
[ metrics new 0 >>width ] dip {
|
||||||
[ TEXTMETRICW-tmHeight >>height ]
|
[ tmHeight>> >>height ]
|
||||||
[ TEXTMETRICW-tmAscent >>ascent ]
|
[ tmAscent>> >>ascent ]
|
||||||
[ TEXTMETRICW-tmDescent >>descent ]
|
[ tmDescent>> >>descent ]
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
|
@ -380,26 +380,26 @@ TYPEDEF: DWORD* LPCOLORREF
|
||||||
: color>RGB ( color -- COLORREF )
|
: color>RGB ( color -- COLORREF )
|
||||||
>rgba-components drop [ 255 * >integer ] tri@ RGB ;
|
>rgba-components drop [ 255 * >integer ] tri@ RGB ;
|
||||||
|
|
||||||
C-STRUCT: TEXTMETRICW
|
STRUCT: TEXTMETRICW
|
||||||
{ "LONG" "tmHeight" }
|
{ tmHeight LONG }
|
||||||
{ "LONG" "tmAscent" }
|
{ tmAscent LONG }
|
||||||
{ "LONG" "tmDescent" }
|
{ tmDescent LONG }
|
||||||
{ "LONG" "tmInternalLeading" }
|
{ tmInternalLeading LONG }
|
||||||
{ "LONG" "tmExternalLeading" }
|
{ tmExternalLeading LONG }
|
||||||
{ "LONG" "tmAveCharWidth" }
|
{ tmAveCharWidth LONG }
|
||||||
{ "LONG" "tmMaxCharWidth" }
|
{ tmMaxCharWidth LONG }
|
||||||
{ "LONG" "tmWeight" }
|
{ tmWeight LONG }
|
||||||
{ "LONG" "tmOverhang" }
|
{ tmOverhang LONG }
|
||||||
{ "LONG" "tmDigitizedAspectX" }
|
{ tmDigitizedAspectX LONG }
|
||||||
{ "LONG" "tmDigitizedAspectY" }
|
{ tmDigitizedAspectY LONG }
|
||||||
{ "WCHAR" "tmFirstChar" }
|
{ tmFirstChar WCHAR }
|
||||||
{ "WCHAR" "tmLastChar" }
|
{ tmLastChar WCHAR }
|
||||||
{ "WCHAR" "tmDefaultChar" }
|
{ tmDefaultChar WCHAR }
|
||||||
{ "WCHAR" "tmBreakChar" }
|
{ tmBreakChar WCHAR }
|
||||||
{ "BYTE" "tmItalic" }
|
{ tmItalic BYTE }
|
||||||
{ "BYTE" "tmUnderlined" }
|
{ tmUnderlined BYTE }
|
||||||
{ "BYTE" "tmStruckOut" }
|
{ tmStruckOut BYTE }
|
||||||
{ "BYTE" "tmPitchAndFamily" }
|
{ tmPitchAndFamily BYTE }
|
||||||
{ "BYTE" "tmCharSet" } ;
|
{ tmCharSet BYTE } ;
|
||||||
|
|
||||||
TYPEDEF: TEXTMETRICW* LPTEXTMETRIC
|
TYPEDEF: TEXTMETRICW* LPTEXTMETRIC
|
||||||
|
|
|
@ -4,7 +4,8 @@ USING: kernel assocs math sequences fry io.encodings.string
|
||||||
io.encodings.utf16n accessors arrays combinators destructors
|
io.encodings.utf16n accessors arrays combinators destructors
|
||||||
cache namespaces init fonts alien.c-types windows.usp10
|
cache namespaces init fonts alien.c-types windows.usp10
|
||||||
windows.offscreen windows.gdi32 windows.ole32 windows.types
|
windows.offscreen windows.gdi32 windows.ole32 windows.types
|
||||||
windows.fonts opengl.textures locals windows.errors ;
|
windows.fonts opengl.textures locals windows.errors
|
||||||
|
classes.struct ;
|
||||||
IN: windows.uniscribe
|
IN: windows.uniscribe
|
||||||
|
|
||||||
TUPLE: script-string < disposable font string metrics ssa size image ;
|
TUPLE: script-string < disposable font string metrics ssa size image ;
|
||||||
|
@ -84,7 +85,7 @@ TUPLE: script-string < disposable font string metrics ssa size image ;
|
||||||
[ SIZE-cx ] [ SIZE-cy ] bi 2array ;
|
[ SIZE-cx ] [ SIZE-cy ] bi 2array ;
|
||||||
|
|
||||||
: dc-metrics ( dc -- metrics )
|
: dc-metrics ( dc -- metrics )
|
||||||
"TEXTMETRICW" <c-object>
|
TEXTMETRICW <struct>
|
||||||
[ GetTextMetrics drop ] keep
|
[ GetTextMetrics drop ] keep
|
||||||
TEXTMETRIC>metrics ;
|
TEXTMETRIC>metrics ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue