diff options
Diffstat (limited to 'krandr/libkrandr.h')
-rw-r--r-- | krandr/libkrandr.h | 359 |
1 files changed, 0 insertions, 359 deletions
diff --git a/krandr/libkrandr.h b/krandr/libkrandr.h deleted file mode 100644 index 3e00d73f7..000000000 --- a/krandr/libkrandr.h +++ /dev/null @@ -1,359 +0,0 @@ -/* libkrandr.h - class KRandr that makes it easy to use XRandr in KDE - This file is part of KRandr 0.9.5 - Copyright (C) 2010 Timothy Pearson - LibKRandr's homepage : http://www.trinitydesktop.org - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - - Send comments and bug fixes to Timothy Pearson <kb9vqf@pearsoncomputing.net> - -***************************************************************************/ -#ifndef _LIBKRANDR_H -#define _LIBKRANDR_H - -#include "randr.h" -#include "lowlevel_randr.h" - -#ifdef __cplusplus - -#include <tqfile.h> - -#include <kconfig.h> -#include <ksimpleconfig.h> -#include <tdelibs_export.h> - -#define ROTATION_0_DEGREES_STRING "0 degrees" -#define ROTATION_90_DEGREES_STRING "90 degrees" -#define ROTATION_180_DEGREES_STRING "180 degrees" -#define ROTATION_270_DEGREES_STRING "270 degrees" - -/** - * Simple API covering most of the uses of libkrandr. - * - * You can use the members of this class in pure C applications, just by using - * the same name as the corresponding function member. - * - * @short A simple API around the rest of libkrandr. - * @version 0.9.5 27/04/2010 - * @author Timothy Pearson <kb9vqf@pearsoncomputing.net> - */ -class KRANDR_EXPORT KRandrSimpleAPI : public RandRDisplay -{ - private: - - public: - /** - * Retrieves the specificed ICC profile filename from the configuration database - */ - TQString getIccFileName(TQString profileName, TQString screenName, TQString kde_confdir); - - /** - * Applies the specificed ICC profile filename to the specified RandR output - * If RandR is not available, the specified file is applied to the current display - */ - TQString applyIccFile(TQString screenName, TQString fileName); - - /** - * Applies all saved ICC profile settings to all RandR outputs - * If RandR is not available, the settings are applied to the current display - */ - TQString applyIccConfiguration(TQString profileName, TQString kde_confdir); - - /** - * Applies saved system wide settings to the current display - */ - TQString applySystemWideIccConfiguration(TQString kde_confdir); - - /** - * Resets the current display - */ - TQString clearIccConfiguration(void); - - /** - * Retrieves current profile name - */ - TQString getCurrentProfile(void); - - /** - * Reads current screen information. - * NOTE: The caller is responsible for calling freeScreenInfoStructure() when done - */ - ScreenInfo* read_screen_info(Display *display); - - /** - * Frees the ScreenInfo structure - */ - void freeScreenInfoStructure(ScreenInfo* screen_info); - - /** - * Sets the screen size. - */ - int set_screen_size (ScreenInfo *screen_info); - - /** - * Automatically selects an output port. - */ - void output_auto (ScreenInfo *screen_info, OutputInfo *output_info); - - /** - * Turns off a specified output on a specified screen. - */ - void output_off(ScreenInfo *screen_info, OutputInfo *output); - - /** - * Automatically finds the CRTC structure. - */ - CrtcInfo* auto_find_crtc (ScreenInfo *screen_info, OutputInfo *output_info); - - /** - * Finds a mode by XID. - */ - XRRModeInfo *find_mode_by_xid (ScreenInfo *screen_info, RRMode mode_id); - - /** - * Returns specified mode height in pixels. - */ - int mode_height (XRRModeInfo *mode_info, Rotation rotation); - - /** - * Returns specified mode width in pixels. - */ - int mode_width (XRRModeInfo *mode_info, Rotation rotation); - - /** - * Returns specified output width in pixels. - */ - int get_width_by_output_id (ScreenInfo *screen_info, RROutput output_id); - - /** - * Returns specified output height in pixels. - */ - int get_height_by_output_id (ScreenInfo *screen_info, RROutput output_id); - - /** - * Returns output name. - */ - char *get_output_name (ScreenInfo *screen_info, RROutput id); - - /** - * Applies specified CRTC. - */ - Status crtc_apply (CrtcInfo *crtc_info); - - /** - * Disables specificed CRTC - */ - Status crtc_disable (CrtcInfo *crtc); - - /** - * Applies all previously configured settings to the specified screen. - */ - int main_low_apply (ScreenInfo *screen_info); - - /** - * Sets the primary output device to the specified output_id - */ - void set_primary_output (ScreenInfo *screen_info, RROutput output_id); - - /** - * Gets the binary monitor EDID for the specified card and display - */ - TQByteArray getEDID(int card, TQString displayname); - - /** - * Gets the monitor EDID name for the specified card and display - */ - TQString getEDIDMonitorName(int card, TQString displayname); - - /** - * Returns true if the specified configuration directory has enabled display configuration - */ - bool getDisplayConfigurationEnabled(TQString kde_confdir); - - /** - * Returns true if the specified configuration directory has enabled automatic profile application on startup - */ - bool getDisplayConfigurationStartupAutoApplyEnabled(TQString kde_confdir); - - /** - * Returns the name of the automatically applied startup profile in the specified configuration directory - */ - TQString getDisplayConfigurationStartupAutoApplyName(TQString kde_confdir); - - /** - * Returns a HotPlugRulesList containing all hotplug rules from the specified configuration directory - */ - HotPlugRulesList getHotplugRules(TQString kde_confdir); - - /** - * Saves a HotPlugRulesList containing all hotplug rules to the specified configuration directory - */ - void saveHotplugRules(HotPlugRulesList rules, TQString kde_confdir); - - /** - * Applies all hotplug rules in the specified configuration directory to the current display configuration - */ - void applyHotplugRules(TQString kde_confdir); - - /** - * Returns a list of all profiles available in the specified configuration directory - * This list does not include the default ("") profile - */ - TQStringList getDisplayConfigurationProfiles(TQString kde_confdir); - - /** - * Deletes the specified profile from the specified configuration directory - * Returns true on success, false on failure - */ - bool deleteDisplayConfiguration(TQString profilename, TQString kde_confdir); - - /** - * Renames the specified profile in the specified configuration directory - * Returns true on success, false on failure - */ - bool renameDisplayConfiguration(TQString profilename, TQString newprofilename, TQString kde_confdir); - - /** - * Saves the systemwide display configuration screenInfoArray to the specified profile - * If profilename is empty, the default profile is utilized - * If enable is set to true, the default profile will be applied at system startup - */ - void saveDisplayConfiguration(bool enable, bool applyonstart, TQString profilename, TQString defaultprofilename, TQString kde_confdir, TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Reads the systemwide display configuration screenInfoArray from the specified profile - * If profilename is empty, the default profile is utilized - * WARNING: The calling application must free the returned objects when it is done using them - */ - TQPtrList<SingleScreenData> loadDisplayConfiguration(TQString profilename, TQString kde_confdir); - - /** - * Applies the startup display configuration profile if enabled - * Returns the offset of the primary screen's top left corner - */ - TQPoint applyStartupDisplayConfiguration(TQString kde_confdir); - - /** - * Applies the systemwide display configuration screenInfoArray from the specified profile - * If profilename is empty, the default profile is utilized - * Returns the offset of the primary screen's top left corner - */ - TQPoint applyDisplayConfiguration(TQString profilename, TQString kde_confdir); - - /** - * Applies the systemwide display configuration screenInfoArray to the hardware - * If test is true, the new configuration will be loaded for a short period of time, then reverted automatically - * Returns true if configuration was accepted; false if not - */ - bool applyDisplayConfiguration(TQPtrList<SingleScreenData> screenInfoArray, bool test=TRUE, TQString kde_confdir=""); - - /** - * Applies the gamma contained within the systemwide display configuration screenInfoArray to the hardware - */ - void applyDisplayGamma(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Applies the DPMS settings contained within the systemwide display configuration screenInfoArray to the hardware - */ - void applyDisplayDPMS(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Copies a screen information object - */ - TQPtrList<SingleScreenData> copyScreenInformationObject(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Destroys a screen information object - */ - void destroyScreenInformationObject(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Returns the offset of the primary screen's Top Left Corner - */ - TQPoint primaryScreenOffsetFromTLC(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Ensures that the data contained within screenInfoArray is self consistent - */ - void ensureMonitorDataConsistency(TQPtrList<SingleScreenData> screenInfoArray); - - /** - * Reads the current display configuration screenInfoArray from the hardware - */ - TQPtrList<SingleScreenData> readCurrentDisplayConfiguration(); - - /** - * Returns the hardware rotation flags given a valid SingleScreenData structure - */ - int getHardwareRotationFlags(SingleScreenData*); - - /** - * Returns whether or not the system supports XRandR - */ - bool kRandrHasRandr(); - - /** - * Returns the version number of libkrandr, i.e. "0.9.5" or "1.0 Beta" - */ - static const char *kRandrVersion(void); - - /** - * Returns the copyright notice that applications using libkrandr should print - * to the user in an about box or somewhere visible. - * I.e. - * - * "LibKRandr 0.9.5 (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>. U.S.A." - */ - static const char *kRandrCopyright(void); - -}; - - - -extern "C" { - -#else -#define KRANDR_EXPORT -#endif - -// KRANDR_EXPORT ScreenInfo* read_screen_info(Display *); -// KRANDR_EXPORT int set_screen_size (ScreenInfo *screen_info); -// KRANDR_EXPORT void output_auto (ScreenInfo *screen_info, OutputInfo *output_info); -// KRANDR_EXPORT void output_off(ScreenInfo *screen_info, OutputInfo *output); -// KRANDR_EXPORT CrtcInfo* auto_find_crtc (ScreenInfo *screen_info, OutputInfo *output_info); -// KRANDR_EXPORT XRRModeInfo *find_mode_by_xid (ScreenInfo *screen_info, RRMode mode_id); -// KRANDR_EXPORT int mode_height (XRRModeInfo *mode_info, Rotation rotation); -// KRANDR_EXPORT int mode_width (XRRModeInfo *mode_info, Rotation rotation); -// KRANDR_EXPORT int get_width_by_output_id (ScreenInfo *screen_info, RROutput output_id); -// KRANDR_EXPORT int get_height_by_output_id (ScreenInfo *screen_info, RROutput output_id); -// KRANDR_EXPORT char *get_output_name (ScreenInfo *screen_info, RROutput id); -// KRANDR_EXPORT Status crtc_apply (CrtcInfo *crtc_info); -// KRANDR_EXPORT Status crtc_disable (CrtcInfo *crtc); -// KRANDR_EXPORT int main_low_apply (ScreenInfo *screen_info); -// KRANDR_EXPORT bool kRandrHasRandr(); - -KRANDR_EXPORT const char *kRandrVersion(void); -KRANDR_EXPORT const char *kRandrCopyright(void); - -#ifdef __cplusplus - -} - - -#endif - - -#endif |