[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