#! /usr/bin/python3
# ===================================================================
# test/verify round function
# ===================================================================
doc = '''
if very accurate positioning of the center of a window
is important, the window width and height should be an
odd number number of pixels.
why...
the width and height are the number of pixels in a given
direction and start counting at 1. pixels coordinates start
from 0. With even sided windows (for example 800,400) the
center coordinates have a fractional part (i.e. 399.5,299.5).
the problem is converting window sizes to window coordinates.
for example given a window size of 8 or 9 ...
windows size 8 window size 9
count coord count coord
1 0 1 0
2 1 2 1
3 2 3 2
4 3 4 3
5 4 5 4
6 5 6 5
7 6 7 6
8 7 8 7
9 8
with size 8, the center is beween counts 4 and 5.
with size 9, the center is exactly count 4.
'''
# -------------------------------------------------------------------
#
# -------------------------------------------------------------------
def test_round(winx,winy):
midx = winx/2
midy = winy/2
rmidx = round(midx)
rmidy = round(midy)
print()
print(f'winx = {winx:<6} {type(winx)}')
print(f'winy = {winy:<6} {type(winy)}')
print(f'winx/2 = {midx:<6} {type(midx)}')
print(f'winy/2 = {midy:<6} {type(midy)}')
print(f'round(winx/2) = {rmidx:<7} {type(rmidx)}')
print(f'round(winy/2) = {rmidy:<7} {type(rmidy)}')
# -------------------------------------------------------------------
# ---- main
# -------------------------------------------------------------------
print(doc)
test_round(10,6)
test_round(11,7)
print()
print('------------------------------------------------------')
test_round(800,400)
test_round(801,401)