Pixels need to be rounded
-
please add pixel rounding to your graphics engine.
-
Actually the graphics rendering is already subpixel, but the position of components has to be an integer value (that is how JUCE works and there is no or little to do about that). Complex components which consist of multiple child components (like the SliderPack or the Sample map) can't be rendered correctly without some workarounds:
1. Render the component slightly bigger (so that no interpixel position is needed) and then reduce the actual size (with some antialiasing resampling algorithm).
2. Restrict the size to avoid inter-pixel positions. For example the SliderPack would be a little smaller than its actual size but with integer slider widths.
I would vote for the second way because the lines of grid style components will be washed out when resized and the rescaling could introduce some bugs (mouse position vs. position in bigger component etc).
Actually the samplemap does already this, but the third zoom level doesn't have the integer position values (I'll look into this). -
more ideas:
3. fill in gaps by rounding pixel position - it would just look cleaner without having to do antialiasing. e.g. for the sliders, you just ensure there is always 1 pixel space between them. or 0 pixel space in the case of the mapper.idea 1 - I agree this is not really needed.