Skip to content

рефакторинг просесса отрисовки с целью поддержки больших полей #14

@vadikoom

Description

@vadikoom

предлогаю так:

обозначения:
wx wy - размеры окна, в которое будет выводится изображение
mw mh - высота и ширина поля в клеточках
c - пикселей на клеточку.
pw, ph - размер полной картинки, очевиндно pw = c * mw, ph = c * my
x1, y1 - левая верхня точка, которая будет отображена (x < pw, y < ph)

всеми искомое число - с. вот пусть ползунок его и задает.
диапазон - min(wx / mw, wy / mh) ... min(wx , wy). при этом в левом положении с будет таким, что всё поле уместится на екране. задовать нижнюю границу не надо, c должно быть именно таким, какое запрошено. правое положение - на экране 1 клеточка.

в модуль отрисовки передается: с, x1, y1, wx, wy. так же в модуле отрисовки известны mw mh. полный размер картинки равен pw ph, но всю рисовать не нужно. рисовать надо только начиная с позиции x1 y1 на поле размером wx wy. менять размеры запрещено. x1 y1 не обязательно совпадают с границей клеточки.

при таком подходе не нужно будет выполнять повторное перемещение и масштабирование, картинка будет ровно такого размера и масштаба, какой нужен.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions