Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2008-03-06 13:37:28 ЛС | профиль | цитата
nesco писал(а):
вынести doDraw в наследников

Мне это кажется более логичным.

nesco писал(а):
подготовить контекст к отрисовке и вызвать DrawSource родителя, правильно я понял

Не совсем. DrawSource это и есть подготовка и выдача контекста перед отрисовкой (задача номер 1), а также очистка и удаление при необходимости после отрисовки (задача номер 2).
Получается, что doDraw выглядит примерно так:

#pas
begin
_prop_DrawSource(_Data, dc, 1);
... рисуем на контексте dc ...
_prop_DrawSource(_Data, dc, 2);
end;
------------ Дoбавленo:

Кстати, DrawSource могла бы выполнять и другие задачи, например трансляцию координат (тех, которые хранятся в базовом классе, либо передаваемых как параметр, который в этом случае нужно сделать безтиповым) причём с учётом установленного MapMode, который может быть различным для разных контекстов. В данном случае я имею ввиду принтер.
------------ Дoбавленo:

Можно было бы даже освободить разработчика от необходимости указывать DrawSource, если передавать этот тип как тип данных вместе с hWnd/hBitmap/hDC.
карма: 1

0