Yep, very blurry, which I was afraid might happen. Since SetPoint does take x, y as arguments, and most of the arguments are optional except for the first, couldn't you so something like:
Lua Code:
-- if you want height/width
myFrame:SetPoint("TOPLEFT", 100, 200)
myFrame:SetHeight(myAddOn:PixelPerfect(150))
myFrame:SetWidth(myAddOn:PixelPerfect(300))
-- might have to also run fonts through PixelPerfect?
Yes, I am testing this myself, but still building the code. To do earlier testing, I wrote a test AddOn that isn't truly useful, other than testing purposes.
Oh, and Nev, it might be nutty of me, but I am okay with generality, seeing how this lib was really for myself back in the day. I brought it out of mothballs, found it wasn't working, got it fixed with pointers and suggestions from these forums, and made it public.
On the other hand, if people want PixelPerfect and VisualData (they go hand in hand) split out, I can certainly do that instead.