fixed incorrect paint offset. moved updateposition code to widget from widget base