-
Notifications
You must be signed in to change notification settings - Fork 18
Кастомный контрол EntityBox
EntityBox является ключевым компонентом для всех наших утилит.
Данный контрол представляет собой контейнер бесконечного размера, в котором содержатся различные "сущности" (entity).
Конкретно для целей реверса микросхем набор сущностей подобран таким образом, чтобы они соответствовали основным компонентам архитектуры микросхем:
- Провода (Wires)
- Виасы (Vias)
- Стандартные ячейки различных классов (Cells)
В дальнейшем италиком будут отмечены свойства EntityBox.
Режим работы (свойство Mode) определяет способ взаимодействия с пользователем посредством клавиатуры и мыши.
Список режимов (enum EntityMode):
- Selection: выбран слой с сущностями для их выделения и перемещения
- ImageLayer0: выбран слой картинок 0 (самый верхний слой картинок)
- ImageLayer1: выбран слой картинок 1
- ImageLayer2: выбран слой картинок 2
- ViasInput: режим добавления сущностей ViasInput
- ViasOutput: режим добавления сущностей ViasOutput
- ViasInout: режим добавления сущностей ViasInout
- ViasConnect: режим добавления сущностей ViasConnect
- ViasFloating: режим добавления сущностей ViasFloating
- ViasPower: режим добавления сущностей ViasPower
- ViasGround: режим добавления сущностей ViasGround
- WireInterconnect: режим добавления сущностей WireInterconnect
- WirePower: режим добавления сущностей WirePower
- WireGround: режим добавления сущностей WireGround
- CellNot: режим добавления сущностей CellNot
- CellBuffer: режим добавления сущностей CellBuffer
- CellMux: режим добавления сущностей CellMux
- CellLogic: режим добавления сущностей CellLogic
- CellAdder: режим добавления сущностей CellAdder
- CellBusSupp: режим добавления сущностей CellBusSupp
- CellFlipFlop: режим добавления сущностей CellFlipFlop
- CellLatch: режим добавления сущностей CellLatch
- CellOther: режим добавления сущностей CellOther
- UnitRegfile: режим добавления сущностей UnitRegfile
- UnitMemory: режим добавления сущностей UnitMemory
- UnitCustom: режим добавления сущностей UnitCustom
- Beacon: режим добавления сущностей Beacon
EntityBox содержит несколько слоев отображения
- Слой с сущностями. Слой с сущностями размещается над слоями картинок.
- 3 слоя для хранения картинок (микросхем). Слой 0 является самым верхним из слоев картинок.
Для слоев картинок можно менять прозрачность (ImageOpacity).
Также для слоев картинок можно запретить их перемещение (LockScroll) и зум (LockZoom). Сделано это в целях предотвращения случайного перемещения и зума.