Вызывает метод Размерности указанного суперкласса
void PtSuperClassExtent( PtWidgetClassRef_t *wc_ref,
PtWidget_t *widget );
Эта функция вызывает метод Размерности указанного суперкласса wc_ref.
Метод Размерности класса PtLabel обрабатывает многострочный текст (с подчеркиванием и полями) и политикой изменения размера.
Метод Размерности класса PtContainer обрабатывает политику изменения размера для всех его подклассов.
Метод Размерности класса PtGraphic вычисляет размерности, основанные на массиве точек, веса строки, начала координат и политики изменения размера.
Чтобы виджет имел минимальный ресурс x измерения:
static void my_container_extent( PtWidget_t *widget )
{
MyWidget_t *mw = (MyWidget_t *)widget;
PhRect_t canvas, render, old_extent;
old_extent = widget->extent;
if( PtResizePolicy( widget ) )
{
PtChildBoundingBox( widget, &canvas, &render );
if( render.lr.x - render.ul.x + 1 < mw->min_x )
render.lr.x = render.ul.x + mw->min_x -1;
PtAttemptResize( widget, &canvas, &render );
}
else if( widget->area.size.x < mw->min_x )
widget->area.size.x = mw->min_x;
PtSuperClassExtent( PtBasic, widget );
// Применить закрепление.
PtApplyAnchors( widget );
if( memcmp( &widget->area, &old_area, sizeof( old_area ) ) )
PtInvokeResizeCallbacks( widget );
}
Фотон
| Безопасность: | |
|---|---|
| Обработчик прерывания | Нет |
| Обработчик сигнала | Нет |
| Ветвь | Нет |
Все мессаги сюда:yanich@inbox.ru |