X-Git-Url: https://git.ti.com/gitweb?p=android%2Fexternal-libkmsxx.git;a=blobdiff_plain;f=libkms%2B%2B%2Fconnector.cpp;h=d26d7e16267f6b780fdaae1ab13b09b97d1018bc;hp=ee14af9388c34b0741b6cba3d33a2a0ceab899d6;hb=72ae35660c451a9618dbabeefcbc4ec171482e07;hpb=0bdc88a432d0b9581606e86e53d686b91def4002 diff --git a/libkms++/connector.cpp b/libkms++/connector.cpp index ee14af9..d26d7e1 100644 --- a/libkms++/connector.cpp +++ b/libkms++/connector.cpp @@ -89,6 +89,18 @@ Videomode Connector::get_default_mode() const return drm_mode_to_video_mode(drmmode); } +Videomode Connector::get_mode(const char *mode) const +{ + auto c = m_priv->drm_connector; + string sMode(mode); + + for (int i = 0; i < c->count_modes; i++) + if (sMode == c->modes[i].name) + return drm_mode_to_video_mode(c->modes[i]); + + throw invalid_argument((sMode + ": mode not found").c_str()); +} + bool Connector::connected() { return m_priv->drm_connector->connection == DRM_MODE_CONNECTED;