|
Revision 626, 1.1 kB
(checked in by bjourne, 4 years ago)
|
Add simple test program for detecting off by one errors.
|
| Line | |
|---|
| 1 |
''' |
|---|
| 2 |
This program displays a pixbuf with a diagonal pattern. It can be used |
|---|
| 3 |
to detect off by one errors in gtkimageview by scrolling the view. See |
|---|
| 4 |
ticket #31. |
|---|
| 5 |
''' |
|---|
| 6 |
import gtk |
|---|
| 7 |
import gtkimageview |
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
data = ['\x00'] * 3 * 1600 * 1600 |
|---|
| 11 |
for n in range(0, 1600 * 1600, 3): |
|---|
| 12 |
data[n * 3] = '\xff' |
|---|
| 13 |
data[n * 3 + 1] = '\xff' |
|---|
| 14 |
data[n * 3 + 2] = '\xff' |
|---|
| 15 |
for y in range(1600): |
|---|
| 16 |
for x in range(450): |
|---|
| 17 |
line_ofs = y * 1600 * 3 |
|---|
| 18 |
data[line_ofs + x * 3] = '\xff' |
|---|
| 19 |
data[line_ofs + (1599 - x) * 3 + 1] = '\xff' |
|---|
| 20 |
for y in range(450): |
|---|
| 21 |
for x in range(1600): |
|---|
| 22 |
data[y * 1600 * 3 + x * 3 + 2] = '\xff' |
|---|
| 23 |
|
|---|
| 24 |
pixbuf = gtk.gdk.pixbuf_new_from_data(''.join(data), |
|---|
| 25 |
gtk.gdk.COLORSPACE_RGB, False, 8, |
|---|
| 26 |
1600, 1600, |
|---|
| 27 |
1600 * 3) |
|---|
| 28 |
|
|---|
| 29 |
view = gtkimageview.ImageView() |
|---|
| 30 |
view.set_pixbuf(pixbuf) |
|---|
| 31 |
|
|---|
| 32 |
win = gtk.Window(gtk.WINDOW_TOPLEVEL) |
|---|
| 33 |
win.set_default_size(700, 700) |
|---|
| 34 |
win.connect('destroy', gtk.main_quit) |
|---|
| 35 |
win.add(view) |
|---|
| 36 |
win.show_all() |
|---|
| 37 |
gtk.main() |
|---|