SWT динамически отображает большой объем данных на ограниченном холсте, увеличивая его размер снизу и уменьшая его сверху - PullRequest
0 голосов
/ 18 ноября 2011

Есть много рисунков, которые я хочу нарисовать на draw2d figurecanvas.figures занимают много памяти. Я хочу, чтобы они наносились последовательно на холст, но не могли из-за проблемы с памятью. Теперь я хочу построить их таким образом, чтобы при прокрутке вниз холст должен был быть расширен, скажем, на количество пикселей x (высота) внизу, а новые данные должны отображаться там одновременно, в какой-то части, скажем, x пикселей (высота). ) должны быть удалены с верхней части холста. Я попробовал это, установив границы холста, но это не имело бы никакого значения, так как установка границ просто сместит местоположение холста на новую позицию вместе с его данными

1 Ответ

1 голос
/ 18 ноября 2011

FigureCanvas имеет несколько способов программной прокрутки (scrollTo(..), scrollToX(..) и т. Д.). Это изменит видимую область вашего контента, которая звучит так, как вы хотите во второй половине вашего вопроса. Но я не понимаю, как вы думаете, это поможет с вашими проблемами с памятью. Это не уменьшает количество фигурных объектов в вашей памяти.

С Draw2d вы описываете весь графический контент (не только видимую в данный момент часть), используя рисунки, а FigureCanvas автоматически рисует часть, которая в данный момент видна в его окне просмотра. Вы не добавляете и не удаляете фигуры в зависимости от того, что в данный момент видно на вашем холсте.

...