Здравствуйте, samius, Вы писали:
S>Здравствуйте, Pavel Dvorkin, Вы писали:
S>>>Меня — нет. Если я заказал рисовать красную линию, то она должна быть красная, а не контекстно серо-буро-малиновая в крапинку. Такое поведение сегодня — норма. MS Офис так рисует, OpenOffice так рисует, и даже Paint так рисует. Я последний раз видел R2_NOT в действии больше чем 10 лет назад.
PD>>Paint.net так не рисует.
S>А попробуй нарисовать в нем линию, или прямоугольник
Не понял. Я же только о контуре говорил.
PD>>Да и нельзя так. Что за выделение у тебя получится, если красным по красному ?
S>Да, тут соглашусь. Выделять лучше через R2. Но сомневаюсь, что это делается в мышинном событии, когда двойной буфер все-равно используется.
Что-то у меня не получается посмотреть Spy++ окно paint.net. А другого ничего нет. Попробуй.
S>Чем так страшен WM_PAINT, если есть двойной буфер?
На каждый мышкин чих перерисовывать прямоугольник ?
PD>>По идее UpdateWindow заставит немедленно перерисовать именно эту линию и снять флаг инвалидности.
S>А ради чего собственно выжимать такты на ровном месте? Тебя не устраивает скорость BitBlt?
На каждое мышкино передвижение ?
S>Более того, я даже не уверен, что посылка нескольких InvalidateRect-ов и UpdateWindow будет быстрее BitBlt.
Так InvalidateRect + UpdateWindow и приведут к BitBlt, только на 4 линии. Остально-то зачем перерисовывать ?