From 6bc7077ff215bb2a3fc017560dd5a814aeaf4f6d Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Mon, 23 May 2016 09:39:01 +0300 Subject: Add Crtc::get_primary_plane --- libkms++/crtc.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libkms++/crtc.cpp') diff --git a/libkms++/crtc.cpp b/libkms++/crtc.cpp index c6d79e9..deadd62 100644 --- a/libkms++/crtc.cpp +++ b/libkms++/crtc.cpp @@ -80,6 +80,21 @@ int Crtc::disable_plane(Plane* plane) return drmModeSetPlane(card().fd(), plane->id(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } +Plane* Crtc::get_primary_plane() +{ + for (Plane* p : get_possible_planes()) { + if (p->plane_type() != PlaneType::Primary) + continue; + + if (p->crtc_id() != id()) + continue; + + return p; + } + + throw invalid_argument("No primary plane for crtc " + id()); +} + int Crtc::page_flip(Framebuffer& fb, void *data) { return drmModePageFlip(card().fd(), id(), fb.id(), DRM_MODE_PAGE_FLIP_EVENT, data); -- cgit v1.2.3