Henri Verbeet wrote:
2008/12/3 Nikolay Sivov bunglehead@gmail.com:
- return GdipMultiplyMatrix(brush->transform, matrix, order);
- return GdipMultiplyMatrix(brush->transform, (GpMatrix*)matrix, order);
I don't think casting const away makes it much better. Considering what the function does, and the fact that the matrix *is* const in the prototype for Matrix::Multiply(), I'd say it would be better to just change the prototype for GdipMultiplyMatrix. MS doesn't seem to care a whole lot about their plain C interfaces these days.
Our prototypes should match MS', shouldn't they?. In this case I don't see another way to silent this warning which means nothing (you've already named the reason why).
Slightly OT, the code in matrix_multiply() isn't quite the most efficient way to multiply two 2x3 matrices, although if you're lucky the compiler will unroll the loop for you and fold the constants.
Of course you're right here.