(set-fix-rect! rect x y width height)
(recache-rectangle-extent! ink)))))))
+(define (set-rectangle-ink-position! ink x y)
+ (guarantee-fixnum x 'set-rectangle-ink-position!)
+ (guarantee-fixnum y 'set-rectangle-ink-position!)
+ (without-interrupts
+ (lambda ()
+ (let ((rect (rectangle-ink-rect ink)))
+ (if (not (and (fix:= x (fix-rect-x rect))
+ (fix:= y (fix-rect-y rect))))
+ (begin
+ (set-fix-rect-position! rect x y)
+ (recache-rectangle-extent! ink)))))))
+
(define-method fix-ink-move! ((ink <rectangle-ink>) dx dy)
(without-interrupts
(lambda ()
line-ink-dash-color set-line-ink-dash-color!
line-ink-dashes set-line-ink-dashes!
- <rectangle-ink> rectangle-ink? make-rectangle-ink set-rectangle-ink!
+ <rectangle-ink> rectangle-ink? make-rectangle-ink
+ set-rectangle-ink! set-rectangle-ink-position!
rectangle-ink-color set-rectangle-ink-color!
rectangle-ink-width set-rectangle-ink-width!
rectangle-ink-fill-color set-rectangle-ink-fill-color!