[cl-gd-devel] :do-not-draw of draw-freetype-string

Jong-won Choi jc at itsec.co.kr
Thu Mar 29 22:15:09 UTC 2007


When draw-freetype-string is called with ':do-not-draw t', I get:

----------------<START>---------------------
 Condition: 0.05521739130434778 cannot be converted to foreign type 
(:SIGNED-INTEGER-TYPE 32).

 Call to CL-GD::GD-IMAGE-STRING-FT (offset 521)
  CL-GD::IM       : #<Pointer to type (:STRUCT CL-GD::GD-IMAGE) = 
#x00000000>
  CL-GD::BRECT    : #<Pointer to type :INT = #x081E2778>
  CL-GD::FG       : 0
  CL-GD::FONTNAME : "/opt/Korean/fonts/UnBatangBold.ttf"
  CL-GD::PTSIZE   : 10.0
  CL-GD::ANGLE    : 1.5707963267948966
  CL-GD::X        : 0.05521739130434778
  CL-GD::Y        : 0.058695652173913
  STRING          : "Number of Outcome"
----------------<END>---------------------

I think there was no transformer for x and y coordinates, and finally 
gd-image-string-ft was called with the exactly same x and y arguments of 
draw-freetype-string.

I do not have this problem with old cl-gd (0.4.8).
Here is a diff output between 0.4.8 and 0.5.3(draw-freetype-string only):

----------------<START>---------------------
***************
*** 132,139 ****
  rendering during bounding rectangle calculation."
    (check-type string string)
    (check-type font-name (or pathname string))
!   (check-type color integer)
!   (check-type image image)
    (with-transformed-alternative
        ((x x-transformer)
         (y y-transformer)
--- 133,144 ----
  rendering during bounding rectangle calculation."
    (check-type string string)
    (check-type font-name (or pathname string))
!   (cond (do-not-draw
!          (setq color 0
!                image *null-image*))
!         (t
!          (check-type color integer)
!          (check-type image image)))
    (with-transformed-alternative
        ((x x-transformer)
         (y y-transformer)
***************
*** 159,167 ****
                                                       'gd-ft-string-extra
                                                       'line-spacing)
                                           (coerce line-spacing 
'double-float))
!                                (gd-image-string-ft-ex (if do-not-draw
!                                                           *null-image*
!                                                           (img image))
                                                        c-bounding-rectangle
                                                            (if 
anti-aliased color (- color))
                                                            c-font-name
--- 164,170 ----
                                                       'gd-ft-string-extra
                                                       'line-spacing)
                                           (coerce line-spacing 
'double-float))
!                                (gd-image-string-ft-ex (img image)
                                                        c-bounding-rectangle
                                                            (if 
anti-aliased color (- color))
                                                            c-font-name
***************
*** 171,179 ****
                                                            c-string
                                                            strex)))
                              (t
!                              (gd-image-string-ft (img (if do-not-draw
!                                                           *null-image*
!                                                           image))
                                                   c-bounding-rectangle
                                                   (if anti-aliased 
color (- color))
                                                   c-font-name
--- 174,180 ----
                                                            c-string
                                                            strex)))
                              (t
!                              (gd-image-string-ft (img image)
                                                   c-bounding-rectangle
                                                   (if anti-aliased 
color (- color))
                                                   c-font-name



More information about the Cl-gd-devel mailing list