00001 #ifndef __DISPLAY_UTILS_H__ 00002 #define __DISPLAY_UTILS_H__ 00003 00004 /** 00005 * \file display_utils.h 00006 * \brief Display update wrapper functions 00007 */ 00008 00009 /* 00010 * This file is part of liberutils. 00011 * 00012 * liberutils is free software: you can redistribute it and/or modify 00013 * it under the terms of the GNU General Public License as published by 00014 * the Free Software Foundation, either version 2 of the License, or 00015 * (at your option) any later version. 00016 * 00017 * liberutils is distributed in the hope that it will be useful, 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 * GNU General Public License for more details. 00021 * 00022 * You should have received a copy of the GNU General Public License 00023 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00024 */ 00025 00026 /** 00027 * Copyright (C) 2009 iRex Technologies B.V. 00028 * All rights reserved. 00029 */ 00030 00031 //---------------------------------------------------------------------------- 00032 // Include Files 00033 //---------------------------------------------------------------------------- 00034 00035 // system include files, between < > 00036 #include <glib.h> 00037 00038 // ereader include files, between < > 00039 00040 // local include files, between " " 00041 #include "er_error.h" 00042 00043 G_BEGIN_DECLS 00044 00045 00046 //---------------------------------------------------------------------------- 00047 // Macro Definitions 00048 //---------------------------------------------------------------------------- 00049 00050 00051 //---------------------------------------------------------------------------- 00052 // Forward Declarations 00053 //---------------------------------------------------------------------------- 00054 00055 00056 //---------------------------------------------------------------------------- 00057 // Type Declarations 00058 //---------------------------------------------------------------------------- 00059 00060 00061 //---------------------------------------------------------------------------- 00062 // Global Constants 00063 //---------------------------------------------------------------------------- 00064 00065 #define DM_HINT_NONE 0 00066 #define DM_HINT_FULL 1 00067 #define DM_HINT_SPLASH 2 00068 #define DM_HINT_CURSOR 3 00069 #define DM_HINT_PARTIAL 4 00070 #define DM_HINT_KEY 5 00071 #define DM_HINT_UNLOCK 6 00072 #define DM_HINT_LOCK 7 00073 00074 00075 //============================================================================ 00076 // Public Functions 00077 //============================================================================ 00078 00079 /* setup socket for display management (implicitly called by functions below) */ 00080 void display_init(); 00081 00082 /* close socket for display management */ 00083 void display_finialize(); 00084 00085 /* take control of display updates, stop automatic GTK+ updates */ 00086 void display_gain_control(); 00087 00088 /* yield control, resume automatic GTK+ updates */ 00089 void display_return_control(); 00090 00091 /* force display update and yield control */ 00092 void display_update_return_control(gint type); 00093 00094 /* force display update and keep control */ 00095 void display_update_keep_control(gint type); 00096 00097 /* block all display updates (both forced and automatic), expect for splash hints */ 00098 void display_splash_lock(); 00099 00100 /* force display update to show splash screen */ 00101 void display_update_keep_splash_lock(); 00102 00103 /* unblock display updates, resume forced/automatic updates */ 00104 void display_splash_unlock(); 00105 00106 00107 G_END_DECLS 00108 00109 #endif // __DISPLAY_UTILS_H__