--- nono/lib/monitor.h 2026/04/29 17:05:30 1.1.1.8 +++ nono/lib/monitor.h 2026/04/29 17:05:47 1.1.1.10 @@ -31,6 +31,9 @@ static constexpr uint ID_MONITOR_ATC(uin static constexpr uint ID_MONITOR_CMMU(uint n) { return ID_MONITOR_CMMU0 + n; } +static constexpr uint ID_MONITOR_HOSTCOM(uint n) { + return ID_MONITOR_HOSTCOM0 + n; +} static constexpr uint ID_MONITOR_HOSTNET(uint n) { return ID_MONITOR_HOSTNET0 + n; } @@ -80,6 +83,11 @@ class Monitor void SetSize(nnSize size_) { size = size_; } void SetSize(int col_, int row_) { SetSize(nnSize(col_, row_)); } nnSize GetSize() const { return size; } + int GetCol() const noexcept { return size.width; } + int GetRow() const noexcept { return size.height; } + + // 行を増やす。 + void AddHeight(int h) { size.height += h; } // モニターが縦に可変長の場合の最大表示行数。(固定長なら 0) void SetMaxHeight(int maxh_) { maxh = maxh_; } @@ -149,14 +157,14 @@ class MonitorManager // 指定された id に対応する機種ケーパビリティを返す。 VMCap GetVMCap(uint id) const { - assert(id < info.size()); + assertmsg(id < info.size(), "id=%u < %zu", id, info.size()); return info[id].vmcap; } // 指定された id に対応する名前のリストを返す。 // id が範囲外だと assert する。 const std::vector& GetAliases(uint id) const { - assert(id < info.size()); + assertmsg(id < info.size(), "id=%u < %zu", id, info.size()); return info[id].aliases; }