45 lines
1.6 KiB
Scheme
45 lines
1.6 KiB
Scheme
#|
|
|
|
|
Matthew writes about the refreshing problem:
|
|
|
|
Quoting Robert Bruce Findler:
|
|
> It appears that invalidate bitmap cache in a pasteboard invalidates the
|
|
> smallest square of the pasteboard that contains all of the snips, which
|
|
> might not be the entire visible region of the pasteboard. The
|
|
> documentation (and my preferred behavior) would be that it invalidates
|
|
> the entire visible region, not just the region with snips.
|
|
|
|
By default (i.e., unless `set-mininum-{width,height}' is called), the
|
|
size of a pasetboard is the size of the smallest square that contains
|
|
the pasteboard's snips. So both the documentation and implementation
|
|
are correct in this case.
|
|
|
|
A pasteboard may be displayed in a canvas with extra space around the
|
|
pasteboard's area. That area is indeed not invalidated by
|
|
`invalidate-bitmap-cache'. Call `refresh' to foce the updating of a
|
|
canvas.
|
|
|
|
I don't think `invalidate-bitmap-cache' should invalidate any area
|
|
outside the editor's region; I belive the current behavior is the right
|
|
one. I added a note on the difference to the docs.
|
|
|
|
|#
|
|
|
|
|
|
(require-library "errortrace.ss" "errortrace")
|
|
|
|
(require-library "sig.ss" "games" "loa")
|
|
|
|
(invoke-unit/sig
|
|
(compound-unit/sig
|
|
(import (mred : mred^))
|
|
(link
|
|
[core : mzlib:core^ ((require-library "corer.ss"))]
|
|
[utils : loa:utils^ ((require-library "utils.ss" "games" "loa"))]
|
|
[grid : loa:grid^ ((require-library "grid.ss" "games" "loa") (core function) mred utils)]
|
|
[computer : loa:computer-player^ ((require-library "computer.ss" "games" "loa") loa (core function))]
|
|
[loa : loa^ ((require-library "loa.ss" "games" "loa") (core function) mred computer grid)])
|
|
(export))
|
|
mred^)
|
|
|
|
(yield (make-semaphore)) |