Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Охватывающий прямоугольник QPainter'а

Автор: Litkevich Yuriy 15.9.2010, 20:59

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

QPainter p(...);
...
p.beginBounding();
...
QRectF boundRect = p.endBounding();
...

худший случай - в пределах QPainter{save() ... restore()}
а на крайний случай, в течении времени жизни рисовальщика.

Автор: Алексей1153 15.9.2010, 21:32

мне встречалась такая ситуация в WinAPI (точнее MFC), там решил при помощи самописного класса-регистратора максимального прямоугольника (в классе были определены оболочки всех нужных функций рисования на контексте, и учитывались все выводимые координаты - точки или границы прямоугольников объектов).

Если QPainter не умеет такое сам, то можно повторить этот подвиг :D

Естественно, сия информацмя актуальна только в пределах функции обработки paintEvent (или WM_PAINT в моём случае)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)