/* Decoration — украшение поверх cell (Phase 11b). * * Cell держит vector> и вызывает draw() каждого * после своего content-рендера. Decorations знают только Rect cell'а * (для позиционирования относительно неё) и пишут в тот же NV12Ref. * * Типы (минимум): * LabelDecoration — текстовая подпись (FreeType atlas), позиция = угол cell * BorderDecoration — рамка thickness px (4 fill_nv12 — top/bottom/left/right) * * Расширяется: BadgeDecoration, MotionIndicator, RecordingDot и т.д. * * Лицензия: LGPL-2.1+ */ #ifndef CUFRAMES_COMPOSER_CPP_DECORATION_HPP #define CUFRAMES_COMPOSER_CPP_DECORATION_HPP #include "types.hpp" namespace cfc { class Decoration { public: virtual ~Decoration() = default; /* Нарисовать поверх parent_rect. NV12Ref общий с cell'ом. */ virtual void draw(CUstream stream, NV12Ref& dst, const Rect& parent_rect) = 0; }; } // namespace cfc #endif /* CUFRAMES_COMPOSER_CPP_DECORATION_HPP */