00001 /* 00002 * This file is part of liberdm. 00003 * 00004 * liberdm is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation, either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * liberdm is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00023 #ifndef ERDM_H 00024 #define ERDM_H 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif /* __cplusplus */ 00029 00030 // #define DM_FULL_UPDATE 0 00031 00032 /* 00033 * Priority of a display update. 00034 * The display manager waits a short time for further display update commands 00035 * and then combines all commands received into a single display update. 00036 */ 00037 typedef enum 00038 { 00039 dmCmdPriorLow = 0, // wait 1500 ms 00040 dmCmdPriorNormal, // wait 500 ms 00041 dmCmdPriorHigh, // wait 100 ms 00042 dmCmdPriorUrgent // no wait, immediate display update 00043 } eDmCmdPriority; 00044 00045 /* 00046 * Waveform to be used for display update. 00047 */ 00048 typedef enum 00049 { 00050 dmQFull = 0, // fullscreen waveform - makes display flicker once, sixteen gray levels 00051 dmQBW, // black-and-white waveform - fastest one but horrible for grey pixels 00052 dmQTyping, // typing waveform - looks nice, no display flicker, only four gray levels (0, 5, 10, 15) 00053 dmQUndefined 00054 } eDmQuality; 00055 00056 /* 00057 * Command for display manager (server) 00058 * These must not be used directly, better pass through functions below 00059 */ 00060 typedef enum 00061 { 00062 dmCcDisplay = 0, // do a full display update 00063 dmCcDisplayPartial, // not implemented 00064 dmCcDump, // not implemented 00065 dmCcEraseToWhite, // blank display 00066 dmCcUndefined 00067 } eDmCommandCode; 00068 00069 00070 /* 00071 * Functions to send a command to the display manager. 00072 */ 00073 00074 // Do a full display update 00075 int dmDisplay(eDmCmdPriority prior, eDmQuality qual); 00076 00077 // Blank display 00078 int dmDisplayEraseToWhite(eDmCmdPriority prior); 00079 00080 // For system use only 00081 int dmMessageInit(char *szDestination); 00082 00083 // Not implemented 00084 int dmDisplayPartial(eDmCmdPriority prior, eDmQuality qual, int xUp, int yUp, int xDown, int yDown ); 00085 int dmDump(eDmCmdPriority prior); 00086 00087 #ifdef __cplusplus 00088 } 00089 #endif /* __cplusplus */ 00090 00091 #endif