As you said, using sf::RenderWindow globally isn't a good idea and that's the only way the drawing function will pick it up.
Using sf::RenderWindow globally is not the only way for you to use it in a function. If you think that, then there is something wrong with your function/class design. Try something like...
void DrawSomething(sf::RenderWindow& CurrentWindow)
{
CurrentWindow.Draw(xxx);
};
I don't know much about Uint32 and it looks like that's what is used at declaration. I can change it in a function by typing contextsettings.antialiasingLevel=4, but I can't at declaration.
I think you should pickup some good reading material on C++ and pay close attention to the data types section. All a Uint32 means is that it is an unsigned integer that takes 32 bits of space in memory. The difference between unsigned and signed is that unsigned ints are >= 0 while signed ints can be negative or positive.
So that means if you look at the
documentation you will see
sf::ContextSettings::ContextSettings ( unsigned int depth = 0,
unsigned int stencil = 0,
unsigned int antialiasing = 0,
unsigned int major = 2,
unsigned int minor = 0
)
Those are the default values. So if you want ant aliasing set to 4 you would use if everything else is default settings...
sf::ConextSettings contextsettings(0, 0, 4, 2, 0);