crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Охватывающий прямоугольник QPainter'а
Litkevich Yuriy
  опции профиля:
сообщение 15.9.2010, 20:59
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


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

худший случай - в пределах QPainter{save() ... restore()}
а на крайний случай, в течении времени жизни рисовальщика.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 15.9.2010, 21:32
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2886
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


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

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

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

Сообщение отредактировал Алексей1153 - 15.9.2010, 21:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.9.2019, 19:07