Getters and Setters violate encapsulation just as much as accessing properties directly, so I don't bother with them unless I'm forced to. In languages like C++ they can make sense due to a need of allocating and freeing memory of things within the object, but it's still not OOP. What you have when you're using getters and setters is a fancy struct with methods, not an OO class. (There is a significant difference.) Stop pretending you're not using a struct and just access things directly or start following a 'draw thyself' model. Both approaches work.
I very much agree, but saying it in such a way won't help others to understand that. That is persons that haven't understood the significant difference right now.