[Предыдущая] [Содержание] [Индекс] [Следующая]

PtSuperClassExtent()

Вызывает метод Размерности указанного суперкласса

Синтаксис:

void PtSuperClassExtent( PtWidgetClassRef_t *wc_ref,
                         PtWidget_t *widget );

Параметры:

wc_ref
Суперкласс, чей метод Вы хотите вызвать.
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
Hosted by uCoz