not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / kcontrol / randr / randrmode.cpp
blob13255e5352797e8d3524acfe428f5e7c12f54805
1 /*
2 * Copyright (c) 2007 Gustavo Pichorim Boiko <gustavo.boiko@kdemail.net>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 #include "randrmode.h"
22 RandRMode::RandRMode(XRRModeInfo *info)
23 : m_size(0, 0)
25 m_valid = false;
26 m_rate = 0;
27 m_id = 0;
28 m_name = "Invalid mode";
30 if (info)
31 m_valid = true;
32 else
33 return;
35 m_name = info->name;
36 m_id = info->id;
38 m_size.setWidth(info->width);
39 m_size.setHeight(info->height);
41 // calculate the refresh rate
42 if (info->hTotal && info->vTotal)
43 m_rate = ((float) info->dotClock / ((float) info->hTotal * (float) info->vTotal));
44 else
45 m_rate = 0;
49 RandRMode::~RandRMode()
51 // nothing to do for now
54 RRMode RandRMode::id() const
56 if (!m_valid)
57 return None;
59 return m_id;
62 QString RandRMode::name() const
64 return m_name;
67 QSize RandRMode::size() const
69 return m_size;
72 float RandRMode::refreshRate() const
74 return m_rate;
77 bool RandRMode::isValid() const
79 return m_valid;