rem: sint = sin((double)angle * M_PI / 180.0); cost = cos((double)angle * M_PI / 180.0);
add: sint = sin(-(double)angle * M_PI / 180.0); cost = cos(-(double)angle * M_PI / 180.0);
context: rotate_point(GdkPoint point, int angle){    double sint, cost;    GdkPoint returned;        if (angle == 0)	return point;    sint = sin((double)angle * M_PI / 180.0);    cost = cos((double)angle * M_PI / 180.0);        returned.x = (int)round(cost * (double)point.x - sint * (double)point.y);    returned.y = (int)round(sint * (double)point.x + cost * (double)point.y);        return returned;}