Возвращаясь к старому вопросу, можно ли избежать вот таких конструкций, для сдвига изображения на CX и CY:
C++ (Qt)
painter_.begin(imageBuffer_);
painter_.drawImage((cx >= 0)?cx:0, (cy >= 0)?cy:0,
imageBuffer_->copy(abs((cx < 0)?cx:0), abs((cy < 0)?cy:0), dcx, dcy));
Как вариант использовать платформо зависимый код, но крайне не хочется.