Fix Pango and ui.event-loop for Windows
parent
a7df2ffafc
commit
95de45725e
|
@ -7,13 +7,13 @@ IN: glib
|
||||||
<<
|
<<
|
||||||
|
|
||||||
"glib" {
|
"glib" {
|
||||||
{ [ os winnt? ] [ "glib2.dll" ] }
|
{ [ os winnt? ] [ "libglib-2.0-0.dll" ] }
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" ] }
|
{ [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" ] }
|
||||||
{ [ os unix? ] [ "libglib-2.0.0.so" ] }
|
{ [ os unix? ] [ "libglib-2.0.0.so" ] }
|
||||||
} cond "cdecl" add-library
|
} cond "cdecl" add-library
|
||||||
|
|
||||||
"gobject" {
|
"gobject" {
|
||||||
{ [ os winnt? ] [ "gobject2.dll" ] }
|
{ [ os winnt? ] [ "libgobject-2.0-0.dll" ] }
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libgobject-2.0.0.dylib" ] }
|
{ [ os macosx? ] [ "/opt/local/lib/libgobject-2.0.0.dylib" ] }
|
||||||
{ [ os unix? ] [ "libgobject-2.0.0.so" ] }
|
{ [ os unix? ] [ "libgobject-2.0.0.so" ] }
|
||||||
} cond "cdecl" add-library
|
} cond "cdecl" add-library
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
! Portions copyright (C) 2007, 2009 Slava Pestov.
|
! Portions copyright (C) 2007, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: alien alien.c-types alien.strings arrays assocs ui
|
USING: alien alien.c-types alien.strings arrays assocs ui
|
||||||
ui.gadgets ui.backend ui.clipboards ui.gadgets.worlds
|
ui.private ui.gadgets ui.gadgets.private ui.backend
|
||||||
ui.gestures ui.event-loop io kernel math
|
ui.clipboards ui.gadgets.worlds ui.gestures ui.event-loop io
|
||||||
math.vectors namespaces make sequences strings vectors words
|
kernel math math.vectors namespaces make sequences strings
|
||||||
windows.kernel32 windows.gdi32 windows.user32 windows.opengl32
|
vectors words windows.kernel32 windows.gdi32 windows.user32
|
||||||
windows.messages windows.types windows.nt windows threads libc
|
windows.opengl32 windows.messages windows.types windows.nt
|
||||||
combinators fry combinators.short-circuit continuations
|
windows threads libc combinators fry combinators.short-circuit
|
||||||
command-line shuffle opengl ui.render ascii math.bitwise locals
|
continuations command-line shuffle opengl ui.render ascii
|
||||||
accessors math.rectangles math.order ascii calendar
|
math.bitwise locals accessors math.rectangles math.order ascii
|
||||||
io.encodings.utf16n ;
|
calendar io.encodings.utf16n ;
|
||||||
IN: ui.backend.windows
|
IN: ui.backend.windows
|
||||||
|
|
||||||
SINGLETON: windows-ui-backend
|
SINGLETON: windows-ui-backend
|
||||||
|
@ -25,8 +25,7 @@ SINGLETON: windows-ui-backend
|
||||||
0
|
0
|
||||||
[ EnumClipboardFormats win32-error dup dup 0 > ]
|
[ EnumClipboardFormats win32-error dup dup 0 > ]
|
||||||
[ ]
|
[ ]
|
||||||
[ drop ]
|
produce 2nip ;
|
||||||
produce nip ;
|
|
||||||
|
|
||||||
: with-clipboard ( quot -- )
|
: with-clipboard ( quot -- )
|
||||||
f OpenClipboard win32-error=0/f
|
f OpenClipboard win32-error=0/f
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2008 Slava Pestov.
|
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: calendar combinators deques kernel namespaces sequences
|
USING: calendar combinators deques kernel namespaces sequences
|
||||||
threads ui ui.backend ui.gadgets ;
|
threads ui ui.private ui.backend ui.gadgets ui.gadgets.private ;
|
||||||
IN: ui.event-loop
|
IN: ui.event-loop
|
||||||
|
|
||||||
: event-loop? ( -- ? )
|
: event-loop? ( -- ? )
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors alien.c-types assocs cache kernel math math.vectors
|
USING: accessors alien.c-types assocs cache kernel math math.vectors
|
||||||
namespaces opengl.textures pango.cairo pango.layouts ui.gadgets.worlds
|
namespaces opengl.textures pango.cairo pango.layouts ui.gadgets.worlds
|
||||||
ui.text ui.text.private pango ;
|
ui.text ui.text.private pango sequences ;
|
||||||
IN: ui.text.pango
|
IN: ui.text.pango
|
||||||
|
|
||||||
SINGLETON: pango-renderer
|
SINGLETON: pango-renderer
|
||||||
|
@ -10,7 +10,9 @@ SINGLETON: pango-renderer
|
||||||
M: pango-renderer init-text-rendering
|
M: pango-renderer init-text-rendering
|
||||||
<cache-assoc> >>text-handle drop ;
|
<cache-assoc> >>text-handle drop ;
|
||||||
|
|
||||||
M: pango-renderer string-dim cached-layout logical-rect>> dim>> ;
|
M: pango-renderer string-dim
|
||||||
|
[ " " string-dim { 0 1 } v* ]
|
||||||
|
[ cached-layout logical-rect>> dim>> [ >integer ] map ] if-empty ;
|
||||||
|
|
||||||
M: pango-renderer finish-text-rendering
|
M: pango-renderer finish-text-rendering
|
||||||
text-handle>> purge-cache
|
text-handle>> purge-cache
|
||||||
|
@ -31,9 +33,11 @@ M: pango-renderer offset>x ( n font string -- x )
|
||||||
cached-line swap line-offset>x ;
|
cached-line swap line-offset>x ;
|
||||||
|
|
||||||
M: pango-renderer font-metrics ( font -- metrics )
|
M: pango-renderer font-metrics ( font -- metrics )
|
||||||
"" cached-layout metrics>> clone f >>width ;
|
" " cached-layout metrics>> clone f >>width ;
|
||||||
|
|
||||||
M: pango-renderer line-metrics ( font string -- metrics )
|
M: pango-renderer line-metrics ( font string -- metrics )
|
||||||
cached-layout metrics>> ;
|
[ " " line-metrics clone 0 >>width ]
|
||||||
|
[ cached-layout metrics>> ]
|
||||||
|
if-empty ;
|
||||||
|
|
||||||
pango-renderer font-renderer set-global
|
pango-renderer font-renderer set-global
|
Loading…
Reference in New Issue