logo
Литература_1 / photon_old

Функция необработанного рисования

Когда Вы создаёте виджет PtRaw в PhAB'е и приметесь редактировать его функцию Pt_ARG_RAW_DRAW_F, Вы увидите предлагаемый по умолчанию код такого вида:

void my_raw_draw_fn( PtWidget_t *widget, PhTile_t *damage ) {

PtSuperClassDraw( PtBasic, widget, damage );

}

Вызов функции PtSuperClassDraw() (описанный в "Руководстве по созданию своих собственных виджетов") вызывает функцию рисования PtBasic'а, которая рисует границы необработанного виджета, заполняет виджет, и всё прочее, как задано его ресурсами. Необработанный виджет может делать всё это самостоятельно, но использование функции PtSuperClassDraw() снижает сложность функции необработанного рисования.

При обсуждении функции необработанного рисования следует отметить несколько вопросов:

 Не вызывайте функцию PtBkgdHandlerProcess() в функции рисования виджета PtRaw.

Не изменяйте каким бы то ни было способом (создавая, разрушая, устанавливая ресурсы и прочая) какие бы то ни было другие виджеты в функции прорисовки необработанного виджета. Получение ресурсов из других виджетов является безопасным. Не вызывайте функцию прорисовки непосредственно из своей программы. Вместо этого повредите виджет, вызвав функцию PtDamageWidget(), и позвольте библиотеке вызвать функцию прорисовки.

      1. Yandex.RTB R-A-252273-3
        Yandex.RTB R-A-252273-4