49 const int x,
const int y)
const
75 const int xOff,
const int yOff)
79 (*bPtr)->draw(graphics, xOff, yOff);
84 const Text *
const omit,
89 if (textObj ==
nullptr)
91 const int xLeft = textObj->
mX;
92 const int xRight1 = xLeft + textObj->
mWidth;
94 const int nBeings = 30;
96 std::memset(&occupied, 0,
sizeof(occupied));
97 const int wantedTop = (TEST - h) / 2;
98 const int occupiedTop =
y - wantedTop;
102 for (TextList::const_iterator ptr =
mTextList.begin(),
104 ptr != pfEnd && cnt < nBeings;
107 const Text *
const text = *ptr;
109 if (text != omit && text->
mX + 1 <= xRight1
112 int from = text->
mY - occupiedTop;
113 int to = from + text->
mHeight - 1;
114 if (to < 0 || from >= TEST)
120 for (
int i = from; i <= to; ++i)
125 const int sz = wantedTop + h;
126 for (
int i = wantedTop; i < sz; i ++)
141 const int sz2 = wantedTop + h - 2;
169 downSlot =
seek - h + 1;
174 if (upSlot == -1 && downSlot == -1)
180 y += downSlot - wantedTop;
185 y -= wantedTop - upSlot;
188 if (wantedTop - upSlot > downSlot - wantedTop)
190 y += downSlot - wantedTop;
194 y -= wantedTop - upSlot;
void removeText(const Text *const text)
void moveText(Text *const text, const int x, const int y) const
void addText(Text *const text)
void place(const Text *const textObj, const Text *const omit, const int &x, int &y, const int h) const
void draw(Graphics *const graphics, const int xOff, const int yOff)
#define FOR_EACH(type, iter, array)
bool ok(InputEvent &event)
int seek(File *const file, const uint64_t pos)
#define BLOCK_START(name)
TextManager * textManager