]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/ui/text/pango/pango.factor
factor: trim using lists
[factor.git] / basis / ui / text / pango / pango.factor
index 96f716870cd7a528614a7032a8b58e55b643605e..38f285e80df4a091b964c94ee99eee4eead1c48f 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alien.c-types alien.data alien.strings arrays assocs
 cache cairo cairo.ffi classes.struct combinators destructors fonts fry
-gobject.ffi init io.encodings.utf8 kernel locals math math.rectangles
+gobject.ffi init io.encodings.utf8 kernel math math.rectangles
 math.vectors memoize namespaces pango.cairo.ffi pango.ffi sequences
 ui.text ui.text.private ;
 IN: ui.text.pango
@@ -43,8 +43,8 @@ SYMBOL: dpi
     <rect> ;
 
 : layout-extents ( layout -- ink-rect logical-rect )
-    PangoRectangle <struct>
-    PangoRectangle <struct>
+    PangoRectangle new
+    PangoRectangle new
     [ pango_layout_get_extents ] 2keep
     [ PangoRectangle>rect ] bi@ ;
 
@@ -67,13 +67,13 @@ SYMBOL: dpi
     layout>> 0 pango_layout_get_line_readonly ;
 
 : line-offset>x ( layout n -- x )
-    #! n is an index into the UTF8 encoding of the text
+    ! n is an index into the UTF8 encoding of the text
     [ drop first-line ] [ swap string>> >utf8-index ] 2bi
     f { int } [ pango_layout_line_index_to_x ] with-out-parameters
     pango>float ;
 
 : x>line-offset ( layout x -- n )
-    #! n is an index into the UTF8 encoding of the text
+    ! n is an index into the UTF8 encoding of the text
     [
         [ first-line ] dip
         float>pango
@@ -118,8 +118,8 @@ SYMBOL: dpi
     ] make-bitmap-image ;
 
 : escape-nulls ( str -- str' )
-    #! Replace nulls with something else since Pango uses null-terminated
-    #! strings
+    ! Replace nulls with something else since Pango uses null-terminated
+    ! strings
     H{ { 0 CHAR: zero-width-no-break-space } } substitute ;
 
 : unpack-selection ( layout string/selection -- layout )
@@ -140,8 +140,8 @@ SYMBOL: dpi
     swap <PangoLayout> &g_object_unref layout-extents drop dim>> second ;
 
 MEMO: missing-font-metrics ( font -- metrics )
-    #! Pango doesn't provide x-height and cap-height but Core Text does, so we
-    #! simulate them on Pango.
+    ! Pango doesn't provide x-height and cap-height but Core Text does, so we
+    ! simulate them on Pango.
     [
         [ metrics new ] dip
         [ "x" glyph-height >>x-height ]
@@ -187,19 +187,19 @@ M: pango-renderer string-dim
 M: pango-renderer flush-layout-cache
     cached-layouts get-global purge-cache ;
 
-M: pango-renderer string>image ( font string -- image loc )
+M: pango-renderer string>image
     cached-layout [ layout>image ] [ text-position vneg ] bi ;
 
-M: pango-renderer x>offset ( x font string -- n )
+M: pango-renderer x>offset
     cached-layout swap x>line-offset ;
 
-M: pango-renderer offset>x ( n font string -- x )
+M: pango-renderer offset>x
     cached-layout swap line-offset>x ;
 
-M: pango-renderer font-metrics ( font -- metrics )
+M: pango-renderer font-metrics
     " " cached-layout metrics>> clone f >>width ;
 
-M: pango-renderer line-metrics ( font string -- metrics )
+M: pango-renderer line-metrics
     [ " " line-metrics clone 0 >>width ]
     [ cached-layout metrics>> ]
     if-empty ;