Перетаскивание работает

В рамках локальных окон работает перетаскивание
Added by Иван Кузьмицкий almost 5 years ago

Переделал x86sdlhostMechanisms.TrackToDrop в новом свете. Появилась, кстати, новая сущность x86sdlhostAppWin.Window, это задел на поддержку SDL-мультиоконности.

Перетаскивание учитывает возможность появления нескольких SDL-окон, поэтому в цикле перетаскивания сначала определяется окно SDL, а затем в связанный с ним объект x86sdlhostAppWin.Window форвардится PollDrop. Сообщение PollDrop проходит по шине сквозь все объекты оконного менеджера, попадая в слот x86sdlhostSlots.Slot, и уже от него сваливается в окно каркаса Windows.Window.
По окончании дропа инициируется отложенная перерисовка окна, отложенная - потому что после дропа необходимо сначала дать возможность отработать контейнеру системного слоя ББ, а уже потом перерисовывать.

Таким образом, мы получили расширяемую и контролируемую коммуникацию объектов каркаса сквозь SDL-окна и обслуживающую инфраструктуру.


Comments